The JIT code is slated for removal from CPython’s main branch following council decision.
*Python’s just‑in‑time compiler, introduced in the 3.13 release, is being stripped from CPython’s main branch. The steering council demanded a standards‑track PEP, set a six‑month deadline, and now the project is dead.*
Python’s experimental just‑in‑time compiler entered CPython in early 2024, shipped with the 3.13 release, and was championed by Brandt Bucher. The feature bypassed the usual standards‑track PEP process, relying instead on an informational PEP 744. By June 2026 the steering council halted further work, demanding a formal standards‑track proposal that defined maintenance commitments, compatibility guarantees and clear success metrics. The council gave the JIT team six months to deliver such a PEP, warning that failure would trigger removal from the main branch. After a contentious draft (PEP 836) and mixed community feedback, the authors withdrew the proposal, leaving the JIT without a path forward. The council’s final stance, issued in September, confirmed the experiment would not survive the deadline.
In June 2026 the Python steering council announced a pause on JIT work until a standards‑track PEP addressed maintenance, compatibility, success metrics and a timeline. Council member Thomas Wouters said there was no single trigger; the council had been discussing the issue for months and wanted to ensure the JIT would not interfere with other projects. The council highlighted work needed to make the JIT cooperate with instrumentation, debugging and profiling, and to coexist with external JITs such as CinderX, Numba and PyTorch’s compile. After the Python 3.15 beta release the council declared the status quo acceptable for 3.15 and set a six‑month deadline for a new PEP, threatening removal if unmet.
The JIT maintainers drafted PEP 836, titled “JIT Go Brrr: The Path to a Supported JIT Compiler for CPython,” and posted it for community feedback on July 3, 2026. The draft merged goals, implementation details and maintenance plans into a single document. Feedback from council members and community members, including Mark Shannon, argued the PEP should be split into separate proposals. Bucher pushed back, insisting goals without a detailed plan were meaningless. Despite months of discussion, the authors withdrew PEP 836, effectively ending formal development on the experimental JIT.
Council members repeatedly cited a lack of unified design and the uncertainty it creates for core developers, package maintainers and end users. They noted the JIT’s experimental status made it difficult to guarantee compatibility with debugging tools and profiling frameworks. External JIT projects and JIT‑adjacent technologies further complicated the landscape. In a September 21 statement, the council said the draft PEP answered most questions, “perhaps some less convincingly than others,” and clarified they were not setting criteria for a supported feature but evaluating whether the experiment should continue in the main branch.
With the JIT code slated for removal, CPython will revert to a purely interpreter‑based execution model for the foreseeable future. Users who experimented with the JIT will lose any performance gains it offered. Package maintainers can no longer rely on the JIT being present in upcoming releases, simplifying compatibility testing but also removing a potential optimization path. The decision underscores the council’s priority on stability and maintainability over experimental features, signaling that future performance work will likely focus on external projects rather than core CPython changes.
The JIT was added to CPython in early 2024 for the 3.13 release by Brandt Bucher.
The council set a six‑month deadline for a standards‑track PEP; failing that, the JIT code would be removed.
PEP 836 was drafted, generated discussion, and was ultimately withdrawn by its authors, ending formal JIT development.
The JIT’s exit marks a decisive moment for CPython’s development philosophy. By prioritizing a clean, maintainable codebase over experimental speed boosts, the steering council signals that future performance gains will likely emerge from external ecosystems rather than core language changes. Developers can now focus on stable releases, while the broader Python community watches for alternative acceleration projects to fill the gap.
Sources: LWN.net article "Python's experimental JIT to be removed" (October 26, 2026)