| # SPDX-License-Identifier: Apache-2.0 |
| # |
| # Modifications by Apache Solr contributors; see git log for details. |
| # Licensed under the Apache License, Version 2.0. |
| # |
| # The OpenSearch Contributors require contributions made to |
| # this file be licensed under the Apache-2.0 license or a |
| # compatible open source license. |
| # Modifications Copyright OpenSearch Contributors. See |
| # GitHub history for details. |
| # Licensed to Elasticsearch B.V. under one or more contributor |
| # license agreements. See the NOTICE file distributed with |
| # this work for additional information regarding copyright |
| # ownership. Elasticsearch B.V. licenses this file to you under |
| # the Apache License, Version 2.0 (the "License"); you may |
| # not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, |
| # software distributed under the License is distributed on an |
| # "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| # KIND, either express or implied. See the License for the |
| # specific language governing permissions and limitations |
| # under the License. |
| |
| import os |
| import sys |
| import urllib |
| |
| from importlib.metadata import version as get_version |
| |
| __version__ = get_version("solr-orbit") |
| |
| # Allow an alternative program name to be set in case solr-orbit is invoked via a wrapper script |
| PROGRAM_NAME = os.getenv("BENCHMARK_ALTERNATIVE_BINARY_NAME", os.path.basename(sys.argv[0])) |
| |
| DOC_LINK = "https://solr.apache.org/guide/" |
| |
| FORUM_LINK = "https://solr.apache.org/community.html#mailing-lists-chat" |
| |
| BANNER = r""" |
| _____ __ ____ __ _ __ |
| / ___/____ / /____ / __ \_____/ /_ (_) /_ |
| \__ \/ __ \/ / ___/ / / / / ___/ __ \/ / __/ |
| ___/ / /_/ / / / / /_/ / / / /_/ / / /_ |
| /____/\____/_/_/ \____/_/ /_.___/_/\__/ |
| |
| Apache Solr Orbit |
| """ |
| |
| |
| # pylint: disable=C4002 |
| SKULL = ''' |
| uuuuuuu |
| uu$$$$$$$$$$$uu |
| uu$$$$$$$$$$$$$$$$$uu |
| u$$$$$$$$$$$$$$$$$$$$$u |
| u$$$$$$$$$$$$$$$$$$$$$$$u |
| u$$$$$$$$$$$$$$$$$$$$$$$$$u |
| u$$$$$$$$$$$$$$$$$$$$$$$$$u |
| u$$$$$$" "$$$" "$$$$$$u |
| "$$$$" u$u $$$$" |
| $$$u u$u u$$$ |
| $$$u u$$$u u$$$ |
| "$$$$uu$$$ $$$uu$$$$" |
| "$$$$$$$" "$$$$$$$" |
| u$$$$$$$u$$$$$$$u |
| u$"$"$"$"$"$"$u |
| uuu $$u$ $ $ $ $u$$ uuu |
| u$$$$ $$$$$u$u$u$$$ u$$$$ |
| $$$$$uu "$$$$$$$$$" uu$$$$$$ |
| u$$$$$$$$$$$uu """"" uuuu$$$$$$$$$$ |
| $$$$"""$$$$$$$$$$uuu uu$$$$$$$$$"""$$$" |
| """ ""$$$$$$$$$$$uu ""$""" |
| uuuu ""$$$$$$$$$$uuu |
| u$$$uuu$$$$$$$$$uu ""$$$$$$$$$$$uuu$$$ |
| $$$$$$$$$$"""" ""$$$$$$$$$$$" |
| "$$$$$" ""$$$$"" |
| $$$" $$$$" |
| ''' |
| |
| |
| def check_python_version(): |
| if sys.version_info < (3, 12): |
| raise RuntimeError("Solr Orbit requires at least Python 3.12 but you are using:\n\nPython %s" % str(sys.version)) |
| |
| |
| def doc_link(path=None): |
| return urllib.parse.urljoin(DOC_LINK, path) if path else DOC_LINK |