This is an automated email from the ASF dual-hosted git repository.
skrawcz pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/burr.git
The following commit(s) were added to refs/heads/main by this push:
new 62535d03 Update project references to Apache Burr and remove DAGWorks
attributions (#659)
62535d03 is described below
commit 62535d0399a30ae53fb217ec2a4ec931750aa01e
Author: hkr <[email protected]>
AuthorDate: Sat Mar 21 10:50:01 2026 +0530
Update project references to Apache Burr and remove DAGWorks attributions
(#659)
* Update project references to Apache Burr and remove DAGWorks attributions
- Update GitHub URLs from dagworks-inc and DAGWorks-Inc to apache.
- Update documentation links from burr.dagworks.io to burr.apache.org.
- Update package references dagWorks-Inc/hamilton to apache/hamilton.
- Remove by DAGWorks Inc. attributions from documentation and examples.
- Standardize project URLs across READMEs, examples, and backend code.
* Add write permissions to docs.yml
* Apply suggestion from @skrawcz
update wording on readme about hamilton connection
* Changing more references to DAGWorks
* Changed more dagworks references in examples and telemetry
* typos and removed write permissions for pull request triggers
* Update examples/conversational-rag/graph_db_example/ingest_notebook.ipynb
Co-authored-by: André Ahlert <[email protected]>
---------
Co-authored-by: Elijah ben Izzy <[email protected]>
Co-authored-by: Stefan Krawczyk <[email protected]>
Co-authored-by: André Ahlert <[email protected]>
---
.github/workflows/docs.yml | 5 +-
README.md | 4 +-
burr/core/application.py | 8 ++-
burr/core/state.py | 2 +-
burr/integrations/base.py | 2 +-
burr/tracking/server/backend.py | 8 +--
docs/examples/chatbots/gpt-like-chatbot.ipynb | 2 +-
examples/adaptive-crag/README.md | 2 +-
.../conversational-rag/graph_db_example/README.md | 2 +-
.../graph_db_example/hamilton_ingest.py | 4 +-
.../graph_db_example/ingest_notebook.ipynb | 73 +++++++++++++--------
examples/hamilton-integration/notebook.ipynb | 4 +-
examples/image-telephone/README.md | 6 +-
examples/ml-training/README.md | 4 +-
examples/multi-agent-collaboration/README.md | 2 +-
.../multi-agent-collaboration/hamilton/README.md | 2 +-
examples/multi-modal-chatbot/burr_demo.ipynb | 12 ++--
examples/opentelemetry/README.md | 2 +-
examples/opentelemetry/notebook.ipynb | 2 +-
examples/parallelism/README.md | 2 +-
examples/parallelism/notebook.ipynb | 16 ++---
examples/pytest/README.md | 2 +-
examples/rag-lancedb-ingestion/application.py | 2 +-
examples/rag-lancedb-ingestion/ingestion.py | 2 +-
examples/recursive/README.md | 2 +-
examples/simple-chatbot-intro/notebook.ipynb | 2 +-
examples/simulation/README.md | 6 +-
examples/streaming-fastapi/README.md | 4 +-
examples/streaming-fastapi/notebook.ipynb | 4 +-
examples/test-case-creation/README.md | 2 +-
examples/tracing-and-spans/README.md | 4 +-
examples/tracing-and-spans/burr_otel_demo.ipynb | 12 ++--
examples/web-server/README.md | 8 +--
.../youtube-to-social-media-post/notebook.ipynb | 2 +-
pyproject.toml | 16 ++---
telemetry/ui/src/components/nav/appcontainer.tsx | 76 +++++++++++-----------
telemetry/ui/src/components/routes/ProjectList.tsx | 2 +-
37 files changed, 162 insertions(+), 148 deletions(-)
diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml
index 573046ac..bf95610c 100644
--- a/.github/workflows/docs.yml
+++ b/.github/workflows/docs.yml
@@ -28,7 +28,6 @@ on:
permissions:
contents: write
- pull-requests: write
concurrency: ci-${{ github.ref }}
@@ -37,7 +36,7 @@ jobs:
runs-on: ubuntu-latest
env:
PR_PATH: pull/${{github.event.number}}
- BASE_URL: https://burr.dagworks.io/pull/${{github.event.number}}
+ BASE_URL: https://burr.apache.org/pull/${{github.event.number}}
steps:
- uses: actions/checkout@v4
- uses: actions/setup-python@v4
@@ -49,7 +48,7 @@ jobs:
- name: Sphinx build
run: |
sphinx-build docs -b dirhtml _build
- echo "burr.dagworks.io" > _build/CNAME # keep the cname file which
this clobbers -- todo, unhardcode
+ echo "burr.apache.org" > _build/CNAME # keep the cname file which
this clobbers -- todo, unhardcode
- name: Comment on PR
uses: hasura/[email protected]
if: github.ref != 'refs/heads/main'
diff --git a/README.md b/README.md
index c65c035e..ac155fc9 100644
--- a/README.md
+++ b/README.md
@@ -160,9 +160,7 @@ While Apache Burr is attempting something (somewhat)
unique, there are a variety
## 🌯 Why the name Burr?
Apache Burr is named after [Aaron
Burr](https://en.wikipedia.org/wiki/Aaron_Burr), founding father, third VP of
the United States, and murderer/arch-nemesis of [Alexander
Hamilton](https://en.wikipedia.org/wiki/Alexander_Hamilton).
-What's the connection with Hamilton? This is [DAGWorks](www.dagworks.io)'
second open-source library release after the [Apache Hamilton
library](https://github.com/apache/hamilton)
-We imagine a world in which Burr and Hamilton lived in harmony and saw through
their differences to better the union. We originally
-built Apache Burr as a _harness_ to handle state between executions of Apache
Hamilton DAGs (because DAGs don't have cycles),
+What'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),
but realized that it has a wide array of applications and decided to release
it more broadly.
# Testimonials
diff --git a/burr/core/application.py b/burr/core/application.py
index 855cbdb4..84e3f7cb 100644
--- a/burr/core/application.py
+++ b/burr/core/application.py
@@ -201,9 +201,9 @@ def _state_update(state_to_modify: State, modified_state:
State) -> State:
This is suboptimal -- we should not be observing the state, we should be
using the state commands and layering in deltas.
That said, we currently eagerly evaluate the state at all operations,
which means we have to do it this way. See
- https://github.com/DAGWorks-Inc/burr/issues/33 for a more detailed plan.
+ https://github.com/apache/burr/issues/33 for a more detailed plan.
- This function was written to solve this issue:
https://github.com/DAGWorks-Inc/burr/issues/28.
+ This function was written to solve this issue:
https://github.com/apache/burr/issues/28.
:param state_subset_pre_update: The subset of state passed to the update()
function
@@ -851,6 +851,8 @@ class Application(Generic[ApplicationStateType]):
spawning_parent_pointer=spawning_parent_pointer,
)
+ # @telemetry.capture_function_usage # todo -- capture usage when we break
this up into one that isn't called internally
+ # This will be doable when we move sequence ID to the beginning of the
function https://github.com/apache/burr/pull/73
@_call_execute_method_pre_post(ExecuteMethod.step)
def step(self, inputs: Optional[Dict[str, Any]] = None) ->
Optional[Tuple[Action, dict, State]]:
"""Performs a single step, advancing the state machine along.
@@ -2257,7 +2259,7 @@ class ApplicationBuilder(Generic[StateType]):
def with_parallel_executor(self, executor_factory: lambda: Executor):
"""Assigns a default executor to be used for recursive/parallel
sub-actions. This effectively allows
- for executing multiple Burr apps in parallel. See
https://burr.dagworks.io/concepts/parallelism/
+ for executing multiple Burr apps in parallel. See
https://burr.apache.org/concepts/parallelism/
for more details.
This will default to a simple threadpool executor, meaning that you
will be bound by the number of threads
diff --git a/burr/core/state.py b/burr/core/state.py
index 87312daa..ad0d96a5 100644
--- a/burr/core/state.py
+++ b/burr/core/state.py
@@ -307,7 +307,7 @@ class State(Mapping, Generic[StateType]):
# This ensures we only copy the fields that are read by value
# and copy the others by value
# TODO -- make this more efficient when we have immutable
transactions
- # with event-based history:
https://github.com/DAGWorks-Inc/burr/issues/33
+ # with event-based history:
https://github.com/apache/burr/issues/33
if field in new_state:
# currently the reads() includes optional fields
# We should clean that up, but this is an internal API so not
worried now
diff --git a/burr/integrations/base.py b/burr/integrations/base.py
index c0281222..8291ccf8 100644
--- a/burr/integrations/base.py
+++ b/burr/integrations/base.py
@@ -20,6 +20,6 @@ def require_plugin(import_error: ImportError, plugin_name:
str):
raise ImportError(
f"Missing plugin {plugin_name}! To use the {plugin_name} plugin, you
must install the 'extras' target [{plugin_name}] with burr[{plugin_name}] "
f"(replace with your package manager of choice). Note that, if you're
using poetry, you cannot install burr with burr[start], so "
- f"you'll have to install the components individually. See
https://burr.dagworks.io/getting_started/install/ "
+ f"you'll have to install the components individually. See
https://burr.apache.org/getting_started/install/ "
f"for more details."
) from import_error
diff --git a/burr/tracking/server/backend.py b/burr/tracking/server/backend.py
index e33cab9b..448d0daf 100644
--- a/burr/tracking/server/backend.py
+++ b/burr/tracking/server/backend.py
@@ -257,10 +257,10 @@ def safe_json_load(line: bytes):
def get_uri(project_id: str) -> str:
project_id_map = {
- "demo_counter":
"https://github.com/DAGWorks-Inc/burr/tree/main/examples/hello-world-counter",
- "demo_tracing":
"https://github.com/DAGWorks-Inc/burr/tree/main/examples/tracing-and-spans/application.py",
- "demo_chatbot":
"https://github.com/DAGWorks-Inc/burr/tree/main/examples/multi-modal-chatbot",
- "demo_conversational-rag":
"https://github.com/DAGWorks-Inc/burr/tree/main/examples/conversational-rag",
+ "demo_counter":
"https://github.com/apache/burr/tree/main/examples/hello-world-counter",
+ "demo_tracing":
"https://github.com/apache/burr/tree/main/examples/tracing-and-spans/application.py",
+ "demo_chatbot":
"https://github.com/apache/burr/tree/main/examples/multi-modal-chatbot",
+ "demo_conversational-rag":
"https://github.com/apache/burr/tree/main/examples/conversational-rag",
}
return project_id_map.get(project_id, "")
diff --git a/docs/examples/chatbots/gpt-like-chatbot.ipynb
b/docs/examples/chatbots/gpt-like-chatbot.ipynb
index 7a4351b1..3d7f6406 100644
--- a/docs/examples/chatbots/gpt-like-chatbot.ipynb
+++ b/docs/examples/chatbots/gpt-like-chatbot.ipynb
@@ -19,7 +19,7 @@
"<img
src=\"https://github.com/user-attachments/assets/2ab9b499-7ca2-4ae9-af72-ccc775f30b4e\"
width=\"100\" align=\"left\" /> + \n",
"<img src=\"https://cdn.mos.cms.futurecdn.net/VgGxJABA8DcfAMpPPwdv6a.jpg\"
width=\"200\" align=\"center\"/>\n",
"\n",
- "[https://github.com/apache/burr](https://github.com/apache/burr) by
DAGWorks Inc. (YCW23 & StartX).\n",
+ "[https://github.com/apache/burr](https://github.com/apache/burr).\n",
"\n",
"Take🏠:\n",
"\n",
diff --git a/examples/adaptive-crag/README.md b/examples/adaptive-crag/README.md
index 9dfe6af0..ba8dc3ac 100644
--- a/examples/adaptive-crag/README.md
+++ b/examples/adaptive-crag/README.md
@@ -38,4 +38,4 @@ We stop after `ask_assistant` to get the next `query` for
`router`.
## Adaptive-CRAG 🧪

-We have some of the core concepts from the [Burr
Docs](https://burr.dagworks.io/concepts/) in a folder and we will add that to a
`LanceDB` table for Hybrid Search. You can add as many tables as you want. Each
table will be a different route for the `router`.
+We have some of the core concepts from the [Burr
Docs](https://burr.apache.org/concepts/) in a folder and we will add that to a
`LanceDB` table for Hybrid Search. You can add as many tables as you want. Each
table will be a different route for the `router`.
diff --git a/examples/conversational-rag/graph_db_example/README.md
b/examples/conversational-rag/graph_db_example/README.md
index 7f553767..ecf9e533 100644
--- a/examples/conversational-rag/graph_db_example/README.md
+++ b/examples/conversational-rag/graph_db_example/README.md
@@ -102,7 +102,7 @@ This will run the following two pipelines:


-**Note:** [Hamilton](https://github.com/dagworks-inc/hamilton) also comes with
a UI that you can use to visualize the pipeline and
+**Note:** [Hamilton](https://github.com/apache/hamilton) also comes with a UI
that you can use to visualize the pipeline and
track execution information about it. See hamilton_ingest.py or
ingest_notebook.ipynb for more information.
## Ingest data using a notebook:
diff --git a/examples/conversational-rag/graph_db_example/hamilton_ingest.py
b/examples/conversational-rag/graph_db_example/hamilton_ingest.py
index 57439249..e55f9000 100644
--- a/examples/conversational-rag/graph_db_example/hamilton_ingest.py
+++ b/examples/conversational-rag/graph_db_example/hamilton_ingest.py
@@ -37,7 +37,7 @@ def main():
# from hamilton_sdk import adapters
# tracker = adapters.HamiltonTracker(
# project_id=44, # modify this as needed
- # username="[email protected]",
+ # username="[email protected]",
# dag_name="load_fighters",
# tags={"environment": "DEV", "team": "MY_TEAM", "version": "X"}
# )
@@ -60,7 +60,7 @@ def main():
# from hamilton_sdk import adapters
# tracker = adapters.HamiltonTracker(
# project_id=44, # modify this as needed
- # username="[email protected]",
+ # username="[email protected]",
# dag_name="load_fights",
# tags={"environment": "DEV", "team": "MY_TEAM", "version": "X"}
# )
diff --git a/examples/conversational-rag/graph_db_example/ingest_notebook.ipynb
b/examples/conversational-rag/graph_db_example/ingest_notebook.ipynb
index d18436b9..b60f9c25 100644
--- a/examples/conversational-rag/graph_db_example/ingest_notebook.ipynb
+++ b/examples/conversational-rag/graph_db_example/ingest_notebook.ipynb
@@ -2,22 +2,39 @@
"cells": [
{
"cell_type": "code",
+ "execution_count": null,
"id": "z27s4nl744c",
- "source": "# Licensed to the Apache Software Foundation (ASF) under one\n#
or more contributor license agreements. See the NOTICE file\n# distributed
with this work for additional information\n# regarding copyright ownership.
The ASF licenses this file\n# to you under the Apache License, Version 2.0
(the\n# \"License\"); you may not use this file except in compliance\n# with
the License. You may obtain a copy of the License at\n#\n#
http://www.apache.org/licenses/LICENSE-2.0\n#\n [...]
"metadata": {},
- "execution_count": null,
- "outputs": []
+ "outputs": [],
+ "source": [
+ "# Licensed to the Apache Software Foundation (ASF) under one\n",
+ "# or more contributor license agreements. See the NOTICE file\n",
+ "# distributed with this work for additional information\n",
+ "# regarding copyright ownership. The ASF licenses this file\n",
+ "# to you under the Apache License, Version 2.0 (the\n",
+ "# \"License\"); you may not use this file except in compliance\n",
+ "# with the License. You may obtain a copy of the License at\n",
+ "#\n",
+ "# http://www.apache.org/licenses/LICENSE-2.0\n",
+ "#\n",
+ "# Unless required by applicable law or agreed to in writing,\n",
+ "# software distributed under the License is distributed on an\n",
+ "# \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n",
+ "# KIND, either express or implied. See the License for the\n",
+ "# specific language governing permissions and limitations\n",
+ "# under the License."
+ ]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1ad0bb7d-58db-44c5-aa17-7db4f9af9f59",
"metadata": {},
+ "outputs": [],
"source": [
"# install requirements\n",
"!pip install falkordb openai sf-hamilton[sdk,visualization] "
- ],
- "outputs": []
+ ]
},
{
"cell_type": "markdown",
@@ -26,7 +43,7 @@
"source": [
"# Ingestion Notebook\n",
"\n",
- "In this notebook we see how to load data into FalkorDB using
[Hamilton](https://github.com/dagWorks-Inc/hamilton)."
+ "In this notebook we see how to load data into FalkorDB using
[Hamilton](https://github.com/apache/hamilton)."
]
},
{
@@ -39,11 +56,11 @@
"start_time": "2024-05-26T05:05:25.579866Z"
}
},
+ "outputs": [],
"source": [
"# load jupyter magic to help display Hamilton in a notebook\n",
"%load_ext hamilton.plugins.jupyter_magic"
- ],
- "outputs": []
+ ]
},
{
"cell_type": "markdown",
@@ -67,6 +84,7 @@
"start_time": "2024-05-26T05:12:04.295564Z"
}
},
+ "outputs": [],
"source": [
"%%cell_to_module -m load_fighters --display\n",
"\n",
@@ -138,8 +156,7 @@
" q = \"UNWIND $fighters as fighter CREATE (f:Fighter) SET f =
fighter\"\n",
" graph.query(q, {'fighters': records})\n",
" return len(records)\n"
- ],
- "outputs": []
+ ]
},
{
"cell_type": "markdown",
@@ -165,6 +182,7 @@
"start_time": "2024-05-26T05:44:01.430713Z"
}
},
+ "outputs": [],
"source": [
"%%cell_to_module -m load_fights --display\n",
"\n",
@@ -252,8 +270,7 @@
"\n",
"def collect_writes(write_to_graph: Collect[str]) -> int:\n",
" return len(list(write_to_graph))"
- ],
- "outputs": []
+ ]
},
{
"cell_type": "markdown",
@@ -275,6 +292,7 @@
"start_time": "2024-05-26T05:44:05.448476Z"
}
},
+ "outputs": [],
"source": [
"import falkordb\n",
"from hamilton import driver\n",
@@ -286,8 +304,7 @@
"# Clear previous graph\n",
"if \"UFC\" in db.list_graphs():\n",
" g.delete()"
- ],
- "outputs": []
+ ]
},
{
"cell_type": "markdown",
@@ -295,14 +312,14 @@
"metadata": {},
"source": [
"### Note about the Hamilton UI\n",
- "Hamilton comes with an [open source
UI](https://hamilton.dagworks.io/en/latest/hamilton-ui/) that you can\n",
+ "Hamilton comes with an [open source
UI](https://hamilton.apache.io/en/latest/hamilton-ui/) that you can\n",
"surface information about your Hamilton executions. If you pull the
docker containers\n",
"locally and uncomment adding the HamiltonTracker, then you'll see runs
logged to it."
- ]
+ "Hamilton comes with an [open source
UI](https://hamilton.apache.org/en/latest/hamilton-ui/) that you can\n",
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": null,
"id": "ec7e41c83b69311c",
"metadata": {
"ExecuteTime": {
@@ -310,12 +327,13 @@
"start_time": "2024-05-26T05:44:06.038046Z"
}
},
+ "outputs": [],
"source": [
"# if you have the Hamilton UI you can see progress:\n",
"# from hamilton_sdk import adapters\n",
"# tracker = adapters.HamiltonTracker(\n",
"# project_id=44, # modify this as needed\n",
- "# username=\"[email protected]\",\n",
+ "# username=\"[email protected]\",\n",
"# dag_name=\"load_fighters\",\n",
"# tags={\"environment\": \"DEV\", \"team\": \"MY_TEAM\", \"version\":
\"X\"}\n",
"# )\n",
@@ -332,12 +350,11 @@
")\n",
"\n",
"fighter_loader.execute([\"write_to_graph\"], inputs={\"graph\": g})"
- ],
- "outputs": []
+ ]
},
{
"cell_type": "code",
- "execution_count": 9,
+ "execution_count": null,
"id": "3b703eeb5a360",
"metadata": {
"ExecuteTime": {
@@ -345,12 +362,13 @@
"start_time": "2024-05-26T05:44:33.835479Z"
}
},
+ "outputs": [],
"source": [
"# if you have the Hamilton UI you can see progress:\n",
"# from hamilton_sdk import adapters\n",
"# tracker = adapters.HamiltonTracker(\n",
"# project_id=44, # modify this as needed\n",
- "# username=\"[email protected]\",\n",
+ "# username=\"[email protected]\",\n",
"# dag_name=\"load_fights\",\n",
"# tags={\"environment\": \"DEV\", \"team\": \"MY_TEAM\", \"version\":
\"X\"}\n",
"# )\n",
@@ -364,8 +382,7 @@
" .build()\n",
")\n",
"fights_loader.execute([\"collect_writes\"], inputs={\"graph\": g})"
- ],
- "outputs": []
+ ]
},
{
"cell_type": "code",
@@ -377,16 +394,16 @@
"start_time": "2024-05-26T05:49:42.580724Z"
}
},
- "source": [],
- "outputs": []
+ "outputs": [],
+ "source": []
},
{
"cell_type": "code",
"execution_count": null,
"id": "7981e2c8294873e5",
"metadata": {},
- "source": [],
- "outputs": []
+ "outputs": [],
+ "source": []
}
],
"metadata": {
diff --git a/examples/hamilton-integration/notebook.ipynb
b/examples/hamilton-integration/notebook.ipynb
index 763542b0..e4e061a5 100644
--- a/examples/hamilton-integration/notebook.ipynb
+++ b/examples/hamilton-integration/notebook.ipynb
@@ -31,7 +31,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "# Use the 2-layer approach for a maintainable RAG system [](https://colab.research.google.com/github/dagworks-inc/burr/blob/main/examples/hamilton-integration/notebook.ipynb)
[](https://github.com/dagworks-inc/burr/blob/main/examples/hamilton-integration/notebook.ipynb)\n",
+ "# Use the 2-layer approach for a maintainable RAG system [](https://colab.research.google.com/github/dagworks-inc/burr/blob/main/examples/hamilton-integration/notebook.ipynb)
[](https://github.com/apache/burr/blob/main/examples/hamilton-integration/notebook.ipynb)\n",
"\n",
"Ready-made solutions can get you started with GenAI, but building
reliable product features with retrieval augmented generation (RAG) and LLM
agents inevitably required custom code. This post shares the 2-layer approach
to build a maintainable RAG application that will evolve with your needs. To
illustrate these ideas, we will show how a typical RAG project might evolve.\n",
"\n",
@@ -676,7 +676,7 @@
"\n",
"In th next snippets, we refactor actions using Hamilton, a lightweight
library to structure data transformations as directed acyclic graphs (DAGs).
Hamilton uses the function and parameter names to infer the dependencies
between functions and the graph structure.\n",
"\n",
- "The next cell reimplements the `ingest_blog` action from `V2`. It uses
`%%cell_to_module` from the Hamilton notebook extension to define a DAG in a
single cell and view it ([see
tutorial](https://github.com/DAGWorks-Inc/hamilton/blob/main/examples/jupyter_notebook_magic/example.ipynb))."
+ "The next cell reimplements the `ingest_blog` action from `V2`. It uses
`%%cell_to_module` from the Hamilton notebook extension to define a DAG in a
single cell and view it ([see
tutorial](https://github.com/apache/hamilton/blob/main/examples/jupyter_notebook_magic/example.ipynb))."
]
},
{
diff --git a/examples/image-telephone/README.md
b/examples/image-telephone/README.md
index e618b044..ea72ab78 100644
--- a/examples/image-telephone/README.md
+++ b/examples/image-telephone/README.md
@@ -29,7 +29,7 @@ that talks to itself to do something fun. The game is simple:
2. That caption is then provided to DALL-E, which generates an image based on
the caption, which is saved to state.
3. The loop repeats -- and you have encoded the game of telephone!
-Specifically, each action here in Burr is delegated to the
[Hamilton](https://github.com/dagworks-inc/hamilton) micro-framework to run.
+Specifically, each action here in Burr is delegated to the
[Hamilton](https://github.com/apache/hamilton) micro-framework to run.
Hamilton is a great replacement for tools like LCEL, because it's built to
provide a great SDLC experience, in addition
to being lightweight, extensible and more general
purpose (e.g. it's great for expressing things data processing, ML, and
web-request logic). We're using
@@ -71,5 +71,5 @@ documentation for the Hamilton dataflows that are used:
[captioning](https://hub
template by overriding values, or by copying the code and modifying it
yourself in 2 minutes - see instructions on the [hub](https://hub.dagworks.io/).
## Hamilton code
-For more details on the [Hamilton](https://github.com/dagworks-inc/hamilton)
code and
-this [streamlit app](https://image-telephone.streamlit.app) see [this example
in the Hamilton
repo.](https://github.com/DAGWorks-Inc/hamilton/tree/main/examples/LLM_Workflows/image_telephone)
+For more details on the [Hamilton](https://github.com/apache/hamilton) code and
+this [streamlit app](https://image-telephone.streamlit.app) see [this example
in the Hamilton
repo.](https://github.com/apache/hamilton/tree/main/examples/LLM_Workflows/image_telephone)
diff --git a/examples/ml-training/README.md b/examples/ml-training/README.md
index 99303032..4b02e393 100644
--- a/examples/ml-training/README.md
+++ b/examples/ml-training/README.md
@@ -19,7 +19,7 @@
# ML Training
-This is a WIP! Please contribute back if you have ideas. You can track the
associated issue [here](https://github.com/DAGWorks-Inc/burr/issues/138).
+This is a WIP! Please contribute back if you have ideas. You can track the
associated issue [here](https://github.com/apache/burr/issues/138).
A machine learning training system can easily be modeled as a state machine.
@@ -52,7 +52,7 @@ you can use Burr hooks to log metrics, visualize, etc... at
each step. This allo
While some models are trained in a single-shot and shipped to production, many
require human input.
Burr can be used to express training, then checkpoint/pause the state while a
human is evaluating it,
-and have their input (e.g. go/no-go) passed in as an [input
parameter](https://burr.dagworks.io/concepts/actions/#runtime-inputs).
+and have their input (e.g. go/no-go) passed in as an [input
parameter](https://burr.apache.org/concepts/actions/#runtime-inputs).
Note that this still requires a scheduling tool (say a task executor that runs
until the next human input is needed),
but that task executor does not need to be complicated (all it needs to do is
run a job when prompted, and possibly on a chron schedule).
diff --git a/examples/multi-agent-collaboration/README.md
b/examples/multi-agent-collaboration/README.md
index 3638c2ee..ecd6c18a 100644
--- a/examples/multi-agent-collaboration/README.md
+++ b/examples/multi-agent-collaboration/README.md
@@ -23,7 +23,7 @@ This example resembles the example from following
[cookbook](https://github.com/
There are two implementations:
-1. `hamilton/` -- this uses
[Hamilton](https://github.com/dagworks-inc/hamilton) inside the defined actions.
+1. `hamilton/` -- this uses [Hamilton](https://github.com/apache/hamilton)
inside the defined actions.
2. `lcel/` -- this uses LangChain's LCEL inside the defined actions.
# `hamilton/application.py` vs `lcel/application.py`:
diff --git a/examples/multi-agent-collaboration/hamilton/README.md
b/examples/multi-agent-collaboration/hamilton/README.md
index 6b612b6f..097885c9 100644
--- a/examples/multi-agent-collaboration/hamilton/README.md
+++ b/examples/multi-agent-collaboration/hamilton/README.md
@@ -27,7 +27,7 @@ With Hamilton the prompts can be found in the module
[`func_agent.py`](func_agen
The Hamilton code creates the following dataflow:
-
+
# Tracing
diff --git a/examples/multi-modal-chatbot/burr_demo.ipynb
b/examples/multi-modal-chatbot/burr_demo.ipynb
index 5f26a6f5..8ab0712f 100644
--- a/examples/multi-modal-chatbot/burr_demo.ipynb
+++ b/examples/multi-modal-chatbot/burr_demo.ipynb
@@ -19,7 +19,7 @@
"<img
src=\"https://github.com/user-attachments/assets/2ab9b499-7ca2-4ae9-af72-ccc775f30b4e\"
width=\"100\" align=\"left\" /> +\n",
"<img src=\"https://cdn.mos.cms.futurecdn.net/VgGxJABA8DcfAMpPPwdv6a.jpg\"
width=\"200\" align=\"center\"/>\n",
"\n",
-
"[https://github.com/dagworks-inc/burr](https://github.com/dagworks-inc/burr)
by DAGWorks Inc. (YCW23 & StartX).\n",
+ "[https://github.com/apache/burr](https://github.com/apache/burr).\n",
"\n",
"Take🏠:\n",
"\n",
@@ -82,7 +82,7 @@
"metadata": {},
"source": [
"# Solution: Burr\n",
- "(Complements our other framework
[Hamilton](https://github.com/dagWorks-Inc/hamilton))\n"
+ "(Complements our other framework
[Hamilton](https://github.com/apache/hamilton))\n"
]
},
{
@@ -1002,7 +1002,7 @@
"\n",
"[Link to video walking through this
notebook](https://youtu.be/hqutVJyd3TI).\n",
"\n",
-
"[https://github.com/dagworks-inc/burr](https://github.com/dagworks-inc/burr)\n",
+ "[https://github.com/apache/burr](https://github.com/apache/burr)\n",
"<img src=\"burr_qrcode.png\" width=\"125\"/>\n",
"\n",
"[Time Travel blog post &
video:](https://blog.dagworks.io/p/travel-back-in-time-with-burr)\n",
@@ -1013,10 +1013,10 @@
"\n",
"More blogs @ `blog.dagworks.io` e.g. [async &
streaming](https://blog.dagworks.io/p/streaming-chatbot-with-burr-fastapi)\n",
"\n",
- "More
[examples](https://github.com/DAGWorks-Inc/burr/tree/main/examples/):\n",
+ "More [examples](https://github.com/apache/burr/tree/main/examples/):\n",
"\n",
- "- e.g. [test case
creation](https://burr.dagworks.io/examples/guardrails/creating_tests/)\n",
- "- e.g. [multi-agent
collaboration](https://github.com/DAGWorks-Inc/burr/tree/main/examples/multi-agent-collaboration)\n",
+ "- e.g. [test case
creation](https://burr.apache.org/examples/guardrails/creating_tests/)\n",
+ "- e.g. [multi-agent
collaboration](https://github.com/apache/burr/tree/main/examples/multi-agent-collaboration)\n",
"\n",
"Follow on Twitter & LinkedIn:\n",
"\n",
diff --git a/examples/opentelemetry/README.md b/examples/opentelemetry/README.md
index d0c18c6c..f5b67f40 100644
--- a/examples/opentelemetry/README.md
+++ b/examples/opentelemetry/README.md
@@ -29,4 +29,4 @@ We have two modes:
See [notebook.ipynb](./notebook.ipynb) for a simple overview.
See [application.py](./application.py) for the full code
-See the
[documentation](https://burr.dagworks.io/concepts/additional-visibility/#open-telemetry)
for more info
+See the
[documentation](https://burr.apache.org/concepts/additional-visibility/#open-telemetry)
for more info
diff --git a/examples/opentelemetry/notebook.ipynb
b/examples/opentelemetry/notebook.ipynb
index d7800432..49a4757b 100644
--- a/examples/opentelemetry/notebook.ipynb
+++ b/examples/opentelemetry/notebook.ipynb
@@ -34,7 +34,7 @@
"source": [
"# OpenTelemetry\n",
"\n",
- "In this notebook we'll instrument a simple Burr app with
[OpenTelemetry](www.opentelemetry.io). See the
[docs](https://burr.dagworks.io/concepts/additional-visibility/) for more
information."
+ "In this notebook we'll instrument a simple Burr app with
[OpenTelemetry](www.opentelemetry.io). See the
[docs](https://burr.apache.org/concepts/additional-visibility/) for more
information."
]
},
{
diff --git a/examples/parallelism/README.md b/examples/parallelism/README.md
index 6365172d..884a3e55 100644
--- a/examples/parallelism/README.md
+++ b/examples/parallelism/README.md
@@ -19,7 +19,7 @@
# Parallelism
-In this example we go over Burr's parallelism capabilities. It is based on the
documentation (https://burr.dagworks.io/concepts/parallelism/), demonstrating
the `MapStates` capabilities.
+In this example we go over Burr's parallelism capabilities. It is based on the
documentation (https://burr.apache.org/concepts/parallelism/), demonstrating
the `MapStates` capabilities.
See [the notebook](./notebook.ipynb) for the full example. Or <a
target="_blank"
href="https://colab.research.google.com/github/dagworks-inc/burr/blob/main/examples/parallelism/notebook.ipynb">
<img src="https://colab.research.google.com/assets/colab-badge.svg"
alt="Open In Colab"/>
diff --git a/examples/parallelism/notebook.ipynb
b/examples/parallelism/notebook.ipynb
index 5b150b22..8465295f 100644
--- a/examples/parallelism/notebook.ipynb
+++ b/examples/parallelism/notebook.ipynb
@@ -16,7 +16,7 @@
"<a target=\"_blank\"
href=\"https://colab.research.google.com/github/dagworks-inc/burr/blob/main/examples/parallelism/notebook.ipynb\">\n",
" <img src=\"https://colab.research.google.com/assets/colab-badge.svg\"
alt=\"Open In Colab\"/>\n",
"</a> \n",
- "or <a target=\"_blank\"
href=\"https://www.github.com/dagworks-inc/burr/tree/main/examples/parallelism/notebook.ipynb\">view
source</a>\n",
+ "or <a target=\"_blank\"
href=\"https://www.github.com/apache/burr/tree/main/examples/parallelism/notebook.ipynb\">view
source</a>\n",
"\n",
"For a video walkthrough of this notebook <a
href=\"https://youtu.be/G7lw63IBSmY\">click here</a>."
]
@@ -41,13 +41,13 @@
"\n",
"Burr is all about thinking and modeling things as a \"graph\" or
\"flowchart\". This just so happens to be a great way to model agents. This
modeling also lends itself well to modeling \"hierarchy/recursion\" and
\"parallelism\", which are key in building more complex interactions and agent
systems.\n",
"\n",
- "In this notebook we're going to go over how to run parallel \"actions\",
which could be as simple as a single \"action\", or even \"whole burr
sub-applications themselves\" (a.k.a. \"sub-agents\"). For full documentation
on Parallelism see [this page](https://burr.dagworks.io/concepts/parallelism/);
if you're familliar with the
[`map-reduce`](https://en.wikipedia.org/wiki/MapReduce) pattern, then you'll
feel right at home here.\n",
+ "In this notebook we're going to go over how to run parallel \"actions\",
which could be as simple as a single \"action\", or even \"whole burr
sub-applications themselves\" (a.k.a. \"sub-agents\"). For full documentation
on Parallelism see [this page](https://burr.apache.org/concepts/parallelism/);
if you're familliar with the
[`map-reduce`](https://en.wikipedia.org/wiki/MapReduce) pattern, then you'll
feel right at home here.\n",
"\n",
"We will start simple and show how to write a simple Burr application that
compares different LLMs for the same prompt & context. We'll then extend what
we parallelize to be a whole burr sub-application/agent. \n",
"\n",
"To start:\n",
"1. we will not use Burr's parallelism or recursion constructs to help
build your mental model.\n",
- "2. we will then show Burr's [\"recursion/hierarchy\"
capabilities](https://burr.dagworks.io/concepts/recursion/).\n",
+ "2. we will then show Burr's [\"recursion/hierarchy\"
capabilities](https://burr.apache.org/concepts/recursion/).\n",
"3. we will then show how Burr's parallelism constructs simplify
things.\n",
"4. we will then show how Burr's parallelism constructs enable you to more
easily model more complex behavior.\n",
"\n",
@@ -426,7 +426,7 @@
"\n",
"Burr allows you to create Burr applications within Burr applications and
wire through tracking to the UI so you can visualize sub-applications. For
this, we will be representing the LLM calls with different models as their own
(single-node) application. While this is built for more complex sub-application
shapes, and is a bit of overkill for our toy example, it still works quite well
with the simplicity of a single action (node) application. My point here is
that you could add more [...]
"\n",
- "For more on the code constructs in this section see Burr's
[recursive/hierarchy tracking
capabilities](https://burr.dagworks.io/concepts/recursion/)."
+ "For more on the code constructs in this section see Burr's
[recursive/hierarchy tracking
capabilities](https://burr.apache.org/concepts/recursion/)."
]
},
{
@@ -619,9 +619,9 @@
"source": [
"# Approach #3 -- using Burr's Parallel constructs\n",
"\n",
- "We can use Burr's parallel construct to make running the differnet LLMs
in parallel even simpler. To do so we need to bring in a Class that extends
from `MapStates` (we can also map over actions with
[`MapActions`](https://burr.dagworks.io/reference/parallelism/#burr.core.parallelism.MapActions)
and both state & actions with
[`MapStateAndActions`](https://burr.dagworks.io/reference/parallelism/#burr.core.parallelism.MapActionsAndStates)).
This Class enables us to \"map\" over state [...]
+ "We can use Burr's parallel construct to make running the differnet LLMs
in parallel even simpler. To do so we need to bring in a Class that extends
from `MapStates` (we can also map over actions with
[`MapActions`](https://burr.apache.org/reference/parallelism/#burr.core.parallelism.MapActions)
and both state & actions with
[`MapStateAndActions`](https://burr.apache.org/reference/parallelism/#burr.core.parallelism.MapActionsAndStates)).
This Class enables us to \"map\" over state -- [...]
"\n",
- "For more on the code constructs in this section see Burr's [parallel
map/reduce concepts](https://burr.dagworks.io/concepts/parallelism/)."
+ "For more on the code constructs in this section see Burr's [parallel
map/reduce concepts](https://burr.apache.org/concepts/parallelism/)."
]
},
{
@@ -817,7 +817,7 @@
"source": [
"# #4 - Building more complex Burr Applications\n",
"\n",
- "Above we showed a progression on how you can tackle parallelism with
Burr. Here we discuss and show sketches of examples that get more complex.
Note: see [docs on
executors](https://burr.dagworks.io/reference/application/#burr.core.application.ApplicationBuilder.with_parallel_executor)
(and roadmap) as to what is supported right now.\n",
+ "Above we showed a progression on how you can tackle parallelism with
Burr. Here we discuss and show sketches of examples that get more complex.
Note: see [docs on
executors](https://burr.apache.org/reference/application/#burr.core.application.ApplicationBuilder.with_parallel_executor)
(and roadmap) as to what is supported right now.\n",
"\n",
"For example, you might want to take the same input, and map over several
Burr applications/agents in parallel, e.g. for medical diagnosis.\n",
"Or you might want to map over some value in state and run the same
application/agent on it, e.g. web-interactions.\n",
@@ -1406,7 +1406,7 @@
"metadata": {},
"source": [
"# To close\n",
- "We're excited by what you can now model and importantly observe & iterate
with Burr + the Burr UI (e.g. see [test-case
creation](https://burr.dagworks.io/examples/guardrails/creating_tests/),
[time-travel](https://blog.dagworks.io/p/travel-back-in-time-with-burr), or
[annotation](https://blog.dagworks.io/p/annotating-data-in-burr?r=2cg5z1&utm_campaign=post&utm_medium=web)).
\n",
+ "We're excited by what you can now model and importantly observe & iterate
with Burr + the Burr UI (e.g. see [test-case
creation](https://burr.apache.org/examples/guardrails/creating_tests/),
[time-travel](https://blog.dagworks.io/p/travel-back-in-time-with-burr), or
[annotation](https://blog.dagworks.io/p/annotating-data-in-burr?r=2cg5z1&utm_campaign=post&utm_medium=web)).
\n",
"\n",
"We have an active roadmap planned (we're looking for contributors!), and
if you like what you see, have thoughts / or questions, please drop by our
discord community ->
[](https://discord.gg/6Zy2DwP4f3)"
]
diff --git a/examples/pytest/README.md b/examples/pytest/README.md
index 788bffc6..2900fa88 100644
--- a/examples/pytest/README.md
+++ b/examples/pytest/README.md
@@ -207,7 +207,7 @@ def test_my_agent(input, expected_output, results_bag):
### Using Burr's pytest Hook
With Burr you can curate test cases from real application runs. You can then
use these test cases in your pytest suite.
Burr has a hook that enables you to curate a file with the input state and
expected output state for an entire run,
-or a single action. See the [Burr test case creation
documentation](https://burr.dagworks.io/examples/guardrails/creating_tests/)
for more
+or a single action. See the [Burr test case creation
documentation](https://burr.apache.org/examples/guardrails/creating_tests/) for
more
details on how. Here we show you how you can combine this with getting results:
```python
diff --git a/examples/rag-lancedb-ingestion/application.py
b/examples/rag-lancedb-ingestion/application.py
index d43ca4e6..2228576c 100644
--- a/examples/rag-lancedb-ingestion/application.py
+++ b/examples/rag-lancedb-ingestion/application.py
@@ -32,7 +32,7 @@ def relevant_chunk_retrieval(
lancedb_con: lancedb.DBConnection,
) -> State:
"""Search LanceDB with the user query and return the top 4 results"""
- text_chunks_table = lancedb_con.open_table("dagworks___contexts")
+ text_chunks_table = lancedb_con.open_table("apache_burr___contexts")
search_results = (
text_chunks_table.search(user_query).select(["text",
"id__"]).limit(4).to_list()
)
diff --git a/examples/rag-lancedb-ingestion/ingestion.py
b/examples/rag-lancedb-ingestion/ingestion.py
index 3469faaa..3b334e6a 100644
--- a/examples/rag-lancedb-ingestion/ingestion.py
+++ b/examples/rag-lancedb-ingestion/ingestion.py
@@ -116,7 +116,7 @@ if __name__ == "__main__":
utils.set_environment_variables()
pipeline = dlt.pipeline(
- pipeline_name="substack-blog", destination="lancedb",
dataset_name="dagworks"
+ pipeline_name="substack-blog", destination="lancedb",
dataset_name="apache_burr"
)
blog_url = "https://blog.dagworks.io/"
diff --git a/examples/recursive/README.md b/examples/recursive/README.md
index cc2532cf..bf04f0e1 100644
--- a/examples/recursive/README.md
+++ b/examples/recursive/README.md
@@ -55,5 +55,5 @@ Run the example with `python application.py`. Then, ensure
`burr` is running, an
UI:
[http://localhost:7241/project/demo:parallelism_poem_generation](http://localhost:7241/project/demo:parallelism_poem_generation).
-FOr more information, read the documentation on [recursive
applications](https://burr.dagworks.io/concepts/recursion).
+FOr more information, read the documentation on [recursive
applications](https://burr.apache.org/concepts/recursion).
```
diff --git a/examples/simple-chatbot-intro/notebook.ipynb
b/examples/simple-chatbot-intro/notebook.ipynb
index 93ba520a..3e4956fa 100644
--- a/examples/simple-chatbot-intro/notebook.ipynb
+++ b/examples/simple-chatbot-intro/notebook.ipynb
@@ -364,7 +364,7 @@
"\n",
"To add a persistor, you have to tell it to load from a state
(`.initialize(...)`) on the builder, and tell it to save to a state
(`.with_state_persister`).\n",
"\n",
- "More about persistence
[here](https://burr.dagworks.io/concepts/state-persistence/)."
+ "More about persistence
[here](https://burr.apache.org/concepts/state-persistence/)."
]
},
{
diff --git a/examples/simulation/README.md b/examples/simulation/README.md
index 571a2170..547afbba 100644
--- a/examples/simulation/README.md
+++ b/examples/simulation/README.md
@@ -19,7 +19,7 @@
# Simulations
-This example is a WIP -- we're actively looking for contributors + ideas. See
[this issue](https://github.com/DAGWorks-Inc/burr/issues/136) to track.
+This example is a WIP -- we're actively looking for contributors + ideas. See
[this issue](https://github.com/apache/burr/issues/136) to track.
At a high level, simulations generally run over a set of time steps and
maintain state. The user then manages the state, which becomes
the input to the next time step, as well as output data to analyze.
@@ -47,7 +47,7 @@ This is a special case of time-series forecasting, in which
one wants to simulat
- `construct_portfolio` - uses the forecast to construct a portfolio
- `evaluate_portfolio` - evaluates the portfolio
-Each one of these could be a DAG using
[Hamilton](https://github.com/dagworks-inc/hamilton), or running any custom
code.
+Each one of these could be a DAG using
[Hamilton](https://github.com/apache/hamilton), or running any custom code.
### Multi-agent simulation
@@ -56,4 +56,4 @@ For multiple independent "agents", Burr could help model the
way they interact.
actions, or an action that loops over all "users". We are still figuring out
the best way to model this, so reach out if you have ideas!
-Please comment at [this
issue](https://github.com/DAGWorks-Inc/burr/issues/136) if you have any
opinions on the above! We would love user-contributed examples.
+Please comment at [this issue](https://github.com/apache/burr/issues/136) if
you have any opinions on the above! We would love user-contributed examples.
diff --git a/examples/streaming-fastapi/README.md
b/examples/streaming-fastapi/README.md
index 74c9d2b3..de47de1e 100644
--- a/examples/streaming-fastapi/README.md
+++ b/examples/streaming-fastapi/README.md
@@ -35,7 +35,7 @@ or do one of the following:
3. Generate a poem
4. Prompt for more
-It will use an LLM to decide which to do. It streams back text using async
streaming in Burr. Read more about how that is implemented
[here](https://burr.dagworks.io/concepts/streaming-actions/).
+It will use an LLM to decide which to do. It streams back text using async
streaming in Burr. Read more about how that is implemented
[here](https://burr.apache.org/concepts/streaming-actions/).
Note that, even though not every response is streaming (E.G. unsafe response,
which is hardcoded), they are modeled as streaming to make interaction with the
app simpler.
@@ -59,7 +59,7 @@ Navigate to the [streaming
example](http://localhost:7241/demos/streaming-chatbo
## Streaming in Burr
-Read more [here](https://burr.dagworks.io/concepts/streaming-actions/)
+Read more [here](https://burr.apache.org/concepts/streaming-actions/)
To use streaming in Burr, you write your actions as a generator. If you're
using the function-based API (as we do in this example),
the function should yield a tuple, consisting of:
1. The result (intermediate or final)
diff --git a/examples/streaming-fastapi/notebook.ipynb
b/examples/streaming-fastapi/notebook.ipynb
index fcb411c4..41e31eb6 100644
--- a/examples/streaming-fastapi/notebook.ipynb
+++ b/examples/streaming-fastapi/notebook.ipynb
@@ -29,7 +29,7 @@
"This notebook only shows the streaming side. To check out FastAPI in
Burr, check out\n",
"- The [Burr code](./application.py) -- imported and used here\n",
"- The [backend FastAPI server](./server.py) for the streaming output
using SSE\n",
- "- The [frontend typescript
code](https://github.com/dagworks-inc/burr/blob/main/telemetry/ui/src/examples/StreamingChatbot.tsx)
that renders and interacts with the stream\n",
+ "- The [frontend typescript
code](https://github.com/apache/burr/blob/main/telemetry/ui/src/examples/StreamingChatbot.tsx)
that renders and interacts with the stream\n",
"\n",
"You can view this demo in your app by running Burr:\n",
"\n",
@@ -69,7 +69,7 @@
"3. Generate a poem\n",
"4. Prompt for more\n",
"\n",
- "It will use an LLM to decide which to do. It streams back text using
async streaming in Burr. Read more about how that is implemented
[here](https://burr.dagworks.io/concepts/streaming-actions/).\n",
+ "It will use an LLM to decide which to do. It streams back text using
async streaming in Burr. Read more about how that is implemented
[here](https://burr.apache.org/concepts/streaming-actions/).\n",
"\n",
"Note that, even though not every response is streaming (E.G. unsafe
response, which is hardcoded), they are modeled as streaming to make
interaction with the app simpler."
]
diff --git a/examples/test-case-creation/README.md
b/examples/test-case-creation/README.md
index 661578b8..f7214e80 100644
--- a/examples/test-case-creation/README.md
+++ b/examples/test-case-creation/README.md
@@ -66,7 +66,7 @@ In `test_application.py` you'll find examples tests for a
simple action
that is found in `application.py`.
## Notebook
-The notebook also shows how things work. <a target="_blank"
href="https://colab.research.google.com/github/dagworks-inc/burr/blob/main/examples/test-case-creation/notebook.ipynb">
+The notebook also shows how things work. <a target="_blank"
href="https://colab.research.google.com/github/apache/burr/blob/main/examples/test-case-creation/notebook.ipynb">
<img src="https://colab.research.google.com/assets/colab-badge.svg"
alt="Open In Colab"/>
</a>
diff --git a/examples/tracing-and-spans/README.md
b/examples/tracing-and-spans/README.md
index 13b7aeb6..0d6ba25d 100644
--- a/examples/tracing-and-spans/README.md
+++ b/examples/tracing-and-spans/README.md
@@ -20,7 +20,7 @@
# Traces and spans
This demo covers the tracing/span capabilities in Burr.
-For additional information, read over: [the
documentation](https://burr.dagworks.io/concepts/additional-visibility/).
+For additional information, read over: [the
documentation](https://burr.apache.org/concepts/additional-visibility/).
This does the same thing as the standard [multi-modal
example](../multi-modal-chatbot), but leverages traces.
Note that you'll likely be integrating tracing into whatever framework
(langchain/hamilton) you're using -- we're
@@ -30,6 +30,6 @@ These traces are used in the Burr UI. E.G. as follows:

-The notebook also shows how things work. <a target="_blank"
href="https://colab.research.google.com/github/dagworks-inc/burr/blob/main/examples/tracing-and-spans/notebook.ipynb">
+The notebook also shows how things work. <a target="_blank"
href="https://colab.research.google.com/github/apache/burr/blob/main/examples/tracing-and-spans/notebook.ipynb">
<img src="https://colab.research.google.com/assets/colab-badge.svg"
alt="Open In Colab"/>
</a>
diff --git a/examples/tracing-and-spans/burr_otel_demo.ipynb
b/examples/tracing-and-spans/burr_otel_demo.ipynb
index 918acb85..2d446573 100644
--- a/examples/tracing-and-spans/burr_otel_demo.ipynb
+++ b/examples/tracing-and-spans/burr_otel_demo.ipynb
@@ -20,7 +20,7 @@
"<img
src=\"https://github.com/user-attachments/assets/2ab9b499-7ca2-4ae9-af72-ccc775f30b4e\"
width=\"100\" align=\"left\" /> + \n",
"<img src=\"https://cdn.mos.cms.futurecdn.net/VgGxJABA8DcfAMpPPwdv6a.jpg\"
width=\"200\" align=\"center\"/>\n",
"\n",
-
"[https://github.com/dagworks-inc/burr](https://github.com/dagworks-inc/burr)
by DAGWorks Inc. (YCW23 & StartX).\n",
+ "[https://github.com/apache/burr](https://github.com/apache/burr).\n",
"\n",
"Take🏠:\n",
"\n",
@@ -80,7 +80,7 @@
"metadata": {},
"source": [
"# Solution: Burr\n",
- "(Complements our other framework
[Hamilton](https://github.com/dagWorks-Inc/hamilton))\n"
+ "(Complements our other framework
[Hamilton](https://github.com/apache/hamilton))\n"
]
},
{
@@ -957,7 +957,7 @@
"\n",
"[Link to video walking through this
notebook](https://youtu.be/hqutVJyd3TI).\n",
"\n",
-
"[https://github.com/dagworks-inc/burr](https://github.com/dagworks-inc/burr)\n",
+ "[https://github.com/apache/burr](https://github.com/apache/burr)\n",
"<img src=\"burr_qrcode.png\" width=\"125\"/>\n",
"\n",
"[Time Travel blog post &
video:](https://blog.dagworks.io/p/travel-back-in-time-with-burr)\n",
@@ -968,10 +968,10 @@
"\n",
"More blogs @ `blog.dagworks.io` e.g. [async &
streaming](https://blog.dagworks.io/p/streaming-chatbot-with-burr-fastapi)\n",
"\n",
- "More
[examples](https://github.com/DAGWorks-Inc/burr/tree/main/examples/):\n",
+ "More [examples](https://github.com/apache/burr/tree/main/examples/):\n",
"\n",
- "- e.g. [test case
creation](https://burr.dagworks.io/examples/guardrails/creating_tests/)\n",
- "- e.g. [multi-agent
collaboration](https://github.com/DAGWorks-Inc/burr/tree/main/examples/multi-agent-collaboration)\n",
+ "- e.g. [test case
creation](https://burr.apache.org/examples/guardrails/creating_tests/)\n",
+ "- e.g. [multi-agent
collaboration](https://github.com/apache/burr/tree/main/examples/multi-agent-collaboration)\n",
"\n",
"Follow on Twitter & LinkedIn:\n",
"\n",
diff --git a/examples/web-server/README.md b/examples/web-server/README.md
index da817289..20253933 100644
--- a/examples/web-server/README.md
+++ b/examples/web-server/README.md
@@ -175,7 +175,7 @@ they can debug any state-related issues, ensuring a smooth
user experience.
Note that we never called out to databases. It all just magically worked..
This is all because we decouple the persistence
layer from the web-call. The application will be persisted (to whatever
database you want),
-by burr's plugin capabilities -- read more
[here](https://burr.dagworks.io/concepts/state-persistence/).
+by burr's plugin capabilities -- read more
[here](https://burr.apache.org/concepts/state-persistence/).
This greatly reduces the amount you have to think about when developing. As
Burr persistence is
pluggable, you can write to your own database with whichever schema you
prefer, customizing
the schema for your project or using a generic one (state is just a JSON
object -- you can easily serialize/deseriealize it).
@@ -209,13 +209,13 @@ Or possibly some combination of the above.
#### Async
While we implemented synchronous calls, you can easily make these async by
using `async def` and `await` in the appropriate places,
-and using the `arun` method in Burr. Read more about async capabilities in
[applications](https://burr.dagworks.io/concepts/state-machine/),
-and [actions](https://burr.dagworks.io/concepts/actions/).
+and using the `arun` method in Burr. Read more about async capabilities in
[applications](https://burr.apache.org/concepts/state-machine/),
+and [actions](https://burr.apache.org/concepts/actions/).
#### Streaming
You can use streaming to send back the stream of the output at any given
point. You do this by creating a
-[streaming action](https://burr.dagworks.io/concepts/streaming-actions/). You
can then integrate with the
+[streaming action](https://burr.apache.org/concepts/streaming-actions/). You
can then integrate with the
streaming respose in FastAPI to send back the stream of the output. You can do
this with any steps
(intermediate or final) in your application.
diff --git a/examples/youtube-to-social-media-post/notebook.ipynb
b/examples/youtube-to-social-media-post/notebook.ipynb
index a7aed43b..4f1fba52 100644
--- a/examples/youtube-to-social-media-post/notebook.ipynb
+++ b/examples/youtube-to-social-media-post/notebook.ipynb
@@ -806,7 +806,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
- "Persistence is great for iterative development such as tuning your
[Instructor model with validators and
constraints](https://python.useinstructor.com/concepts/reask_validation/), but
it's also a powerful tool for building [test cases and guard
rails](https://burr.dagworks.io/examples/guardrails/creating_tests/). The CLI
command `burr-test-case` can generate a `pytest.fixture` to resume your app
from a given state."
+ "Persistence is great for iterative development such as tuning your
[Instructor model with validators and
constraints](https://python.useinstructor.com/concepts/reask_validation/), but
it's also a powerful tool for building [test cases and guard
rails](https://burr.apache.org/examples/guardrails/creating_tests/). The CLI
command `burr-test-case` can generate a `pytest.fixture` to resume your app
from a given state."
]
},
{
diff --git a/pyproject.toml b/pyproject.toml
index 3cb698ed..98f99b53 100644
--- a/pyproject.toml
+++ b/pyproject.toml
@@ -25,12 +25,12 @@ version = "0.41.0"
dependencies = [] # yes, there are none
requires-python = ">=3.9"
authors = [
- {name = "Elijah ben Izzy", email = "[email protected]"},
- {name = "Stefan Krawczyk", email = "[email protected]"},
+ {name = "Elijah ben Izzy", email = "[email protected]"},
+ {name = "Stefan Krawczyk", email = "[email protected]"},
]
maintainers = [
- {name = "Elijah ben Izzy", email = "[email protected]"},
- {name = "Stefan Krawczyk", email = "[email protected]"},
+ {name = "Elijah ben Izzy", email = "[email protected]"},
+ {name = "Stefan Krawczyk", email = "[email protected]"},
]
description = "Apache Burr (incubating) makes it easy to develop applications
that make decisions (chatbots, agents, simulations, etc...) from simple python
building blocks."
readme = "README.md"
@@ -223,10 +223,10 @@ tortoise_orm =
"burr.tracking.server.s3.settings.TORTOISE_ORM"
location = "./burr/tracking/server/s3/migrations"
src_folder = "./."
[project.urls]
-Homepage = "https://github.com/dagworks-inc/burr"
-Documentation = "https://github.com/dagworks-inc/burr"
-Repository = "https://github.com/dagworks-inc/burr"
-"Bug Tracker" = "https://github.com/dagworks-inc/burr"
+Homepage = "https://github.com/apache/burr"
+Documentation = "https://github.com/apache/burr"
+Repository = "https://github.com/apache/burr"
+"Bug Tracker" = "https://github.com/apache/burr"
[project.scripts]
burr = "burr.cli.__main__:cli_run_server"
diff --git a/telemetry/ui/src/components/nav/appcontainer.tsx
b/telemetry/ui/src/components/nav/appcontainer.tsx
index edcce3f2..86e9614d 100644
--- a/telemetry/ui/src/components/nav/appcontainer.tsx
+++ b/telemetry/ui/src/components/nav/appcontainer.tsx
@@ -102,45 +102,45 @@ export const AppContainer = (props: { children:
React.ReactNode }) => {
},
{
name: 'Examples',
- href: 'https://github.com/DAGWorks-Inc/burr/tree/main/examples',
+ href: 'https://github.com/apache/burr/tree/main/examples',
icon: FolderIcon,
linkType: 'external'
},
...(backendSpec?.supports_demos
? [
- {
- name: 'Demos',
- href: '/demos',
- icon: ListBulletIcon,
- linkType: 'internal',
- children: [
- { name: 'counter', href: '/demos/counter', current: false,
linkType: 'internal' },
- { name: 'chatbot', href: '/demos/chatbot', current: false,
linkType: 'internal' },
- {
- name: 'email-assistant',
- href: '/demos/email-assistant',
- current: false,
- linkType: 'internal'
- },
- {
- name: 'streaming-chatbot',
- href: '/demos/streaming-chatbot',
- current: false,
- linkType: 'internal'
- },
- {
- name: 'deep-researcher',
- href: '/demos/deep-researcher',
- current: false,
- linkType: 'internal'
- }
- ]
- }
- ]
+ {
+ name: 'Demos',
+ href: '/demos',
+ icon: ListBulletIcon,
+ linkType: 'internal',
+ children: [
+ { name: 'counter', href: '/demos/counter', current: false,
linkType: 'internal' },
+ { name: 'chatbot', href: '/demos/chatbot', current: false,
linkType: 'internal' },
+ {
+ name: 'email-assistant',
+ href: '/demos/email-assistant',
+ current: false,
+ linkType: 'internal'
+ },
+ {
+ name: 'streaming-chatbot',
+ href: '/demos/streaming-chatbot',
+ current: false,
+ linkType: 'internal'
+ },
+ {
+ name: 'deep-researcher',
+ href: '/demos/deep-researcher',
+ current: false,
+ linkType: 'internal'
+ }
+ ]
+ }
+ ]
: []),
{
name: 'Develop',
- href: 'https://github.com/dagworks-inc/burr',
+ href: 'https://github.com/apache/burr',
icon: ComputerDesktopIcon,
linkType: 'external'
},
@@ -278,9 +278,8 @@ export const AppContainer = (props: { children:
React.ReactNode }) => {
{/* Static sidebar for desktop */}
<div
- className={`hidden ${
- sidebarOpen ? 'h-screen lg:fixed lg:inset-y-0 lg:z-50 lg:flex
lg:w-72 lg:flex-col' : ''
- }`}
+ className={`hidden ${sidebarOpen ? 'h-screen lg:fixed lg:inset-y-0
lg:z-50 lg:flex lg:w-72 lg:flex-col' : ''
+ }`}
>
{/* Sidebar component, swap this element with another sidebar if you
like */}
<div className="flex grow flex-col gap-y-5 overflow-y-auto border-r
border-gray-200 bg-white px-6 py-2">
@@ -375,11 +374,10 @@ export const AppContainer = (props: { children:
React.ReactNode }) => {
</div>
</div>
<div
- className={`hidden h-screen ${
- !sidebarOpen
- ? 'lg:fixed lg:inset-y-0 lg:z-50 lg:flex lg:w-8 lg:flex-col
justify-end lg:py-2 lg:px-1'
- : ''
- }`}
+ className={`hidden h-screen ${!sidebarOpen
+ ? 'lg:fixed lg:inset-y-0 lg:z-50 lg:flex lg:w-8 lg:flex-col
justify-end lg:py-2 lg:px-1'
+ : ''
+ }`}
>
<ToggleOpenButton open={sidebarOpen} toggleSidebar={toggleSidebar} />
</div>
diff --git a/telemetry/ui/src/components/routes/ProjectList.tsx
b/telemetry/ui/src/components/routes/ProjectList.tsx
index e317cdee..8ccabc83 100644
--- a/telemetry/ui/src/components/routes/ProjectList.tsx
+++ b/telemetry/ui/src/components/routes/ProjectList.tsx
@@ -84,7 +84,7 @@ export const ProjectListTable = (props: { projects:
Project[]; includeAnnotation
<TableCell>
<LinkText
href={project.uri}
-
text={project.uri.replace('https://github.com/DAGWorks-Inc/burr/tree/main/',
'')}
+
text={project.uri.replace('https://github.com/apache/burr/tree/main/', '')}
/>
</TableCell>
<TableCell>{project.num_apps}</TableCell>