Skip to main content

Origin Programming Language · v1.7.31

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.31

  • JS-shaped default dialect — the bundled origin.toml now maps JavaScript-style lines (console.log(x);, x++;, a === b;, Math.floor(x);, arr.push(x);, // comments, trailing ;) to real Origin. keyword-led lines (let, if, while, ...) still parse natively, semicolon-free.
  • dialect preset pack — tomls/ ships js/py/ts/c/cpp/rs/java_or.toml shorthands plus origin_dialect.md, the authoring spec (rules, keyword guard, debugging recipe).

what's new in v1.7.30

  • dialect support (TOML) — mix foreign-language lines straight into .or programs. each line is looked up in the bundled origin.toml ("<origin source>" _ "<dialect line>") and compiled to real Origin before execution, including $name template captures (e.g. "let $n:int = $v" _ "$n:$v" turns x:5 into let x:int = 5). expansion is inline, sharing constants and control flow.
  • dialect-aware runner — origin/runner.py preloads origin.toml, precompiles exact mappings to origin_bytecode.toml, resolves templates at parse time. interpreter mode (origin i) skips dialect lines; use default VM mode.
  • open ... as statement — open "data.txt", "r" as f binds a file handle (new OPEN_FILE opcode 0x53 on 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, so open 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.31

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for origin-or 1.7.31
File Size Uploaded
origin_or-1.7.31.tar.gz 62.9 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for origin-or 1.7.31
File Interpreter ABI Platform
origin_or-1.7.31-py3-none-any.whl Python 3 none any Details

Total release size: 136.8 kB

Release files / origin_or-1.7.31.tar.gz

Download URL origin_or-1.7.31.tar.gz
Size 62.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c4ded3148e5cc8961a61385795b0521eb1ae136c5a90bca01052e06fd5635b95
BLAKE2b-256 checksum
How to use checksums
b05a4cc30d6b2cb1bebf05355ee03ba551d30a3436c95b481932b2cab6b3a8ba
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release files / origin_or-1.7.31-py3-none-any.whl

Download URL origin_or-1.7.31-py3-none-any.whl
Size 73.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
653ca0eb9fa79761aeb73e8aa298fd5ac7de1c2dd8f2211b560537fa3cb78499
BLAKE2b-256 checksum
How to use checksums
70faf31fe8dbb2bfea8b11e74792ff863af0353fef04271733c5fc0cde8e07ce
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.13.5

Release history Release notifications | RSS feed

This release

1.7.31 This release

2 release files

1.7.28

2 release files

1.7.27

2 release files

1.7.26

2 release files

1.7.22

2 release files

1.7.21

2 release files

1.7.20

2 release files

1.7.14

1 release file

1.7.13

1 release file

1.7.9

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page