This is an automated email from the ASF dual-hosted git repository. janhoy pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/solr-orbit.git
The following commit(s) were added to refs/heads/main by this push:
new 00b01c86 Add a make licenses target that generates THIRD_PARTY.md
(#133)
00b01c86 is described below
commit 00b01c867aaad820940c4f0458c7f846f1938f42
Author: Syed Ahnaf Raza <[email protected]>
AuthorDate: Tue Oct 20 15:27:37 2026 +0500
Add a make licenses target that generates THIRD_PARTY.md (#133)
* Add a make licenses target that lists runtime dependency licenses
* Add THIRD_PARTY.md generated by make licenses
---
DEVELOPER_GUIDE.md | 14 ++++++++++++
Makefile | 7 +++++-
THIRD_PARTY.md | 66 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
3 files changed, 86 insertions(+), 1 deletion(-)
diff --git a/DEVELOPER_GUIDE.md b/DEVELOPER_GUIDE.md
index d56096e0..7109a421 100644
--- a/DEVELOPER_GUIDE.md
+++ b/DEVELOPER_GUIDE.md
@@ -134,6 +134,20 @@ uv sync --extra develop # update the local venv
Always commit both `pyproject.toml` and `uv.lock` together.
+### Third-party license attribution
+
+`THIRD_PARTY.md` lists the runtime dependencies with their licenses, authors
and URLs. Regenerate
+it whenever the dependencies change, and before a release, so the `NOTICE`
attribution can be
+checked against it:
+
+```bash
+make licenses
+```
+
+The target runs [pip-licenses](https://github.com/raimon49/pip-licenses) in an
isolated
+environment that contains only the runtime dependencies, so the develop and
test extras are not
+listed. Commit the updated `THIRD_PARTY.md` together with `pyproject.toml` and
`uv.lock`.
+
### Avoiding secrets in commits
Install [git-secrets](https://github.com/awslabs/git-secrets) to prevent
diff --git a/Makefile b/Makefile
index 6cfb6766..9aab2fd7 100644
--- a/Makefile
+++ b/Makefile
@@ -74,6 +74,11 @@ coverage: develop
uv run coverage run -m pytest tests/
uv run coverage html
+# Regenerates THIRD_PARTY.md from the runtime dependencies. --isolated runs in
a fresh environment
+# without the develop/test extras, so tools like pytest and ruff stay out of
the list.
+licenses: check-uv
+ uv run --isolated --with pip-licenses pip-licenses --with-authors
--with-urls --format=markdown --ignore-packages solr-orbit --output-file
THIRD_PARTY.md
+
release-checks:
./release-checks.sh $(release_version) $(next_version)
@@ -81,4 +86,4 @@ release-checks:
release: release-checks clean it
./release.sh $(release_version) $(next_version)
-.PHONY: install clean python-caches-clean tox-env-clean test it it312 it313
benchmark coverage release release-checks check-uv
+.PHONY: install clean python-caches-clean tox-env-clean test it it312 it313
benchmark coverage licenses release release-checks check-uv
diff --git a/THIRD_PARTY.md b/THIRD_PARTY.md
new file mode 100644
index 00000000..3f2d9b74
--- /dev/null
+++ b/THIRD_PARTY.md
@@ -0,0 +1,66 @@
+| Name | Version | License
| Author
[...]
+|---------------------------|-------------|----------------------------------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
[...]
+| Faker | 40.39.0 | MIT License
| joke2k
[...]
+| Jinja2 | 3.1.6 | BSD License
| UNKNOWN
[...]
+| MarkupSafe | 3.0.3 | BSD-3-Clause
| UNKNOWN
[...]
+| PyYAML | 6.0.3 | MIT License
| Kirill Simonov
[...]
+| annotated-types | 0.7.0 | MIT License
| Adrian Garcia Badaracco
<[email protected]>, Samuel Colvin
<[email protected]>, Zac Hatfield-Dodds <[email protected]>
[...]
+| attrs | 26.1.0 | MIT
| Hynek Schlawack <[email protected]>
[...]
+| bokeh | 3.10.0 | BSD-3-Clause
| Bokeh Team
[...]
+| boto3 | 1.43.103 | Apache-2.0
| Amazon Web Services
[...]
+| botocore | 1.43.106 | Apache-2.0
| Amazon Web Services
[...]
+| certifi | 2026.7.22 | Mozilla Public License 2.0 (MPL
2.0) | Kenneth Reitz
[...]
+| cffi | 2.0.0 | MIT
| Armin Rigo, Maciej Fijalkowski
[...]
+| charset-normalizer | 3.4.7 | MIT
| "Ahmed R. TAHRI" <[email protected]>
[...]
+| click | 8.4.1 | BSD-3-Clause
| UNKNOWN
[...]
+| cloudpickle | 3.1.2 | BSD License
| The cloudpickle developer team
[...]
+| cryptography | 49.0.0 | Apache-2.0 OR BSD-3-Clause
| The Python Cryptographic Authority and individual
contributors <[email protected]>
[...]
+| dask | 2026.8.0 | BSD-3-Clause
| UNKNOWN
[...]
+| distributed | 2026.8.0 | BSD-3-Clause
| UNKNOWN
[...]
+| fsspec | 2026.6.0 | BSD-3-Clause
| UNKNOWN
[...]
+| google-auth | 2.58.1 | Apache Software License
| Google Cloud Platform
[...]
+| google-crc32c | 1.8.0 | UNKNOWN
| Google LLC
[...]
+| google-resumable-media | 2.10.2 | Apache Software License
| Google Cloud Platform
[...]
+| h5py | 3.16.0 | BSD-3-Clause
| Andrew Collette <[email protected]>
[...]
+| idna | 3.18 | BSD-3-Clause
| Kim Davies <[email protected]>
[...]
+| ijson | 3.5.1 | BSD-3-Clause AND ISC
| Rodrigo Tobar <[email protected]>, Ivan Sagalaev
<[email protected]>
[...]
+| jmespath | 1.1.0 | MIT License
| James Saryerwinnie
[...]
+| jsonschema | 4.26.0 | MIT
| Julian Berman <[email protected]>
[...]
+| jsonschema-specifications | 2025.9.1 | MIT
| Julian Berman
<[email protected]>
[...]
+| locket | 1.0.0 | BSD License
| Michael Williamson
[...]
+| mimesis | 22.2.0 | MIT
| Isaak Uchakaev <[email protected]>
[...]
+| msgpack | 1.2.1 | Apache-2.0
| Inada Naoki <[email protected]>
[...]
+| narwhals | 2.22.1 | MIT
| Marco Gorelli
[...]
+| numpy | 2.5.3 | BSD-3-Clause AND 0BSD AND MIT AND
Zlib AND CC0-1.0 | Travis E. Oliphant et al.
[...]
+| packaging | 26.2 | Apache-2.0 OR BSD-2-Clause
| Donald Stufft <[email protected]>
[...]
+| pandas | 3.0.6 | BSD License
| The Pandas Development Team <[email protected]>
[...]
+| partd | 1.4.2 | BSD
| UNKNOWN
[...]
+| pillow | 12.2.0 | MIT-CMU
| Jeffrey 'Alex' Clark <[email protected]>
[...]
+| psutil | 7.2.2 | BSD-3-Clause
| Giampaolo Rodola
[...]
+| py-cpuinfo | 9.0.0 | MIT License
| Matthew Brennan Jones
[...]
+| pyasn1 | 0.6.3 | BSD-2-Clause
| Ilya Etingof <[email protected]>
[...]
+| pyasn1_modules | 0.4.2 | BSD License
| Ilya Etingof
[...]
+| pycparser | 3.0 | BSD-3-Clause
| Eli Bendersky <[email protected]>
[...]
+| pydantic | 2.14.0b2 | MIT
| Samuel Colvin <[email protected]>, Eric Jolibois
<[email protected]>, Hasan Ramezani <[email protected]>, Adrian Garcia
Badaracco <[email protected]>, Terrence Dorsey
<[email protected]>, David Montague <[email protected]>, Serge Matveenko
<[email protected]>, Marcelo Trylesinski <[email protected]>, Sydney
Runkle <[email protected]>, David Hewitt [...]
+| pydantic_core | 2.49.0 | MIT
| Samuel Colvin <[email protected]>, Adrian Garcia Badaracco
<[email protected]>, David Montague
<[email protected]>, David Hewitt <[email protected]>, Sydney Runkle
<[email protected]>, Victorien Plot <[email protected]>
[...]
+| pysolr | 3.11.0 | BSD License
| Daniel Lindsley
[...]
+| python-dateutil | 2.9.0.post0 | Apache Software License; BSD
License | Gustavo Niemeyer
[...]
+| referencing | 0.37.0 | MIT
| Julian Berman <[email protected]>
[...]
+| requests | 2.34.2 | Apache Software License
| Kenneth Reitz <[email protected]>
[...]
+| rpds-py | 2026.5.1 | MIT
| Julian Berman <[email protected]>
[...]
+| s3transfer | 0.19.0 | Apache Software License
| Amazon Web Services
[...]
+| six | 1.17.0 | MIT License
| Benjamin Peterson
[...]
+| sortedcontainers | 2.4.0 | Apache Software License
| Grant Jenks
[...]
+| tabulate | 0.10.0 | MIT
| Sergey Astanin <[email protected]>
[...]
+| tblib | 3.2.2 | BSD-2-Clause
| Ionel Cristian Mărieș <[email protected]>
[...]
+| thespian | 4.0.1 | MIT License
| Kevin Quick
[...]
+| toolz | 1.1.0 | BSD-3-Clause
| PyToolz Contributors
[...]
+| tornado | 6.5.9 | Apache Software License
| Facebook
[...]
+| tqdm | 4.70.1 | MPL-2.0 AND MIT
| UNKNOWN
[...]
+| typing-inspection | 0.4.4 | MIT
| Victorien Plot <[email protected]>
[...]
+| typing_extensions | 4.16.0 | PSF-2.0
| "Guido van Rossum, Jukka Lehtosalo, Łukasz Langa, Michael
Lee" <[email protected]>
[...]
+| urllib3 | 2.8.0 | MIT
| Andrey Petrov <[email protected]>
[...]
+| xyzservices | 2026.3.0 | BSD-3-Clause
| Dani Arribas-Bel <[email protected]>, Martin
Fleischmann <[email protected]>
[...]
+| yappi | 1.7.6 | MIT License
| Sümer Cip
[...]
+| zict | 3.0.0 | BSD License
| UNKNOWN
[...]
+| zstandard | 0.25.0 | BSD-3-Clause
| Gregory Szorc <[email protected]>
[...]
