python / python/typeshed

Drop support for Python 3.10 (around January/April 2027)

Ouverte
#15,586 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Personne n'a encore pris cette issue.

stubs: removal
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.11 and python-version >= 3.11 from METADATA.toml.
  • Remove the version suffix from regression tests ending with -py311.py.
  • Remove tomli from requirements-tests.txt.
Expected April 2027
  • Remove 3.10 exclusive branches from stubs.
    • Switch EnumType/EnumMeta names in stdlib/enum.pyi, making EnumType the "real" name
  • Remove obsolete stdlib modules (see VERSIONS).
    • binhex
    • distutils.command.bdist_msi
  • Replace typing_extensions imports.
    • TypeVarTuple
    • Required/NotRequired
    • Self
    • LiteralString
    • dataclass_transform
  • Update "Supported type system features" section in CONTRIBUTING.md as necessary.

(Please amend as necessary.)

Guide de contribution

Ouvrir le guide de contribution

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. 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

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.