Skip to main content

Status

gopy is in active development. The roadmap targets behavioural parity with CPython 3.14. The table below tracks the major subsystems with their current state.

Subsystem readiness

SubsystemStateNotes
TokenizerCompleteIndentation stack, f-strings, soft keywords.
PEG parserCompleteFull grammar including match.
ASTCompleteGenerated from Python.asdl.
Symbol tableCompleteTwo-pass resolver including __class__ cells.
CodegenCompleteEvery statement and expression form.
Flow graphPartialJump threading, constant folding, dead code, stack depth, exception tables.
AssemblerCompletePEP 657 location tables, exception tables, pools.
.pyc marshalCompleteWire-compatible with CPython 3.14.
VM dispatchCompleteEvery Tier-1 opcode wired.
SpecializerCompleteAll 14 PEP 659 families.
Tier-2 tracePartialProjector and executor lifecycle. 14 of ~285 uops ported.
sys.monitoringComplete19 fire events, shadow walk, tool slots.
Legacy tracingCompletesys.settrace bridge.
GILCompleteAcquire / release, eval breaker.
Memory modelCompleteRefcount + generational cycle collector.
Generators / asyncCompleteRESUME, YIELD_VALUE, RETURN_GENERATOR, SEND.
Import systemCompleteBootstrap, path finder, frozen modules, inittab.
Exception machineryCompletePEP 654 groups, except*.
int / floatCompleteBig-int via objects/long.go.
strCompleteUCS-1 / UCS-2 / UCS-4 kinded storage.
dictCompleteCombined / split layout, version tag.
Other containersCompletelist, tuple, set, frozenset, bytes, bytearray.
Built-in modulesPartialsys, io, os, functools, collections, dataclasses, contextlib, traceback, weakref, types. More land per release.

Version mapping

gopy versionCPython baselineHighlights
v0.103.14First end-to-end run of hello.py.
v0.113.14PEP 659 adaptive specializer.
v0.123.14Tier-2 trace projector and executor.

Non-goals

  • No alternative semantics. Anywhere gopy diverges from CPython, the divergence is a bug.
  • No CPython C extension ABI. .so and .pyd modules are out of scope. Native modules are reimplemented in Go on demand.
  • No Python 2.