A library, not a framework

Petrus runs inside the software you build. It does not wrap your project in a framework-controlled lifecycle.

Your application owns the graph, code, data, infrastructure, and deployment. Petrus provides composable parts with explicit boundaries.

Bring the agents you choose.

Activities can execute inline, in other processes, or through remote Workers. Storage, model providers, interfaces, and execution topology remain replaceable as your system changes.

Open source from the foundation

Petrus's specifications, reference implementation, examples, decisions, and History model are open to inspection.

No managed service or platform account is required.

The current Python runtime supports durable History, local and remote Activity execution, and process Workers.

Petrus is currently pre-release software and its Python API is evolving. Petrus-authored runtime material is licensed under the Apache License 2.0.

No mandatory cloud. No hidden service. No framework lock-in.