A group of Python core developers wants to bring Rust into CPython itself, starting small. Their roadmap, presented at the Python Language Summit 2026 in July by PyO3 maintainer David Hewitt and led by core developers Emma Smith and Kirill Podoprigora, begins with a single standard-library module.
Under the plan, Python 3.16 — scheduled for October 2027 — would ship an optional Rust implementation of zlib, the compression module, built on the external zlib-rs crate. Anyone who wants to keep building Python without Rust still gets the C version exactly as before. An internal Rust interface is also planned for 3.16, and version 3.17 could extend the approach to modules such as json and xml. From 2029, Rust is meant to become mandatory with Python 3.18.
The motivation is memory safety. Rust's ownership rules rule out entire bug classes — reads outside reserved memory, and use-after-free in particular — that the project has linked to a long tail of interpreter problems. Rust already reaches Python widely through the PyO3 binding layer, but it has never been part of CPython's own build until now.
zlib was chosen as the entry point because it is small enough to be tractable and consequential enough to measure. It also drags in a real Cargo dependency, giving the team an early test of how the build system copes with Rust packaging. According to project figures, zlib-rs — already used inside Firefox and Cargo — decompresses up to six times faster than classic zlib on an ARM-based Mac in prototype benchmarks, while computing CRC32 checksums almost three times slower.
The roadmap sets explicit success criteria, in the mould of the experimental JIT and free-threading work: a majority of active core developers willing to write features in Rust, no noticeable slowdown in CPython benchmarks, and coverage of every officially supported platform without overburdening distributors. Presenting Rust as permanently optional would be dishonest, Hewitt argued. The main objection is dependency weight — a member of the Steering Council reportedly called Cargo's package tree a potential showstopper, since a vulnerability in any of them could force a new Python release. Hewitt countered that the team wants as few dependencies as possible and will ship their source separately so CPython can still be built without Cargo.
Rust had originally been slated as standard in Python 3.16, but the team postponed that after objections about portability and other concerns. A formal PEP carrying the success criteria is expected around the end of 2026, after which the Steering Council will decide. Python 3.16's feature cutoff is scheduled for May 4, 2027.




