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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1be24c5f430a1135e61f544dee5b404e0fac1cb2f5c5c30001f0af593871bac9
|
|
| MD5 |
41b6f89a8013d3c7d1acf09fe621ac68
|
|
| BLAKE2b-256 |
bf6ae206d65925f558a33b3a1ab6e39beede06f5795dc448b7f69bf292e16f15
|
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
20d9e0db230d06a8c8529726958d5b6f01797ae6ab8f8939eba56ed0a378a240
|
|
| MD5 |
4d8eb8068b06c11a62e1d4c66119f029
|
|
| BLAKE2b-256 |
024d16483ac94a036b6dbe0e52c68c759f523b195b54232e2cfd3dc4405823ec
|