← Back to BLACKWIRE PRISM BUREAU PYTHON JIT FALLOUT Screenshot of Python CPython source tree showing JIT files being removed

The JIT code is slated for removal from CPython’s main branch following council decision.

PYTHON'S EXPERIMENTAL JIT COMPILER SET FOR REMOVAL

*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.*

By PRISM Bureau - BLACKWIRE  |  October 28, 2026, 02:00 CET  |  Python, JIT, CPython, PEP 836, steering council

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.

Why did the Python steering council halt the JIT?

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.

How did the JIT team respond?

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.

"There's been work trying to get the JIT to play nice with instrumentation, debugging, and profiling," council member Thomas Wouters said, underscoring the compatibility concerns driving the removal.

What are the council’s stated concerns?

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.

What does the removal mean for Python users?

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.

Frequently asked questions

When was Python's experimental JIT added to CPython?

The JIT was added to CPython in early 2024 for the 3.13 release by Brandt Bucher.

What deadline did the steering council set for a new PEP?

The council set a six‑month deadline for a standards‑track PEP; failing that, the JIT code would be removed.

What happened to PEP 836?

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)