Drop support for Python 3.10 (around January/April 2027)
Personne n'a encore pris cette issue.
- Langage dominant
- Python
- Étoiles
- 5.1k
- Forks
- 2.1k
- Merge moyen
- 1 j 19 h
- PR mergées (30 j)
- 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.)
Guide de contribution
Ouvrir le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Piste de recherche
Commencez par la checklist de janvier 2027 dans README.md, pyproject.toml, la CI et les scripts de test, les listes d’autorisation de stubtest, METADATA.toml, les tests de régression et requirements-tests.txt. Examinez ensuite la checklist d’avril dans stdlib/enum.pyi, VERSIONS, les stubs concernés et CONTRIBUTING.md. La tâche est terminée lorsque la prise en charge de Python 3.10 est supprimée dans les deux étapes et que les tests et métadonnées concernés sont mis à jour.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- python
- Domaine
- documentation, testing-qa, tooling
- Type d'issue
- Refactorisation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- Calme
- Clarté
- Clairement spécifiée
- Accessibilité débutants
- 45/100