Repository navigation
Update vendored packaging version to 26.3 - #5361
Merged
Merged
Conversation
Refreshes only `packaging` and raises its declared floor to match, using the technique from `tools/vendored.py` (uv pip install --target, pinned to the minimum supported Python, binary-only) scoped to this one dependency rather than re-vendoring everything. packaging 26.3 adds the abi3t tag from PEP 803 (pypa/packaging#1099). The vendored 26.0 could not emit it: its `_abi3_applies(python_version, threading)` returns False for free-threaded builds, so `sys_tags()` yields neither abi3 nor abi3t there. That blocks #5193, whose supported -tag assertion cannot pass on a free-threaded 3.15. packaging has no runtime dependencies, so nothing else in _vendor moves. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
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.
Summary of changes
Refreshes the vendored
packagingfrom 26.0 to 26.3 and raises its declared floor to match, following the precedent of 8e13abf ("Update vendored packaging version to 24.2"), which bumped both thetestandcoreextras alongside the vendored copy.Why
packaging26.3 adds theabi3ttag from PEP 803 (pypa/packaging#1099). The vendored 26.0 cannot emit it — its_abi3_applies(python_version, threading)returnsFalsefor free-threaded builds, sotags.sys_tags()yields neitherabi3norabi3tthere.That blocks #5193, whose supported-tag assertion is:
With 26.0 on a free-threaded 3.15 that can never hold, because no abi3-family tag is ever offered. #5256 does not address this — it keeps
packaging-26.0and only rewrites that dist-info.Verified against the newly vendored copy:
Method
Scoped to this one dependency rather than re-vendoring everything, using the technique from
tools/vendored.py— remove the existing copy, thenuv pip install --target setuptools/_vendor --python-version <requires-python floor> --only-binary :all:.packagingdeclares no runtime dependencies, so nothing else under_vendormoves;git statuson that directory shows onlypackaging*paths.Testing
integration): 991 passed, 15 skipped, 17 xfailed, 3 xpassed._ranges.py,ranges.py,dependency_groups.py,direct_url.pyanderrors.py, and substantially rewritesversion.py,tags.pyandutils.py. The full-suite run above is the main guard against regressions inmetadata,requirementsandversionhandling.Two things to flag
The
check-changed-foldersjob will fail, by design — it fails on any PR touchingsetuptools/_vendor/**as a tripwire against hand-editing vendored code. #5256 shows the same failure. Nothing in.mergify.ymlgates on it.A
LICENSEfile nearly went missing.packaging-26.3.dist-info/licenses/LICENSEhad to begit add -f'd: a bareLICENSEpattern in a global gitignore matches it at any depth,git statusthen reports the tree clean, and the previously trackedpackaging-26.0.dist-info/licenses/LICENSEwould have been silently dropped. All three license files (LICENSE,LICENSE.APACHE,LICENSE.BSD) are present here and match the hashes inRECORD. Worth knowing for futuretox -e vendorruns, and relevant to #5049, #5215 and #5001; a!LICENSEnegation in the repo's own.gitignorewould make this safe by default.Pull Request Checklist
newsfragments/. (See documentation for details)🤖 Generated with Claude Code