fix(client-python): ship the Apache-2.0 LICENSE in the published package - #1031
Open
sudo-ai-git wants to merge 1 commit into
Open
sudo-ai-git wants to merge 1 commit into
sudo-ai-git wants to merge 1 commit into
Conversation
Member
|
Thank you for adding the Python package license. Two changes are still needed: commit d812fa2 needs your own Signed-off-by trailer, and the built wheel currently contains two LICENSE copies. Please keep one intended packaged copy, narrow the PR wording so it does not claim to close all of #969 while other packages remain uncovered, rebase onto current main, and force-push the signed update. |
sudo-ai-git
force-pushed
the
fix/ship-license-in-python-client
branch
from
September 6, 2026 05:19
d812fa2 to
891d90e
Compare
Part of caura-ai#969. The Python client declared Apache-2.0 but shipped no license text. Copy the repo-root LICENSE into clients/python/ so setuptools auto-includes it in the wheel's dist-info/licenses/ (the modern PEP 639 location). Do NOT add an explicit [tool.setuptools.data-files] license-files entry: with setuptools>=77 the LICENSE present at the package root is already auto-detected into `*.dist-info/licenses/`, and forcing it again via data-files produced a duplicate `*.data/data/license-files/LICENSE` copy in the wheel. Only the dist-info copy is intended. Verified: `python -m build --wheel` -> unzip -l shows exactly one LICENSE at `caura_client-...dist-info/licenses/LICENSE`; no data/license-files copy. Signed-off-by: sudo-ai-git <sudo-ai-git@users.noreply.github.com>
sudo-ai-git
force-pushed
the
fix/ship-license-in-python-client
branch
from
September 7, 2026 14:36
891d90e to
19f71a1
Compare
Author
|
Rebased onto current upstream/main (now at 511366d) and force-pushed. Branch already had Signed-off-by on 19f71a1, commit message is Part of #969 (not Closes), and wheel verification shows single LICENSE at dist-info/licenses/ — no duplicate data/license-files copy. Let me know if the DCO check still flags anything — happy to amend. |
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Part of #969 (Python client only).
Problem:
clients/python/declared Apache-2.0 (license = { text = ... }) but shipped no license text — setuptools had no LICENSE to pick up for the wheel/sdist.Change: copy the repo-root
LICENSEintoclients/python/LICENSE. With setuptools>=77 the LICENSE present at the package root is auto-detected into*.dist-info/licenses/, so no explicitlicense-filesconfig is needed.Note on the earlier duplicate: an initial revision added
[tool.setuptools.data-files] license-files = ["LICENSE"], which forced a second, legacy*.data/data/license-files/LICENSEcopy into the wheel. Removed — only the intendeddist-info/licenses/LICENSEcopy remains.Verified:
python -m build --wheelthenunzip -lshows exactly one LICENSE entry (caura_client-...dist-info/licenses/LICENSE), nodata/license-filescopy. Commit is signed off (DCO).Scope is intentionally limited to the Python client; the other packages in #969 (the remaining npm/TS client dirs) are not touched here.