This repo shows how to publish an interactive Marimo notebook with Github Pages.
Only uv is needed, you can get it from https://docs.astral.sh/uv/.
To create a marimo notebook called notebook.py, simply run uvx marimo edit --sandbox notebook.py.
The --sandbox argument instructs marimo to create a self-contained notebook, managed by PEP 723 metadata.
To create a WebAssembly (WASM) HTML file which allows running Python in the browser, export the notebook with uvx export html-wasm notebook.py -o docs.
The resulting index.html file will be place in the docs folder, along with other necessary files.