Apsi
Browse the docs · Apsi 2.0.0
You are reading the documentation of Apsi 2.0.0. The current version is Apsi 2.4.4 — what changed.

Docs 2.0.0 · 2 min read

Versions: what each one can do

2.0.0 (current) 1.10.0
Released November 2026 8 November 2026
Engines bytecode engine + native compiler (@native, LLVM machine code), parallel for, NVIDIA GPU kernels bytecode engine
Speed on the benchmarks next to C, C++, Rust; ahead of Go about 500× slower than 2.0.0 (geometric mean; 12× to 2,400× per program)
Errors try / except / else / finally, raise, Python kind names error("…") stops the program
Generators, *args/**kwargs, operator methods on structs yes no
Python conversion keeps exceptions, generators, classes with operators, for … else, pure stdlib modules core language and numpy; exceptions become comments
PyTorch exact conversion of whole training programs, native layers/optimizers/schedulers use torch layers, conversion of models
Reinforcement learning, science modules use rl, special functions, statistics, DSP, PDE, quantum, mechanics, medical, lab AI and physics basics
Large models apsi plan, model files (GGUF, safetensors, .apsim), sharding —
Libraries (apsi install / pack / publish / yank / unpublish) yes yes
Website commands (apsi release …) yes yes
Standard modules 34 modules, 833 members, 253 built-ins 22 modules, 360 members, 201 built-ins
Documentation 2.0.0 docs 1.10.0 docs

Which one should I use?

2.0.0 for everything new. Programs written for 1.10.0 run on 2.0.0 unchanged — 2.0.0 only adds.

Keep 1.10.0 only if a machine cannot install 2.0.0's native compiler dependency (llvmlite); even then 2.0.0 works without it, on the bytecode engine, so the reasons are rare.

Moving from 1.10.0 to 2.0.0

  1. Install 2.0.0 (it replaces 1.10.0).
  2. Run your tests: apsi test.
  3. Add @native to the functions that do the heavy loops — see maximum performance.
  4. If you used error() for things you would like to recover from, switch to raise and try / except.

Found a mistake? Report it · Markdown source