Burr
Build applications that make decisions (chatbots, agents, simulations, etc...). Monitor, trace, persist, and execute on your own infrastructure.
Last verified:
What is Burr?
Apache Burr is a lightweight in-process Python framework that standardizes the expression and execution of state machines as action-driven graphs, making graph execution easily observable. It is particularly suited for AI agent workflows, simulations, chatbots, and other dynamic systems that require state management and complex decision-making. The framework is pure Python with no magic or heavy abstractions, allowing developers to build anything from simple chatbots to complex multi-agent systems.
Key features include a simple Python API using decorators and functions (no DSL or YAML), built-in observability with a self-hostable UI for monitoring and debugging in real-time, persistence and state management to save/load application state from disk or databases, human-in-the-loop support for approval workflows, branching and parallelism for running actions in parallel and building complex DAGs, and testing & replay capabilities to validate state transitions and unit test individual actions. Burr integrates with popular tools like OpenAI, Anthropic, LangChain, FastAPI, Streamlit, PostgreSQL, and many others without vendor lock-in.
Burr is designed for AI engineers, ML engineers, software developers building chatbots or agents, teams deploying production AI applications, and anyone who needs robust state management for decision-making applications. It is especially valuable for teams moving away from opaque frameworks like LangChain who want cleaner, more stable implementations with better debugging capabilities.
Burr pricing
Pricing model: Freemium
Apache Burr is free and open source under the Apache 2.0 license. The free tier includes full framework capabilities, the telemetry UI, all persistence backends, and community support. Burr Cloud (hosted execution with FastAPI integration and production deployment tools) is in development with pricing coming soon. A free tier for Burr Cloud is expected to include hosted execution, enhanced monitoring, and enterprise support.
Burr pros
- Pure Python with no magic or esoteric concepts
- Simple, clean API using decorators and functions
- No DSL or YAML required - just Python code
- Built-in observability UI for real-time debugging
- Self-hostable telemetry UI with OpenTelemetry integration
- Automatic state persistence to disk or databases
- Easy state snapshots for debugging and replay
- Human-in-the-loop support for approval workflows
- Framework-agnostic - works with any LLM or tool
- No vendor lock-in or forced wrappers
- Unit test individual actions easily
- Replay past runs for evaluation and debugging
- Supports parallelism and complex DAGs
- Zero dependencies in core library
- Apache 2.0 open source license
- Quick learning curve - hours vs weeks for alternatives
- Composable sub-applications for modular design
- Active community with Discord support
Burr cons
- Still in Apache Incubation (not yet fully graduated)
- Burr Cloud hosted pricing not yet available
- Requires self-hosting the observability UI
- Less mature than established frameworks like LangChain
- Fewer pre-built integrations than competitors
- No built-in hosting - must deploy yourself
- Limited documentation for advanced use cases
- Smaller community compared to LangChain or AutoGen
- No built-in retry/exception management yet
- Requires Python 3.12+
Frequently asked questions about Burr
What is Apache Burr used for?
Apache Burr is used to build applications that make decisions, from simple chatbots to complex multi-agent systems. It is particularly suited for AI agent workflows, simulations, RAG-based chatbots, stateful applications requiring memory management, and any system needing complex decision tracking, human feedback, or idempotent self-persisting workflows.
Is Apache Burr free?
Yes, Apache Burr is completely free and open source under the Apache 2.0 license. It includes full framework capabilities, the telemetry UI, all persistence backends, and community support. Burr Cloud hosting is planned but pricing is not yet available.
How does Burr compare to LangChain?
Burr provides a cleaner, more production-ready implementation compared to LangChain. Users report it took hours to get started with Burr versus days/weeks with LangChain. Burr has explicit state machine modeling, an open-source UI for monitoring, and works with non-LLM use cases. LangChain's all-in-one approach suffers from complexity and is less production-ready.
Does Burr work with other frameworks?
Yes, Burr is framework-agnostic and integrates with OpenAI, Anthropic, LangChain, Apache Hamilton, FastAPI, Streamlit, Haystack, Instructor, Pydantic, PostgreSQL, and many others. It has no vendor lock-in and doesn't require wrappers - you can use your favorite tools directly.
How do I install Apache Burr?
Install from PyPI using pip install 'apache-burr[start]'. Then run the UI server with the 'burr' command. For examples, clone the GitHub repository and run examples like the hello-world counter to see the telemetry UI tracking execution in real-time.
What is the Burr UI?
The Burr UI is a self-hostable observability dashboard that lets you monitor, debug, and trace every step of your application in real-time. It shows state changes as they happen, execution telemetry, and includes demo applications. It integrates with OpenTelemetry and can be self-hosted on your infrastructure.
Can I persist and resume Burr applications?
Yes, Burr automatically persists state to disk, databases, or custom backends. You can resume applications from where they left off, load from any point in an application's run for debugging, restart from failures, and create state snapshots for evaluation cases.
Does Burr support human-in-the-loop?
Yes, Burr supports human-in-the-loop workflows. You can pause execution and wait for human input at any step, which is perfect for approval workflows and interactive agents that need human validation before proceeding.
How do I test Burr applications?
Burr provides testing & replay capabilities including replaying past runs, unit testing individual actions, and validating state transitions. You can build evaluation cases around state snapshots and gather logging data for fine-tuning and evaluation.
What Python version does Burr require?
Apache Burr requires Python 3.12 or higher. It is written in pure Python with zero dependencies in the core library, making it lightweight and easy to integrate into existing projects.