Build and publish python packages from marimo notebooks
Project description
[!WARNING] This project is under active development and is not an official marimo tool - Mar 2026
marimo-dev
types.py → what things are
parse.py → read notebooks into types
build_pkg.py → Project → Python package
build_docs.py → Project → documentation
publish.py → Project → PyPI
cli.py → dispatch
[project]
name = "my-project"
version = "0.1.0"
description = "A cool library"
[tool.marimo-dev]
nbs = "notebooks" # default
out = "src" # default
docs = "docs" # default
skip_prefixes = ["XX_", "test_"] # default
application = "server:app:py_sse.serve" # optional, enables __main__.py
[tool.marimo-dev.renames]
internal_ = "_" # internal_foo → _foo (private)
dunder_ = "__" # dunder_init → __init__
notebooks/
├─ a_utils.py → exported as "utils" (letter prefix stripped)
├─ b_database.py → exported as "database"
├─ XX_scratch.py → skipped (XX_ prefix)
├─ test_stuff.py → skipped (test_ prefix)
$ md build
src/my_project/
├─ __init__.py # re-exports public symbols, __version__, __all__
├─ utils.py # from a_utils.py (imports rewritten to relative)
├─ database.py # from b_database.py
└─ __main__.py # only when application is set in config
docs/
├─ llms.txt # module index with export names
└─ llms-full.txt # complete cleaned source for LLM consumption
$ md bundle app.py
app.py # single file, PEP 723 deps header, entry point appended
# → uv run app.py just works
$ md docs
docs/
├─ llms.txt # module index with export names
└─ llms-full.txt # complete cleaned source
$ md publish [--test]
builds package, then uploads to PyPI (or TestPyPI with --test)
requires ~/.pypirc with token
$ md tidy
removes __pycache__/, __marimo__/, .pytest_cache/, *.pyc
$ md nuke
tidy + removes dist/, docs/, src/, temp/
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
marimo_dev-0.4.3.tar.gz
(10.5 kB
view details)
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_dev-0.4.3.tar.gz.
File metadata
- Download URL: marimo_dev-0.4.3.tar.gz
- Upload date:
- Size: 10.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
130a2220d2ffc651457ff76fd6cd4aa270a01a5bfb451fce00f82655b78d8bd4
|
|
| MD5 |
92f5c49bd25b4994431f75282dc65585
|
|
| BLAKE2b-256 |
e466436c9177129b5f60d927ef548ec3d151a9512339d01566e37a6b0adf3ebb
|
File details
Details for the file marimo_dev-0.4.3-py3-none-any.whl.
File metadata
- Download URL: marimo_dev-0.4.3-py3-none-any.whl
- Upload date:
- Size: 13.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
911d27026b93821da7a854cb07cf78e6c5438e7dc6b25aa732fe315befb1cdb8
|
|
| MD5 |
86ff1a295307590a54f9f9c3da84d2a8
|
|
| BLAKE2b-256 |
bfcd21e92adef584ee765eda441b6a0d92977d73fad6ebb870c79432cca2bf33
|