Skip to content

Align Python version support with CI matrix (drop 3.9)#44

Merged
snopoke merged 1 commit intomainfrom
sk/python-support-cleanup
May 5, 2026
Merged

Align Python version support with CI matrix (drop 3.9)#44
snopoke merged 1 commit intomainfrom
sk/python-support-cleanup

Conversation

@snopoke
Copy link
Copy Markdown
Collaborator

@snopoke snopoke commented May 5, 2026

Summary

Python 3.9 reached end-of-life in October 2025. CI tests 3.10–3.14, but pyproject.toml still declared support starting at 3.9 and classified only up to 3.12.

  • Bump requires-python to >=3.10
  • Update classifiers to 3.10 – 3.14 (matches CI)
  • Drop dead conditional deps (importlib-metadata; <3.8, typing-extensions; <=3.9)
  • Bump ruff target-version to py310
  • Simplify imports that had 3.9-fallback shims:
    • safe_sdk.py: ParamSpec is in typing on 3.10+
    • __init__.py: importlib.metadata is stdlib since 3.8, no fallback needed
  • Ruff autofixed Optional[X]X | None in safe_sdk.py (allowed at py310)

This is a breaking change for anyone still on 3.9 — should ride along with the next release.

Test plan

  • uv sync resolves cleanly with new pin
  • Full test suite passes (one pre-existing flake in test_celery::test_task_map unrelated)
  • CI matrix already aligned with new declared support

🤖 Generated with Claude Code

Python 3.9 reached end-of-life in October 2025. CI already tests 3.10
through 3.14, but pyproject still declared support starting at 3.9 and
classified up to 3.12 only.

- Bump requires-python to >=3.10 and update classifiers to 3.10-3.14
- Drop now-dead conditional deps (importlib-metadata < 3.8,
  typing-extensions <= 3.9)
- Bump ruff target-version to py310 (autofixes Optional[X] -> X | None)
- Simplify ParamSpec import in safe_sdk (now in typing on 3.10+)
- Simplify importlib.metadata import in __init__.py (no fallback needed)

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@snopoke snopoke merged commit 4dfd61e into main May 5, 2026
6 checks passed
@snopoke snopoke deleted the sk/python-support-cleanup branch May 5, 2026 15:10
@snopoke snopoke mentioned this pull request May 5, 2026
4 tasks
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