Marimo is a next-generation, open-source Python notebook that is reactive, stored as pure Git-friendly Python, and runs seamlessly as a script, module or shareable app.
Traditional notebooks hide state in cell execution order, which is why they so often break when re-run top to bottom. Marimo fixes this at the root: it treats your notebook as a dataflow graph, so editing a cell automatically re-runs everything that depends on it and nothing that does not. The result feels like a spreadsheet’s reliability combined with a notebook’s expressiveness — no more stale outputs, no more ‘restart and run all’ roulette.
Crucially, a marimo notebook is stored as a clean Python file rather than a JSON blob. That makes notebooks diffable in Git, importable as modules, executable as scripts, and deployable as interactive web apps, satisfying the full lifecycle from exploration to production. Data work is native: you can query databases with SQL cells powered by DuckDB, build interactive widgets and dashboards with a rich UI library, and use built-in LLM support to generate and refactor cells with AI assistance. Everything is open source and runs locally with a single pip install.
Marimo is completely free and open source (Apache 2.0). Install it with pip, run it locally, self-host apps, and use every notebook feature at no cost. The company offers optional hosted and enterprise services for teams, but the editor itself — including reactivity, SQL and app sharing — carries no paywall.
Data scientists, researchers and engineers frustrated by Jupyter’s reproducibility problems, and teams that want notebooks under normal software-engineering discipline. Casual users who live entirely in hosted notebook platforms may prefer a browser-only tool with nothing to install.