Skip to content

chore(deps): upgrade to mypy 2.x - #45

Merged
SckyzO merged 1 commit into
mainfrom
chore/deps-mypy-2x
Jun 8, 2026
Merged

chore(deps): upgrade to mypy 2.x#45
SckyzO merged 1 commit into
mainfrom
chore/deps-mypy-2x

Conversation

@SckyzO

@SckyzO SckyzO commented Jun 8, 2026

Copy link
Copy Markdown
Owner

Part of ISSUE_P (tier 3 of 3). The <2.0 ceiling on mypy was an intentional guard; this PR evaluates lifting it.

Evaluation result

mypy 2.0 enables by default: --strict-bytes, --local-partial-types, --allow-redefinition-new (and drops py3.8 targeting — we target 3.12). Ran mypy 2.1.0 against the codebase:

Success: no issues found in 50 source files

The stricter defaults surface no new errors — no code changes needed.

Change

  • mypy >=1.8.0,<2.0>=2.1.0,<3.0 (ceiling lifted).
  • mypy.ini: removed the now-unused [mypy-uvicorn.*] override. uvicorn (0.49, bumped in chore(deps): tier-1 routine bumps (non-breaking) #43) ships type information, so warn_unused_configs flagged the section as dead under mypy 2.x.

Validation

  • make typecheck0 issues (50 files), no config warnings
  • make lint — 9 linters, 0 errors

mypy 2.0 enables --strict-bytes, --local-partial-types and
--allow-redefinition-new by default. Evaluated against the codebase:
mypy 2.1.0 reports 0 issues across 50 source files, so the stricter
defaults require no code changes.

- bump mypy >=1.8.0,<2.0 -> >=2.1.0,<3.0 (lift the intentional <2.0 ceiling)
- mypy.ini: drop now-unused [mypy-uvicorn.*] override (uvicorn ships type
  info; warn_unused_configs flagged it under mypy 2.x)

Validated: make typecheck (0 issues), make lint (9/9).
@SckyzO
SckyzO merged commit 6c8fd76 into main Jun 8, 2026
2 checks passed
@SckyzO
SckyzO deleted the chore/deps-mypy-2x branch June 8, 2026 15:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant