Copilot commented on code in PR #22: URL: https://github.com/apache/solr-orbit/pull/22#discussion_r3293638406
########## pyproject.toml: ########## @@ -0,0 +1,211 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF 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. + +[build-system] +requires = ["setuptools>=68", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "solr-orbit" +dynamic = ["version"] +description = "Macrobenchmarking framework for Apache Solr" +readme = {file = "README.md", content-type = "text/markdown"} +license = {text = "Apache License, Version 2.0"} +requires-python = ">=3.12,<3.14" +classifiers = [ + "Topic :: System :: Benchmark", + "Development Status :: 5 - Production/Stable", + "License :: OSI Approved :: Apache Software License", + "Intended Audience :: Developers", + "Operating System :: MacOS :: MacOS X", + "Operating System :: POSIX", + "Programming Language :: Python", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", +] +dependencies = [ + # License: BSD + # Solr HTTP client for data operations (indexing, search, commit, optimize) + "pysolr>=3.10.0", + # License: Apache 2.0 + # HTTP client for Solr V2 API admin operations + # transitive dependencies: + # urllib3: MIT + "requests>=2.28.0", + # License: BSD + "psutil>=5.8.0", + # License: MIT + "py-cpuinfo>=7.0.0", + # License: MIT + "tabulate>=0.9.0", + # License: MIT + "jsonschema>=3.1.1", + # License: BSD + "Jinja2>=3.1.3", + # License: BSD + "markupsafe>=2.0.1", + # License: MIT + # With 3.10.7, we get InvalidActorAddress exception while initialize Actor + "thespian>=3.10.1,<3.10.7", + # always use the latest version, these are certificate files... + # License: MPL 2.0 + "certifi", + # License: Apache 2.0 + "yappi>=1.4.0", + # License: BSD + "ijson>=2.6.1", + # License: Apache 2.0 + # transitive dependencies: + # google-crc32c: Apache 2.0 + "google-resumable-media>=1.1.0", + # License: Apache 2.0 + "google-auth>=1.22.1", + # License: MIT + "wheel>=0.38.4", + # License: Apache 2.0 + # transitive dependencies: + # botocore: Apache 2.0 + # jmespath: MIT + # s3transfer: Apache 2.0 + "boto3>=1.28.62", + # Licence: BSD-3-Clause + "zstandard>=0.22.0", + # License: BSD + # Required for knnvector workload + "h5py>=3.10.0", + # License: BSD + # Required for knnvector workload + "numpy>=1.24.2,<=1.26.4", + # License: MIT + "tqdm", + # License: MIT + "faker", + # License: BSD + "pandas>=1.4.3", + # License: MIT + "mimesis==11.1.0", + # Licence: BSD-3-Clause + "dask", + # Licence: BSD-3-Clause + "dask[distributed]", + # Licence: BSD-3-Clause + "bokeh!=3.0.*,>=2.4.2", + # License: MIT + "pydantic>=2.10.6", + # License: MIT + "pydantic_core>=2.27.2", + # License: MIT + "PyYAML>=5.4", +] + +[project.urls] +Homepage = "https://github.com/apache/solr-orbit" + +[project.scripts] +solr-orbit = "osbenchmark.benchmark:main" +solr-orbitd = "osbenchmark.benchmarkd:main" + +[project.optional-dependencies] +test = [ + "ujson", + "pytest==7.2.2", + "pytest-benchmark==3.2.2", + "pytest-asyncio==0.14.0", +] +develop = [ + "ujson", + "pytest==7.2.2", + "pytest-benchmark==3.2.2", + "pytest-asyncio==0.14.0", + "tox>=4.0", + "coverage==5.5", + "twine==6.0.1", Review Comment: `tox.ini` has been removed and tox config is now in `pyproject.toml`, which requires tox 4+ to be discoverable. However, the `make it` targets install `tox` only if it's missing and don't ensure a compatible version; if a developer/CI already has tox 3 installed, `tox` will run without finding config. Consider pinning/enforcing `tox>=4` wherever tox is installed/invoked (e.g., update the Makefile install command or document the minimum tox version). ########## pyproject.toml: ########## @@ -0,0 +1,211 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF 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. + +[build-system] +requires = ["setuptools>=68", "wheel"] +build-backend = "setuptools.build_meta" + +[project] +name = "solr-orbit" +dynamic = ["version"] +description = "Macrobenchmarking framework for Apache Solr" +readme = {file = "README.md", content-type = "text/markdown"} +license = {text = "Apache License, Version 2.0"} Review Comment: Project docs still reference `setup.py` and `tox.ini` as the places to update supported Python versions (see `PYTHON_SUPPORT_GUIDE.md`), but this PR removes those files and moves config into `pyproject.toml`. Please update the guide (or add a brief note here) so contributors know where to change `requires-python` / classifiers and tox envs going forward. ########## MANIFEST.in: ########## @@ -3,7 +3,6 @@ include CONTRIBUTING.md include LICENSE include MANIFEST.in include README.md -include setup.py include version.txt include osbenchmark/min-os-version.txt Review Comment: MANIFEST.in includes `osbenchmark/min-os-version.txt`, but the repository contains `osbenchmark/min-version.txt` (used at runtime by `osbenchmark/version.py`). This will omit the required resource from sdists/wheels and can break `minimum_solr_version()` in installed distributions. Update the manifest (and/or setuptools package-data) to include the correct `osbenchmark/min-version.txt` file. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
