marimo is a next-generation Python notebook where every notebook is also shareable as an interactive web app: explore data, run experiments, build tools, and deploy apps, all from one seamless environment.

pip install marimo && marimo tutorial intro

marimo is a replacement for Jupyter notebooks with next-gen features.

  • reactive: marimo runs automatically, like a spreadsheet, based on global variables

  • interactive: control notebook execution with interactive elements — scrub a slider or select data in a plot, automatically get values back in Python (no callbacks!)

  • build apps: convert marimo notebooks to web apps, with zero lines of code or configuration

  • performant: marimo runs the minimal amount of code required to update your notebook

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

These features accelerate data work, increase reproducibility by eliminating hidden state, transform notebooks into interactive tools, and make notebooking a delight.

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