Eine Gruppe von Python-Kerrentwicklern will Rust in CPython selbst bringen – und beginnt klein. Die Roadmap wurde im Juli auf dem Python Language Summit 2026 von PyO3-Maintainer David Hewitt vorgestellt und von den Kerrentwicklern Emma Smith und Kirill Podoprigora vorangetrieben; sie startet mit einem einzigen Standardbibliotheksmodul.
Dem Plan zufolge soll Python 3.16 – geplant für Oktober 2027 – eine optionale Rust-Implementierung des Komprimierungsmoduls zlib enthalten, aufbauend auf dem externen Crate zlib-rs. Wer Python weiterhin ohne Rust bauen will, bekommt die C-Version genau wie bisher. Für 3.16 ist außerdem eine interne Rust-Schnittstelle geplant, und Version 3.17 könnte den Ansatz auf Module wie json und xml ausweiten. Ab 2029 soll Rust mit Python 3.18 verpflichtend werden.
Das Motiv ist Speichersicherheit. Rusts Ownership-Regeln schließen ganze Fehlerklassen aus – Zugriffe außerhalb reservierten Speichers und insbesondere Use-after-free –, die das Projekt mit einem langen Schwanz von Interpreterproblemen verbindet. Über die PyO3-Bindungsschicht ist Rust längst weit verbreitet in der Python-Welt, doch im eigenen Build von CPython war es bisher nie Teil davon.
zlib wurde als Einstieg gewählt, weil es klein genug zum Bewältigen und bedeutsam genug zum Messen ist. Zudem zieht es eine echte Cargo-Abhängigkeit mit sich und lässt das Team früh testen, wie das Buildsystem mit Rust-Paketierung umgeht. Projektangaben zufolge dekomprimiert zlib-rs – bereits in Firefox und Cargo im Einsatz – in Prototypen-Benchmarks auf einem ARM-basierten Mac bis zu sechsmal schneller als klassisches zlib, berechnet CRC32-Prüfsummen aber fast dreimal langsamer.
Die Roadmap nennt explizite Erfolgskriterien, analog zu den experimentellen Arbeiten an JIT und Free-Threading: eine Mehrheit der aktiven Kerrentwickler, die bereit ist, Features in Rust zu schreiben; keine spürbare Verlangsamung in CPython-Benchmarks; und Abdeckung aller offiziell unterstützten Plattformen, ohne Distributoren zu überfordern. Rust dauerhaft als optional darzustellen, wäre unehrlich, argumentierte Hewitt. Der Haupteinwand ist das Gewicht der Abhängigkeiten: Ein Mitglied des Steering Council soll den Cargo-Paketbaum als potenziellen Showstopper bezeichnet haben, da eine Schwachstelle in einem der Pakete eine neue Python-Version erzwingen könnte. Hewitt hielt entgegen, man wolle so wenige Abhängigkeiten wie möglich und werde deren Quellcode getrennt ausliefern, damit CPython auch ohne Cargo gebaut werden kann.
Ursprünglich war Rust bereits für Python 3.16 als Standard vorgesehen; nach Einwänden unter anderem zur Portabilität verschob das Team diesen Schritt. Ein formeller PEP mit den Erfolgskriterien wird gegen Ende 2026 erwartet, danach entscheidet der Steering Council. Der Feature-Freeze für Python 3.16 ist für den 4. Mai 2027 angesetzt.




