marimo is an open-source reactive notebook for Python - reproducible, git-friendly, executable as a script, and shareable as an app.
Run one cell and marimo reacts by automatically running affected cells, eliminating the error-prone chore of managing notebook state. marimo's reactive UI elements, like dataframe GUIs and plots, make working with data feel refreshingly fast, futuristic, and intuitive. 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. You'll always be able to reproduce your collaborators' results. Notebooks are executed in a deterministic order, with no hidden state — delete a cell and marimo deletes its variables while updating affected cells.
Collaborate on notebooks with git: small changes yield small diffs. Goodbye JSON, hello Python! Want to share outputs? Export to static HTML, or serve your notebook as a web app with the marimo CLI. 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.