Skip to content

Drop Python 3.10 once it reaches end of life #174

Description

@lesnik512

pyproject.toml declares requires-python = ">=3.10,<4" and [tool.ruff] target-version = "py310",
and the CI matrix in .github/workflows/_checks.yml runs 3.10 through 3.14. Python 3.10 reaches end
of life in October 2026.

Dropping it is not only a floor bump — it is load-bearing for two things this repo has already
written down:

  • docs/adr/0007-core-declares-typing-extensions.md records that core carries
    typing-extensions only because pydantic rejects a stdlib typing.TypedDict model on
    Python < 3.12. Raising the floor to 3.10→3.11 does not release it; that ADR's revisit trigger
    fires at 3.12.
  • lite_bootstrap/instruments/base.py uses typing_extensions.Self, also 3.11+ in the stdlib.

Work: bump requires-python, target-version, the CI matrix, the install-isolation job's pinned
3.10 interpreter, and the trove classifiers; then re-read ADR-0007 to see whether the floor has
reached 3.12 and the dependency can go.

Revisit trigger: October 2026, or the first upstream dependency that drops 3.10 first.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions