Skip to main content

Deterministic execution engine with traceable, immutable history

Project description

Anusara

Deterministic execution runtime for agent workflows.

CI PyPI Python Versions License Architecture


What is Anusara?

Anusara is a deterministic runtime for executing agent workflows.

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]
Client --> 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.md
  • docs/guides/running-anusara-locally.md
  • docs/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

License

MIT License

Project details


Download files

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

Source Distribution

anusara-1.1.0.tar.gz (80.3 kB view details)

Uploaded Source

Built Distribution

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

anusara-1.1.0-py3-none-any.whl (123.3 kB view details)

Uploaded Python 3

File details

Details for the file anusara-1.1.0.tar.gz.

File metadata

  • Download URL: anusara-1.1.0.tar.gz
  • Upload date:
  • Size: 80.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for anusara-1.1.0.tar.gz
Algorithm Hash digest
SHA256 2c0427dc3b6feb817162d17b3dd78ad97d513248ebbc3b4f9ca39c0fb485e85b
MD5 b0449a0d6a691d0f17483af73a29f76a
BLAKE2b-256 65455d004355e6f1d5e100c354e785595a5f7f3d5be7f46a15b20a16254cda3c

See more details on using hashes here.

File details

Details for the file anusara-1.1.0-py3-none-any.whl.

File metadata

  • Download URL: anusara-1.1.0-py3-none-any.whl
  • Upload date:
  • Size: 123.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for anusara-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d601b4f98deb742d2b9b9f41c392e247ddcaeaee1b4510995613a2dbc5a813fc
MD5 4e199887c91421b212d4198d6a048aac
BLAKE2b-256 839a37ff1edb957e9b5c69f64e5b8d482d5ab73b6de6a008cf88e89afccbdb76

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 Pingdom Monitoring Sentry Error logging StatusPage Status page