Skip to content

Commit 8571806

Browse files
Ecosystem page for Apache Burr (#661)
* Ecosystem page for Apache Burr * Removed broken links, this is a work in progress * more integrations, examples, docs * remove extra file * add ecosystem to the index
1 parent c3ab994 commit 8571806

2 files changed

Lines changed: 209 additions & 0 deletions

File tree

docs/ecosystem.rst

Lines changed: 208 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,208 @@
1+
..
2+
Licensed to the Apache Software Foundation (ASF) under one
3+
or more contributor license agreements. See the NOTICE file
4+
distributed with this work for additional information
5+
regarding copyright ownership. The ASF licenses this file
6+
to you under the Apache License, Version 2.0 (the
7+
"License"); you may not use this file except in compliance
8+
with the License. You may obtain a copy of the License at
9+
10+
http://www.apache.org/licenses/LICENSE-2.0
11+
12+
Unless required by applicable law or agreed to in writing,
13+
software distributed under the License is distributed on an
14+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
15+
KIND, either express or implied. See the License for the
16+
specific language governing permissions and limitations
17+
under the License.
18+
19+
=========
20+
Ecosystem
21+
=========
22+
23+
Welcome to the Apache Burr Ecosystem page. This page lists all available integrations with documentation and example links.
24+
25+
.. note::
26+
This page is a work in progress. If you have an integration or example you'd like to share, please `open a PR <https://github.com/apache/burr/pulls>`_!
27+
28+
----
29+
30+
LLM & AI Frameworks
31+
--------------------
32+
33+
.. list-table::
34+
:widths: 20 40 40
35+
:header-rows: 1
36+
37+
* - Integration
38+
- Description
39+
- Documentation
40+
* - **OpenAI**
41+
- Use OpenAI models (and any OpenAI API-compatible server) inside Burr actions.
42+
- `Example <https://github.com/apache/burr/tree/main/examples/openai-compatible-agent>`__
43+
* - **LangChain / LCEL**
44+
- Use LangChain chains and runnables as Burr actions. Includes a custom serialization plugin to persist LangChain objects in state.
45+
- :doc:`Reference <reference/integrations/langchain>` |
46+
`Multi-agent example <https://github.com/apache/burr/tree/main/examples/multi-agent-collaboration>`__ |
47+
`Custom serde example <https://github.com/apache/burr/tree/main/examples/custom-serde>`__
48+
* - **Haystack**
49+
- Wrap Haystack ``Component`` objects as Burr ``Action`` using ``HaystackAction``, or convert an entire Haystack pipeline to a Burr graph.
50+
- :doc:`Reference <reference/integrations/haystack>` |
51+
`Example <https://github.com/apache/burr/tree/main/examples/haystack-integration>`__
52+
* - **Instructor**
53+
- Get structured outputs from LLMs via the Instructor library inside Burr actions.
54+
- `Example <https://github.com/apache/burr/tree/main/examples/instructor-gemini-flash>`__
55+
56+
----
57+
58+
Orchestration & Dataflows
59+
--------------------------
60+
61+
.. list-table::
62+
:widths: 20 40 40
63+
:header-rows: 1
64+
65+
* - Integration
66+
- Description
67+
- Documentation
68+
* - **Hamilton**
69+
- Embed Hamilton dataflows as Burr actions using the ``Hamilton`` action construct and helper functions ``from_state``, ``from_value``, ``update_state``, and ``append_state``.
70+
- :doc:`Reference <reference/integrations/hamilton>` |
71+
`Example <https://github.com/apache/burr/tree/main/examples/hamilton-integration>`__ |
72+
`Multi-agent example <https://github.com/apache/burr/tree/main/examples/integrations/hamilton>`__
73+
74+
----
75+
76+
Distributed Computing
77+
---------------------
78+
79+
.. list-table::
80+
:widths: 20 40 40
81+
:header-rows: 1
82+
83+
* - Integration
84+
- Description
85+
- Documentation
86+
* - **Ray**
87+
- Run parallel Burr sub-applications on a Ray cluster using ``RayExecutor``.
88+
- :doc:`Reference <reference/integrations/ray>` |
89+
`Example <https://github.com/apache/burr/tree/main/examples/ray>`__
90+
91+
----
92+
93+
State Persistence
94+
-----------------
95+
96+
Burr provides pluggable state persisters so your application state survives restarts and scales across services.
97+
See :doc:`reference/persister` for the full API reference.
98+
99+
.. list-table::
100+
:widths: 20 40 40
101+
:header-rows: 1
102+
103+
* - Integration
104+
- Description
105+
- Documentation
106+
* - **SQLite**
107+
- Lightweight file-based persistence. Ships with Burr (no extra install). Sync and async variants available.
108+
- :doc:`Reference <reference/persister>`
109+
* - **PostgreSQL**
110+
- Production-grade relational database persistence via ``psycopg2`` (sync) and ``asyncpg`` (async).
111+
- :doc:`Reference <reference/persister>`
112+
* - **Redis**
113+
- In-memory key-value store persistence. Sync and async variants available.
114+
- :doc:`Reference <reference/persister>`
115+
* - **MongoDB**
116+
- Document-store persistence via ``pymongo``.
117+
- :doc:`Reference <reference/persister>`
118+
119+
----
120+
121+
Vector Stores
122+
-------------
123+
124+
.. list-table::
125+
:widths: 20 40 40
126+
:header-rows: 1
127+
128+
* - Integration
129+
- Description
130+
- Documentation
131+
* - **LanceDB**
132+
- Serverless, embedded vector database. Ideal for local or cloud RAG pipelines.
133+
- `RAG example <https://github.com/apache/burr/tree/main/examples/rag-lancedb-ingestion>`__
134+
* - **Qdrant**
135+
- Scalable vector similarity search engine for conversational RAG.
136+
- `Conversational RAG example <https://github.com/apache/burr/tree/main/examples/conversational-rag>`__
137+
138+
----
139+
140+
Observability
141+
-------------
142+
143+
.. list-table::
144+
:widths: 20 40 40
145+
:header-rows: 1
146+
147+
* - Integration
148+
- Description
149+
- Documentation
150+
* - **OpenTelemetry**
151+
- Export Burr traces to any OpenTelemetry-compatible backend. Burr can also capture traces emitted *within* an action and forward them.
152+
- :doc:`Reference <reference/integrations/opentelemetry>` |
153+
`Example <https://github.com/apache/burr/tree/main/examples/opentelemetry>`__ |
154+
`Blog post <https://blog.dagworks.io/p/9ef2488a-ff8a-4feb-b37f-1d9a781068ac/>`__
155+
* - **Traceloop / OpenLLMetry**
156+
- AI-focused OpenTelemetry vendor. Use Traceloop's ``openllmetry`` library together with Burr's OpenTelemetry bridge for LLM-aware tracing.
157+
- :doc:`Reference <reference/integrations/traceloop>` |
158+
`Example <https://github.com/apache/burr/tree/main/examples/opentelemetry>`__ |
159+
`Blog post <https://blog.dagworks.io/p/9ef2488a-ff8a-4feb-b37f-1d9a781068ac/>`__
160+
161+
----
162+
163+
Data Validation & Serialization
164+
--------------------------------
165+
166+
.. list-table::
167+
:widths: 20 40 40
168+
:header-rows: 1
169+
170+
* - Integration
171+
- Description
172+
- Documentation
173+
* - **Pydantic**
174+
- Type-check Burr state fields with Pydantic models, and serialize/deserialize state using Pydantic's serde support.
175+
- :doc:`Reference <reference/integrations/pydantic>` |
176+
:doc:`State typing docs <concepts/state-typing>` |
177+
:doc:`Serde docs <concepts/serde>`
178+
* - **LangChain serde**
179+
- Custom serialization plugin to persist LangChain objects (messages, chains, etc.) in Burr state.
180+
- :doc:`Serde docs <concepts/serde>` |
181+
`Example <https://github.com/apache/burr/tree/main/examples/custom-serde>`__
182+
* - **Pandas serde**
183+
- Custom serialization plugin to persist Pandas ``DataFrame`` objects in Burr state.
184+
- :doc:`Serde docs <concepts/serde>`
185+
* - **Pickle serde**
186+
- Fallback serialization plugin using Python's built-in ``pickle`` for arbitrary objects.
187+
- :doc:`Serde docs <concepts/serde>`
188+
189+
----
190+
191+
Web & API
192+
---------
193+
194+
.. list-table::
195+
:widths: 20 40 40
196+
:header-rows: 1
197+
198+
* - Integration
199+
- Description
200+
- Documentation
201+
* - **FastAPI**
202+
- Serve Burr applications over HTTP with streaming support via FastAPI and server-sent events (SSE).
203+
- `Streaming FastAPI example <https://github.com/apache/burr/tree/main/examples/streaming-fastapi>`__ |
204+
`Web server example <https://github.com/apache/burr/tree/main/examples/web-server>`__
205+
* - **Streamlit**
206+
- Debug and visualize Burr state machines interactively in Streamlit apps using utility functions such as ``render_state_machine`` and ``render_explorer``.
207+
- :doc:`Reference <reference/integrations/streamlit>` |
208+
`Example <https://github.com/apache/burr/tree/main/examples/simple-chatbot-intro>`__

docs/index.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,7 @@
2929
concepts/index
3030
reference/index
3131
contributing/index
32+
ecosystem
3233

3334
.. toctree::
3435
:hidden:

0 commit comments

Comments
 (0)