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 intended to address concerns raised by Python’s steering council. The council had said the JIT must have clearer maintenance commitments, compatibility plans and success measures to remain in CPython’s main branch; the supplied report says removal is now expected, but does not establish a removal date or a final formal decision.
The maintainers of CPython’s experimental just-in-time compiler have withdrawn PEP 836, the proposal created to answer the Python steering council’s concerns about supporting the JIT. The council had set a six-month deadline for an accepted proposal, warning that the code would otherwise have to be removed from CPython’s main branch; with the proposal withdrawn, the JIT’s place in future development is in doubt.
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. The authors published it for community feedback on July 3. After months of discussion, the maintainers withdrew it rather than leave the proposal in the review process. The supplied account does not give a detailed explanation from the authors for the withdrawal.
The steering council had asked for a standards-track PEP setting out how the JIT could become a supported, non-experimental part of CPython. Its requested topics included guarantees, maintenance commitments and effects on redistributors. The council said the proposal addressed its questions, but some answers were less convincing than others, and it considered the proposal too vague on support plans and performance criteria.
The council’s June request set a six-month deadline for a PEP to be submitted and accepted. If that did not happen, it said the JIT code would have to leave the main branch. The report says development appears to have come to an end, but does not provide a removal commit, release schedule or final council announcement ordering removal.
A JIT Without a Support Plan
The dispute concerns more than whether a compiler can make Python programs run faster. Keeping a JIT in CPython’s main branch creates ongoing work for core developers, package maintainers and users, including maintaining compatibility and accounting for changes to behavior and interfaces. The council’s concern was that continued experimentation without a clear design and support plan could leave those groups uncertain about what the JIT would require.
For Python users, the immediate issue is the JIT’s status in CPython, not a confirmed change to everyday Python code or a promised performance improvement. If the code is removed, that would end this experimental implementation in the main branch; the supplied report does not establish what other projects or external JIT efforts would do. More broadly, the episode shows that a major implementation effort can remain subject to a formal decision about long-term maintenance, even after it has been included in a CPython release.
Products Worth Considering

Jackery Solar Generator 1000 v2 with 200W Solar Panel

Samsung 27-Inch Odyssey QD-OLED G8 4K 240Hz Gaming Monitor

Amazon Kindle Scribe Colorsoft 64GB (1st Generation)
As an affiliate, we earn on qualifying purchases.
From Python 3.13 to PEP 836
Brandt Bucher added the experimental JIT to CPython in early 2024, ahead of its inclusion with Python 3.13. Work proceeded under PEP 744, “JIT Compilation,” an informational PEP. As the report explains, that document informed the community but did not amount to formal consensus to proceed with the feature as a supported part of CPython.
In June, the steering council paused work on the JIT in the main branch pending an accepted standards-track proposal. The council said it wanted the proposal to address maintenance, compatibility and measurable goals, and to set out a timeline. It waited until after the Python 3.15 beta release before making its request, saying it was comfortable with the status quo for that release.
Feedback on PEP 836 included questions about its scope and detail. Some commenters argued that it should be split into two proposals: one setting out acceptance goals and another covering implementation plans. The council’s later statement said the PEP answered the questions in its request, but did not give sufficiently specific answers on support and performance. The maintainers’ withdrawal followed that discussion.
“The PEP did answer all of the questions that were highlighted in our request, although perhaps some less convincingly than others.”
— Python steering council, in a statement summarized by LWN
Removal Timing Remains Unconfirmed
The supplied report does not state that a removal commit has landed, give a date for removing the code, or quote a final steering-council order after PEP 836’s withdrawal. It describes the JIT as being on its way out and says development appears to have ended, but those descriptions should not be treated as confirmation that removal has already happened.
It is also unclear whether the maintainers will submit a revised or replacement proposal, whether the council will extend or otherwise alter its deadline, or whether work could continue outside CPython’s main branch. No new performance targets, support commitments or timeline are provided in the source material.
Council Decision and Code Status
The next clear developments to watch are a formal statement from the steering council and any change to the JIT’s status in CPython’s main branch. The council had said removal would follow if it did not receive an accepted PEP within six months; the source does not specify how the withdrawal affects the deadline or whether the council plans another review.
Until maintainers or the council publish a further update, readers should distinguish the proposal’s withdrawal from a confirmed removal date. Any replacement plan would need to address the council’s stated concerns about support, maintenance, compatibility and performance criteria.
Key Questions
What happened to CPython’s experimental JIT proposal?
The maintainers withdrew PEP 836, which was intended to set out a path for making the JIT a supported part of CPython.
Has the JIT already been removed from CPython?
The supplied report does not confirm that the code has been removed. It says the JIT appears to be on its way out, but gives no removal commit or date.
Why did the steering council want another PEP?
The council wanted clearer commitments on maintenance, compatibility, support and performance criteria before deciding whether the JIT should continue as an experiment in CPython’s main branch.
Will Python users see an immediate change?
No immediate user-facing change is established in the source material. The confirmed development is the withdrawal of PEP 836; the JIT’s removal timing and future status remain unsettled.
Source: lwn.net
