A reactive notebook for Python — run reproducible experiments, execute as a script, deploy as an app, and version with git.
🚀 batteries-included: replaces jupyter, streamlit, jupytext, ipywidgets, papermill, and more
⚡️ reactive: run a cell, and marimo reactively runs all dependent cells or marks them as stale
🖐️ interactive: bind sliders, tables, plots, and more to Python — no callbacks required
🔬 reproducible: no hidden state, deterministic execution, built-in package management
🏃 executable: execute as a Python script, parametrized by CLI args
🛜 shareable: deploy as an interactive web app or slides, run in the browser via WASM
🛢️ designed for data: query dataframes and databases with SQL, filter and search dataframes
🐍 git-friendly: notebooks are stored as .py files
⌨️ a modern editor: GitHub Copilot, AI assistants, vim keybindings, variable explorer, and more