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.4.tar.gz (80.4 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.4-py3-none-any.whl (123.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: anusara-1.1.4.tar.gz
  • Upload date:
  • Size: 80.4 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.4.tar.gz
Algorithm Hash digest
SHA256 dee8576fb6977a771fa09619b2dcfdbce7c873d294de1791ebb9d7854dd1d317
MD5 25dead9facff67c5f00ba6375a409d98
BLAKE2b-256 a798030b718955457ec248df1861969723da80f77b64c16b4ce6bcdc8dc28d05

See more details on using hashes here.

File details

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

File metadata

  • Download URL: anusara-1.1.4-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.4-py3-none-any.whl
Algorithm Hash digest
SHA256 cc155fa0670364a2c3572d5da6bd25933c791d2639651d854f334e672dd2497c
MD5 256f0511ef3767fb06a7f16c1fc0924f
BLAKE2b-256 acc4e1179c8a16138f87cdc829ca5ac1f63354515d2f1ab6ac63cd86eb95dc32

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