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.0.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.0-py3-none-any.whl (13.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: marimo_dev-0.4.0.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.0.tar.gz
Algorithm Hash digest
SHA256 0c88ca03ff100308d8642c5a94ae1642466cae6682ce54380bed6c5bd636c0d9
MD5 746e4ddaa2607830773c973115577cc0
BLAKE2b-256 fa11a55d5ca457424d2cb52fb63dc5d99aa688fe21c066a7bae392654e6bd8d1

See more details on using hashes here.

File details

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

File metadata

  • Download URL: marimo_dev-0.4.0-py3-none-any.whl
  • Upload date:
  • Size: 13.3 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.0-py3-none-any.whl
Algorithm Hash digest
SHA256 256fd8fc45c68eaed50f1cd39f82042ccd6e56e5d732624566e675fd41f9ee54
MD5 ef0f4570bd5c3ae7c20d2813d3543955
BLAKE2b-256 18e5c66b4887ff72aab5e41b0b9fdd59ec3830ce940bfb7db4eceb3734658ec7

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