Skip to main content

Quickstart

Get up and running with marimo in minutes. This guide walks you through installation, creating your first notebook, and exploring marimo’s core features.

Installation

Install marimo using pip or conda:
The recommended extras include SQL support, AI completion, formatting tools, and more features that enhance your experience.

Your first notebook

1

Run the interactive tutorial

The fastest way to learn marimo is through the built-in tutorial:
This launches an interactive notebook that teaches you marimo’s core concepts.
2

Create a new notebook

Start a new notebook with the edit command:
This opens marimo in your browser with an empty notebook.
3

Add your first cell

Click the ”+ Code” button to add a cell, then write some Python:
When you run this cell (Ctrl+Enter or Cmd+Enter), you’ll see an interactive slider.
4

Create a reactive cell

Add another cell that uses the slider value:
Move the slider and watch the plot update automatically - that’s reactivity!
5

Save your notebook

Save your notebook with Ctrl+S (or Cmd+S). You’ll be prompted for a filename. marimo saves it as a .py file:

Core workflows

Creating notebooks

Create or edit notebooks with the edit command:

Running as apps

Deploy your notebook as a web app where code is hidden and non-editable:
This is perfect for:
  • Sharing interactive dashboards with colleagues
  • Creating internal tools
  • Publishing data stories
  • Building demos and prototypes
In app mode, users can interact with UI elements but cannot edit the code. The notebook remains fully reactive.

Executing as scripts

Run notebooks as command-line scripts:
You can pass arguments:

Exploring tutorials

marimo includes several built-in tutorials:

Essential features

Interactive UI elements

marimo provides 40+ UI components that automatically trigger cell re-execution:
Access values with .value:

Dynamic markdown

Create markdown that updates with your data:

SQL cells

Query data with native SQL support:
The SQL cell creates a dataframe you can use in Python cells.

Layouts

Organize outputs with flexible layouts:

Converting from Jupyter

Convert existing Jupyter notebooks to marimo:
Automatic conversion works well for simple notebooks, but you may need to refactor cells that have hidden state or out-of-order execution dependencies.

Next steps

Key concepts

Learn about reactivity, cells, and the marimo execution model

Installation

Explore advanced installation options and optional dependencies

Getting help