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.2.tar.gz (10.4 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.2-py3-none-any.whl (13.5 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: marimo_dev-0.4.2.tar.gz
  • Upload date:
  • Size: 10.4 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.2.tar.gz
Algorithm Hash digest
SHA256 c3ee66b34f490144f7bb8898ad9a01bf3e1a3b7f7de288d57a7b470a6f9450d4
MD5 b2d4c896c05348e290b24274a82b4329
BLAKE2b-256 aaed4ded3fb3da6db32746e87273d25faff06cfad3c0fa06e9674e35a0aaa706

See more details on using hashes here.

File details

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

File metadata

  • Download URL: marimo_dev-0.4.2-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.2-py3-none-any.whl
Algorithm Hash digest
SHA256 cec85d336858bbdc95bacc4c9ff3e5f72112a0645ca36753c8284a34173cac88
MD5 4e2e5cfc5e803a64e3597bf1b40f54bc
BLAKE2b-256 d51030e5050aee20e6745fc382b3348213f35e5520c95e8973e725867fa83a3e

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