Cheat Sheet

This is a quick overview of Burr’s design – the concepts are explored in more detail in the following sections. Read over this for a very high-level overview, or use this as a cheat sheet later.

  • With Burr you write an Application – this manages control flow (allowing for automated or user-blocking workflows), persistence to DBs, logs telemetry, and delegates to a variety of plugins/integrations.

  • Applications are composed of actions (functions that write to/read from state), and transitions (functions that determine the next action to execute based on state).

  • State is immutable and uses the special Burr State API. You write to it by applying a state operation (e.g. state = state.update(key=value), which returns a new state instance with the updated value.

  • All other production/debugging concerns are implemented as hooks, which are simple callbacks that are called at various points in the application lifecycle (store/retrieve state, log information, etc…).

Note that we did not mention LLMs above at all! That’s good – you want your LLM frameworks to be ever-so-slightly decoupled from them for the best experience (all of AI is just software, plain and simple, after all…).

And that’s the basics! Let’s dive into the details.