Installation
cairn is a Python project managed with uv.
The engine ships as one wheel (obsagent/); each operator pack is its own wheel
in the same uv workspace.
Requirements
Section titled “Requirements”- Python 3.12 or 3.13
uv
Set up
Section titled “Set up”git clone git@github.com:evs-cmd/cairn.gitcd cairnuv sync --extra dev # engine + workspace operators + dev depsuv sync builds a fresh environment from the lockfile; it is enforced by CI to
stay working. The dev extra brings test and lint tooling.
Verify
Section titled “Verify”uv run cairn doctor # preflight: packs, profile bindings, env, MCPuv run cairn ls # list what is installeddoctor is the fastest way to confirm the install is healthy — it checks that
packs load, profile bindings resolve to registered operators, and required
services are present. See the CLI reference.
Optional extras
Section titled “Optional extras”Enable only what you need:
| Extra | Adds |
|---|---|
rag | retrieval-augmented generation support |
rag-sqlite-vec | zero-config local vector store |
runtime-temporal | the durable Temporal runtime |
runtime-dbos | lightweight durable execution (SQLite or Postgres, no server) |
runtime-sqlite | cross-restart human-in-the-loop |
telemetry | OpenTelemetry export |
storage-postgres | Postgres run/state store |
uv sync --extra dev --extra rag --extra runtime-dbosRun the suite
Section titled “Run the suite”uv run pytest -q