> The complete documentation index is at [llms.txt](/llms.txt).

Notebooks and data apps are widely used by data teams to explore datasets, test ideas, and share results with other stakeholders.

- **Notebooks** (for example, Jupyter or marimo) are often used for prototyping, exploratory analysis, and quick experiments.
- **Data app frameworks** (for example, Streamlit) allow you to turn Python code into interactive applications that you can share with a broader audience.

All of these environments can access Bauplan through the Python SDK. You can call any client method from a notebook cell or an app callback to query tables, run pipelines, create branches, or materialize results.

When using notebooks or apps, it is good practice to work on a **data** **branch** rather than directly on `main`. Branches provide an isolated data sandbox in the lakehouse, so you can run exploration and app queries on production data without affecting the production environment. This lets you:

- create temporary environments for analysis or prototyping,
- pin apps or notebooks to a stable snapshot,
- and merge or discard changes once you finish.

- [Jupyter Notebooks](/integrations/notebooks-data-apps/jupyter-notebooks): Use Bauplan in Jupyter notebooks for interactive data exploration
- [Marimo](/integrations/notebooks-data-apps/marimo): Build reactive notebooks with Bauplan and Marimo
- [Streamlit](/integrations/notebooks-data-apps/streamlit): Create interactive data apps powered by Bauplan