A reactive Python notebook that's reproducible, git-friendly, and deployable as scripts or apps.
marimo is a reactive Python notebook: run a cell or interact with a UI element, and marimo automatically runs dependent cells (or marks them as stale), keeping code and outputs consistent. marimo notebooks are stored as pure Python, executable as scripts, and deployable as apps.
Highlights.
- reactive: run a cell, and marimo automatically runs all dependent cells
- interactive: bind sliders, tables, plots, and more to Python — no callbacks required
- reproducible: no hidden state, deterministic execution
- executable: execute as a Python script, parametrized by CLI args
- shareable: deploy as an interactive web app, or run in the browser via WASM
- data-centric: built-in SQL support and data sources panel
- git-friendly: stored as
.py
files
pip install marimo && marimo tutorial intro
Try marimo at our online playground, which runs entirely in the browser!
Jump to the quickstart for a primer on our CLI.