1 comment

[ 5.3 ms ] story [ 41.6 ms ] thread
Python packaging assumes your build env matches your deploy target. It almost never does — different arch, different manylinux, different Python version. The standard fixes (Docker, matrix CI, dedicated build runners) all add friction.

uv-bundler uses uv pip compile --python-platform to resolve and fetch the correct wheels for the target environment at compile time, making the build environment irrelevant. I'm calling this Ghost Resolution.

Outputs self-contained JAR, ZIP, or PEX artifacts. Cross-arch works too — just pass --arch aarch64 to get manylinux aarch64 wheels regardless of what the runner is.

Honest disclosure: mostly vibe-coded with Claude. Happy to discuss the Ghost Resolution approach, the bootstrap generation for zipapp compatibility, or any of the packaging trade-offs.