Skip to main content

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

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.30
File Size Uploaded
origin_or-1.7.30.tar.gz 61.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for origin-or 1.7.30
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

1.7.31

2 release files

This release

1.7.30 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