apache/burr

Build applications that make decisions (chatbots, agents, simulations, etc...). Monitor, trace, persist, and execute on your own infrastructure.

What it solves

Apache Burr makes it easier to develop stateful applications that require decision-making logic, such as AI agents, chatbots, and simulations. It provides a structured way to manage application state and track complex decision flows without forcing the user into a specific LLM or data management framework.

How it works

Users express their application as a state machine (a graph or flowchart) using simple Python functions called actions. These actions define what data they read from and write to the application state. The developer then defines transitions between these actions to dictate the workflow.

The framework includes a telemetry UI for real-time monitoring, tracing, and debugging of the state machine's execution, as well as pluggable persisters to save and load application state.

Who it’s for

It is designed for developers building AI-driven applications (like RAG chatbots or interactive assistants) or non-LLM stateful workflows (like time-series forecasting simulations or hyperparameter tuning) who need a robust way to manage state and trace execution.

Highlights

  • Framework Agnostic: Works with any LLM or Python library (e.g., LangChain, LlamaIndex, Apache Hamilton).
  • Real-time Telemetry: Includes a built-in UI to monitor and trace system execution in real-time.
  • State Management: Provides a low-abstraction library for building idempotent, self-persisting workflows.
  • Versatile Use Cases: Supports both AI agents and traditional software simulations.