Update dependency packaging to v26.3 #183
Loading…
Reference in a new issue
No description provided.
Delete branch "renovate/packaging-26.x"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
This PR contains the following updates:
==26.2→==26.3Release Notes
pypa/packaging (packaging)
v26.3Compare Source
What's Changed
Features
VersionRangeAPI andSpecifierSet.to_range(), representing the versions a specifier set accepts as an interval set that supports intersection, union, difference, complement, set relations, membership tests, and filtering.VersionRange.to_specifier_set()converts a range back to aSpecifierSetwhere a PEP 440 form exists. (#1267, #1270, #1298)Metadata-Version: 2.6. (#1194)limitargument toparse_tag()for compressed tag sets. (#1220)prefer_sdist_predicateargument toPylock.select()to prefer source distributions over wheels for selected packages. (#1334)pure_python_tags()to generate the pure-Python tags for a Python version without touching the running platform. (#1346)SpecifierSet.is_subset(),SpecifierSet.is_superset(), andSpecifierSet.is_disjoint(), which compare the versions two specifier sets accept. (#1313)Behavior adaptations
linux_*platform tags overmanylinuxandmusllinuxtags on Linux. (#160)Fixes for versions and specifiers
InvalidVersioninstead ofTypeErrorwhenVersionis given a non-string. (#1319)InvalidVersionfor non-string pre-release letters passed toVersion.from_parts. (#1241)AttributeErrorwhen hashing internally trimmed versions. (#1242)SpecifierSet.is_unsatisfiablefor post-release boundary intersections. (#1257)Fixes for requirements and markers
Requirement.__hash__consistent with__eq__for trailing-zero-equivalent specifiers (e.g.foo==1.0.0andfoo==1.0.0.0), so equal requirements hash equal and deduplicate in sets and dicts. (#1232)Requirement's specifierprereleasesoverride across a pickle round trip. (#1204)InvalidRequirementinstead ofInvalidSpecifierwhen a requirement contains an invalid specifier. (#1332)==1.0.post1.*. (#1299)extraanddependency_groupsvalues in nested markers at parse time. (#1246, #1310)UndefinedComparisonwhen a set-valued variable likeextrasis used outside the membership form. (#1265)UndefinedEnvironmentName(aKeyErrorsubclass) for missing environment keys during marker evaluation. (#1276)InvalidMarker/InvalidRequirementinstead of leaking a low-level error. (#1249)Fixes for metadata and licenses
from_emailvalidation errors into oneExceptionGroupinstead of raising the first. (#1268)Description-Content-Typevalues. (#1329){field}placeholders in error messages. (#1327)unparsedinstead of asserting. (#1247)InvalidMetadataandCyclicDependencyGrouppicklable. (#1328)str.splitlinesrecognizes when writing a header withRFC822Message. (#1356)InvalidLicenseExpressionfor misplacedWITHclauses and emptyLicenseRef-names. (#1266)InvalidLicenseExpressioninstead ofKeyErrorfor aLicenseRef-with a+suffix. (#1219)Fixes for tags and filenames
InvalidTagfromparse_tag()for tags with the wrong number of components. (#1238)parse_wheel_filename()andparse_tag(). (#1234)is_normalized_namenow rejects names with collapsed double hyphens likea--b. (#1230)abi3ttags. (#1245)warnargument togeneric_tags()insys_tags(). (#1264)SystemErrorfor an empty or malformed CPythonEXT_SUFFIX. (#1271, #1301)fat3architecture name (wasfat32). (#1199)Fixes for pylock, direct URLs, and dependency groups
pylockartifact file names derived from aurlso that local versions (e.g. a wheel with2.12.1+cu130encoded as2.12.1%2Bcu130) yield a valid file name. (#1314)tagssequence inPylock.select()instead of falling back tosys_tags(). (#1349)Pylock.select()on Python builds that report a non-PEP 440python_full_version(e.g.3.15.0+). (#1179)pylockfiles. (#1244)PylockSelectErrortopackaging.pylock.__all__. (#1202)DirectUrlcredential stripping for passwords containing@. (#1218)direct_url. (#1240)direct_url. (#1297)InvalidRequirementerrors while resolving dependency groups instead of leaking them. (#1302)Performance
SpecifierandSpecifierSetfiltering with the new range engine. (#1120, #1259)_manylinuxmodule lookup process-wide. (#1254)__slots__toRequirementand the token classes. (#1320, #1258)parse_tag(), and skipplatform.mac_ver()when the version and arch are given. (#1253, #1256, #1236, #1255)Documentation
packaging.pylock. (#1339)packaging.metadatafields are validated. (#1342)RFC822Policyin the low-levelpackaging.metadatainterface. (#1222)versionadded/versionchangeddirectives and many small docstring fixes across the API reference. (#1205, #1207, #1208, #1209, #1211, #1216, #1217, #1223, #1272, #1273, #1274, #1291, #1300, #1303, #1317, #1344)Internal
New Contributors
Full Changelog: https://github.com/pypa/packaging/compare/26.2...26.3
Configuration
📅 Schedule: (UTC)
🚦 Automerge: Enabled.
♻ Rebasing: Whenever PR is behind base branch, or you tick the rebase/retry checkbox.
🔕 Ignore: Close this PR and you won't be reminded about this update again.
This PR has been generated by Mend Renovate CLI.