fix(deps): restore mypy <1.12 bound on the Python 3.9 types pin - #1647
Conversation
Renovate bumped the python_version < '3.10' mypy pin to 2.3.0 (#1569), which requires Python 3.10+, making the 3.9 resolution split unsatisfiable and breaking `uv sync --locked` for every CI job. Use a bounded range like the pytest entry so renovate cannot re-bump it past the last 3.9-compatible line. Co-Authored-By: Claude <noreply@anthropic.com>
|
🐕 Review complete — View session on Shuni Portal 🐾 |
🐕 Suggested ReviewersSelected the reviewer who has contributed to both affected files to ensure proper review of the dependency pin update and its impact on configuration.
Suggested by Shuni based on git history and PR context. Names are not @-mentioned to avoid notifying anyone — request a review from whoever fits best. |
There was a problem hiding this comment.
🐕 Shuni's Review
Reverts the Python 3.9 mypy pin from ==2.3.0 (which needs 3.10+, making the 3.9 resolution split unsatisfiable) back to a bounded >=1.11.2,<1.12, mirroring the existing pytest<9 guard.
No issues sniffed out. Verified:
pyproject.tomlanduv.lockrequires-distspecifiers now match, and the lockedmypy 1.11.2forpython_full_version < '3.10'satisfies the new range — souv sync --all-extras --lockedresolves again on the 3.9 matrix legs.- No stale
mypy==2.3.0references remain in the lock; the>=3.10entry is untouched, so the 3.13 lint job still type-checks with mypy 2.x. 1.11.2is the terminal1.11.xrelease, so the range is effectively pinned while still blocking renovate re-bumps.
Good bones! Woof!
Declared coverage: FULL — 2/2 changed files reviewed.
Coverage reportThe coverage rate went from None of the new lines are part of the tested code. Therefore, there is no coverage data about them. |
Related PRs
Related PRs
In a Nutshell
>=1.11.2,<1.12) so renovate can't re-bump itDescription
Renovate #1569 bumped the
python_version < '3.10'mypy pin in thetypesextra to 2.3.0, which requires Python 3.10+. That makes the Python 3.9 resolution split unsatisfiable, souv sync --all-extras --lockedfails for every CI job on main and on all open PRs. This mirrors the guard already used by the pytest entry in the same file: a bounded range with a comment explaining why the bound is required. Lock regenerated; full test suite passes (1042 passed).Must
🤖 Generated with Claude Code