marimo-notebook
Create Python-based interactive notebooks with marimo's reactive cell architecture.
- Notebooks are pure Python files with
@app.celldecorated functions representing cells; dependencies and inputs/outputs are automatically managed through function parameters - Supports three execution modes: script mode (non-interactive testing), interactive browser editing, and CLI execution via
uv run marimo - Use
mo.app_meta().mode == "script"to detect execution context and adapt data sources without duplicating UI elements or wrapping logic in conditionals - Built-in linting via
marimo checkcatches common mistakes; optional pytest integration enables test cells prefixed withtest_
Notes for marimo Notebooks
marimo uses Python to create notebooks, unlike Jupyter which uses JSON. Here's an example notebook:
# /// script
# dependencies = [
# "marimo",
# "numpy==2.4.3",
# ]
# requires-python = ">=3.14"
# ///
import marimo
__generated_with = "0.20.4"
app = marimo.App(width="medium")
More from marimo-team/skills
marimo-batch
An opintionated skill to prepare a marimo notebook to make it ready for a scheduled run.
1.6Kanywidget-generator
Generate anywidget components for marimo notebooks.
1.4Kjupyter-to-marimo
Convert a Jupyter notebook (.ipynb) to a marimo notebook (.py).
1.3Kwasm-compatibility
Check if a marimo notebook is compatible with WebAssembly (WASM) and report any issues.
1.1Kimplement-paper
Implement a research paper as an interactive marimo notebook together with the user. Start by understanding what the user wants to explore, fetch the paper via alphaxiv, then build a focused notebook.
883add-molab-badge
Add "Open in molab" badge(s) linking to marimo notebooks. Works with READMEs, docs, websites, or any markdown/HTML target.
767