Start building intelligent systems today. Origin ships as a standalone toolchain for Windows, macOS, and Linux — and as a one-command pip install for Raspberry Pi.
Works on Raspberry Pi, Linux x64, macOS, and Windows (with Python 3.10+)
pip install origin-or
Then run: origin hello.or
·
Bytecode VM
Run Origin code instantly in your browser. No download, no setup, no Python required. Powered by Pyodide (WASM).
Launch REPLInstall with one command. No Python required. Works on macOS, Linux, and Windows.
# macOS / Linux
curl -fsSL https://docs-origin.onrender.com/cliinstall.sh | sh
# Windows (PowerShell)
irm https://docs-origin.onrender.com/cliinstall.ps1 | iex
CLI Docs
Native ARM support via pip install. Includes the bytecode VM for faster execution and optional hardware drivers for GPIO, servo, I2C, and SPI.
pip install origin-or
origin hello.or
Pi Hardware Guide
Native origin.exe bundled with the PowerShell secure installer.
Expand-Archive .\OriginInstallerV1.7.11.zip
cd OriginInstallerV1.7.11
.\secure_install.ps1
origin --version
Install via pip install origin-or. The standalone macOS bundle is in development — use the one-command pip install for now.
pip install origin-or
origin hello.or
Install via pip on any Linux distro. The standalone ELF binary is in development — use the one-command pip install for now.
pip install origin-or
origin hello.or
Origin v1.8 introduces a bytecode compiler and stack-based virtual machine that replaces the AST-to-Python code generator. The VM is available in three backends, each with a different speed profile:
| Backend | Speed (vs Python interpreter) | Setup | Best for |
|---|---|---|---|
| Python bytecode VM | ~3-5x faster | Included in pip install |
General use, Raspberry Pi |
| Java VM 10-50x | ~10-50x faster | apt install openjdk-17-jdk |
Performance-critical workloads |
| GraalVM native 20-80x | ~20-80x faster | Build once with native-image | Embedded systems, production |
The bytecode VM is available in the origin-or pip package. Use it programmatically:
from origin.lexer import lex
from origin.parser import Parser
from origin.bc.to_byte import Compiler
from origin.bc.svm import VM
code = ['print "hello from bytecode VM"']
tokens = lex(code)
ast = Parser(tokens).program()
compiler = Compiler()
compiler.compile(ast)
VM(compiler.bytecode, compiler.constants).run()
The Java VM is a 1:1 port of the Python bytecode VM, with JIT compilation via the HotSpot JVM for 10-50x speed over the Python interpreter. Source is bundled in the pip package:
# On your Pi:
sudo apt install openjdk-17-jdk
cd ~/.local/lib/python3.11/site-packages/origin/bc/JavaImplement
javac *.java
# Compile .or → .obc on any machine:
python -m origin.bc.dump_obc hello.or hello.obc
# Copy hello.obc to Pi and run:
java Main hello.obc
On Raspberry Pi OS, install the hardware drivers for GPIO, servo, I2C, and SPI:
pip install origin-or[pi]
This installs RPi.GPIO, adafruit-circuitpython-servokit, and
smbus2. When hardware is absent, Origin gracefully falls back to [SIM]
stubs — the same code runs on any platform without modification.
Example — blink an LED:
# blink.or
let pin: int = 17
loop 10:
set pin 17 to true
wait 0.5
set pin 17 to false
wait 0.5
origin blink.or
The installer recomputes the SHA-256 of the binary and compares it to the
SHA256SUMS file shipped in the bundle. A tampered or corrupted
binary is rejected before anything is written to disk.
Origin installs into your user profile (Windows: %USERPROFILE%\.origin\bin;
macOS / Linux: ~/.origin/bin or $XDG_DATA_HOME/origin/bin).
No admin elevation required.
The install directory is prepended to your PATH so the real
Origin binary resolves before anything in /usr/bin, /usr/local/bin,
or C:\Windows. This guards against PATH-hijacking attacks.
Open a new terminal session so the updated PATH takes effect, then run:
From there, run any .or script: origin hello.or, or compile one
to a fresh standalone binary with origin build my_app.or.
Every installer bundle provides the same toolchain regardless of platform:
calc.or, graph.or).[SIM]
stubs when real hardware is unavailable.mpu6050 and compatible MEMS IMU chips — read accel, gyro, and temp with a single line of Origin.