Skip to main content

A state machine for data projects

Project description

Burr

What is Burr?

Burr is a state machine for data/AI projects. You can (and should!) use it for anything where managing state can be hard. Hint: managing state is always hard!

Link to documentation.

Burr is:

  1. A (dependency-free) python library that enables you to build and manage state machines with simple python functions
  2. A server that can run your state machines and provide a UI to track execution/debug

What can you do with Burr?

Burr can be used for a variety of applications. Burr can build a state machine to orchestrate, express, and track:

  1. A gpt-like chatbot
  2. A machine learning pipeline
  3. A trading simulation

And a lot more!

Using hooks and other integrations you can (a) integrate with any of your favorite vendors (LLM observability, storage, etc...), and (b) build custom actions that delegate to your favorite libraries.

Burr will not tell you how to build your models, how to query APIs, or how to manage your data. It will help you tie all these together in a way that scales with your needs and makes following the logic of your system easy. Burr comes out of the box with a host of integrations including tooling to build a UI in streamlit and watch your state machine execute.

Burr at work

Why the name Burr?

Burr is named after Aaron Burr, founding father, third VP of the United States, and murderer/arch-nemesis of Alexander Hamilton. We imagine a world in which Burr and Hamilton lived in harmony and saw through their differences. We originally built Burr as a harness to handle state between executions of Hamilton DAGs, but realized that it has a wide array of applications and decided to release it.

Getting Started

To get started, install from pypi, using your favorite package manager:

pip install burr

Then, run the server and check out the demo projects:

burr

This will open up a browser window with a few demo projects preloaded for you to play with.

Next, see the documentation for getting started, and follow the example. Then read through some of the concepts and write your own application!

Contributing

We welcome contributors! To get started on developing, see the developer-facing docs_

Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

burr-0.3.0.tar.gz (254.3 kB view details)

Uploaded Source

Built Distribution

burr-0.3.0-py3-none-any.whl (148.9 kB view details)

Uploaded Python 3

File details

Details for the file burr-0.3.0.tar.gz.

File metadata

  • Download URL: burr-0.3.0.tar.gz
  • Upload date:
  • Size: 254.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for burr-0.3.0.tar.gz
Algorithm Hash digest
SHA256 3f66e794c5bbbc9462e7e9ae5041c12860d526f87de13b4183232283359eb55b
MD5 3f059f6e06f44c76eaa923660d537c00
BLAKE2b-256 fcb832dd3869bf836a620438db71b9ad0862d5ff18deb8f7c285d24880db4eb0

See more details on using hashes here.

File details

Details for the file burr-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: burr-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 148.9 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.6

File hashes

Hashes for burr-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ee62e59fb7237c58ddefe5202169d4ea0c3935b2cd4bec1ade1fa97d714bf038
MD5 f08e93a38cb5563876b7ee47eceee634
BLAKE2b-256 0aabe4b68962a7f59814faf9db4f740598ec46fd78ff69428fa70180707d4e14

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page