Lumina: The Deterministic Future of AI Agents Framework - Event-driven, deterministic AI agent framework with Rust-native concurrency
Project description
Lumina: The Deterministic Future of AI Agents Framework
Lumina isn't just a framework, it is a fundamental re-engineering of AI agent systems. Built on a Rust core for uncompromised speed and an event-driven architecture that crushes Python-based concurrency limits, Lumina mandates determinism. We deliver the only auditable, reproducible, and truly scalable runtime designed to replace legacy frameworks and power mission-critical enterprise AI.
Why Lumina? See Lumina vs LangChain for a detailed comparison of competitive advantages.
🚀 Quick Start
Installation
Option 1: Install from Source (Recommended)
# Clone the repository
git clone https://github.com/sefineh-ai/Lumina.git
cd Lumina
# Build Rust core
cd core
cargo build --release
# Install Python SDK with pip
cd ../sdk/python
pip install -e .
Option 2: Install from PyPI (Recommended)
pip install lumina
Note: The Rust core is automatically built and included in the PyPI package. See INSTALLATION.md for complete instructions.
Prerequisites
- Rust (latest stable): Install Rust
- Python 3.8+ (for Python SDK)
- Cargo (comes with Rust)
Python SDK Usage
from lumina import Agent, Runtime
import json
import os
# Initialize runtime
runtime = Runtime()
runtime.start()
# Create agent with Gemini API key
agent = Agent(
name="MyAgent",
seed=42, # For deterministic execution
runtime=runtime,
gemini_api_key=os.getenv("GEMINI_API_KEY")
)
# Create workflow with LLM step
workflow = json.dumps([{
"step_id": "llm_step",
"step_type": "LLMCall",
"prompt": "Answer: {input}",
"tool_calls": [],
"condition": None
}])
agent.set_workflow(workflow)
# Set up event handlers (optional)
@agent.on("LLMCallCompleted")
def on_complete(event):
payload = event.get('payload', {})
print(f"Response: {payload.get('response')}")
# Run agent
result = agent.run("What is artificial intelligence?")
print(result)
# Clean up
runtime.stop()
JavaScript/TypeScript SDK Usage
import { Agent, Runtime } from 'lumina-sdk';
const runtime = new Runtime();
runtime.start();
const agent = new Agent({
name: 'MyAgent',
seed: 42,
runtime: runtime
});
const result = await agent.run('Summarize recent AI research');
console.log(result);
🏗️ Architecture
Core Components
core/engine/- Tokio-based event loop, scheduler, and event buscore/tools/- Deterministic tool orchestration with caching and retriescore/adapters/- LLM adapters (Gemini) and vector DB integrationscore/lumina-core/- Public API and FFI bindings for SDKssdk/python/- Python SDK with PyO3 bindingssdk/js/- JavaScript/TypeScript SDKplayground/- Visual debugger and trace viewer
Core Principles
🎯 Event-Driven - Every LLM call, agent step, and workflow action emits events. Agents react to events instead of blocking.
⚡ Rust Concurrency - All CPU- or I/O-heavy operations run in Rust-native concurrency. Python is optional and sequential if needed.
🎲 Determinism - Seeded RNG and deterministic scheduling for reproducibility.
⭐ Premium Features - Parallel execution, worker pools, channel-based event bus, task throttling, and priority queues.
Key Features
✅ Event-Driven Architecture - Pure pub/sub system, all operations emit events
✅ Deterministic Execution - Seeded RNG for reproducible workflows
✅ LLM Integration - Built-in Gemini adapter with event-driven calls
✅ Error Handling - Automatic termination on errors, no hanging
✅ True Concurrency - Rust async runtime, no Python GIL limits
✅ Native Tool System - Built-in tool orchestration with caching
✅ Hierarchical Memory - Global → Agent → Step → Tool layers
✅ Production Ready - Timeout protection, proper error propagation
⭐ Premium Concurrency - Parallel event handling, concurrent tools, task scheduling
📚 Documentation
- Core Principles - Fundamental design principles
- Lumina vs LangChain - Competitive advantages
- Deployment Guide - Docker and containerization
- Usage Guide - Complete usage guide with examples
- Concurrency Guide - Premium concurrency features
- Installation Guide - Setup instructions
- Architecture Overview - Technical architecture
- Python SDK Guide - Python API reference
- Examples - Code examples
- Changelog - Version history
🧪 Examples
See the examples/ directory for:
- Simple agent creation
- Deterministic workflows
- Tool integration
- Multi-step agents
🛠️ Development
Building the Rust Core
cd core
cargo build --release
Running Tests
# Rust tests
cd core
cargo test
# Python tests
cd sdk/python
pytest
# JS tests
cd sdk/js
npm test
Development Mode
# Watch mode for Rust
cd core
cargo watch -x "test"
# Python SDK in editable mode
cd sdk/python
pip install -e .
📊 Performance Goals
| Metric | Target |
|---|---|
| Step latency | < 20ms |
| Concurrent agents/node | > 1000 |
| Memory per agent | < 5MB |
| Cold start | < 200ms |
| Trace replay | < 10ms |
🤝 Contributing
We welcome contributions! Please see CONTRIBUTING.md for guidelines.
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
📜 License
Lumina © 2025 — MIT License. See LICENSE for details.
👤 Author
Sefineh — AI Engineer & LLM Framework Builder
Building Lumina to redefine how agentic systems think, act, and scale.
Status: 🚧 In Active Development
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 lamied-0.1.0.tar.gz.
File metadata
- Download URL: lamied-0.1.0.tar.gz
- Upload date:
- Size: 46.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
69cb5b55644d4f585368c0559e1423095c92ceb2987fc2e6c26627ec8bef9f6c
|
|
| MD5 |
53bb29752c94b3d005542d136dcff994
|
|
| BLAKE2b-256 |
5b278442fe5fe9d59bd97a4d993d3a5108626827aa316336b147b16c28c40483
|
File details
Details for the file lamied-0.1.0-cp312-cp312-manylinux_2_34_x86_64.whl.
File metadata
- Download URL: lamied-0.1.0-cp312-cp312-manylinux_2_34_x86_64.whl
- Upload date:
- Size: 4.8 MB
- Tags: CPython 3.12, manylinux: glibc 2.34+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6ab727285f68be57f6056146f5e8703e81b054273d2ac8de40df7651e7da69c8
|
|
| MD5 |
7c729129827b3942d36725039b0a84ab
|
|
| BLAKE2b-256 |
0c6f93499a3283e56c75d22a02b41c00e4f2818b73ec7d4bf8b9612f0f509ef0
|