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 developers at

StanfordJohns HopkinsSonos

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

Loved by developers, researchers, and educators

I’ve been using marimo for a project; what a piece of art! It’s easy to get started with and tremendously valuable to showcase results of data science work. Simple, intuitive, and high impact.

Tina Diao

A really interesting new twist on Python notebooks. The most powerful feature is that these notebooks are reactive: if you change the value or code in a cell every other cell that depends on that value will update automatically

Simon W

Been searching for this for years. Reactive python in the browser, easy to share, looks great out of the box. Go @marimo_io go!

Brendan Cooley

Reactive python notebooks running natively in the browser? https://marimo.app/l/zo3ekv Yes, please! @marimo_io

Georgios Varnavides

Marimo is becoming what I would have wanted Pluto to be. Congratulations on your work!!

Raphael Chinchilla

Never going back to the stone age tools where you have to re run all your cells by hand.

egnor

I am VERY impressed … every time I thought "Hmm, it would be nice if they could also do this thing", a few lines down, you show how to do exactly this thing. And half of the stuff sounds like magic becoming real.

apahl

This is so mesmerizing - you just don't see this kind of thing in #python.
… the first non-ipython notebook to be taken seriously.

Alexander Kislukhin

marimo's the first jupyter replacement that's gotten me to replace jupyter, potentially streamlit/gradio too. thats neat - love the vision.

Fred Bliss

Stumbled upon marimo, tried it out, and OMG, is this wonderful! And versionable directly as code? You talk to my heart

mr munshine

I’ve been using marimo for a project; what a piece of art! It’s easy to get started with and tremendously valuable to showcase results of data science work. Simple, intuitive, and high impact.

Tina Diao

A really interesting new twist on Python notebooks. The most powerful feature is that these notebooks are reactive: if you change the value or code in a cell every other cell that depends on that value will update automatically

Simon W

Been searching for this for years. Reactive python in the browser, easy to share, looks great out of the box. Go @marimo_io go!

Brendan Cooley

Reactive python notebooks running natively in the browser? https://marimo.app/l/zo3ekv Yes, please! @marimo_io

Georgios Varnavides

Marimo is becoming what I would have wanted Pluto to be. Congratulations on your work!!

Raphael Chinchilla

Never going back to the stone age tools where you have to re run all your cells by hand.

egnor

I am VERY impressed … every time I thought "Hmm, it would be nice if they could also do this thing", a few lines down, you show how to do exactly this thing. And half of the stuff sounds like magic becoming real.

apahl

This is so mesmerizing - you just don't see this kind of thing in #python.
… the first non-ipython notebook to be taken seriously.

Alexander Kislukhin

marimo's the first jupyter replacement that's gotten me to replace jupyter, potentially streamlit/gradio too. thats neat - love the vision.

Fred Bliss

Stumbled upon marimo, tried it out, and OMG, is this wonderful! And versionable directly as code? You talk to my heart

mr munshine

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