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.1.tar.gz (10.3 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.1-py3-none-any.whl (13.4 kB view details)

Uploaded Python 3

File details

Details for the file marimo_dev-0.4.1.tar.gz.

File metadata

  • Download URL: marimo_dev-0.4.1.tar.gz
  • Upload date:
  • Size: 10.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","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.1.tar.gz
Algorithm Hash digest
SHA256 04833e0d8837d32671c228ff1a83aa61659e538ce2891044a48f0c82ff382ec7
MD5 4d157d47df11b2a4fcd6db485f966286
BLAKE2b-256 c6b34db4825935adeefcb7705b2eaf783ebf6ea42a30dafd4035512d857728a8

See more details on using hashes here.

File details

Details for the file marimo_dev-0.4.1-py3-none-any.whl.

File metadata

  • Download URL: marimo_dev-0.4.1-py3-none-any.whl
  • Upload date:
  • Size: 13.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.18 {"installer":{"name":"uv","version":"0.9.18","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.1-py3-none-any.whl
Algorithm Hash digest
SHA256 4b75bc0936817ee5bb4e717ddade2af71ab343194df97215d1f21260d41a20ff
MD5 a51e88e3f5924779b550b184521880f7
BLAKE2b-256 6c7c617676b8585acaf11b6014107d097f200da1b2a21ba1b1a03d9fe7769660

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