Project IronFlow¶
IronFlow is a Rust-first orchestration system with Prefect-style Python authoring (prefect_compat): you write @flow / @task flows in Python; the control plane and durable history live in the Rust engine. An optional HTTP API and web UI help you inspect runs.
Choose a path:
| Goal | Where to start |
|---|---|
Install from PyPI (pip / uv), then run a demo flow |
Get started → Installation · Quick start (demo flow) |
| Self-hosted API, workers, deployments | Self-hosted server |
| Understand flows, tasks, runners, and states | Concepts overview |
| Do something specific (setup, server, porting) | How-to guides |
| Supported features vs Prefect | Compatibility matrix |
| Performance expectations | Performance (vs Prefect) |
Step-by-step onboarding:
- Install IronFlow —
pip install ironflow-prefect-compat/uv pip install ironflow-prefect-compatfrom PyPI when wheels match your platform; TestPyPI or git/source paths are secondary; clone +cargo buildis the full-stack development path. - Quick start (demo flow) — run a tiny
@flowand see expected terminal output (no server required). - Self-hosted server — optional API (
ironflow_server.py), workers, deployments, and how scheduling compares to Prefect. - Understand the stack — read Architecture or Concepts overview for how Python calls into the Rust kernel.
- Performance expectations — see Performance (vs Prefect) for what “faster” means here (control-plane throughput; not always faster end-to-end jobs).
The repository README at the repo root has the full command reference (tests, benchmarks, optional UI).
Prefect (upstream)¶
IronFlow echoes Prefect 3.x patterns but implements a subset with different internals. For the upstream mental model (flows, tasks, deployments in Prefect’s world), use the official docs:
Read Prefect for general orchestration ideas; read Prefect → IronFlow and Compatibility for what this repository actually implements.