Skip to content

Latest commit

 

History

History
57 lines (48 loc) · 6.89 KB

references.md

File metadata and controls

57 lines (48 loc) · 6.89 KB

Reference projects

Open-source projects that solved problems bundleup also has. Read them for ideas before writing code in the same area. Copy code only from permissive licenses, keep the license notice, and record what you borrowed in the relevant ADR or in learnings.md. Paths and licenses checked 2026-10-04.

Bundling and runtime (the core)

Project Look at Why License
linkedin/shiv src/shiv/bootstrap/__init__.py Small, readable loader: extract to a cache, set up site. Closest design to ours. Note its lock-file collision bug (shiv#203) BSD-2-Clause
pex-tool/pex pex/pex_bootstrapper.py; --platform / --complete-platform The correctness bar: interpreter selection, multi-platform bundles, run modes, isolation (-sE) Apache-2.0
ClericPy/zipapps zipapps/main.py The only baseline tool that let child processes see the bundle's packages (gauntlet 19) MIT
pypa/installer src/installer/_core.py Installing a wheel exactly to spec; small, typed, standards-first MIT
pypa/packaging src/packaging/tags.py Wheel tags and platform compatibility: the heart of cross-target builds Apache-2.0 / BSD
astral-sh/uv docs uv pip install --python-platform, uv export What we delegate to (ADR-0006); how uv resolves for other platforms MIT / Apache-2.0
a-scie/jump README.md "Format", docs/packaging.md, jump/src/lift.rs The launcher --format exe puts at the head of an executable; the manifest and layout rules (ADR-0047) Apache-2.0
astral-sh/python-build-standalone release assets, install_only_stripped The interpreters uv installs and executables carry MPL-2.0
Node single executable applications the blob injected into a named section How an executable with an embedded payload stays signable, if bundleup ever needs signing MIT

Pre-ship analysis (bundleup check)

Project Look at Why License
netromdk/vermin vermin/main.py Minimum-Python-version detection MIT
ronaldoussoren/modulegraph2 modulegraph2/_modulegraph.py Import-graph construction MIT
pyinstaller/pyinstaller-hooks-contrib the hooks 15+ years of "this package secretly imports X / needs data file Y". Check the license before reusing anything check

CLI and library design

Project Look at Why License
clig.dev (source) the whole guide Command Line Interface Guidelines: output, errors, flags, config, interactivity CC-BY-SA-4.0 (quote, don't copy)
astral-sh/uv, astral-sh/ruff error messages, --help output The experience we want to match: error: / hint: messages, fast, quiet defaults MIT / Apache-2.0
pypa/build src/build/__main__.py vs src/build/__init__.py A tool that is both a library and a CLI, which the roadmap's Python API needs MIT
pypa/pipx src/pipx/main.py A well-liked Python CLI that manages environments for users MIT
evanw/esbuild (docs/references/esbuild) pkg/api/api.go, pkg/cli/cli_impl.go, internal/logger/ Orthogonal CLI/API flags (--external), muscle-memory flag hints, code-frame diagnostics, Scan/Link pipeline (synthesis, ADR-0051) MIT
egoist/tsup (docs/references/tsup) src/options.ts, src/index.ts, src/esbuild/external.ts Zero-config CLI/package bundling from project metadata, shebang preservation, comma-separated list flags MIT
vercel/ncc (docs/references/ncc) src/index.js, src/cli.js Single-file CLI/serverless bundling ("gcc-style"), --external, size summaries MIT
parcel-bundler/parcel (docs/references/parcel) packages/core/diagnostic/ Structured diagnostics with code frames, hints, and origin chains; lock-keyed build caching MIT
rollup/rollup & rolldown/rolldown (docs/references/rollup, docs/references/rolldown) src/Bundle.ts, crates/rolldown_error/ Clean multi-format output model and structured Rust diagnostic builders MIT

Platforms

Source Why
AWS Lambda quotas, runtimes Size limits, Python runtimes, architectures for the Lambda recipe
splunk/splunk-sdk-python README The bin/lib + --platform pattern --format dir should replace
Blender: Python wheels in extensions How a host app expects per-platform wheels
Agent Skills: using scripts Script conventions for agents (no prompts, --help, structured output, exit codes)
Claude code execution tool, Agent Skills The Claude API sandbox: Python 3.11, no network, no installs, preinstalled libraries
Gemini code execution Fixed library list, no installs, 30 s per run
OpenAI shell tool, Codex cloud environments Network off by default with an allowlist; installs in a setup phase
E2B templates, Modal images Sandboxes built from images; Modal installs from uv.lock (uv_sync)
MCPB PR #158 Why MCP bundles gained a uv runtime: vendored Python broke on version-specific compiled packages
ComfyUI-Docker #170 A measured comparison of shipping options; pex scies fail on noexec /tmp