Skip to content

Drop support for Python 3.9 (early 2026) #13782

Open
@srittau

Description

@srittau

Python 3.9 is expected to reached its end-of-life phase around October 2025 (PEP 596).

How to remove support

EOL + 3 months (around January 2026)

  • Update the documentation.
  • Update the oldest_supported_python key in pyproject.toml.
  • Remove requires_python >= 3.10 and python_version >= 3.10 from METADATA.toml
  • Remove 3.9 from CI and test scripts.
  • Update stubtest allow lists. Also check whether items can be moved to the common allow lists.

EOL + 6 months (around April 2026)

  • Remove 3.9 exclusive branches from stubs.
  • Remove obsolete stdlib modules (see VERSIONS).
    • _bootlocale
    • distutils.command.bdist_wininst
    • formatter
    • parser
    • symbol
  • Replace typing_extensions imports.
    • ParamSpec
    • TypeAlias
    • TypeGuard
  • Remove builtins.ellipsis after type checkers have switched to types.EllipsisType. (See Remove type checker-specific symbols from builtins.pyi and typing.pyi #7580)

(Please amend as necessary.)

Metadata

Metadata

Assignees

No one assigned

    Labels

    stubs: removalPending removal of third-party distributions

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions