Drop support for Python 3.10 (around January/April 2027)
Open
Nobody has claimed this yet.
stubs: removal
- Dominant language
- Python
- Stars
- 5.1k
- Forks
- 2.1k
- Avg merge
- 1d 19h
- Merged PRs (30d)
- 82
Description
Python 3.10 is expected to reach its end-of-life phase in October 2026 (PEP 619). We will remove support in two steps, approximately three and six months after it reached EOL.
How to remove support
Expected January 2027
- Update the version in
README.md. - Update various fields in
pyproject.toml. - Remove 3.10 from CI and test scripts.
- Update stubtest allow lists. Also check whether items can be moved to the common allow lists.
- Remove
requires-python >= 3.11andpython-version >= 3.11fromMETADATA.toml. - Remove the version suffix from regression tests ending with
-py311.py. - Remove
tomlifromrequirements-tests.txt.
Expected April 2027
- Remove 3.10 exclusive branches from stubs.
- Switch
EnumType/EnumMetanames instdlib/enum.pyi, makingEnumTypethe "real" name
- Switch
- Remove obsolete stdlib modules (see
VERSIONS).binhexdistutils.command.bdist_msi
- Replace
typing_extensionsimports.TypeVarTupleRequired/NotRequiredSelfLiteralStringdataclass_transform
- Update "Supported type system features" section in
CONTRIBUTING.mdas necessary.
(Please amend as necessary.)
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the January 2027 checklist in README.md, pyproject.toml, CI and test scripts, stubtest allow lists, METADATA.toml, regression tests, and requirements-tests.txt. Then review the April checklist in stdlib/enum.pyi, VERSIONS, the affected stubs, and CONTRIBUTING.md. Done means Python 3.10 support is removed across both stages and the relevant tests and metadata are updated.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- documentation, testing-qa, tooling
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Quiet
- Clarity
- Clearly specified
- Newbie friendliness
- 45/100