Full-Code · Orchestration Frameworksactive

Burr

Type: full-code  ·  Vendor: Apache Software Foundation (originally DAGWorks)  ·  Language: Python  ·  License: Apache-2.0  ·  Status: active  ·  Status in practice: emerging

Links: homepage docs repo

Build stateful decision-making applications (chatbots, agents, simulations) as an explicit state machine of @action-decorated functions with pluggable persisters, a Tracker UI for inspection, OpenTelemetry integration, streaming actions, and fork-and-replay for debugging and evaluation.

Description. Burr is a framework for developing stateful AI applications, donated by DAGWorks to the Apache Software Foundation and incubating there. An Application is a state machine in which @action-decorated functions read from and write to a typed State; transitions between actions are explicit. Built-in features: streaming actions for low time-to-first-token; pluggable Persisters (e.g. SQLLitePersister) for save/load and resume-from-checkpoint; fork and replay (initialize_from with fork_from_app_id) for debugging and evaluation; a tracking UI; and OpenTelemetry integration. Framework-agnostic — works with any LLM library or non-LLM use case.

Agent loop shape. Explicit state machine of actions over typed state. Each step the runtime selects the next @action function based on declared transitions and current state, executes it, applies its state mutations, fires hooks, and records to the configured Persister. Streaming actions return a StreamingResultContainer for incremental consumption. Resumption uses initialize_from(persister, app_id=..., resume_at_next_action=True) to rebuild State from a persisted checkpoint. Fork-and-replay rewinds to any past step via fork_from_app_id, supporting debugging and eval. OpenTelemetry traces and the Tracker UI provide observability.

Primary use cases

  • explicit-state-machine chatbots and agents
  • RAG and decision pipelines that must persist and resume
  • debugging-by-replay via fork-from-app
  • OpenTelemetry-instrumented production decision flows

Key concepts

  • Action (docs)Unit of work decorated with @action; reads/writes the state.
  • ApplicationState machine orchestrating actions and transitions.
  • State + TransitionsTyped State plus explicit transitions between actions.
  • Persister agent-resumption (docs)Pluggable state checkpoint store (e.g. SQLLitePersister); custom persisters implement BaseStatePersister.
  • Fork & replay replay-time-travelinitialize_from(fork_from_app_id=...) rewinds and forks state from a previous application.
  • Tracker UI + OTelOpen-source telemetry UI for real-time tracing; OpenTelemetry integration for export.
  • Streaming actionsstream_result() / astream_result() yield a StreamingResultContainer cached iterator.

Patterns this full-code implements

Neighbourhood

Click any neighbour to follow the lineage. Scroll to zoom, drag to pan.