Origin Programming Language · v1.7.30
Origin is my programming language — English-like syntax, strict typing, hardware-first (GPIO/servo primitives for Raspberry Pi), and the full Python ecosystem underneath. this repo is the stable release: pip install origin-or and you're writing .or files. dev chaos happens in origin-dev; this is the polished snapshot.
docs live at docs-origin.onrender.com.
what's new in v1.7.30
- dialect support (TOML) — mix foreign-language lines straight into
.orprograms. each line is looked up in the bundledorigin.toml("<origin source>" _ "<dialect line>") and compiled to real Origin before execution, including$nametemplate captures (e.g."let $n:int = $v" _ "$n:$v"turnsx:5intolet x:int = 5). expansion is inline, sharing constants and control flow. - dialect-aware runner —
origin/runner.pypreloadsorigin.toml, precompiles exact mappings toorigin_bytecode.toml, resolves templates at parse time. interpreter mode (origin i) skips dialect lines; use default VM mode. open ... asstatement —open "data.txt", "r" as fbinds a file handle (newOPEN_FILEopcode0x53on the VM,name = open(path, mode)in the interpreter). path/mode accept plain strings, f-strings, and variables.- dialect guard — templated mappings (e.g.
"$n:$v") no longer hijack lines starting with a core keyword, soopen f"C:/..."paths and typed declarations compile as real statements. - fresh
origin.exe+OriginInstallerV1.7.30.zip, carried-over modular layout (lexer/parser/interpreter/classes subpackages) with the bytecode VM as default backend.
quickstart
git clone https://github.com/boblio-max/origin.git
pip install -r requirements.txt
let x: int = 10
let name: str = "Origin"
let flag: bool = true
const e: float = 2.71828
let a, b = 1, 2
print x + a
python -m origin main.or # bytecode VM (default)
python -m origin i main.or # AST interpreter
how it actually works
origin/ package pipeline: lexer.py tokenizes → parser.py builds the AST → either bc/to_byte.py compiles to bytecode for bc/svm.py (the stack VM, default) or the interpreter generates Python and execs it. dialect.py + origin.toml handle the foreign-line expansion before parsing. errors.py gives friendly diagnostics with suggestions instead of raw tracebacks.
features
English-like syntax · strict (recommended) type annotations with inference · classes/OOP · try/except/else · parallel thread blocks · module system (import math as m, from lib import x) · .or library imports (calc.or, graph.or) · hardware I/O (GPIO, ServoKit/PCA9685 with 0–180° servo clamping) · binary builder (PyInstaller .exe) · binary + install.sh/secure_install.ps1 installers.
stack
Python 3.10+, zero runtime deps (extras: Pi/servo libs, pyinstaller for builds). see requirements.txt, setup.py, helloworld.or.
Metadata
Release files for origin-or 1.7.30
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| origin_or-1.7.30.tar.gz | 61.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| origin_or-1.7.30-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 134.8 kB
Release files / origin_or-1.7.30.tar.gz
| Download URL | origin_or-1.7.30.tar.gz |
|---|---|
| Size | 61.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f24cc93cd5efb693090437e65de10a605639e80b746275cb4069cb2e478b1ec9
|
|
BLAKE2b-256 checksum How to use checksums |
20209ecf3ff8d95cc2590a9685940f5b7818bd6e6acfed4e514d6828d88f3a14
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|
Release files / origin_or-1.7.30-py3-none-any.whl
| Download URL | origin_or-1.7.30-py3-none-any.whl |
|---|---|
| Size | 73.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1e2b19ce8d4ee4380c3e6098de00f928527c097d7d294ec2aa4adde77389f566
|
|
BLAKE2b-256 checksum How to use checksums |
57655cd8869a02c53fedcba2bdba5e92c2cc79a6eb01ba970beb3fa9fffaa264
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.5
|