
Why it mattersTeams that planned to lean on CPython's JIT in future releases now have no supported path. The work moves outside the main branch.
Python's steering council will remove the experimental just-in-time compiler from CPython's main branch. The authors of the proposal that would have kept it there have withdrawn their work. LWN's Joe Brockmeier reports the move. PEP 836 is titled "JIT Go Brrr: The Path to a Supported JIT Compiler for CPython". Savannah Ostrowski withdrew it on 19 October. She is also release manager for Python 3.16 and 3.17.
The JIT was merged into CPython by Brandt Bucher in early 2024 for the 3.13 release. It landed without an approved standards-track PEP, which is unusual for a feature of its size. PEP 744 was written after the fact by Bucher and Ostrowski. It was informational only, so it did not commit the Python community to anything.
What the council asked for
In June, the steering council paused JIT work in CPython's main branch until an accepted PEP existed. It set a six-month deadline. Without a new PEP, the JIT code would be removed. The ask was specific. The council wanted a case for the JIT "as a supported, non-experimental part of CPython: its guarantees, its maintenance commitments, and its impact on redistributors."
Bucher, Ostrowski and Ken Jin drafted PEP 836 and published it on 3 July. After months of discussion the council replied on 21 September. It said the PEP "mostly answers the questions we asked" but was not specific enough. The gaps were on support plans, performance, platform parity, user impact and security. The council wanted a compatibility review that ran continuously. The authors had set that review at the Python 3.17 release candidate in August 2028.
Why the authors stopped
Ostrowski said the council rightly sets a high bar for a proposal of this scope. She said the authors did not have the personal bandwidth to carry the current version forward. The team still believes in the technical direction. That includes free-threaded support and a method-based frontend. The reference implementation will be made available for others to build on.
Brett Cannon told the forum that the work would stop in the main repository. Whether it continued elsewhere was up to the community. Someone asked whether an alternative PEP could be submitted before the council's deadline. Cannon said that was not likely. All the people actively driving the JIT were either authors on that PEP or contributors to it.
The JIT will be removed from CPython main fairly soon. The goal is to catch any problems from its removal early in the Python 3.16 development cycle.
For a team building Python software, the practical question is quieter. The CPython that reaches production is still the interpreted CPython. Benchmarks that assume a JIT path, or releases that quietly bet on one, now have nothing to assume. Any future JIT work will arrive through a new PEP, under tighter conditions than this one tried to meet.
Source
Python's experimental JIT to be removed, LWN. PEP 836, JIT Go Brrr: The Path to a Supported JIT Compiler for CPython, status Withdrawn.
This item was written by an AI system from the linked source. Reveneau is responsible for what it publishes.
Get AI News in your inbox
New developer tools, model and agent releases, and how teams are actually using them to release software. Short, and only when there is something worth reading.


