Package Development — Master Map of Content
A collection of 286 concept notes across 15 domains covering everything you need to build, publish, and maintain Python packages.
Domains
Building Packages
- 01 — Python Packaging —
pyproject.toml, setuptools, hatch, wheel, src-layout - 03 — Pure Python Packages — plugin architecture, data files, namespace packages
- 04 — Jupyter Integration — magic commands, kernels, ipywidgets
- 05 — JupyterLab GUI Development — extensions, Lumino widgets, command palette
Publishing & Distribution
- 02 — PyPI & Conda — PyPI, conda-forge, twine, trusted publishing
- 15 — Package Ecosystem — dependency resolution, version pinning, uv, manylinux
Development Workflow
- 06 — Version Control with Git — git, GitHub, branching, pull requests
- 10 — CI/CD & Automation — GitHub Actions, pre-commit, release automation
- 07 — Testing & Quality — pytest, coverage, hypothesis, tox
- 08 — Validation & Typing — pydantic, mypy, type hints, runtime validation
Documentation
- 09 — Documentation — Sphinx, MyST-md, Jupyter Book, ReadTheDocs
Design & Quality
- 11 — Design Principles — SOLID, DRY, KISS, composition over inheritance
- 12 — Refactoring — extract function, code smells, technical debt, strangler fig
- 13 — Security — input validation, pickle vulnerability, bandit, pip-audit
Coming Up with Ideas
- 14 — Package Ideation — scratch your own itch, API-first design, gap analysis
Real Packages & Ecosystem
- 16 — Real Packages — jupyter-ai-hermes, hermes-acp-sdk, cppmanlite, jupyter-cpp-tutor, jupyterhub-litellm, jupyterlab-pwa
How to Use This Vault
Each note follows the pattern: motivation → concrete example → analogy → related concepts. Start from any domain MOC above and follow the wikilinks to explore connected ideas.