Skip to main content

AgentMuru

PyPI Python CI Documentation License: MIT

AgentMuru is a Python-native runtime and workspace for building observable, human-governed AI applications. Agents, tools, events, sessions, approvals, artifacts, workflows, and traces are the application. Muru Workspace is their UI.

from agentmuru import Agent, Application, FakeModel, tool

@tool(permission="customer.read")
def lookup_customer(customer_id: str) -> dict[str, str]:
    return {"customer_id": customer_id, "status": "active"}

agent = Agent(
    name="customer-intelligence",
    instructions="Investigate customer questions using approved tools.",
    model=FakeModel.responses("The customer is active."),
    tools=(lookup_customer,),
    permissions=frozenset({"customer.read"}),
)

application = Application(agent=agent, title="Customer Intelligence")

if __name__ == "__main__":
    application.run()

Open http://127.0.0.1:8000 to use Muru Workspace.

Why AgentMuru

  • Provider-neutral streaming model interface with a deterministic fake provider.
  • Typed, ordered runtime events with replay and reconnect cursors.
  • Explicit sessions, messages, runs, artifacts, approvals, usage, and traces.
  • Type-derived tools with permissions, risk, timeout, retries, and redaction.
  • Resumable human approval before dangerous tool execution.
  • Deterministic workflows and typed agent handoffs without orchestration theater.
  • FastAPI HTTP/WebSocket protocol and a purpose-built React workspace.
  • Optional Databricks adapters without Databricks coupling in the runtime core.

Install and run

python -m pip install agentmuru
muru doctor

Create and run a project:

muru init my-agent --name "My Agent"
cd my-agent
muru dev app:application

Open http://127.0.0.1:8000 to use Muru Workspace. Read the complete AgentMuru documentation for runtime, tool, approval, integration, and deployment guides.

For source development:

git clone https://github.com/AjayAJ2000/AgentMuru.git
cd AgentMuru
python -m pip install -e ".[dev,docs]"
muru run examples.hello_agent:application

Runtime flow

User objective
  -> AgentMuru Runtime
  -> model stream / tool request
  -> permission and optional approval
  -> tool result / artifact
  -> ordered events and trace
  -> Muru Workspace projection

Security defaults

Tool permissions are deny-by-default when a capability is declared but not granted. High-risk and explicitly gated tools pause before execution. Sensitive arguments are redacted from public events. The server enforces session ownership, payload limits, trusted hosts, optional origin allowlists, and safe error payloads. Application owners remain responsible for provider credentials, durable store encryption, deployment auth, and sandboxing untrusted tool code.

Commands

python -m pytest -q
python -m ruff check agentmuru tests
python -m mypy agentmuru
cd frontend
npm test -- --run
npm run typecheck
npm run lint
npm run build

See https://ajayaj2000.github.io/AgentMuru/, the architecture, and the migration guide.

Status

AgentMuru is an alpha release. The in-memory stores and FakeModel are complete local implementations. Durable stores, production model providers, MCP clients, and remote workflow workers are extension interfaces until concrete adapters are added and verified.

License: MIT.

Download files

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

Source Distribution

agentmuru-0.1.0.tar.gz (224.7 kB view details)

Uploaded Source

Built Distribution

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

agentmuru-0.1.0-py3-none-any.whl (221.3 kB view details)

Uploaded Python 3

File details

Details for the file agentmuru-0.1.0.tar.gz.

File metadata

  • Download URL: agentmuru-0.1.0.tar.gz
  • Upload date:
  • Size: 224.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for agentmuru-0.1.0.tar.gz
Algorithm Hash digest
SHA256 d946250537bd888116637378dba8f339a23b71aa459f4813f4b6d9542c17547b
MD5 10be2379e9484dadd735c763610a26fd
BLAKE2b-256 7d3982634132a904162d79a29d534a6e2bf182cd08d74f0f9fad57f00afd9a97

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentmuru-0.1.0.tar.gz:

Publisher: publish.yml on AjayAJ2000/AgentMuru

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file agentmuru-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: agentmuru-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 221.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for agentmuru-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 3b07e5e6493fbdc5c081dfae9a314f52d31f34d65ce6ed8bcbdf182650f1c1a2
MD5 fb33d13cbb82b77dee54e73ea4d05a04
BLAKE2b-256 1ce0080371c971bfaf61898d60407064d0e7743dc1d266f5beb05cb1faee99e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for agentmuru-0.1.0-py3-none-any.whl:

Publisher: publish.yml on AjayAJ2000/AgentMuru

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

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