pon
pon is a JIT & AoT native compiler and runtime for Python 3.14, written in Rust. There is no interpreter and no bytecode: every module is parsed with the ruff parser, lowered to one shared IR, and compiled to machine code through Cranelift — either just-in-time inside the process ( pon run ) or ahead-of-time into a standalone native executable ( pon build ). Memory is managed by a Green Tea garbage collector instead of reference counting, and correctness is enforced by a byte-exact differential harness against CPython v3.14.0.
The end goal is the bun/v8 of Python: a runtime that passes the CPython test suite, runs a multi-tier JIT well past CPython, ships single-binary executables, and includes batteries (package manager, tooling) out of the box. The project is under heavy active development — see Status for what is true today versus where it is going.
Quickstart
# JIT: parse → IR → Cranelift → run, in-process printf ' def add(a, b):
return a + b
print("hello, world")
print(add(2, 3))
' > hello.py cargo run -p pon -- run hello.py # AoT: same IR through cranelift-object, linked into a native executable cargo run -p pon -- build hello.py -o hello ./hello
... continue reading