Mycelium

Try it in 5 minutes

Install the reliability layer, watch a duplicate side effect get blocked, then wire one tool. No framework rewrite.

Start the steps
5 minutes

Path

Four commands.

Using a coding agent? Ask it to “Use $mycelium-setup to protect this project.” The repository skill discovers tools, fills the YAML, wires the runtime, and runs the checks. You review effect classifications, identity, secrets, and provider access.

Install

Python 3.10+. Optional LangGraph extra maps runtime IDs for you.

pip install mycelium-runtime
pip install 'mycelium-runtime[langgraph]'   # optional

See the bug get stopped

Feature tour: lease, hard-block, repair, reconcile, operator release. Doctor inspects config. Verify exercises synthetic failures against the ledger backend only.

mycelium demo
mycelium demo --redis   # needs Redis + mycelium-runtime[redis]
mycelium doctor --config mycelium.yaml
mycelium verify --config mycelium.yaml

Scaffold one ledgered tool

Writes mycelium.yaml: transition + one mutating tool. Fill in the callable path manually, or let $mycelium-setup inspect and wire your application.

mycelium init
# manual path: edit mycelium.yaml → tools.*.callable
# agent path: use $mycelium-setup

Run your agent under Mycelium

Zero-touch wrap: configured callables are guarded before your app starts. Retries return stored results or hard-block; they do not double-fire.

mycelium run --config mycelium.yaml -- python -m my_app

What you just enabled: any tool, any provider: prove run-or-not and enforce at-most-once. Not tracing. Prevention at the tool boundary. Loop, scope, and completion guards are opt-in later.

Full handbook SDK README PyPI Source