Skip to content

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 your path

Goal Where to start
Install from PyPI and run a flow (no clone) Quick start: PyPI after Installation
First deployment with the CLI Quickstart: first deployment
Self-hosted API, workers, deployments Self-hosted server
Understand flows, tasks, runners, and states Concepts overview
Nest flows (inline or deployment-backed subflows) How to compose flows with subflows
Do something specific (setup, server, porting) How-to guides
Supported features vs Prefect Compatibility matrix
Performance expectations Performance (vs Prefect)

Step-by-step onboarding

PyPI users (recommended):

  1. Install IronFlowpip install ironflow-prefect-compat or uv pip install ironflow-prefect-compat.
  2. Quick start: PyPI — copy-paste a tiny flow; no server required.
  3. Quickstart: first deployment — start the API, ironflow init, ironflow deploy, trigger a run.
  4. Self-hosted server — workers, schedules, split-process setups.

Repository developers:

  1. Installation §2–5 — clone, environment, cargo build.
  2. Quick start (demo flow) — bundled flow_ironflow.py example.
  3. How to run the server and UI — optional API + Vite UI.

For performance expectations, see Performance (vs Prefect). The repository README has the full command reference (tests, benchmarks).

AI assistants and agents

  • Documentation index: llms.txt on the built site — sitemap with one-line descriptions and GitHub markdown links.
  • Markdown source: edit pages under docs/ in the repository.
  • Contributor/agent workflow: AGENTS.md (not published here; maintainer-oriented).

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.