The Origin programming language — compiled bytecode VM for Raspberry Pi
Project description
Origin Programming Language · v1.7.9
Origin is a Python-based programming language with a syntax designed to be expressive, English-like, and hardware-first. It enables AI models and developers to produce scalable code with high readability while retaining the full power of the Python ecosystem.
Visit the official documentation: docs-origin.onrender.com
June 2026 re-issue: The standalone
origin.exehas been rebuilt from the v1.7.5 reference sources with the flat-layout imports normalized, andsecure_install.ps1now hard-codes the SHA-256 of the new binary. The language surface is unchanged from the prior v1.7.9 release. The bytecode VM migration continues on theorigin-devbranch and will ship as v1.8.
Key Features
- English-Like Syntax: Write code that reads like natural language.
- Built-in Library System: Import
.orlibrary files withimport calc, including a math library (calc.or) and graph plotting library (graph.or). - Hardware Primitives: Native, intuitive commands for Raspberry Pi GPIO and ServoKit (PCA9685).
- Strict Typing: Mandatory type annotations (
let x: int = 10) for predictable state and AI-native safety. - Safe Hardware I/O: Automatic angle clamping (0-180 degrees) for servos to prevent physical damage.
- Formal Module System: Professional namespacing and module support (
import math as m,from lib import x). - Binary Builder: Compile your Origin scripts into standalone, zero-dependency
.exefiles. - Modern Logic: Support for Object-Oriented Programming (classes),
try/except/else,parallelthread blocks, and robust scope management.
Installation
Standalone (Recommended)
You can now download Origin as a standalone installer for Windows. This is the fastest way to get started.
- Download: Origin v1.7.9 Stable
- Install: Run
secure_install.ps1with PowerShell. - Usage: Open a new terminal and type
origin.
Developer / Source
-
Clone the repository:
git clone https://github.com/boblio-max/origin.git
-
Install Dependencies:
pip install -r requirements.txt
Language Reference
1. Variables & Types
Origin uses let for variables and const for immutable references. Types are mandatory.
let x: int = 10 # Scalar integer
let name: str = "Origin" # String literal
let flag: bool = true # Boolean (lowercase)
const pi: float = 3.14159 # Immutable constant
let data: none = none # None literal
2. Built-in Libraries
Origin includes a standard library system under lib/. Use import to load them:
import calc
import graph
# Math utilities
calc = calc()
print calc.sqrt(25)
print calc.pi
# Graph plotting
graph "My Plot" with {
X: color(1,0,0) as "Line A",
}
3. Hardware Control
Control hardware directly with the set namespace and native protocol primitives.
# Set Servo 1 to 90 degrees (clamped 0-180)
set servo.angle 1, 90
# Drive BCM Pin 12 HIGH
set pin 12, 1
# Parentheseless I2C, SPI, and UART calls
i2c.read 0x40, 4
spi.write 0x01
4. Data Structures
# Lists
let tools: list = ["Servo", "GPIO", "I2C"]
print tools[0]
# Dictionaries (Access via { })
let config: dict = {"speed": 100, "active": true}
print config{"speed"}
# Tuples
let coord: tuple = (10, 20)
5. Raw Python Blocks
Seamlessly bridge the gap between Origin and Python.
py {
import math
import os
print("Python process ID:", os.getpid())
print("Sine of 90 degrees:", math.sin(math.pi/2))
}
6. Module System
Origin supports a formal module system for clean namespacing.
import math_utils as mu # Import with alias
from robotics import drive # Selective import
print mu.square(10)
drive(1.0)
7. Object-Oriented Programming
Define classes with fields and methods natively for structured development.
class Sensor (pin type) {
def read() {
return pin
}
}
Origin scripts use the .or extension.
Running a script:
origin main.or
Building a standalone binary:
origin build main.or
Roadmap
The following features are currently in development:
- Pattern Matching:
matchandcaseconstructs. - Advanced Structures:
structandenumtypes. - Asynchronous I/O: Native
asyncandawaitsupport. - Metaprogramming:
macroandinlinedefinitions. - Unified IDE: A dedicated cross-platform IDE for Origin development.
License & Contact
Distributed under the MIT License. Author: Nikhil Mahankali Contact: nikhilmahankali56@gmail.com
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file origin_or-1.7.9.tar.gz.
File metadata
- Download URL: origin_or-1.7.9.tar.gz
- Upload date:
- Size: 48.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
926c7565d3d01cd7a5a75cbb958cec0b33b0579bf8e73e6b12789cdcd1987c76
|
|
| MD5 |
ce81deaa7a9afdf244b40a8b3bfc87c4
|
|
| BLAKE2b-256 |
890596bbafa320ce6bdb888cee4484b4759b2d79b7e46c2a39c648be08d6710b
|
File details
Details for the file origin_or-1.7.9-py3-none-any.whl.
File metadata
- Download URL: origin_or-1.7.9-py3-none-any.whl
- Upload date:
- Size: 51.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
17b510f5e8ed4be0882dc17584640a3acae4af9ab14d5c73f0dd08849847394f
|
|
| MD5 |
3ae7e55f118cc25bee08ef5c1874cdc0
|
|
| BLAKE2b-256 |
61be9dcf7f6aed515b99e602ffa253c7ca14eb5498ac2c1d20ea03c865f598b8
|