> ## Content Index
> Fetch the complete content index at: https://datascientyst.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Beyond Jupyter: How marimo Is Rethinking Notebooks for Data Science
- URL: https://datascientyst.com/beyond-jupyter-how-marimo-is-rethinking-notebooks-for-data-science/
- Published: 2026-09-30T21:19:32.000Z
- Updated: 2026-09-30T21:19:32.000Z
- Author: John D K
- Tags: Newsletter

*A NumFOCUS affiliated project.* marimo is a core part of the broader Python ecosystem and a member of the NumFOCUS community, alongside projects like NumPy, SciPy, and Matplotlib . If you've ever been frustrated by Jupyter notebooks—the hidden state, the out-of-order execution, the JSON files that break Git—marimo might be exactly what you're looking for.

## What Is It?

marimo is a reactive Python notebook built from scratch. When you change a cell or move a slider, marimo automatically runs all the cells that depend on it. No more "Run All" just to make sure everything is in sync. It models your notebook as a directed acyclic graph (DAG) based on the variables each cell defines and reads, so execution order is determined by data flow, not by where you happened to put the cells .

The practical upshot: no hidden state, no stale outputs, and notebooks that double as Python scripts and interactive web apps.

![](https://datascientyst.com/content/images/2026/09/beyond-jupyter-how-marimo-is-rethinking-notebooks-for-data-science.webp)

## How to Install It?

### Local Installation

Quick and painless:

```bash
pip install marimo
marimo tutorial intro

```

If you want SQL cells, AI completion, and other goodies:

```bash
pip install "marimo[recommended]"

```

You can also use `uv add marimo`, `conda install -c conda-forge marimo`, or Pixi. Then verify everything works by running `marimo tutorial intro`—it opens an interactive tutorial in your browser.

### Online Version

No installation needed. Head to **marimo.app** and start typing. You can also use **molab**, marimo's cloud-hosted playground, to experiment with Python and SQL without setting up anything locally.

## Who Is It Useful For?

Data analysts who are tired of switching between SQL clients, Python scripts, and charting tools. Data scientists who want reproducible notebooks that don't lie to them.

Python developers who want their notebooks to be version-controllable Python files. Educators who want to share interactive examples. And teams that need to pass analyses between people with different skill sets—every marimo notebook is a self-contained Python script, so it just works.

## Some Interesting Examples

The marimo gallery is full of things that make you go "oh, that's neat." A few standouts:

- **Earthquake visualization** – Loads live USGS earthquake data and plots it on an interactive map. [Try it here.](https://molab.marimo.io/github/marimo-team/gallery-examples/blob/main/notebooks/geo/earthquake.py/wasm?ref=gallery)
- **Visualizing embeddings** – An MNIST embedding where each point is a digit. Select points in the plot and get them back in Python instantly. [Play with it here.](https://molab.marimo.io/github/marimo-team/gallery-examples/blob/main/notebooks/algorithms/visualizing-embeddings.py?ref=gallery)
- **Curating data with Hugging Face and dltHub** – Loads the OpenVid dataset, runs it through dlt pipelines, filters with sliders, and validates with dltHub's data quality checks. [Check it out.](https://molab.marimo.io/github/marimo-team/gallery-examples/blob/main/notebooks/external/dlthub-huggingface.py?ref=gallery)

## Resources Worth Bookmarking

- **Tutorial / Key concepts**: [https://docs.marimo.io/getting\_started/key\_concepts.html](https://docs.marimo.io/getting%5Fstarted/key%5Fconcepts.html?ref=datascientyst.com)
- **Inputs (sliders, dropdowns, etc.)**: [https://docs.marimo.io/api/inputs/index.html](https://docs.marimo.io/api/inputs/index.html?ref=datascientyst.com)
- **Plots**: [https://docs.marimo.io/guides/working\_with\_data/plotting.html](https://docs.marimo.io/guides/working%5Fwith%5Fdata/plotting.html?ref=datascientyst.com)
- **Layouts**: [https://docs.marimo.io/api/layouts/](https://docs.marimo.io/api/layouts/?ref=datascientyst.com)

## What I Like

**AI-friendly.** The AI assistant knows what's in your memory and can write code and SQL based on your data's schema. Describe what you want, and it writes the code.

**SQL support.** First-class SQL cells with autocomplete. Connect to Postgres, MySQL, Trino, whatever. The backend even scans your environment for available connections .

**Interactive.** Sliders, dropdowns, tables—all reactive. Move a slider, watch everything update. It feels like a spreadsheet, but it's Python.

**Big team, growing community.** Over 22,000 GitHub stars, 1,000+ forks, and around half of the issues come from outside the core team . That's a healthy sign.

**UI and Search** \- I like the modern UI and the search which is better than the my current choice - [jupyterlab-desktop](https://github.com/jupyterlab/jupyterlab-desktop?ref=datascientyst.com)

## My Concerns

**Too many open issues.** marimo currently has around 552 open issues, with 460 stale for 30+ days and 349 stale for 90+ days. Average open issue age is 203 days . It's a busy project, but some things clearly sit for a while.

**Security concerns.** There have been real CVEs. CVE-2026-39987 was a critical pre-auth RCE where the terminal WebSocket endpoint skipped authentication entirely . CVE-2026-75149 was a code injection issue that could execute commands before any cell ran . PYSEC-2026-2619 was a reflected XSS . All patched, but worth knowing—keep marimo updated and be careful with notebooks from untrusted sources.

## Conclusion

marimo is a genuinely different take on the notebook. The reactive execution model fixes the reproducibility problems that have plagued Jupyter for years. The SQL support, AI assistance, and app-deployment story make it a serious tool for real work. The high issue count and security history are worth keeping in mind, but the team is clearly active and responsive.

If you've ever been annoyed by a notebook that gave you the wrong answer because you ran cells out of order, marimo is worth a look.

Personally I'll continue using the jupyterlab-desktop as my main tool. As a second tools I will use: VS code, [Positron](https://datascientyst.com/positron-a-new-data-science-ide-worth-knowing-about/) and marimo.

## References

1. [marimo Official Website](https://marimo.io/?ref=datascientyst.com)
2. [marimo GitHub Repository](https://github.com/marimo-team/marimo?ref=datascientyst.com)
3. [Key Concepts Tutorial](https://docs.marimo.io/getting%5Fstarted/key%5Fconcepts.html?ref=datascientyst.com)
4. [Inputs API](https://docs.marimo.io/api/inputs/index.html?ref=datascientyst.com)
5. [Plotting Guide](https://docs.marimo.io/guides/working%5Fwith%5Fdata/plotting.html?ref=datascientyst.com)
6. [Layouts API](https://docs.marimo.io/api/layouts/?ref=datascientyst.com)
7. [marimo Gallery](https://marimo.io/gallery?ref=datascientyst.com)
8. [Earthquake Example](https://molab.marimo.io/github/marimo-team/gallery-examples/blob/main/notebooks/geo/earthquake.py/wasm?ref=gallery)
9. [Visualizing Embeddings Example](https://molab.marimo.io/github/marimo-team/gallery-examples/blob/main/notebooks/algorithms/visualizing-embeddings.py?ref=gallery)
10. [dltHub + Hugging Face Example](https://molab.marimo.io/github/marimo-team/gallery-examples/blob/main/notebooks/external/dlthub-huggingface.py?ref=gallery)