Skip to main content

Build and publish python packages from marimo notebooks

Project description

PyPI version

[!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


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)

Uploaded Source

Built Distribution

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

marimo_dev-0.4.3-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

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

Hashes for marimo_dev-0.4.3.tar.gz
Algorithm Hash digest
SHA256 130a2220d2ffc651457ff76fd6cd4aa270a01a5bfb451fce00f82655b78d8bd4
MD5 92f5c49bd25b4994431f75282dc65585
BLAKE2b-256 e466436c9177129b5f60d927ef548ec3d151a9512339d01566e37a6b0adf3ebb

See more details on using hashes here.

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

Hashes for marimo_dev-0.4.3-py3-none-any.whl
Algorithm Hash digest
SHA256 911d27026b93821da7a854cb07cf78e6c5438e7dc6b25aa732fe315befb1cdb8
MD5 86ff1a295307590a54f9f9c3da84d2a8
BLAKE2b-256 bfcd21e92adef584ee765eda441b6a0d92977d73fad6ebb870c79432cca2bf33

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