Skip to content

Bump requires-python default to >=3.12 per SPEC 0 #785

@Alexboiboi

Description

@Alexboiboi

The template currently sets requires-python = ">=3.10" in the generated pyproject.toml (and python_version = "3.10" in [tool.mypy] / py-version = "3.10" in [tool.pylint]).

Per SPEC 0, Python 3.10 reached its recommended drop date in Q4 2024 and Python 3.11 in Q4 2025. As of today (Q2 2026), the SPEC 0-compliant minimum is Python 3.12 (released Oct 2023, drop date Q4 2026).

I understand from #537 that the template intentionally sets a conservative floor and projects are expected to raise it themselves. However, the current default is now two minor versions behind the ecosystem recommendation, which may give new projects a false sense that >=3.10 is still appropriate.

Proposal:

  • Bump the generated requires-python to >=3.12
  • Update python_version in [tool.mypy] and py-version in [tool.pylint] accordingly
  • Update the classifiers list to start from 3.12
  • Update the CI matrix lower bound from "3.11" to "3.12"

Alternatively, consider a periodic update policy (e.g. bump each time a new cookie release is tagged) to keep the default aligned with SPEC 0.

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