# cereyan > Minimal, local-first orchestrator for Python data pipelines Cereyan is a minimal, local-first orchestrator for Python data pipelines: a Rust core (SQLite store, state machine, scheduler, HTTP server) behind a thin layer of Python decorators, shipped as one wheel with no runtime dependencies. Flows and tasks run offline as plain scripts and are recorded locally; `cereyan serve` adds the API, the UI, schedules, engines, rules, and a built-in MCP server on top of the same store. ## Home - [Home](https://sercanatalik.github.io/cereyan/index.md) ## Get started - [Install](https://sercanatalik.github.io/cereyan/get-started/install/index.md) - [Quickstart](https://sercanatalik.github.io/cereyan/get-started/quickstart/index.md) - [Tour of the UI](https://sercanatalik.github.io/cereyan/get-started/tour/index.md) ## Concepts - [App and projects](https://sercanatalik.github.io/cereyan/concepts/app-and-projects/index.md) - [Artifacts](https://sercanatalik.github.io/cereyan/concepts/artifacts/index.md) - [Backfills](https://sercanatalik.github.io/cereyan/concepts/backfills/index.md) - [Dependencies](https://sercanatalik.github.io/cereyan/concepts/dependencies/index.md) - [Engines and the home directory](https://sercanatalik.github.io/cereyan/concepts/engines-and-home/index.md) - [Events and rules](https://sercanatalik.github.io/cereyan/concepts/events-and-rules/index.md) - [Flows and parameters](https://sercanatalik.github.io/cereyan/concepts/flows-and-parameters/index.md) - [Resources and concurrency](https://sercanatalik.github.io/cereyan/concepts/resources-and-concurrency/index.md) - [Runs and states](https://sercanatalik.github.io/cereyan/concepts/runs-and-states/index.md) - [Schedules](https://sercanatalik.github.io/cereyan/concepts/schedules/index.md) - [Targets, caching and results](https://sercanatalik.github.io/cereyan/concepts/targets-caching-results/index.md) - [Tasks](https://sercanatalik.github.io/cereyan/concepts/tasks/index.md) - [Variables](https://sercanatalik.github.io/cereyan/concepts/variables/index.md) ## Guides - [Use cereyan with an AI agent](https://sercanatalik.github.io/cereyan/guides/agents/index.md) - [Publish artifacts](https://sercanatalik.github.io/cereyan/guides/artifacts/index.md) - [Backfill a date range](https://sercanatalik.github.io/cereyan/guides/backfill/index.md) - [Cache task results](https://sercanatalik.github.io/cereyan/guides/cache-results/index.md) - [Chain flows](https://sercanatalik.github.io/cereyan/guides/chain-flows/index.md) - [Run tasks concurrently](https://sercanatalik.github.io/cereyan/guides/concurrent-tasks/index.md) - [Add custom HTTP routes](https://sercanatalik.github.io/cereyan/guides/custom-routes/index.md) - [Detect when something did not happen](https://sercanatalik.github.io/cereyan/guides/detect-missing-events/index.md) - [Fetch from an HTTP API](https://sercanatalik.github.io/cereyan/guides/fetch-from-an-api/index.md) - [Pause a run for approval](https://sercanatalik.github.io/cereyan/guides/human-approval/index.md) - [Make reruns idempotent with targets](https://sercanatalik.github.io/cereyan/guides/idempotent-reruns/index.md) - [Migrate from Prefect or Luigi](https://sercanatalik.github.io/cereyan/guides/migrate/index.md) - [Limit concurrency and overlap](https://sercanatalik.github.io/cereyan/guides/resources-and-overlap/index.md) - [Retry, time out and survive crashes](https://sercanatalik.github.io/cereyan/guides/retries-timeouts-crashes/index.md) - [React to events with rules](https://sercanatalik.github.io/cereyan/guides/rules/index.md) - [Run the server as a service](https://sercanatalik.github.io/cereyan/guides/run-as-a-service/index.md) - [Schedule a flow](https://sercanatalik.github.io/cereyan/guides/schedule-a-flow/index.md) - [Secure the server](https://sercanatalik.github.io/cereyan/guides/secure-the-server/index.md) - [Run code on state changes](https://sercanatalik.github.io/cereyan/guides/state-hooks/index.md) - [Test a pipeline](https://sercanatalik.github.io/cereyan/guides/test-a-pipeline/index.md) - [Store variables and secrets](https://sercanatalik.github.io/cereyan/guides/variables-and-secrets/index.md) ## Reference - [CLI](https://sercanatalik.github.io/cereyan/reference/cli/index.md) - [Configuration](https://sercanatalik.github.io/cereyan/reference/configuration/index.md) - [Events](https://sercanatalik.github.io/cereyan/reference/events/index.md) - [Exit codes and the discovery file](https://sercanatalik.github.io/cereyan/reference/exit-codes/index.md) - [HTTP API](https://sercanatalik.github.io/cereyan/reference/http-api/index.md) - [MCP tools, resources and prompts](https://sercanatalik.github.io/cereyan/reference/mcp/index.md) - [Python API](https://sercanatalik.github.io/cereyan/reference/python-api/index.md) - [States and transitions](https://sercanatalik.github.io/cereyan/reference/states/index.md) ## Examples - [Agent diagnosis](https://sercanatalik.github.io/cereyan/examples/agent_diagnosis/index.md) - [Alerting](https://sercanatalik.github.io/cereyan/examples/alerting/index.md) - [Approval](https://sercanatalik.github.io/cereyan/examples/approval/index.md) - [Daily ETL](https://sercanatalik.github.io/cereyan/examples/daily_etl/index.md) - [Fan-in](https://sercanatalik.github.io/cereyan/examples/fan_in/index.md) - [Quickstart pipeline](https://sercanatalik.github.io/cereyan/examples/pipeline/index.md) - [Webhook route](https://sercanatalik.github.io/cereyan/examples/webhook_route/index.md) ## Design - [Architecture](https://sercanatalik.github.io/cereyan/design/architecture/index.md) - [Design and limitations](https://sercanatalik.github.io/cereyan/design/limitations/index.md) - [Performance targets](https://sercanatalik.github.io/cereyan/design/performance/index.md) ## Project - [Changelog](https://sercanatalik.github.io/cereyan/changelog/index.md) - [Contributing](https://sercanatalik.github.io/cereyan/contributing/index.md)