Stars
Forks
Watchers
Developer links
Marimo
Marimo is a reactive Python notebook that treats cells like spreadsheet formulas: change one cell or interact with a UI widget and every dependent cell automatically re-executes, eliminating the hidden state bugs that make traditional notebooks unreliable. Backed by over 22,000 GitHub stars, notebooks are stored as pure Python files with PEP 723 inline metadata, making them Git-diffable, importable as modules, executable as CLI scripts with parameterized arguments, and testable with PyTest. Built-in SQL cells query Polars, Pandas, PyArrow, DuckDB, SQLite, PostgreSQL, and MySQL databases, with results automatically flowing into the reactive dependency graph. The AI-native editor provides GitHub Copilot autocomplete, context-aware assistants that access live runtime variables, inline code edits powered by configurable models from OpenAI, Anthropic, or local Ollama instances, and a pair mode that lets external AI agents connect over WebSocket. Notebooks become read-only interactive web applications with marimo run, collaborative authoring environments with marimo edit, or embedded flows inside existing FastAPI applications through ASGI middleware. Gallery mode serves multiple notebooks from a single instance with an auto-generated index page. The Docker image ships with SQL support, token-based authentication, health check endpoints at /health and /api/status, and configurable WebSocket or SSE kernel transport for proxy compatibility. Running on a dedicated VPS on RepoCloud with guaranteed CPU, RAM, and SSD, full root SSH access, and a browser serial console. Apache 2.0 licensed.
Benefits
- Reactive Execution Eliminates Hidden State
- Cells automatically re-run when upstream dependencies change, and deleting a cell removes its variables from scope, preventing the stale state and out-of-order execution bugs endemic to Jupyter.
- Git-Friendly Pure Python Storage
- Notebooks are stored as standard Python files with PEP 723 inline metadata, enabling clean Git diffs, code review, PyTest integration, and reuse as importable modules or CLI scripts.
- AI-Native Editing Environment
- GitHub Copilot autocomplete, context-aware AI assistants with live runtime variable access, inline code edits via OpenAI, Anthropic, or Ollama models, and marimo pair mode for external AI agent connections.
- Deploy as Interactive Web Apps
- Serve notebooks as read-only interactive web applications with marimo run, including token-based authentication, gallery mode for multi-notebook instances, and FastAPI ASGI middleware embedding.
Features
- Built-In SQL Cells
- Query PostgreSQL, MySQL, DuckDB, SQLite, Polars, and Pandas DataFrames with native SQL cells whose results feed directly into the reactive dependency graph.
- Reactive Dependency Graph
- Static analysis builds a directed acyclic graph of cell dependencies, automatically re-executing or marking stale any cell affected by upstream changes in real time.
- Package Management
- Auto-detect missing imports and install packages on demand with pip or uv, with optional PEP 723 inline metadata serialization for reproducible per-notebook environments.
- WebAssembly Export
- Export interactive notebooks as standalone WebAssembly-powered HTML files that run entirely in the browser without a Python server backend.
- Docker Deployment
- Official container images at ghcr.io/marimo-team/marimo with SQL and AI variants, token authentication, health endpoints, and configurable WebSocket or SSE kernel transport.