Skip to main content

Design custom views for Marimo notebooks

Project description

Marimo Studio

Build focused dashboards, reports, and tools from a Marimo notebook. Keep calculations, reactive controls, plots, tables, and anywidgets in Python, then arrange the cells and values each audience needs in custom HTML and CSS views. One notebook can serve several views.

Try the example

From a checkout with uv installed, run:

uv run marimo-studio examples/analysis.py

The workspace opens with the notebook and finished dashboard side by side. Change the scenario or quarter and watch the metrics, summary, and table update from the same Python session. Split either pane when you want the HTML or CSS source in the workspace. Open Pane, choose Add Source, then place it on any side of the current pane.

The example pairs an ordinary notebook with one view under examples/__marimo__/studio/analysis/dashboard/.

Build a view

Open any notebook with Studio:

uvx marimo-studio analysis.py

Studio creates a blank dashboard view beside the notebook. Place complete cell outputs with <marimo-cell> and JSON-compatible Python values with mo-value. Controls and widgets remain connected to the notebook kernel. In edit mode, a control change in the editor or any attached preview updates the other open views.

Keep the editor and preview open while you or an agent edits the view. Saved HTML and CSS refresh around the running Python session. The CLI exposes notebook discovery and runtime validation as structured output:

uvx marimo-studio inspect analysis.py --display --format json
uvx marimo-studio check analysis.py --runtime --format json

Create another view from the same notebook:

uvx marimo-studio view add executive analysis.py

View source stays under __marimo__/studio/ with the notebook. Python remains the source of calculations and reactive behavior.

Run the view

Serve the default view through Marimo's server:

uv run --with marimo-studio \
  marimo run analysis.py \
  --sandbox \
  --headless

Visitors receive the custom view backed by a live Python session. Marimo keeps ownership of notebook execution, authentication, sessions, and server APIs.

Use Python 3.11 or newer with Marimo 0.23.16 or newer.

Documentation

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

marimo_studio-0.0.2.tar.gz (7.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

marimo_studio-0.0.2-py3-none-any.whl (7.2 MB view details)

Uploaded Python 3

File details

Details for the file marimo_studio-0.0.2.tar.gz.

File metadata

  • Download URL: marimo_studio-0.0.2.tar.gz
  • Upload date:
  • Size: 7.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marimo_studio-0.0.2.tar.gz
Algorithm Hash digest
SHA256 1be24c5f430a1135e61f544dee5b404e0fac1cb2f5c5c30001f0af593871bac9
MD5 41b6f89a8013d3c7d1acf09fe621ac68
BLAKE2b-256 bf6ae206d65925f558a33b3a1ab6e39beede06f5795dc448b7f69bf292e16f15

See more details on using hashes here.

File details

Details for the file marimo_studio-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: marimo_studio-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 7.2 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.12.1 {"installer":{"name":"uv","version":"0.12.1","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for marimo_studio-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 20d9e0db230d06a8c8529726958d5b6f01797ae6ab8f8939eba56ed0a378a240
MD5 4d8eb8068b06c11a62e1d4c66119f029
BLAKE2b-256 024d16483ac94a036b6dbe0e52c68c759f523b195b54232e2cfd3dc4405823ec

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page