Kruxia Flow is the only durable workflow engine built for AI. Our workflows survive crashes and budget and report AI costs. And it runs anywhere in a 7.5 MB binary.
Ship AI agents to production with built-in cost tracking and budget control. Survive crashes, stop runaway spend.
Define workflows with no code, deploy one binary and one database: No cluster, no DevOps team. Production reliability for tens of dollars a month.
Combine batch pipelines and AI agents in one platform. Python SDK with pandas and DuckDB, and without a 4GB footprint or a $1K/M vendor lock-in.
You need durable execution, cost controls, and operational simplicity.
Until now you had to pick one, or none.
Teams with cost observability report 30–50% savings—but no workflow engine tracks LLM costs natively. You're left stitching together external tools with no budget control to stop a runaway agent.
Temporal requires 7+ components to self-host, and teams report 8 engineering-months per year on maintenance. Airflow needs minimum 4 GB RAM and managed hosting runs $360–$1,000+/month. Both have zero LLM awareness.
LangGraph handles AI agent loops, but it's Python-only, has no native scheduling, and requires the proprietary LangSmith platform for production—at ~$1,000 per million executions. For teams that need both AI and general workflows, that means running two systems.
Kruxia Flow combines durable workflow orchestration with native LLM features, so you can ship AI to production with confidence.
Workflows survive crashes, restart from where they left off, and deliver exactly-once execution. Activities persist state and retry automatically with backoff. No more manual retry logic or lost progress.
Set soft or hard limits. Activities and workflows abort before exceeding their budget.
Every LLM call is metered. Monitor costs per workflow, per activity, per model. Query the metrics API for token usage, cost breakdowns, and budget status—feed the data into dashboards or alerts.
Claude down? Fall back to GPT. Opus too expensive for this request? Switch to Sonnet or a different provider. Configurable fallback chains keep workflows running.
A 7.5 MB binary with PostgreSQL. Runs anywhere: on cloud VMs, on-premise computers, or edge devices like Raspberry Pi Zero. No cluster required.
activities: - key: analyze activity_name: llm_prompt parameters: model: - anthropic/claude-sonnet-4-5 - openai/gpt-4o-mini # fallback prompt: "Analyze this document..." max_tokens: 500 settings: budget: limit_usd: 0.50 action: abort # hard limit cache: enabled: true ttl_seconds: 3600
Run ./docker up --examples
to launch the kruxiaflow server with PostgreSQL and both provided workers.
Use the generated client credentials to authenticate via OAuth2.
POST the YAML definition, then create a workflow instance with your input data.
Query /api/v1/workflows/{id}/cost/history for token usage.
Cost output of the example run:
[ { "activity_key": "analyze_content", "attempt": 1, "cost_usd": "0.00049", "prompt_tokens": 110, "output_tokens": 76, "total_tokens": 186, "cached_tokens": null, "provider": "anthropic", "model": "claude-haiku-4-5-20251001", "budget_limit_usd": "0.1", "budget_exceeded": false, "created_at": "2026-02-06T05:54:33.534442Z" } ]
# Clone and start $ git clone https://github.com/kruxia/kruxiaflow.git $ cd kruxiaflow $ ./docker up --examples # Get access token $ CLIENT_SECRET=$(grep KRUXIAFLOW_CLIENT_SECRET .env | cut -d= -f2) $ TOKEN=$(curl -s -X POST http://localhost:8080/api/v1/oauth/token \ -d "grant_type=client_credentials" \ -d "client_id=kruxiaflow-docker-client" \ -d "client_secret=$CLIENT_SECRET" | jq -r '.access_token') # Deploy workflow definition $ curl -X POST http://localhost:8080/api/v1/workflow_definitions \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: text/yaml" \ --data-binary @examples/04-moderate-content.yaml # Run the workflow $ WORKFLOW_ID=$(curl -s -X POST http://localhost:8080/api/v1/workflows \ -H "Authorization: Bearer $TOKEN" \ -H "Content-Type: application/json" \ -d '{"definition_name":"moderate_content", "input": \ {"user_content":"Check out this amazing project!"}}' \ | jq -r '.workflow_id') # Track costs $ curl -s http://localhost:8080/api/v1/workflows/$WORKFLOW_ID/cost/history \ -H "Authorization: Bearer $TOKEN" | jq
pip install git+https://github.com/kruxia/kruxiaflow-python.git 15+ example workflows included. Start with built-in activities (no code required), add Python scripts when ready using the provided py-std worker.
Fetch data from an HTTP API, format it with templates, and send an email notification. The entire workflow uses built-in activities—no Python workers, no custom code, just YAML.
# YAML workflow - no code required name: weather_report activities: - key: fetch_weather worker: std activity_name: http_request parameters: method: GET url: https://api.weather.gov/gridpoints/LOT/76,73/forecast - key: send_notification worker: std activity_name: http_request parameters: method: POST url: http://mailpit:8025/api/v1/send body: Subject: "Weather Report" Text: "{{OUTPUT.fetch_weather.response.forecast}}" depends_on: - fetch_weather
Kruxia Flow is a durable execution engine—in the same category as Temporal and Inngest, not batch schedulers like Airflow. The difference? We're built for AI from the ground up.
| FEATURE | KRUXIA | TEMPORAL | INNGEST | LANGGRAPH |
|---|---|---|---|---|
| Durable execution | Yes | Yes | Yes | partial |
| LLM cost tracking | Yes | — | partial | via LangSmith |
| Budget control | Yes | — | — | — |
| Model fallback | Yes | — | Yes | partial |
| Token streaming | Yes | — | — | Yes |
| Self-host complexity | 1 binary + PG | 7+ components | 1 binary + PG | proprietary |
| Throughput | 93 wf/s | 66 wf/s | Not tested | N/A |
| Binary size | 7.5 MB | ~200 MB | Not tested | N/A |
| Peak memory | 328 MB | ~425 MB | Not tested | N/A |
| SDK languages | Python, YAML | 6 SDKs | TS, Python, Go | Python, JS |
| GitHub stars | New | 18.2K | 4.8K | 24.4K |
| Open Source | AGPL-3.0 + MIT | MIT | SSPL | MIT |
Binary size and memory comparisons reflect benchmarks run on Kruxia hardward using comparable configurations. Temporal's footprint includes a multi-language runtime and cluster coordination layer. LangGraph requires the proprietary LangSmith platform (~$1,000/1M executions) for production deployment. Inngest SSPL license is not OSI-approved open source.
Kruxia Flow is open source. We're building in the open and welcome contributors.