Skip to content
Pyrula

Installation

The core package gives you the primitives. Each runtime is a separate package that depends on the core, so you install only what you use.

Terminal window
pip install pyrula
from pyrula import Either, Option, Try
PackageInstallImport
Workflowspip install pyrula-workflowspyrula.workflows
Agentspip install pyrula-agentspyrula.agents
Kafkapip install pyrula-kafkapyrula.kafka
Cloud clientpip install pyrula-cloud-clientpyrula.cloud

Installing any of these pulls in pyrula. The cloud client needs no code. See Connect to Pyrula Cloud.

pyrula dev, the local dev server and run browser, needs the web stack. It ships as an extra so a worker or a pyrula db install does not carry it:

Terminal window
pip install "pyrula-workflows[ui]"

pyrula-agents already depends on it, so the extra is only needed for workflows.

Terminal window
pip install 'pyrula[all]'

Pulls the workflow, agent, Kafka, and cloud-client packages in one step.

Python 3.11 or newer, and nothing else to try it. The Quickstart runs against an in-memory store with no broker, no API key, and no account.

For runs that outlive the process you need Valkey 7.4+ or Redis 7.0+. Event archival is optional and uses Postgres. Neither is required until you want durability across restarts.

Workflows read their store and archival targets from the environment:

Terminal window
export PYRULA_VALKEY_URL=redis://localhost:6379
export PYRULA_POSTGRES_DSN=postgresql://user:pass@localhost:5432/pyrula_events

The redis:// scheme covers both Valkey and Redis. Full config lives under Workflows.

Terminal window
python -c "from pyrula import Either, Option, Try; print('ok')"

Next: the Quickstart.