marimo is a reactive notebook for Python. It allows you to rapidly experiment with data and models, code with confidence in your notebook’s correctness, and productionize notebooks as pipelines or interactive web apps.

pip install marimo && marimo tutorial intro
conda install -c conda-forge marimo && marimo tutorial intro


  • reactive: run a cell, and marimo automatically updates all affected cells and outputs

  • interactive: bind sliders, tables, plots, and more to Python — no callbacks required

  • reproducible: no hidden state, deterministic execution order

  • deployable: executable as a script, deployable as an app

  • developer-friendly: git-friendly .py file format, GitHub Copilot, fast autocomplete, code formatting, and more

marimo was built from the ground up to solve many well-known problems associated with traditional notebooks.

⚡ marimo notebooks run automatically with interactions and code changes

✨ express yourself with markdown, LaTeX, tables, accordions, tabs, grids, and more

🔬 do reproducible science in an environment that makes your data tangible

🚀 deploy your creations as interactive web apps