A state-machine framework that won't tell you how to live your LLM life
Apache Burr treats your chatbot or agent as an explicit state machine, with built-in tracing and a local UI—no framework lock-in required.

What it does
Apache Burr is a Python library for building decision-making applications—chatbots, agents, simulations—as explicit state machines. You define actions (plain Python functions that read and write state) and transitions between them, then run the graph. It ships with a local telemetry UI for real-time monitoring and pluggable persisters for saving state.
The interesting bit
Burr’s core pitch is unopinionated opinionation: it forces you to model your app as a state machine, but doesn’t care how you query LLMs, store data, or structure prompts. The README’s comparison table is notably smug about this—Burr and LangGraph are the only ones that explicitly model state machines, but Burr also claims to work with non-LLM use-cases (simulations, ML training) where LangGraph doesn’t. It started as a harness to add cycles to Apache Hamilton DAGs, then escaped into broader use.
Key highlights
- Dependency-free core library; integrations are opt-in
- Built-in UI server (
burrcommand) with demo data for exploration - Framework-agnostic by design—bring your own LLM client, vector DB, etc.
- Apache 2.0, incubating at the ASF
- Roadmap includes FastAPI integration, retry/exception handling, and more framework hooks (LCEL, LlamaIndex)
Caveats
- No asynchronous event-based orchestration (the comparison table admits this is Temporal’s turf)
- Still incubating; some capabilities like hosted deployment and richer metadata capture are planned but not shipped
- The UI requires an OpenAI key for the chatbot demo, though you can browse without one
Verdict
Worth a look if you’ve outgrown LangChain’s kitchen-sink approach but want more structure than raw Python. Skip it if you need heavy async orchestration or are allergic to explicit state management.
Frequently asked
- What is apache/burr?
- Apache Burr treats your chatbot or agent as an explicit state machine, with built-in tracing and a local UI—no framework lock-in required.
- Is burr open source?
- Yes — apache/burr is open source, released under the Apache-2.0 license.
- What language is burr written in?
- apache/burr is primarily written in Python.
- How popular is burr?
- apache/burr has 2.5k stars on GitHub.
- Where can I find burr?
- apache/burr is on GitHub at https://github.com/apache/burr.