Browse the docs · Apsi 2.0.0
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
- Install 2.0.0 (it replaces 1.10.0).
- Run your tests:
apsi test. - Add
@nativeto the functions that do the heavy loops — see maximum performance. - If you used
error()for things you would like to recover from, switch toraiseandtry / except.
Found a mistake? Report it · Markdown source