TL;DR
Get business pricing on monitors, keyboards and dev gear
- Business-only prices and quantity discounts
- Tax-exempt purchasing
- Multiple users, one account, clear invoices
The maintainers of CPython’s experimental just-in-time compiler have withdrawn PEP 836, the proposal meant to address concerns raised by Python’s steering council. The council had said the JIT could not remain in the main development branch without a clearer case for its support, maintenance, performance goals and impact; removal now appears possible, but the supplied report does not confirm that it has happened.
Maintainers of CPython’s experimental just-in-time compiler have withdrawn PEP 836, a proposal intended to answer the Python steering council’s concerns about making the JIT a supported feature. The move leaves the project’s future uncertain: the council had said the code must be removed from CPython’s main development branch if an acceptable proposal was not submitted and accepted within six months, though the available report does not establish whether that deadline has passed or whether removal has begun.
PEP 836, titled “JIT Go Brrr: The Path to a Supported JIT Compiler for CPython,” was drafted by Brandt Bucher, Savannah Ostrowski and Ken Jin and posted for community feedback on July 3. After months of discussion, its authors withdrew it. The report says the proposal sought to respond to the council’s request for a plan, but does not provide a formal explanation from the authors for withdrawing it.
In a statement posted on September 21, the steering council said PEP 836 addressed the questions in its request, “although perhaps some less convincingly than others.” The council said it was deciding whether the JIT should continue as an experiment in CPython’s main branch, not simply judging whether the feature should become supported. It found the draft insufficiently specific on support plans and performance criteria, and said other areas were too vague or optimistic.
The council had set a six-month deadline for an acceptable PEP. If one was not submitted and accepted in that period, it said the JIT code would have to be removed from the main branch. The source report describes development as apparently having come to an end for now; it does not confirm a completed code removal, an official cancellation, or a final decision on the project’s longer-term status.
A JIT Needs a Support Plan
The dispute concerns more than whether a compiler can make Python programs run faster. A JIT incorporated into CPython can affect debugging, profiling, instrumentation and compatibility, as well as the work of people who package and distribute Python. The council said experimentation in the main branch creates uncertainty for core developers, package maintainers and users when behavior and API surfaces may change.
For Python users, the immediate consequence is uncertainty rather than a confirmed change to released versions: the supplied report does not say that the JIT has been removed from a release or that users must alter their software. For contributors, the withdrawal means the proposed route to formalizing and supporting the feature is no longer active. It also leaves open whether a revised proposal, a different design or work outside CPython’s main branch could carry the idea forward.
The council’s position reflects a governance issue for a widely used programming language: experimental work in the central codebase can affect an ecosystem well beyond the people writing the feature. The council wanted concrete commitments and criteria before allowing that experiment to continue there. Without an accepted proposal, the project faces the removal condition the council had set.
Popular right now

Roborock Q7 M5+ Robot Vacuum and Mop

Samsung 42-Inch S90H OLED 4K Smart TV Bundle

Bose QuietComfort Wireless Bluetooth Headphones with Active Noise Cancellation, Mic, USB‑C Charging, Deep Bass, 24‑Hour Battery – White Smok
As an affiliate, we earn on qualifying purchases.
From Python 3.13 to PEP 836
The JIT was added to CPython in early 2024 by Brandt Bucher and included with Python 3.13. Work proceeded under PEP 744, an informational document about JIT compilation. An informational PEP provides information to the community; it does not represent formal consensus to proceed with a feature or project. The source report says the JIT had been merged without a standards-track PEP receiving approval beforehand.
In June, the steering council paused JIT work in CPython’s main branch pending an accepted standards-track PEP addressing maintenance, compatibility, measurable success goals and a completion timeline. The council said there was no single event that triggered its request. Thomas Wouters, a council member, pointed to ongoing work on instrumentation, debugging and profiling, as well as related efforts such as CinderX, Numba, PyTorch’s compile work and discussion of a tier 3 JIT.
The three maintainers’ PEP 836 draft drew both support and criticism. Some commenters argued that it combined questions about goals with implementation details that should be handled separately, while others asked for more information. The council later said the draft answered its questions but did not give enough precision in key areas. On September 21, it clarified that its decision was about whether experimentation should continue in CPython’s main branch, rather than a broad judgment about JIT compilation.
“PEP did answer all of the questions that were highlighted in the council’s request, although perhaps some less convincingly than others.”
— Python steering council, in its September 21 statement
Removal Status Is Not Confirmed
The available report confirms the withdrawal of PEP 836, but does not state that the JIT code has been removed from CPython’s main branch. It also does not give the proposal’s withdrawal date, say whether the council’s six-month deadline has expired, or provide a subsequent council decision directing removal. “On its way out” describes the apparent direction of events, not a confirmed completed action.
It is also unclear whether the maintainers intend to submit a revised or replacement PEP, whether the council would accept a narrower proposal, or whether JIT development might continue in another form. The supplied material does not establish whether users of Python 3.13 or later will see any immediate change. Those questions require a later statement from the maintainers or the steering council.
Watch for a Council Decision
The next clear development would be an announcement from the Python steering council or JIT maintainers stating whether the code will be removed, whether a new proposal is planned, or whether development will continue under different conditions. The council’s stated six-month requirement makes the status of that deadline especially relevant, but the source report does not confirm its end date or what action followed the PEP’s withdrawal.
Until an official decision is reported, the safest description is that the proposal has been withdrawn and the JIT’s future in CPython’s main branch is unresolved. Further information would be needed to establish any effect on a released Python version, downstream distributors or end users.
Key Questions
Has Python’s experimental JIT already been removed?
The available report does not confirm a completed removal. It says PEP 836 was withdrawn and that the project appeared to be coming to an end for now; the council had said removal would be required if an acceptable PEP was not submitted and accepted within six months.
What was PEP 836 supposed to do?
PEP 836 proposed a path toward making CPython’s JIT a supported, non-experimental feature. It was intended to address concerns about support, maintenance, performance criteria and the project’s effect on people who distribute Python.
Why did the steering council have concerns?
The council said the draft was not specific enough about support plans and performance criteria, and was too vague or optimistic in some other areas. It also cited the uncertainty that changing behavior and API surfaces can create for developers and package maintainers when an experiment is kept in CPython’s main branch.
Does this change Python 3.13 for current users?
The source material does not report an immediate change to Python 3.13 or another release, and it does not say users need to take action. It confirms that the JIT was added to CPython in 2024 for Python 3.13, but gives no details about a change to released versions.
Could JIT work continue later?
That remains unclear. The report does not say whether the maintainers plan a replacement proposal or whether the council would consider a revised plan. A future path would need confirmation from the maintainers or steering council.
Source: lwn.net
