Make Jupyter Book pages reactive with marimo.
Jupyter Book builds books and documentation sites from MyST
Markdown and notebooks. jupyter-book-marimo adds reactive Python, SQL, and Markdown
cells to its MyST pages.
The plugin compiles each page's {marimo} cells into one marimo app. Jupyter Book
places each result at its authored position and publishes the surrounding book as static
HTML.
The browser runtime then hydrates the shared app so controls and dependent cells stay interactive across ordinary MyST sections.
Requires Python 3.10 or newer.
Quick start
Install the plugin in the environment that builds the book:
pip install jupyter-book-marimo
Register its executable in myst.yml:
project:
plugins:
- type: executable
path: .venv/bin/jupyter-book-marimo
Paths are resolved from myst.yml. On Windows, use
.venv/Scripts/jupyter-book-marimo.exe. A myst.yml in docs/ uses a path beginning
with ../.venv/.
Write reactive cells in a MyST page:
```{marimo} python
import marimo as mo
slider = mo.ui.slider(start=1, stop=10, label="items")
slider
```
```{marimo} python
mo.md(f"The slider is set to **{slider.value}**.")
```
Build the book:
jupyter-book build --html
The plugin compiles every page into one marimo app. Each visible cell becomes an island backed by that shared app, so dataflow continues across ordinary MyST sections. The static output renders before the browser runtime starts.
Use {marimo-config} for page defaults, setup code, and dependencies:
```{marimo-config}
:echo: true
:pyproject: |
requires-python = ">=3.10"
dependencies = ["pandas"]
```
Documentation
Read the user documentation for authoring options, page configuration, styling, and runtime assets.
See CONTRIBUTING.md for local development.
Metadata
Release files for jupyter-book-marimo 0.0.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| jupyter_book_marimo-0.0.3.tar.gz | 1.6 MB | Without provenance | Details for jupyter_book_marimo-0.0.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| jupyter_book_marimo-0.0.3-py3-none-any.whl | Python 3 | none | any | Details for jupyter_book_marimo-0.0.3-py3-none-any.whl |
Total release size: 1.6 MB
Release files / jupyter_book_marimo-0.0.3.tar.gz
| Download URL | jupyter_book_marimo-0.0.3.tar.gz |
|---|---|
| Size | 1.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3f931d683eb12736f2ef9ff745f71f035584dbcefc5314d669a448cefff36b3d
|
|
BLAKE2b-256 checksum How to use checksums |
ced8548864b62724d2d19146050133a0684d19985a2b5f3d95d49ed94f053bfa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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}
|
Release files / jupyter_book_marimo-0.0.3-py3-none-any.whl
| Download URL | jupyter_book_marimo-0.0.3-py3-none-any.whl |
|---|---|
| Size | 38.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
464ec536f0ae9c3ff611e5fd99b89b38fe83dc9ba4457ccae2fd155c0775b3ac
|
|
BLAKE2b-256 checksum How to use checksums |
9a6dc6113b47af2085960a4a0f820135f3e1dae1f0d1f7eb198e2f8a0a4dff22
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.12.2 {"installer":{"name":"uv","version":"0.12.2","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}
|
Security for jupyter-book-marimo 0.0.3
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.