marimo
Create and run reactive Python notebooks
TLDR
Create or edit notebooks by starting a marimo server
Start a marimo server on a specific port without launching a browser
Edit a specific notebook
Run a marimo notebook as an app in read-only mode
Start an interactive tutorial to learn marimo
View command-specific help
SYNOPSIS
marimo command [options]
PARAMETERS
run
Execute the Marimo notebook.
edit
Open the Marimo notebook in the editor (browser-based).
convert
Convert a Marimo notebook into various formats.
--version
Display the version of Marimo.
--help
Display help information.
DESCRIPTION
Marimo is a reactive notebook for Python, designed for reproducibility, collaboration, and deployment. It enables users to create interactive, code-driven documents that are inherently reproducible. Changes to the code automatically propagate to all dependent cells, eliminating stale outputs and simplifying debugging. Marimo notebooks can be easily shared and deployed as interactive applications without additional infrastructure. It differs from traditional notebook environments by focusing on pure Python code (no magic commands), reactive execution, version control friendliness, and seamless deployment. Marimo supports a variety of UI elements for creating interactive reports and dashboards. Its design prioritizes clarity and predictability in execution, aiming to create a more reliable and intuitive notebook experience. The reactive nature helps for easy testing and quick iteration. Marimo files are regular `.py` files, so there are no proprietary json file formats.
DEPLOYMENT
Marimo notebooks can be deployed as interactive web applications using `marimo deploy`. This simplifies the process of sharing interactive reports with non-technical users.
REACTIVITY
Marimo uses a reactive execution model. When a cell's code is changed, marimo automatically re-executes all cells that depend on the changed cell's output. This ensures that outputs are always up-to-date and consistent.
COLLABORATION
Because Marimo files are simply `.py` files, they are easily tracked with version control systems like Git, making collaboration easier.
SEE ALSO
jupyter-notebook(1)