Cette page est affichée en anglais. Une traduction française est en cours.
KnowledgeApr 2, 2026·2 min de lecture

Marimo — Reactive Notebook for Python

Next-gen Python notebook that's reactive, reproducible, git-friendly, and deployable as an app. Replaces Jupyter. 20K+ stars.

Introduction

Marimo is a next-generation Python notebook with 20,000+ GitHub stars that fixes everything wrong with Jupyter. Cells are reactive — change one cell and all dependent cells automatically re-execute, eliminating hidden state bugs. Notebooks are stored as pure .py files (not JSON), making them git-friendly, reviewable, and runnable as scripts. Deploy any notebook as an interactive web app with one command. With built-in SQL support, a rich UI component library, and AI-assisted coding, Marimo is how Python notebooks should have always worked.

Works with: Python, Pandas, NumPy, Plotly, Matplotlib, scikit-learn, any Python library. Best for data scientists tired of Jupyter's hidden state and merge conflicts. Setup time: under 1 minute.


Why Marimo Over Jupyter

Feature Jupyter Marimo
Reactivity Manual re-run cells Auto-updates dependents
File format JSON (.ipynb) Pure Python (.py)
Git diffs Unreadable JSON diffs Clean Python diffs
Hidden state Constant issue Impossible by design
Run as script Needs conversion python notebook.py
Deploy as app Needs Voila/Streamlit marimo run notebook.py
SQL support Needs extensions Built-in

Reactivity

import marimo as mo
x = mo.ui.slider(1, 10, value=5)
x
# Cell 2: automatically re-runs when slider changes
result = x.value ** 2
mo.md(f"**{x.value}squared = {result}**")

No more running cells out of order. Marimo builds a dependency DAG and ensures consistent state.

Pure Python Files

Notebooks are stored as .py files — readable, diffable, and executable:

import marimo
app = marimo.App()

@app.cell
def cell1():
    import pandas as pd
    data = pd.read_csv("sales.csv")
    return data,

@app.cell
def cell2(data):
    summary = data.groupby("region").sum()
    return summary,

Built-in UI Components

Sliders, dropdowns, tables, charts, file upload, date pickers — all reactive and composable.

SQL Support

result = mo.sql(f"SELECT region, SUM(revenue) FROM {sales_df} GROUP BY region")

Deploy as Web App

marimo run dashboard.py --host 0.0.0.0 --port 8080

FAQ

Q: What is Marimo? A: Marimo is a reactive Python notebook with 20,000+ GitHub stars that auto-updates dependent cells, stores notebooks as pure .py files, and deploys as web apps with one command.

Q: Can I convert Jupyter notebooks? A: Yes. marimo convert notebook.ipynb > notebook.py converts any Jupyter notebook.

Q: Is Marimo free? A: Yes, fully open-source under Apache-2.0.


🙏

Source et remerciements

Created by marimo-team. Licensed under Apache-2.0.

marimo — ⭐ 20,000+

Discussion

Connectez-vous pour rejoindre la discussion.
Aucun commentaire pour l'instant. Soyez le premier à partager votre avis.

Actifs similaires