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.3.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.3-py3-none-any.whl (123.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: anusara-1.1.3.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.3.tar.gz
Algorithm Hash digest
SHA256 8cab408e566f46804b5fee337c485e5d461b8aad28324e9bb9739b6b5142016c
MD5 3e56d5c259fa680d399bf628175300e8
BLAKE2b-256 fb44f391d246094856fb66591c5d5c16ac24444ae8a3545802c0f190bc9676c2

See more details on using hashes here.

File details

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

File metadata

  • Download URL: anusara-1.1.3-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.3-py3-none-any.whl
Algorithm Hash digest
SHA256 064d87ae87535fb920efdf1c32d9d6c649ccd01b07b5946272589c3faa887e52
MD5 e2092373ea003287135db265b9c7d762
BLAKE2b-256 0ad520e2468b8391370825b3e50de84d56772124a8ef0d07afe5d3d3b2741038

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