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 HopkinsUC BerkeleyPrincetonMozilla AIChan Zuckerberg InitiativeBlackRockSonosColumbiaBunkerhill HealthSumbleCradleStanfordJohns HopkinsUC BerkeleyPrincetonMozilla AIChan Zuckerberg InitiativeBlackRockSonosColumbiaBunkerhill HealthSumbleCradle

Fit for the modern Pythonista

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

Outputs update automatically

Run one cell and marimo reacts by automatically running affected cells, eliminating the error-prone chore of managing notebook state. Working with expensive notebooks? Just configure marimo to mark outputs as stale instead of autorunning.

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 execution

Notebooks are executed in a deterministic order, with no hidden state — delete a cell and marimo deletes its variables while updating affected cells.

marimo can optionally serialize package requirements in notebook files and instantiate ephemeral virtual environments for them.

Built for collaboration

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

Share results by exporting as HTML or serving 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

Marimo is amazing. I'm using it daily instead of Jupyter. Rather than writing throwaway notebooks, I have a big library of reusable Marimo mini apps.

Anthony Goldbloom

😍 Saw the coolest demo of marimo tonight: an open-source developer environment that feels like a notebook -- but can be visualized as a web app, and under the hood is version-controllable (and deployable!) as a Python script.

Paige Bailey

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 Willison

marimo is one of the AI tools that I'm most excited about. Such a welcome update to the python notebook experience

Nader Khalil

Marimo is creating some really wonderful interactive computing environments that are intuitive, powerful and versatile.

Eric Zhang

marimo is one of my favorite tools right now and people are sleeping on it. using our graph framework in a DAG-based reactive notebook is :chefs-kiss:✨

Ben Guo

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

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

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

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

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

Raphael Chinchilla

marimo is one of my favorite tools right now and people are sleeping on it. using our graph framework in a DAG-based reactive notebook is :chefs-kiss:✨

Ben Guo

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

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

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

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

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

Raphael Chinchilla

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