News · Logiciel
Python 3.15 sort le 9 octobre : imports paresseux, frozendict et UTF-8 par défaut
Python 3.15 est attendu en version finale le 9 octobre 2026, après une RC3 sortie le 2 octobre pour corriger les imports paresseux. Au menu : mot-clé lazy, frozendict, sentinel, UTF-8 par défaut, JIT plus rapide et profileur Tachyon.

Python 3.15 doit sortir en version finale le 9 octobre 2026, une semaine plus tard que prévu. Le 2 octobre, l'équipe de publication a sorti à la place une troisième préversion, la 3.15.0rc3 (ouvre python.org dans un nouvel onglet), pour intégrer des correctifs de dernière minute sur les imports paresseux. Au 7 octobre, la version stable n'est donc pas encore disponible : il s'agit toujours d'une préversion, déconseillée en production.
Info
Contrôle du 7 octobre 2026. Sources primaires lues : annonce de Python 3.15.0rc3 (ouvre python.org dans un nouvel onglet), calendrier PEP 790 (ouvre peps.python.org dans un nouvel onglet), « What's New in Python 3.15 » (ouvre docs.python.org dans un nouvel onglet) (document encore en brouillon). Non confirmé à cette date : la sortie effective le 9 octobre, qui reste un objectif. Les gains du JIT sont des moyennes mesurées par l'équipe CPython, pas des garanties pour ton code.
Pourquoi un report d'une semaine
D'après l'annonce de la RC3 (ouvre python.org dans un nouvel onglet), des bugs bloquants sont apparus tardivement autour des imports paresseux, la nouveauté phare de cette version. L'équipe a préféré les corriger avant la finale et se laisser le temps de les tester. Le calendrier officiel (PEP 790) (ouvre peps.python.org dans un nouvel onglet) indique désormais une sortie le vendredi 9 octobre. Aucune modification de l'ABI, l'interface binaire utilisée par les extensions compilées, n'est prévue d'ici là : les paquets compilés pour les RC fonctionneront avec la version finale.
Python 3.15 recevra des correctifs pendant deux ans, puis des correctifs de sécurité jusqu'à environ octobre 2031.
Les nouveautés principales
Selon la documentation « What's New » (ouvre docs.python.org dans un nouvel onglet) :
- Imports paresseux explicites (PEP 810) : le nouveau mot-clé
lazy(lazy import json) ne charge le module qu'à sa première utilisation. Objectif : accélérer le démarrage des programmes et des outils en ligne de commande. frozendict(PEP 814) : un dictionnaire immuable, donc utilisable comme clé ou dans un ensemble.sentinel(PEP 661) : un type intégré pour créer des valeurs « marqueurs » uniques, du genre « argument non fourni ».- UTF-8 par défaut (PEP 686) :
open()et les entrées-sorties utilisent UTF-8 au lieu de l'encodage du système. Cela peut changer le comportement de vieux scripts, surtout sous Windows. On peut revenir en arrière avecPYTHONUTF8=0. - Dépaquetage dans les compréhensions (PEP 798) :
[*L for L in lists]aplatit une liste de listes. TypedDictavec éléments supplémentaires typés (PEP 728), utile pour typer des dictionnaires aux clés ouvertes.

Crédit : Python Software Foundation (ouvre docs.python.org dans un nouvel onglet), capture de la documentation officielle de la 3.15.0rc3, 7 octobre 2026.
Performances, profilage et version sans GIL
Le compilateur JIT reste expérimental. L'équipe annonce un gain moyen de 7 à 8 % sur Linux x86-64 et de 11 à 12 % sur macOS Apple Silicon (AArch64), par rapport à l'interpréteur standard. Ce sont des moyennes sur la suite de tests pyperformance : selon les cas, l'écart va d'un ralentissement d'environ 15 % à un gain de plus de 100 %.
Côté outils, un nouveau paquet profiling arrive (PEP 799). Il contient Tachyon, un profileur statistique : il observe un programme en prenant des « échantillons » jusqu'à un million de fois par seconde, et peut s'attacher à un processus déjà lancé, sans modifier le code (python -m profiling.sampling attach <PID>). L'ancien module profile devient obsolète et doit disparaître dans Python 3.17.
Enfin, les versions sans GIL (free-threaded, où plusieurs threads peuvent exécuter du Python en parallèle) gagnent une ABI stable, nommée abi3t (PEP 803, 820 et 793). Concrètement, une extension en C pourra être compilée une seule fois pour plusieurs versions de ces builds.
Faut-il passer à Python 3.15 ?
Pas avant la sortie finale, et pas sans tester. L'équipe CPython demande aux mainteneurs de bibliothèques de publier dès maintenant des paquets compatibles sur PyPI. Pour un projet existant, le passage à UTF-8 par défaut et les fonctions retirées sont les deux points à vérifier en priorité. Les autres actus développeurs sont dans notre rubrique Développement.
Notre lecture (Analyse.) Les imports paresseux sont le changement le plus visible pour le quotidien : un outil en ligne de commande qui charge des dizaines de modules peut démarrer nettement plus vite, sans réécriture. Le report d'une semaine montre aussi que la fonctionnalité touche au cœur du langage. Pour les projets sensibles, attendre la 3.15.1 reste une option raisonnable. Comme pour les mises à jour de Next.js ou d'OpenSSH, mieux vaut lire les notes de version avant de mettre à jour.
Laisser un avis
Avis des lecteurs
Aucun avis publié pour le moment.




