[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-78613":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":18,"stars30d":19,"stars90d":16,"forks30d":16,"starsTrendScore":20,"compositeScore":21,"rankGlobal":10,"rankLanguage":10,"license":22,"archived":23,"fork":23,"defaultBranch":24,"hasWiki":25,"hasPages":25,"topics":26,"createdAt":10,"pushedAt":10,"updatedAt":40,"readmeContent":41,"aiSummary":42,"trendingCount":16,"starSnapshotCount":16,"syncStatus":43,"lastSyncTime":44,"discoverSource":45},78613,"burr","apache\u002Fburr","apache","Build applications that make decisions (chatbots, agents, simulations, etc...). Monitor, trace, persist, and execute on your own infrastructure.","https:\u002F\u002Fburr.apache.org\u002F",null,"Python",2104,157,12,55,0,85,92,94,255,28.6,"Apache License 2.0",false,"main",true,[27,5,28,29,30,31,32,33,34,35,36,37,38,39],"ai","chatbot-framework","dags","generative-ai","graphs","hacktoberfest","llmops","llms","mlops","persistent-data-structure","state-machine","state-management","visibility","2026-06-12 02:03:47","\u003C!--\nLicensed to the Apache Software Foundation (ASF) under one\nor more contributor license agreements.  See the NOTICE file\ndistributed with this work for additional information\nregarding copyright ownership.  The ASF licenses this file\nto you under the Apache License, Version 2.0 (the\n\"License\"); you may not use this file except in compliance\nwith the License.  You may obtain a copy of the License at\n\n  http:\u002F\u002Fwww.apache.org\u002Flicenses\u002FLICENSE-2.0\n\nUnless required by applicable law or agreed to in writing,\nsoftware distributed under the License is distributed on an\n\"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\nKIND, either express or implied.  See the License for the\nspecific language governing permissions and limitations\nunder the License.\n-->\n\n# \u003Cimg src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002F2ab9b499-7ca2-4ae9-af72-ccc775f30b4e\" width=25 height=25\u002F> Apache Burr (incubating)\n\n\u003Cdiv>\n\n[![Discord](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FJoin-Burr_Discord-7289DA?logo=discord)](https:\u002F\u002Fdiscord.gg\u002F6Zy2DwP4f3)\n[![Downloads](https:\u002F\u002Fstatic.pepy.tech\u002Fbadge\u002Fburr\u002Fmonth)](https:\u002F\u002Fpepy.tech\u002Fproject\u002Fburr)\n![PyPI Downloads](https:\u002F\u002Fstatic.pepy.tech\u002Fbadge\u002Fburr)\n[![GitHub Last Commit](https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flast-commit\u002Fapache\u002Fburr)](https:\u002F\u002Fgithub.com\u002Fapache\u002Fburr\u002Fpulse)\n[![X](https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Ffollow-%40burr_framework-1DA1F2?logo=x&style=social)](https:\u002F\u002Ftwitter.com\u002Fburr_framework)\n\u003Ca href=\"https:\u002F\u002Ftwitter.com\u002Fburr_framework\" target=\"_blank\">\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Fburr_framework-Follow-purple.svg?logo=X\"\u002F>\n\u003C\u002Fa>\n\n\u003C\u002Fdiv>\n\nApache Burr (incubating) makes it easy to develop applications that make decisions (chatbots, agents, simulations, etc...) from simple python building blocks.\n\nApache Burr works well for any application that uses LLMs, and can integrate with any of your favorite frameworks. Burr includes a UI that can track\u002Fmonitor\u002Ftrace your system in real time, along with\npluggable persisters (e.g. for memory) to save & load application state.\n\nLink to [documentation](https:\u002F\u002Fburr.apache.org\u002F). Quick (\u003C3min) video intro [here](https:\u002F\u002Fwww.loom.com\u002Fshare\u002Fa10f163428b942fea55db1a84b1140d8?sid=1512863b-f533-4a42-a2f3-95b13deb07c9).\nLonger [video intro & walkthrough](https:\u002F\u002Fwww.youtube.com\u002Fwatch?v=rEZ4oDN0GdU). Blog post [here](https:\u002F\u002Fblog.dagworks.io\u002Fp\u002Fburr-develop-stateful-ai-applications). Join discord for help\u002Fquestions [here](https:\u002F\u002Fdiscord.gg\u002F6Zy2DwP4f3).\n\n## 🏃Quick start\n\nInstall from `pypi`:\n\n```bash\npip install \"apache-burr[start]\"\n```\n\n(see [the docs](https:\u002F\u002Fburr.apache.org\u002Fgetting_started\u002Finstall\u002F) if you're using poetry)\n\nThen run the UI server:\n\n```bash\nburr\n```\n\nThis will open up Burr's telemetry UI. It comes loaded with some default data so you can click around.\nIt also has a demo chat application to help demonstrate what the UI captures enabling you too see things changing in\nreal-time. Hit the \"Demos\" side bar on the left and select `chatbot`. To chat it requires the `OPENAI_API_KEY`\nenvironment variable to be set, but you can still see how it works if you don't have an API key set.\n\nNext, start coding \u002F running examples:\n\n```bash\ngit clone https:\u002F\u002Fgithub.com\u002Fapache\u002Fburr && cd burr\u002Fexamples\u002Fhello-world-counter\npython application.py\n```\n\nYou'll see the counter example running in the terminal, along with the trace being tracked in the UI.\nSee if you can find it.\n\nFor more details see the [getting started guide](https:\u002F\u002Fburr.apache.org\u002Fgetting_started\u002Fsimple-example\u002F).\n\n## 🔩 How does Apache Burr work?\n\nWith Apache Burr you express your application as a state machine (i.e. a graph\u002Fflowchart).\nYou can (and should!) use it for anything in which you have to manage state, track complex decisions, add human feedback, or dictate an idempotent, self-persisting workflow.\n\nThe core API is simple -- the Burr hello-world looks like this (plug in your own LLM, or copy from [the docs](https:\u002F\u002Fburr.apache.org\u002Fgetting_started\u002Fsimple-example\u002F#build-a-simple-chatbot>) for _gpt-X_)\n\n```python\nfrom burr.core import action, State, ApplicationBuilder\n\n@action(reads=[], writes=[\"prompt\", \"chat_history\"])\ndef human_input(state: State, prompt: str) -> State:\n    # your code -- write what you want here, for example\n    chat_item = {\"role\" : \"user\", \"content\" : prompt}\n    return state.update(prompt=prompt).append(chat_history=chat_item)\n\n@action(reads=[\"chat_history\"], writes=[\"response\", \"chat_history\"])\ndef ai_response(state: State) -> State:\n    # query the LLM however you want (or don't use an LLM, up to you...)\n    response = _query_llm(state[\"chat_history\"]) # Burr doesn't care how you use LLMs!\n    chat_item = {\"role\" : \"system\", \"content\" : response}\n    return state.update(response=content).append(chat_history=chat_item)\n\napp = (\n    ApplicationBuilder()\n    .with_actions(human_input, ai_response)\n    .with_transitions(\n        (\"human_input\", \"ai_response\"),\n        (\"ai_response\", \"human_input\")\n    ).with_state(chat_history=[])\n    .with_entrypoint(\"human_input\")\n    .build()\n)\n*_, state = app.run(halt_after=[\"ai_response\"], inputs={\"prompt\": \"Who was Aaron Burr, sir?\"})\nprint(\"answer:\", app.state[\"response\"])\n```\n\nApache Burr includes:\n\n1. A (dependency-free) low-abstraction python library that enables you to build and manage state machines with simple python functions\n2. A UI you can use view execution telemetry for introspection and debugging\n3. A set of integrations to make it easier to persist state, connect to telemetry, and integrate with other systems\n\n![Burr at work](https:\u002F\u002Fgithub.com\u002Fapache\u002Fburr\u002Fblob\u002Fmain\u002Fchatbot.gif)\n\n## 💻️ What can you do with Apache Burr?\n\nApache Burr can be used to power a variety of applications, including:\n\n1. [A simple gpt-like chatbot](https:\u002F\u002Fgithub.com\u002Fapache\u002Fburr\u002Ftree\u002Fmain\u002Fexamples\u002Fmulti-modal-chatbot)\n2. [A stateful RAG-based chatbot](https:\u002F\u002Fgithub.com\u002Fapache\u002Fburr\u002Ftree\u002Fmain\u002Fexamples\u002Fconversational-rag\u002Fsimple_example)\n3. [An LLM-based adventure game](https:\u002F\u002Fgithub.com\u002Fapache\u002Fburr\u002Ftree\u002Fmain\u002Fexamples\u002Fllm-adventure-game)\n4. [An interactive assistant for writing emails](https:\u002F\u002Fgithub.com\u002Fapache\u002Fburr\u002Ftree\u002Fmain\u002Fexamples\u002Femail-assistant)\n\nAs well as a variety of (non-LLM) use-cases, including a time-series forecasting [simulation](https:\u002F\u002Fgithub.com\u002Fapache\u002Fburr\u002Ftree\u002Fmain\u002Fexamples\u002Fsimulation),\nand [hyperparameter tuning](https:\u002F\u002Fgithub.com\u002Fapache\u002Fburr\u002Ftree\u002Fmain\u002Fexamples\u002Fml-training).\n\nAnd a lot more!\n\nUsing hooks and other integrations you can (a) integrate with any of your favorite vendors (LLM observability, storage, etc...), and\n(b) build custom actions that delegate to your favorite libraries (like [Apache Hamilton](https:\u002F\u002Fgithub.com\u002Fapache\u002Fhamilton)).\n\nApache 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\nin 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\nincluding tooling to build a UI in streamlit and watch your state machine execute.\n\n## 🏗 Start building\n\nSee the documentation for [getting started](https:\u002F\u002Fburr.apache.org\u002Fgetting_started\u002Fsimple-example), and follow the example.\nThen read through some of the concepts and write your own application!\n\n## 📃 Comparison against common frameworks\n\nWhile Apache Burr is attempting something (somewhat) unique, there are a variety of tools that occupy similar spaces:\n\n| Criteria                                          | Apache Burr | Langgraph | temporal | Langchain | Superagent | Apache Hamilton |\n| ------------------------------------------------- | :--: | :-------: | :------: | :-------: | :--------: | :------: |\n| Explicitly models a state machine                 |  ✅  |    ✅     |    ❌    |    ❌     |     ❌     |    ❌    |\n| Framework-agnostic                                |  ✅  |    ✅     |    ✅    |    ✅     |     ❌     |    ✅    |\n| Asynchronous event-based orchestration            |  ❌  |    ❌     |    ✅    |    ❌     |     ❌     |    ❌    |\n| Built for core web-service logic                  |  ✅  |    ✅     |    ❌    |    ✅     |     ✅     |    ✅    |\n| Open-source user-interface for monitoring\u002Ftracing |  ✅  |    ❌     |    ❌    |    ❌     |     ❌     |    ✅    |\n| Works with non-LLM use-cases                      |  ✅  |    ❌     |    ❌    |    ❌     |     ❌     |    ✅    |\n\n## 🌯 Why the name Burr?\n\nApache Burr is named after [Aaron Burr](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAaron_Burr), founding father, third VP of the United States, and murderer\u002Farch-nemesis of [Alexander Hamilton](https:\u002F\u002Fen.wikipedia.org\u002Fwiki\u002FAlexander_Hamilton).\nWhat's the connection with (Apache) Hamilton? We imagine a world in which Burr and Hamilton lived in harmony and saw through their differences to better the union. Originally Apache Burr was built as a _harness_ to handle state between executions of Apache Hamilton DAGs (because DAGs don't have cycles),\nbut realized that it has a wide array of applications and decided to release it more broadly.\n\n# Testimonials\n\n> \"After evaluating several other obfuscating LLM frameworks, their elegant yet comprehensive state management solution proved to be the powerful answer to rolling out robots driven by AI decision-making.\"\n\n**Ashish Ghosh**\n*CTO, Peanut Robotics*\n\n\n> \"Of course, you can use it [LangChain], but whether it's really production-ready and improves the time from 'code-to-prod' [...], we've been doing LLM apps for two years, and the answer is no [...] All these 'all-in-one' libs suffer from this [...]. Honestly, take a look at Burr. Thank me later.\"\n\n**Reddit user cyan2k**\n*LocalLlama, Subreddit*\n\n\n> \"Using Burr is a no-brainer if you want to build a modular AI application. It is so easy to build with, and I especially love their UI which makes debugging a piece of cake. And the always-ready-to-help team is the cherry on top.\"\n\n**Ishita**\n*Founder, Watto.ai*\n\n\n> \"I just came across Burr and I'm like WOW, this seems like you guys predicted this exact need when building this. No weird esoteric concepts just because it's AI.\"\n\n**Matthew Rideout**\n*Staff Software Engineer, Paxton AI*\n\n\n> \"Burr's state management part is really helpful for creating state snapshots and building debugging, replaying, and even evaluation cases around that.\"\n\n**Rinat Gareev**\n*Senior Solutions Architect, Provectus*\n\n> \"I have been using Burr over the past few months, and compared to many agentic LLM platforms out there (e.g. LangChain, CrewAi, AutoGen, Agency Swarm, etc), Burr provides a more robust framework for designing complex behaviors.\"\n\n**Hadi Nayebi**\n*Co-founder, CognitiveGraphs*\n\n> \"Moving from LangChain to Burr was a game-changer!\n> - **Time-Saving**: It took me just a few hours to get started with Burr, compared to the days and weeks I spent trying to navigate LangChain.\n> - **Cleaner Implementation**: With Burr, I could finally have a cleaner, more sophisticated, and stable implementation. No more wrestling with complex codebases.\n> - **Team Adoption**: I pitched Burr to my teammates, and we pivoted our entire codebase to it. It's been a smooth ride ever since.\"\n\n**Aditya K.**\n*DS Architect, TaskHuman*\n\n## 🛣 Roadmap\n\nWhile Apache Burr is stable and well-tested, we have quite a few tools\u002Ffeatures on our roadmap!\n1. FastAPI integration + hosted deployment -- make it really easy to get Apache Burr in an app in production without thinking about REST APIs\n2. Various efficiency\u002Fusability improvements for the core library (see [planned capabilities](https:\u002F\u002Fburr.apache.org\u002Fconcepts\u002Fplanned-capabilities\u002F) for more details). This includes:\n   1. First-class support for retries + exception management\n   2. More integration with popular frameworks (LCEL, LLamaIndex, Apache Hamilton, etc...)\n   3. Capturing & surfacing extra metadata, e.g. annotations for particular point in time, that you can then pull out for fine-tuning, etc.\n   4. Improvements to the pydantic-based typing system\n3. Tooling for hosted execution of state machines, integrating with your infrastructure (Ray, modal, FastAPI + EC2, etc...)\n4. Additional storage integrations. More integrations with technologies like MySQL, S3, etc. so you can run Apache Burr on top of what you have available.\n\nIf you want to avoid self-hosting the above solutions we're building Burr Cloud. To let us know you're interested\nsign up [here](https:\u002F\u002Fforms.gle\u002Fw9u2QKcPrztApRedA) for the waitlist to get access.\n\n## 🤲 Contributing\n\nWe welcome contributors! To get started on developing, see the [developer-facing docs](https:\u002F\u002Fburr.apache.org\u002Fcontributing).\n\n## 👪 Contributors\n\n### Code contributions\n\nUsers who have contributed core functionality, integrations, or examples.\n\n- [Elijah ben Izzy](https:\u002F\u002Fgithub.com\u002Felijahbenizzy)\n- [Stefan Krawczyk](https:\u002F\u002Fgithub.com\u002Fskrawcz)\n- [Joseph Booth](https:\u002F\u002Fgithub.com\u002Fjombooth)\n- [Nandani Thakur](https:\u002F\u002Fgithub.com\u002FNandaniThakur)\n- [Thierry Jean](https:\u002F\u002Fgithub.com\u002Fzilto)\n- [Hamza Farhan](https:\u002F\u002Fgithub.com\u002FHamzaFarhan)\n- [Abdul Rafay](https:\u002F\u002Fgithub.com\u002Fproftorch)\n- [Margaret Lange](https:\u002F\u002Fgithub.com\u002Fmargaretlange)\n\n### Bug hunters\u002Fspecial mentions\n\nUsers who have contributed small docs fixes, design suggestions, and found bugs\n\n- [Luke Chadwick](https:\u002F\u002Fgithub.com\u002Fvertis)\n- [Evans](https:\u002F\u002Fgithub.com\u002Fsudoevans)\n- [Sasmitha Manathunga](https:\u002F\u002Fgithub.com\u002Fmmz-001)\n\n# 📑 License\n\nApache Burr is released under the Apache 2.0 License. See [LICENSE](https:\u002F\u002Fgithub.com\u002Fapache\u002Fburr\u002Fblob\u002Fmain\u002FLICENSE) for details.\n\n# 🌎 Community\n## 👨‍💻 Contributing\nWe're very supportive of changes by new contributors, big or small! Make sure to discuss potential changes by creating an issue or commenting on an existing one before opening a pull request. Good first contributions include creating an example or an integration with your favorite Python library!\n\n To contribute, checkout our [contributing guidelines](https:\u002F\u002Fgithub.com\u002Fapache\u002Fburr\u002Fblob\u002Fmain\u002FCONTRIBUTING.rst), our [developer setup guide](https:\u002F\u002Fgithub.com\u002Fapache\u002Fburr\u002Fblob\u002Fmain\u002Fdeveloper_setup.md), and our [Code of Conduct](https:\u002F\u002Fgithub.com\u002Fapache\u002Fburr\u002Fblob\u002Fmain\u002FCODE_OF_CONDUCT.md).\n","Apache Burr 是一个用于构建决策型应用（如聊天机器人、代理和模拟等）的框架。它允许开发者通过简单的Python组件创建复杂的应用程序，并且特别适用于使用大语言模型（LLM）的应用场景。Burr 提供了实时监控与追踪系统状态的功能，支持可插拔的数据持久化选项以保存和加载应用程序的状态，从而简化了状态管理和执行流程。此外，该项目还提供了一个用户界面来帮助开发者更直观地理解系统的运行情况。由于其灵活性和强大的集成能力，Apache Burr 非常适合需要高度定制化决策逻辑及可视化管理的AI项目开发。",2,"2026-06-11 03:57:01","high_star"]