Skip to content

Commit a59e72b

Browse files
authored
chore(deps): update dependency packaging to v26.3 (#18618)
This PR contains the following updates: | Package | Change | [Age](https://docs.renovatebot.com/merge-confidence/) | [Confidence](https://docs.renovatebot.com/merge-confidence/) | |---|---|---|---| | [packaging](https://redirect.github.com/pypa/packaging) | `==26.2` → `==26.3` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/packaging/26.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/packaging/26.2/26.3?slim=true) | | [packaging](https://redirect.github.com/pypa/packaging) | `==25.0` → `==26.3` | ![age](https://developer.mend.io/api/mc/badges/age/pypi/packaging/26.3?slim=true) | ![confidence](https://developer.mend.io/api/mc/badges/confidence/pypi/packaging/25.0/26.3?slim=true) | --- ### Release Notes <details> <summary>pypa/packaging (packaging)</summary> ### [`v26.3`](https://redirect.github.com/pypa/packaging/releases/tag/26.3) [Compare Source](https://redirect.github.com/pypa/packaging/compare/26.2...26.3) <!-- Release notes generated using configuration in .github/release.yml at 26.3 --> #### What's Changed ##### Features - Add a public `VersionRange` API and `SpecifierSet.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 a `SpecifierSet` where a PEP 440 form exists. ([#&#8203;1267](https://redirect.github.com/pypa/packaging/pull/1267), [#&#8203;1270](https://redirect.github.com/pypa/packaging/pull/1270), [#&#8203;1298](https://redirect.github.com/pypa/packaging/pull/1298)) - PEP 808: accept `Metadata-Version: 2.6`. ([#&#8203;1194](https://redirect.github.com/pypa/packaging/pull/1194)) - Add a `limit` argument to `parse_tag()` for compressed tag sets. ([#&#8203;1220](https://redirect.github.com/pypa/packaging/issues/1220)) - Add a `prefer_sdist_predicate` argument to `Pylock.select()` to prefer source distributions over wheels for selected packages. ([#&#8203;1334](https://redirect.github.com/pypa/packaging/pull/1334)) - Add `pure_python_tags()` to generate the pure-Python tags for a Python version without touching the running platform. ([#&#8203;1346](https://redirect.github.com/pypa/packaging/pull/1346)) - Add `SpecifierSet.is_subset()`, `SpecifierSet.is_superset()`, and `SpecifierSet.is_disjoint()`, which compare the versions two specifier sets accept. ([#&#8203;1313](https://redirect.github.com/pypa/packaging/pull/1313)) ##### Behavior adaptations - Drop support for Python 3.8; packaging now requires Python 3.9 or later. ([#&#8203;1157](https://redirect.github.com/pypa/packaging/pull/1157)) - Prefer native `linux_*` platform tags over `manylinux` and `musllinux` tags on Linux. ([#&#8203;160](https://redirect.github.com/pypa/packaging/issues/160)) ##### Fixes for versions and specifiers - Raise `InvalidVersion` instead of `TypeError` when `Version` is given a non-string. ([#&#8203;1319](https://redirect.github.com/pypa/packaging/pull/1319)) - Raise `InvalidVersion` for non-string pre-release letters passed to `Version.from_parts`. ([#&#8203;1241](https://redirect.github.com/pypa/packaging/pull/1241)) - Fix an `AttributeError` when hashing internally trimmed versions. ([#&#8203;1242](https://redirect.github.com/pypa/packaging/pull/1242)) - Fix `SpecifierSet.is_unsatisfiable` for post-release boundary intersections. ([#&#8203;1257](https://redirect.github.com/pypa/packaging/pull/1257)) ##### Fixes for requirements and markers - Make `Requirement.__hash__` consistent with `__eq__` for trailing-zero-equivalent specifiers (e.g. `foo==1.0.0` and `foo==1.0.0.0`), so equal requirements hash equal and deduplicate in sets and dicts. ([#&#8203;1232](https://redirect.github.com/pypa/packaging/pull/1232)) - Normalize requested extra names before comparing or hashing requirements. ([#&#8203;644](https://redirect.github.com/pypa/packaging/issues/644)) - Preserve a `Requirement`'s specifier `prereleases` override across a pickle round trip. ([#&#8203;1204](https://redirect.github.com/pypa/packaging/issues/1204)) - Raise `InvalidRequirement` instead of `InvalidSpecifier` when a requirement contains an invalid specifier. ([#&#8203;1332](https://redirect.github.com/pypa/packaging/pull/1332)) - Clarify the error for post-release prefix wildcards like `==1.0.post1.*`. ([#&#8203;1299](https://redirect.github.com/pypa/packaging/pull/1299)) - Preserve quoting semantics when serializing marker values, so round-tripped markers parse back to the same marker. ([#&#8203;1213](https://redirect.github.com/pypa/packaging/pull/1213)) - Keep the parentheses of a nested group when serializing markers. ([#&#8203;1316](https://redirect.github.com/pypa/packaging/pull/1316)) - Normalize `extra` and `dependency_groups` values in nested markers at parse time. ([#&#8203;1246](https://redirect.github.com/pypa/packaging/pull/1246), [#&#8203;1310](https://redirect.github.com/pypa/packaging/pull/1310)) - Raise `UndefinedComparison` when a set-valued variable like `extras` is used outside the membership form. ([#&#8203;1265](https://redirect.github.com/pypa/packaging/pull/1265)) - Raise `UndefinedEnvironmentName` (a `KeyError` subclass) for missing environment keys during marker evaluation. ([#&#8203;1276](https://redirect.github.com/pypa/packaging/pull/1276)) - Wrap malformed string literal errors in `InvalidMarker` / `InvalidRequirement` instead of leaking a low-level error. ([#&#8203;1249](https://redirect.github.com/pypa/packaging/pull/1249)) - Reject requirements and markers with a trailing line break. ([#&#8203;1345](https://redirect.github.com/pypa/packaging/pull/1345)) ##### Fixes for metadata and licenses - Collect all `from_email` validation errors into one `ExceptionGroup` instead of raising the first. ([#&#8203;1268](https://redirect.github.com/pypa/packaging/pull/1268)) - Accept the UTF-8 charset case-insensitively in email payloads. ([#&#8203;1330](https://redirect.github.com/pypa/packaging/pull/1330)) - Reject malformed `Description-Content-Type` values. ([#&#8203;1329](https://redirect.github.com/pypa/packaging/pull/1329)) - Don't rewrite user values that contain `{field}` placeholders in error messages. ([#&#8203;1327](https://redirect.github.com/pypa/packaging/pull/1327)) - Route multipart email payloads to `unparsed` instead of asserting. ([#&#8203;1247](https://redirect.github.com/pypa/packaging/pull/1247)) - Make `InvalidMetadata` and `CyclicDependencyGroup` picklable. ([#&#8203;1328](https://redirect.github.com/pypa/packaging/pull/1328)) - Fold every line boundary `str.splitlines` recognizes when writing a header with `RFC822Message`. ([#&#8203;1356](https://redirect.github.com/pypa/packaging/pull/1356)) - Raise `InvalidLicenseExpression` for misplaced `WITH` clauses and empty `LicenseRef-` names. ([#&#8203;1266](https://redirect.github.com/pypa/packaging/pull/1266)) - Raise `InvalidLicenseExpression` instead of `KeyError` for a `LicenseRef-` with a `+` suffix. ([#&#8203;1219](https://redirect.github.com/pypa/packaging/pull/1219)) ##### Fixes for tags and filenames - Raise `InvalidTag` from `parse_tag()` for tags with the wrong number of components. ([#&#8203;1238](https://redirect.github.com/pypa/packaging/pull/1238)) - Reject empty tag components in `parse_wheel_filename()` and `parse_tag()`. ([#&#8203;1234](https://redirect.github.com/pypa/packaging/pull/1234)) - Reject an empty project name in the wheel and sdist filename parsers. ([#&#8203;1305](https://redirect.github.com/pypa/packaging/pull/1305)) - Reject wheel filenames with a trailing newline. ([#&#8203;1341](https://redirect.github.com/pypa/packaging/pull/1341)) - Reject wheel tags whose interpreter component is not an identifier. ([#&#8203;577](https://redirect.github.com/pypa/packaging/issues/577)) - `is_normalized_name` now rejects names with collapsed double hyphens like `a--b`. ([#&#8203;1230](https://redirect.github.com/pypa/packaging/pull/1230)) - Fix duplicate explicit `abi3t` tags. ([#&#8203;1245](https://redirect.github.com/pypa/packaging/pull/1245)) - Forward the `warn` argument to `generic_tags()` in `sys_tags()`. ([#&#8203;1264](https://redirect.github.com/pypa/packaging/pull/1264)) - Raise `SystemError` for an empty or malformed CPython `EXT_SUFFIX`. ([#&#8203;1271](https://redirect.github.com/pypa/packaging/pull/1271), [#&#8203;1301](https://redirect.github.com/pypa/packaging/pull/1301)) - Fix a typo in the macOS `fat3` architecture name (was `fat32`). ([#&#8203;1199](https://redirect.github.com/pypa/packaging/pull/1199)) ##### Fixes for pylock, direct URLs, and dependency groups - Percent-decode `pylock` artifact file names derived from a `url` so that local versions (e.g. a wheel with `2.12.1+cu130` encoded as `2.12.1%2Bcu130`) yield a valid file name. ([#&#8203;1314](https://redirect.github.com/pypa/packaging/pull/1314)) - Use an explicitly empty `tags` sequence in `Pylock.select()` instead of falling back to `sys_tags()`. ([#&#8203;1349](https://redirect.github.com/pypa/packaging/pull/1349)) - Fix `Pylock.select()` on Python builds that report a non-PEP 440 `python_full_version` (e.g. `3.15.0+`). ([#&#8203;1179](https://redirect.github.com/pypa/packaging/pull/1179)) - Reject TOML booleans where integers are expected in `pylock` files. ([#&#8203;1244](https://redirect.github.com/pypa/packaging/pull/1244)) - Add `PylockSelectError` to `packaging.pylock.__all__`. ([#&#8203;1202](https://redirect.github.com/pypa/packaging/pull/1202)) - Fix `DirectUrl` credential stripping for passwords containing `@`. ([#&#8203;1218](https://redirect.github.com/pypa/packaging/pull/1218)) - Parse the URL scheme case-insensitively when checking for file URLs in `direct_url`. ([#&#8203;1240](https://redirect.github.com/pypa/packaging/pull/1240)) - Require absolute file URLs for local directories in `direct_url`. ([#&#8203;1297](https://redirect.github.com/pypa/packaging/pull/1297)) - Collect `InvalidRequirement` errors while resolving dependency groups instead of leaking them. ([#&#8203;1302](https://redirect.github.com/pypa/packaging/pull/1302)) - Don't cache malformed dependency group parses. ([#&#8203;1248](https://redirect.github.com/pypa/packaging/pull/1248)) ##### Performance - Implement `Specifier` and `SpecifierSet` filtering with the new range engine. ([#&#8203;1120](https://redirect.github.com/pypa/packaging/pull/1120), [#&#8203;1259](https://redirect.github.com/pypa/packaging/pull/1259)) - Cache the default marker environment. ([#&#8203;1250](https://redirect.github.com/pypa/packaging/pull/1250)) - Cache the `_manylinux` module lookup process-wide. ([#&#8203;1254](https://redirect.github.com/pypa/packaging/pull/1254)) - Add `__slots__` to `Requirement` and the token classes. ([#&#8203;1320](https://redirect.github.com/pypa/packaging/pull/1320), [#&#8203;1258](https://redirect.github.com/pypa/packaging/pull/1258)) - Keep range caches across canonicalization, precompile the wheel project-name pattern, simplify `parse_tag()`, and skip `platform.mac_ver()` when the version and arch are given. ([#&#8203;1253](https://redirect.github.com/pypa/packaging/pull/1253), [#&#8203;1256](https://redirect.github.com/pypa/packaging/pull/1256), [#&#8203;1236](https://redirect.github.com/pypa/packaging/pull/1236), [#&#8203;1255](https://redirect.github.com/pypa/packaging/pull/1255)) ##### Documentation - Describe the validation scope of `packaging.pylock`. ([#&#8203;1339](https://redirect.github.com/pypa/packaging/pull/1339)) - Explain which `packaging.metadata` fields are validated. ([#&#8203;1342](https://redirect.github.com/pypa/packaging/pull/1342)) - Document `RFC822Policy` in the low-level `packaging.metadata` interface. ([#&#8203;1222](https://redirect.github.com/pypa/packaging/pull/1222)) - Enable nitpicky mode and render missing classes and fields in the API reference. ([#&#8203;1196](https://redirect.github.com/pypa/packaging/pull/1196), [#&#8203;1225](https://redirect.github.com/pypa/packaging/pull/1225), [#&#8203;1277](https://redirect.github.com/pypa/packaging/pull/1277)) - Add missing `versionadded` / `versionchanged` directives and many small docstring fixes across the API reference. ([#&#8203;1205](https://redirect.github.com/pypa/packaging/pull/1205), [#&#8203;1207](https://redirect.github.com/pypa/packaging/pull/1207), [#&#8203;1208](https://redirect.github.com/pypa/packaging/pull/1208), [#&#8203;1209](https://redirect.github.com/pypa/packaging/pull/1209), [#&#8203;1211](https://redirect.github.com/pypa/packaging/pull/1211), [#&#8203;1216](https://redirect.github.com/pypa/packaging/pull/1216), [#&#8203;1217](https://redirect.github.com/pypa/packaging/pull/1217), [#&#8203;1223](https://redirect.github.com/pypa/packaging/pull/1223), [#&#8203;1272](https://redirect.github.com/pypa/packaging/pull/1272), [#&#8203;1273](https://redirect.github.com/pypa/packaging/pull/1273), [#&#8203;1274](https://redirect.github.com/pypa/packaging/pull/1274), [#&#8203;1291](https://redirect.github.com/pypa/packaging/pull/1291), [#&#8203;1300](https://redirect.github.com/pypa/packaging/pull/1300), [#&#8203;1303](https://redirect.github.com/pypa/packaging/pull/1303), [#&#8203;1317](https://redirect.github.com/pypa/packaging/pull/1317), [#&#8203;1344](https://redirect.github.com/pypa/packaging/pull/1344)) ##### Internal - Add Python 3.15 to the test matrix. ([#&#8203;1190](https://redirect.github.com/pypa/packaging/pull/1190)) - Add a musl/Alpine test job and make the test suite pass on musl. ([#&#8203;1226](https://redirect.github.com/pypa/packaging/pull/1226), [#&#8203;1227](https://redirect.github.com/pypa/packaging/pull/1227)) - Expand the downstream test matrix by ten projects. ([#&#8203;1261](https://redirect.github.com/pypa/packaging/pull/1261)) - Update to mypy 2. ([#&#8203;1191](https://redirect.github.com/pypa/packaging/pull/1191)) - Use nox's uv integration. ([#&#8203;1057](https://redirect.github.com/pypa/packaging/pull/1057)) #### New Contributors - [@&#8203;Sean-Kenneth-Doherty](https://redirect.github.com/Sean-Kenneth-Doherty) made their first contribution in [#&#8203;1187](https://redirect.github.com/pypa/packaging/pull/1187) - [@&#8203;jsirois](https://redirect.github.com/jsirois) made their first contribution in [#&#8203;1199](https://redirect.github.com/pypa/packaging/pull/1199) - [@&#8203;Alan-K-Biju-7](https://redirect.github.com/Alan-K-Biju-7) made their first contribution in [#&#8203;1217](https://redirect.github.com/pypa/packaging/pull/1217) - [@&#8203;facutuesca](https://redirect.github.com/facutuesca) made their first contribution in [#&#8203;1218](https://redirect.github.com/pypa/packaging/pull/1218) - [@&#8203;NovaLux12](https://redirect.github.com/NovaLux12) made their first contribution in [#&#8203;1317](https://redirect.github.com/pypa/packaging/pull/1317) - [@&#8203;atsuoishimoto](https://redirect.github.com/atsuoishimoto) made their first contribution in [#&#8203;1314](https://redirect.github.com/pypa/packaging/pull/1314) - [@&#8203;gaoflow](https://redirect.github.com/gaoflow) made their first contribution in [#&#8203;1291](https://redirect.github.com/pypa/packaging/pull/1291) - [@&#8203;jacobdr](https://redirect.github.com/jacobdr) made their first contribution in [#&#8203;608](https://redirect.github.com/pypa/packaging/pull/608) - [@&#8203;deepakganesh78](https://redirect.github.com/deepakganesh78) made their first contribution in [#&#8203;1351](https://redirect.github.com/pypa/packaging/pull/1351) - [@&#8203;rajath201](https://redirect.github.com/rajath201) made their first contribution in [#&#8203;1356](https://redirect.github.com/pypa/packaging/pull/1356) **Full Changelog**: <pypa/packaging@26.2...26.3> </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about these updates again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR was generated by [Mend Renovate](https://mend.io/renovate/). View the [repository job log](https://developer.mend.io/github/googleapis/google-cloud-python). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMzQuMSIsInVwZGF0ZWRJblZlciI6IjQ0LjE1NS4yIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
1 parent 3c5919a commit a59e72b

3 files changed

Lines changed: 7 additions & 7 deletions

File tree

‎packages/google-cloud-bigquery/samples/geography/requirements.txt‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ grpcio==1.75.1
2121
idna==3.15
2222
munch==4.0.0
2323
mypy-extensions==1.1.0
24-
packaging==25.0
24+
packaging==26.3
2525
pandas==2.3.3
2626
proto-plus==1.26.1
2727
pyarrow==26.0.0

‎packages/google-cloud-spanner/.devcontainer/requirements.txt‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ nox==2024.10.9 \
2626
--hash=sha256:1d36f309a0a2a853e9bccb76bbef6bb118ba92fa92674d15604ca99adeb29eab \
2727
--hash=sha256:7aa9dc8d1c27e9f45ab046ffd1c3b2c4f7c91755304769df231308849ebded95
2828
# via -r requirements.in
29-
packaging==26.2 \
30-
--hash=sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e \
31-
--hash=sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661
29+
packaging==26.3 \
30+
--hash=sha256:94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79 \
31+
--hash=sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c
3232
# via nox
3333
platformdirs==4.9.6 \
3434
--hash=sha256:3bfa75b0ad0db84096ae777218481852c0ebc6c727b3168c1b9e0118e458cf0a \

‎packages/sqlalchemy-spanner/requirements.txt‎

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -696,9 +696,9 @@ opentelemetry-semantic-conventions==0.65b0 \
696696
# google-cloud-spanner
697697
# opentelemetry-instrumentation
698698
# opentelemetry-sdk
699-
packaging==26.2 \
700-
--hash=sha256:5fc45236b9446107ff2415ce77c807cee2862cb6fac22b8a73826d0693b0980e \
701-
--hash=sha256:ff452ff5a3e828ce110190feff1178bb1f2ea2281fa2075aadb987c2fb221661
699+
packaging==26.3 \
700+
--hash=sha256:94edc256424af38762eb31306eed28beb9f0efc50a8837492c9d6fd6004aed79 \
701+
--hash=sha256:d7193f7c8e4e93f444fde0262bf90af30e16fa0ad0ad44cb553c87339b23cd1c
702702
# via
703703
# -r requirements.in
704704
# build

0 commit comments

Comments
 (0)