Build interactive data dashboards that update automatically when you adjust sliders or filters.
Create and share reproducible analyses as plain Python files that work with git version control.
Deploy notebooks as live web apps or slide decks directly without converting to another format.
Write SQL queries that reference Python variables and run against dataframes or databases.
Requires Python environment setup and WebAssembly toolchain; initial notebook creation and reactivity demo takes time to configure.
marimo is a notebook for writing and running Python, with a different design from Jupyter. A traditional notebook is a list of code cells you can run in any order, which makes it easy to end up with output on screen that no longer matches the code, because you ran an earlier cell and forgot to re-run the cells that depend on it. marimo is reactive: when you change or run one cell, it automatically runs every other cell whose code references that cell's variables (or, in lazy mode, marks them as stale). Deleting a cell also removes its variables from memory, so there is no hidden state lingering behind the scenes. A second core difference is that marimo notebooks are saved as plain Python .py files rather than the JSON format used by Jupyter. That means they show clean diffs in Git, can be imported as normal modules to reuse functions and classes, can be executed from the command line as scripts with parameters, and can be deployed as interactive web apps or slides, or run entirely in the browser through WebAssembly. The README also calls out first-class SQL cells that query dataframes, databases, or lakehouses and return Python dataframes, interactive UI elements such as sliders and dropdowns that re-run dependent cells automatically, built-in package management, pytest support, and AI features that let you connect agent CLIs like Claude Code or use a built-in AI assistant aware of your variables. People reach for marimo when they want notebooks for data work, machine learning experiments, dashboards, or teaching, but they also want reproducibility, version control, and the option to ship the same file as a deployed app. Installation is pip install marimo.
Generated 2026-05-21 · Model: sonnet-4-6 · Verify against the repo before relying on details.