LinuxCommandLibrary

marimo

Create and run reactive Python notebooks

TLDR

Create or edit notebooks by starting a marimo server

$ marimo edit
copy

Start a marimo server on a specific port without launching a browser
$ marimo edit [[-p|--port]] [port_number] --headless
copy

Edit a specific notebook
$ marimo edit [path/to/notebook.py]
copy

Run a marimo notebook as an app in read-only mode
$ marimo run [path/to/notebook.py]
copy

Start an interactive tutorial to learn marimo
$ marimo tutorial [intro|components|dataflow|io]
copy

View command-specific help
$ marimo [edit|run|tutorial|config|new|...] --help
copy

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)

Copied to clipboard