Skip to main content

Origin Programming Language · v1.7.15

Status Version Platform

Origin is a Python/Java-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

July 2026 re-issue: The standalone origin.exe has been rebuilt from the v1.7.15 reference sources with the flat-layout imports normalized, and secure_install.ps1 now hard-codes the SHA-256 of the new binary. The v1.7.15 release adds typed parameters and typed class fields (def add(a: int, b: int), class Point(x: int, y: int)), typed loop variables and condition casts, type-aware casts on builtin arguments (len(x: str), range(0: int, 10: int, 2: int)), auto-inference for untyped let/const declarations with a warning nudge, and a range step argument. The bytecode VM migration continues on the origin-dev branch and will ship as v1.8.


Key Features

  • English-Like Syntax: Write code that reads like natural language.
  • Built-in Library System: Import .or library files with import 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 .exe files.
  • Modern Logic: Support for Object-Oriented Programming (classes), try/except/else, parallel thread 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.

  1. Download: Origin v1.7.15 Stable
  2. Install: Run secure_install.ps1 with PowerShell.
  3. Usage: Open a new terminal and type origin.

Developer / Source

  1. Clone the repository:

    git clone https://github.com/boblio-max/origin.git
    
  2. 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: match and case constructs.
  • Advanced Structures: struct and enum types.
  • Asynchronous I/O: Native async and await support.
  • Metaprogramming: macro and inline definitions.
  • Unified IDE: A dedicated cross-platform IDE for Origin development.

License & Contact

Distributed under the MIT License. Author: Nikhil Mahankali Contact: nikhilmahankali56@gmail.com

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

origin_or-1.7.15.tar.gz (41.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

origin_or-1.7.15-py3-none-any.whl (42.3 kB view details)

Uploaded Python 3

File details

Details for the file origin_or-1.7.15.tar.gz.

File metadata

  • Download URL: origin_or-1.7.15.tar.gz
  • Upload date:
  • Size: 41.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for origin_or-1.7.15.tar.gz
Algorithm Hash digest
SHA256 2004b6157e293146a1e9b7a8c59c17bce2316e498112c451b51c39a362978749
MD5 2e11d565fb6b2de4e1c271dc900637d0
BLAKE2b-256 823c2ce1c471493fb406aad18c7d9313e65b35f4e79db8f3d776dbfe91e06f08

See more details on using hashes here.

File details

Details for the file origin_or-1.7.15-py3-none-any.whl.

File metadata

  • Download URL: origin_or-1.7.15-py3-none-any.whl
  • Upload date:
  • Size: 42.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.13.5

File hashes

Hashes for origin_or-1.7.15-py3-none-any.whl
Algorithm Hash digest
SHA256 f3a9e5ee06aaf47310e324fe241729fe7ad211394ba47473e4704902e699d10b
MD5 9948bb1dfdca66d2109bce4dd73a316f
BLAKE2b-256 d6e0d8a2fa97b1c76fa3ac5d4e5ad865cc38ef3ef64b86723a908e5933a7f7fa

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page