chore(deps): bump dependencies, keep py3.9 via version-marker splits (BLDX-1571)#982
Merged
Conversation
…ts (BLDX-1571) Brings deps current while preserving Python >= 3.9.1 support using the msgspec marker-split pattern (CNCT-85). Packages whose latest drops py3.9 are pinned to their last 3.9-compatible release on <3.10 (or <3.11 for networkx) and the current release on 3.10+. Runtime: httpx-retries 0.4->0.6, authlib 1.6->1.7, tenacity 9.1.2->9.1.4 (3.10+), networkx 3.2->3.6 (3.11+), lazy-loader 0.4->0.5, pytz 2026.1->2026.2. httpx stays 0.28.1 (latest stable; 1.0 is dev-only, drops 3.9 — follow-up). Dev: pytest 8->9, mypy 1.19->2.3, vcrpy 7->8, deepdiff 8->9, pytest-asyncio 1.2->1.4, pre-commit 4.3->4.6, filelock/urllib3/types-* bumped, ruff 0.15.5-> 0.15.22, pytest-cov/pytest-order/virtualenv/mkdocs-material minor bumps. Verified: unit tests pass on py3.9 (floor) AND py3.13 (ceiling) — 6997 passed, 5 skipped each; ruff + mypy 2.3.0 clean (994 files). No version/HISTORY bump — rides the next [release] PR, per the CNCT-85 precedent. Co-Authored-By: Claude Opus 4.8 <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.
What
Brings dependencies current while preserving Python >= 3.9.1 support, using the
python_versionmarker-split pattern established for msgspec in CNCT-85 (#977). Packages whose latest release drops py3.9 are pinned to their last 3.9-compatible version on< '3.10'(or< '3.11'for networkx) and the current release on the newer interpreters.httpx (the original trigger)
httpxneeds no change — latest stable is 0.28.1, exactly our pin. The 3.9-dropping release is the 1.0 dev line (not GA). When 1.0 ships, adopt via the same split — noted in BLDX-1571.httpx-retriesgot the split now (0.4.6on <3.10 /0.6.0on 3.10+).Bumps
Runtime: httpx-retries 0.4→0.6, authlib 1.6→1.7, tenacity 9.1.2→9.1.4 (3.10+), networkx 3.2→3.6 (3.11+), lazy-loader 0.4→0.5, pytz 2026.1→2026.2.
Dev: pytest 8→9, mypy 1.19→2.3, vcrpy 7→8, deepdiff 8→9, pytest-asyncio 1.2→1.4, pre-commit 4.3→4.6, filelock 3.25→3.32, urllib3 2.6→2.7, types-* bumped, ruff 0.15.5→0.15.22, pytest-cov/pytest-order/virtualenv minor.
Docs: mkdocs-material 9.6→9.7. (
mkdocstringsheld at 0.29 — 1.x is a major config-format change and the docs build isn't in unit-test scope; separate follow-up.)uv.lock+requirements.txtregenerated (uv export --all-extras --no-hashes), mirroring #977.Verification
Ran the full unit suite on both ends of the support range in isolated venvs:
Plus qa-checks:
ruff format/ruff checkclean,mypy 2.3.0(the major bump) — no issues across 994 files. No coverage-threshold changes.Notes
version.txt/HISTORY.mdbump — dependency bumps ride the next[release]PR (per the CNCT-85 precedent).Ticket: BLDX-1571
🤖 Generated with Claude Code