Deterministic execution engine with traceable, immutable history
Project description
Anusara
Deterministic execution runtime for agent workflows.
What is Anusara?
Anusara is a deterministic runtime for executing agent workflows.
Anusara makes agent workflows deterministic, observable, and replayable by design.
It executes graphs of agents using:
- deterministic scheduling
- event-sourced execution history
- replay-driven state reconstruction
Every execution becomes:
- replayable
- inspectable
- debuggable
- reproducible
Anusara treats workflow execution as a runtime system problem, not a collection of loosely connected function calls.
🚀 Quickstart (2 minutes)
Install
pip install anusara[api]
Run the server
PYTHONPATH=src python -m uvicorn anusara.adapters.http.app:create_app --factory --reload
Register agent
curl -X POST http://127.0.0.1:8000/agents/register \
-H "Content-Type: application/json" \
-d '{"name": "hello"}'
Execute
curl -X POST http://127.0.0.1:8000/executions \
-H "Content-Type: application/json" \
-d '{"entry_nodes": ["hello"]}'
👉 You just ran your first deterministic workflow.
➡️ Full guide: docs/guides/http-api-quickstart.md
The Mental Model
Agent Graph
↓
Deterministic Execution Engine
↓
Event Log (source of truth)
↓
Replay • Debug • Observability
Execution is not hidden state.
It is a recorded, replayable system.
Why Anusara?
Most agent orchestration systems rely on implicit runtime behavior.
This leads to:
- nondeterministic execution
- difficult debugging
- hidden state transitions
- unreliable retries
- poor reproducibility
Anusara solves this by enforcing:
- deterministic execution
- event log authority
- replay-based debugging
- explicit lifecycle guarantees
Architecture Overview
flowchart LR
Client["Client / API / CLI"] --> Runtime
Runtime["Execution Runtime"]
Runtime --> Graph["Graph Compiler"]
Runtime --> Registry["Agent Registry"]
Runtime --> Router["Router"]
Runtime --> Mutation["Mutation Engine"]
Runtime --> EventLog[("Event Log")]
EventLog --> Replay["Replay Engine"]
EventLog --> Debugger["Debugger / Analysis"]
Runtime --> Observability["Observability"]
Core Responsibilities
| Layer | Responsibility |
|---|---|
| Runtime | deterministic execution of workflows |
| Event Log | authoritative execution history |
| Registry | agent lifecycle & resolution |
| Router | execution decision logic |
| Mutation Engine | controlled graph evolution |
| Observability | debugging, metrics, visualization |
Local Python Example
import asyncio
from anusara import ExecutionEngine, ExecutionRequest, AgentRegistry
engine = ExecutionEngine()
registry = AgentRegistry()
registry.register("hello", HelloAgent())
request = ExecutionRequest(
request_id="demo",
entry_nodes=["hello"],
payload={},
metadata={},
)
asyncio.run(engine.execute(request, registry))
Key Features
- deterministic execution
- event-sourced execution history
- replayable workflows
- HTTP + CLI + Python runtime
- agent lifecycle management
- built-in observability
- controlled workflow mutation
Documentation
🚀 Getting Started
docs/guides/http-api-quickstart.mddocs/guides/running-anusara-locally.mddocs/guides/creating-your-first-agent.md
📚 Concepts
- agents
- deterministic execution
- event sourcing
- replay
🏗 Architecture
- execution model
- runtime architecture
- event log
- mutation model
📖 Reference
- HTTP API
- agent registry
- execution engine
Project Status
Anusara is under active development.
Current focus:
- developer experience (HTTP API & usability)
- onboarding and documentation
- production readiness
Contributing
Contributions and discussions are welcome.
- CONTRIBUTING.md
- CODE_OF_CONDUCT.md
- SECURITY.md
Security
Anusara Docker images are built on python:3.12-slim-bookworm
and regularly updated to minimize vulnerabilities.
We prioritize:
- eliminating high/critical vulnerabilities
- maintaining minimal runtime footprint
- reproducible builds
Low-severity base image CVEs are tracked but not always actionable.
License
MIT License
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 anusara-1.3.5.tar.gz.
File metadata
- Download URL: anusara-1.3.5.tar.gz
- Upload date:
- Size: 90.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f6786b72c49a4fd6761dc2a837c689011e482bc92572f30c69be656b4e0650ce
|
|
| MD5 |
b232f80a9eabf0f8c73b4a3fba5752bf
|
|
| BLAKE2b-256 |
7fbf77d4792428482ca846c42829d2d1b0b44493e27d55ce8a1e096936b5b79f
|
File details
Details for the file anusara-1.3.5-py3-none-any.whl.
File metadata
- Download URL: anusara-1.3.5-py3-none-any.whl
- Upload date:
- Size: 134.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5f7fae1c64043055508599af0e9c2d946dad06815004d8f6ee4871199b3d6046
|
|
| MD5 |
e8a792edc8a51e09069ea6b8317cb68c
|
|
| BLAKE2b-256 |
6ccc00b0e493eea3c8778e1a921ab3b2b30e6c03e3f4b9e1e8d80c9a3e230cf9
|