Skip to content

chore: drop Python 3.8/3.9 support, require >=3.10#17

Merged
mkusaka merged 2 commits into
mainfrom
drop-python-3.8-3.9
Feb 7, 2026
Merged

chore: drop Python 3.8/3.9 support, require >=3.10#17
mkusaka merged 2 commits into
mainfrom
drop-python-3.8-3.9

Conversation

@mkusaka
Copy link
Copy Markdown
Owner

@mkusaka mkusaka commented Feb 7, 2026

Summary

  • Drop Python 3.8 (EOL Oct 2024) and 3.9 (EOL Oct 2025) support, bump requires-python to >=3.10
  • Remove 3.8/3.9 classifiers from pyproject.toml
  • Update ruff, black, and mypy target versions to 3.10
  • Regenerate uv.lock (removes 3.8/3.9-only wheels, ~150 lines lighter)

Motivation

Test plan

  • CI passes (lint, test 3.10-3.13, build)

Python 3.8 (EOL Oct 2024) and 3.9 (EOL Oct 2025) are no longer
supported upstream. CI already only tests 3.10+.

- Update requires-python to >=3.10
- Remove 3.8/3.9 classifiers
- Update ruff, black, mypy target versions to 3.10
- Regenerate uv.lock (removes 3.8/3.9-only wheels)
Ruff UP045 flagged 45 instances of Optional[X] now that
target-version is py310. Auto-fixed and removed unused imports.
@mkusaka mkusaka merged commit ae49336 into main Feb 7, 2026
7 checks passed
@mkusaka mkusaka deleted the drop-python-3.8-3.9 branch February 7, 2026 15:06
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