serve pre-built wheels via a static PEP 503 index#86
Open
adeebshihadeh wants to merge 1 commit into
Open
Conversation
Generate a simple index from the wheels already published to GitHub Releases and serve it from GitHub Pages (gh-pages branch): https://commaai.github.io/dependencies/simple/ Consumers can now pin normal versions against this index instead of installing shim packages from release-* branches, which means no git clones, no setup.py downloading wheels without hash verification, and sha256-pinned lockfiles. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Replaces the
release-*shim-branch mechanism with a standard package index, generated from the wheels we already publish to GitHub Releases and served from GitHub Pages:https://commaai.github.io/dependencies/simple/
How it works
make_index.pylists all GitHub Releases and writes a PEP 503 "simple" index whose links point at the release wheel assets, with#sha256=fragments taken from the release asset digests (no wheel downloads needed).release.shregenerates the full index after publishing wheels and force-pushes it togh-pages(same pattern as the shim branches). Regeneration is stateless and covers every release ever made, so old lockfiles keep resolving.releasesbranch, which served 404s, togh-pages).Consumer side (openpilot)
vs. the shim approach: no git clones, no
setup.pybuild step downloading wheels with zero hash verification, real sha256 pins inuv.lock, and no moreuv cache cleandance since versions are immutable tags instead of force-pushed branches. Verified end-to-end: uv and plain pip both resolve and install from the live index (incl. the barelinux_x86_64tag), capnproto smoketest passes.The
release-*shim branches are still published for now; once openpilot is migrated they can be deleted along with_shim_setup.pyin a follow-up.🤖 Generated with Claude Code