Repolode
apache

apache/burr

A Python library for building decision-making applications like chatbots and agents as state machines, with a built-in UI for tracing and monitoring.

Stars
2,576
Forks
208
Open issues
104
Last commit
yesterday

What is it?

Apache Burr lets you express an application as a state machine, a graph of actions connected by transitions. Each action is a plain Python function that reads from and writes to a shared state, which makes it straightforward to manage memory, track branching decisions, insert human feedback, and resume a workflow from a saved point.

The core library has no dependencies. Burr is framework-agnostic and works with any LLM or other Python library, so it can wrap calls to OpenAI-style APIs or delegate work to tools such as Apache Hamilton. Pluggable persisters store and load application state, and hooks connect to observability vendors.

Burr also ships a web UI that tracks execution in real time, letting developers inspect traces and debug each step. The project targets chatbots, LLM agents, simulations and other non-LLM workloads, and runs on your own infrastructure.

Key features

  • 01Build applications as state machines from plain Python functions
  • 02Persist and load application state through pluggable persisters
  • 03Built-in UI for real-time tracing and monitoring of execution
  • 04Dependency-free core library that works with any LLM or Python framework
  • 05Hooks for integrating with observability and storage vendors

Use cases

  • Building stateful chatbots that remember conversation history
  • Developing LLM agents with branching logic and human-in-the-loop steps
  • Debugging and tracing multi-step AI workflows in a visual UI
  • Running simulations or hyperparameter tuning workflows as state machines

Quick start

  1. 1

    Install Burr from PyPI with the start extras

    pip install "apache-burr[start]"
  2. 2

    Run the Burr UI server

    burr
  3. 3

    Clone the repo and run the hello-world counter example

    git clone https://github.com/apache/burr && cd burr/examples/hello-world-counter
  4. 4

    Run the counter example application

    python application.py

Things to know

  • The chatbot demo needs an OPENAI_API_KEY to actually chat, though the UI works without one.
  • The README lists async event-based orchestration and hosted execution as not yet available, and Burr Cloud is a waitlist.

Topics

FAQ

What is burr?
A Python library for building decision-making applications like chatbots and agents as state machines, with a built-in UI for tracing and monitoring. Apache Burr lets you express an application as a state machine, a graph of actions connected by transitions. Each action is a plain Python function that reads from and writes to a shared state, which makes it straightforward to manage memory, track branching decisions, insert human feedback, and resume a workflow from a saved point.
Is burr free to use? What license does it have?
burr is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
Is burr still maintained?
Actively maintained. The last commit to burr was on Oct 21, 2026.
What can I use burr for?
Building stateful chatbots that remember conversation history Developing LLM agents with branching logic and human-in-the-loop steps Debugging and tracing multi-step AI workflows in a visual UI Running simulations or hyperparameter tuning workflows as state machines
How do I install burr?
Install Burr from PyPI with the start extras: pip install "apache-burr[start]" Run the Burr UI server: burr Clone the repo and run the hello-world counter example: git clone https://github.com/apache/burr && cd burr/examples/hello-world-counter Run the counter example application: python application.py
Where can I get burr?
The source code and installation instructions are on GitHub: https://github.com/apache/burr

Summary generated by AI from the project's README. GitHub stats refresh daily.

Related projects