The future of Python notebooks

marimo is an open-source reactive notebook for Python — reproducible, git-friendly, executable as a script, and shareable as an app.

$
$

Used by teams at

SLAC National Accelerator LaboratorySumblegridmatic

The notebook you've always wanted

marimo notebooks are reproducible, extremely interactive, designed for collaboration (git-friendly!), deployable as scripts or apps, and fit for the modern Pythonista.

Outputs update automatically

Run one cell and marimo reacts by automatically running affected cells, eliminating the error-prone chore of managing notebook state.

marimo's reactive UI elements, like dataframe GUIs and plots, make working with data feel refreshingly fast, futuristic, and intuitive.

Rapidly experiment with code and models

Bind UI elements to Python values

Pick-up-and-play design, with depth for power users

exploring data in marimo

Python-first design

marimo notebooks are pure Python and stored as .py files

Version with git, run as Python scripts, import symbols from a notebook into other notebooks or Python files, and lint or format with your favorite tools.

Reproducible by default

Code with confidence in your notebook's correctness.

You'll always be able to reproduce your collaborators' results. Notebooks are executed in a deterministic order, with no hidden state — delete a cell and marimo deletes its variables while updating affected cells.

Built for collaboration

Collaborate on notebooks with git: small changes yield small diffs. Goodbye JSON, hello Python!

Want to share outputs? Export to static HTML, or serve your notebook as a web app with the marimo CLI.

file_type_gitlab

Made for developers

We care a lot about developer experience.

The marimo editor comes with GitHub Copilot, autocomplete, hover tooltips, vim keybindings, code formatting, debugging panels, and extensive hotkeys. marimo also ships with a CLI, a library, and a VS Code extension. Learn more at our docs.

Go from prototype to production

marimo makes it seamless to go from prototype to production.

Run as Python scripts, locally or in pipelines

Deploy as read-only web apps

Made with marimo

marimo lets you make just about anything. Here are example notebooks to jog your imagination.
Experiment with data and models

Run computational experiments and explore data in an interactive, reproducible programming environment.

Interactive Embedding Explorer

Interactive Embedding Explorer

by marimo team

Debugging Embeddings with PyMDE

Debugging Embeddings with PyMDE

by marimo team

Embedding Authors in Google Scholar

Embedding Authors in Google Scholar

by marimo team

Build internal tools

Build maintainable internal tools using just Python, without the hassle of custom frontends, infra, endpoints, and deployments.

NLP Model Comparison

NLP Model Comparison

by marimo team

Data Labeling Tool

Data Labeling Tool

by marimo team

PDF Chat

PDF Chat

by marimo team

Financial Calculator

Financial Calculator

by marimo team

Communicate research and education

Share research and make it tangible. Engage students with interactive educational apps.

Optimal Signal Decomposition

Optimal Signal Decomposition

by the GISMo lab at SLAC

Regularization in Machine Learning

Regularization in Machine Learning

by marimo team

Graph Drawing Algorithms

Graph Drawing Algorithms

by marimo team

Drill-down into data

Make featureful, interactive, and beautiful dashboards that let users filter, slice, and drill-down to their heart's content.

Movies by the Decade

Movies by the Decade

by marimo team

Car Engine Efficiency by Country

Car Engine Efficiency by Country

by marimo team

Pokémon Statistics

Pokémon Statistics

by marimo team

Join the community

Find out what others are building

Get notified about new features and updates