Se rendre au contenu

Python 3.14 est sorti

7 octobre 2025 par
Python 3.14 est sorti
Makersquad

Date de sortie : 7 octobre 2025

Documentation officielle : https://docs.python.org/3/whatsnew/3.14.html

Python 3.14 (oui, Pi) est une release majeure. Les template strings (t-strings) apportent un traitement sécurisé des chaînes, les annotations sont enfin évaluées en différé, et les sous-interpréteurs offrent du vrai parallélisme multi-coeur sans toucher au GIL.


Les nouveautés principales

Template strings (t-strings)

Nouvelle syntaxe t"..." pour un traitement sécurisé des chaînes, inspiré des tagged templates de JavaScript :

from string.templatelib import Template

name = "O'Malley"
query = t"SELECT * FROM users WHERE name = {name}"
# Retourne un objet Template, pas une chaîne
# Les interpolations sont accessibles séparément

Les t-strings retournent un objet Template avec les parties statiques et les interpolations séparées. Parfait pour prévenir les injections SQL, l’échappement HTML, et toute construction de chaîne qui nécessite un traitement contextuel.


Annotations différées (PEP 649)

Les annotations ne sont plus évaluées au moment de la définition :

class Tree:
    # Plus besoin de guillemets pour les forward references !
    def add_child(self, child: Tree) -> None:
        self.children.append(child)

    children: list[Tree] = []

Le nouveau module annotationlib permet d’inspecter les annotations en trois formats : VALUE, FORWARDREF et STRING.


Sous-interpréteurs (PEP 734)

Vrai parallélisme multi-coeur via le nouveau module concurrent.interpreters :

from concurrent.interpreters import InterpreterPoolExecutor

def heavy_computation(data):
    # Chaque interpréteur a son propre GIL
    return process(data)

with InterpreterPoolExecutor(max_workers=4) as pool:
    results = list(pool.map(heavy_computation, datasets))

Chaque interpréteur a son propre GIL : vrai parallélisme sans les complexités du mode free-threaded.


Débogage distant sécurisé (PEP 768)

Attachez un debugger a un processus Python en cours d’exécution :

# Attacher pdb à un processus en cours
python -m pdb -p 12345
# Ou programmatiquement
import sys
sys.remote_exec(pid, "breakpoint()")

Zero-overhead quand le débogage n’est pas actif. Contrôles de sécurité configurables.


Compression Zstandard (PEP 784)

Nouveau package compression avec support natif de Zstandard :

import compression.zstd

# Compression
data = b"Hello " * 1000
compressed = compression.zstd.compress(data)

# Support dans tarfile et zipfile
import tarfile
with tarfile.open("archive.tar.zst", "w:zst") as tar:
    tar.add("my_file.txt")


Introspection asyncio

Outils CLI pour inspecter les tâches async en cours d’exécution :

# Lister les tâches d'un processus
python -m asyncio ps 12345

# Arbre des coroutines
python -m asyncio pstree 12345

Détection automatique des cycles dans les graphes async.


except sans parenthèses (PEP 758)

Syntaxe simplifiée pour capturer plusieurs exceptions :

# Avant
try:
    connect()
except (TimeoutError, ConnectionRefusedError):
    retry()

# Maintenant aussi valide
try:
    connect()
except TimeoutError, ConnectionRefusedError:
    retry()


Messages d’erreur améliorés

Suggestions de corrections pour les mots-clés mal orthographiés :

whille True:  # SyntaxError: invalid syntax. Did you mean 'while'?
    pass


Performances

  • Interpréteur tail-call : 3-5% plus rapide
  • Garbage collector incrémental : pauses réduites d’un ordre de grandeur
  • Mode free-threaded : pénalité réduite a 5-10% en single-thread


Autres améliorations

  • Coloration syntaxique par défaut dans le REPL
  • Auto-complétion pour les imports dans le REPL
  • Support officiel d’Emscripten (Tier 3)
  • Releases binaires pour Android
  • Compilateur JIT : releases binaires pour Windows et macOS


Échanger avec un expert Python

Nous revenons vers vous sous 24h.


Chez Makersquad, nous mettons notre expertise Python au service de projets ambitieux et durables. Que ce soit pour le développement d’applications web, la conception d’API, l’automatisation de processus, la data ou l’optimisation de performances, nous accompagnons nos clients à chaque étape. Si vous avez un besoin en Python, un nouveau projet, une refonte, un audit: notre équipe est prête à vous aider à concevoir des solutions robustes, évolutives et maintenables.


À retenir

Python 3.14 est une release dense. Les t-strings et les annotations différées vont changer la façon d’écrire du Python au quotidien. Les sous-interpréteurs offrent une alternative pragmatique au mode free-threaded pour le parallélisme. Et le débogage distant va simplifier le diagnostic en production.

Node.js 24 est sorti