Introduction to marimo
marimo is a reactive Python notebook that transforms how you work with data and code. Unlike traditional notebooks, marimo automatically runs dependent cells when you make changes, keeping your code, outputs, and program state perfectly synchronized.Reactive by design
Run a cell and marimo automatically runs all dependent cells, eliminating hidden state and manual re-execution
Git-friendly notebooks
Notebooks stored as clean
.py files that work seamlessly with version controlDeploy as apps
Transform notebooks into interactive web apps with a single command
Interactive UI elements
Bind sliders, dropdowns, and plots to Python without writing callbacks
What makes marimo different?
marimo solves fundamental problems with traditional notebooks like Jupyter by guaranteeing that your notebook code, outputs, and program state are always consistent.No hidden state
Every time you run a cell, marimo analyzes your code and automatically runs cells that depend on it. Delete a cell and marimo scrubs its variables from memory. This eliminates the “run cells out of order” problem that plagues traditional notebooks.Pure Python notebooks
marimo notebooks are stored as pure Python files, not JSON. This means:- Clean diffs in version control
- Easy code review
- Import functions from one notebook into another
- Execute notebooks as scripts:
python notebook.py - Run tests with pytest
Batteries included
marimo comes with everything you need:SQL support
Query dataframes, databases, and data warehouses with native SQL cells
AI assistance
Generate code with AI that understands your data context
Rich UI library
Sliders, tables, plots, chat interfaces, and 40+ interactive components
Package management
Auto-install packages on import with built-in dependency tracking
Interactive dataframes
Page, search, filter millions of rows with no code required
Modern editor
GitHub Copilot, vim keybindings, variable explorer, fast completions
Use cases
marimo excels at:- Data exploration and analysis - Interactive notebooks that stay consistent as you iterate
- Research and experimentation - Reproducible notebooks you can trust
- Internal tools and dashboards - Deploy notebooks as web apps without refactoring
- Teaching and learning - Students see immediate feedback without hidden state confusion
- Reports and presentations - Notebooks with dynamic markdown and beautiful layouts
Get started
Quickstart
Install marimo and create your first notebook in minutes
Key concepts
Learn about reactivity, cells, and how marimo notebooks work
Try marimo instantly in your browser with molab, our free online notebook environment.
Philosophy
marimo is designed to be:- Simple - Intuitive APIs that feel natural to Python developers
- Immersive - Focus on your work without wrestling with the tool
- Interactive - Immediate feedback as you code and explore data
- Seamless - Works with your existing tools and workflows
- Fun - Enjoyable to use for both quick experiments and serious projects