You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Route configured prebuilt profiles through bootstrap and wheel downloads #1208
Summary
Make pypi-prebuilt and hook-prebuilt follow the prebuilt wheel path, while using the selected source resolver to download a wheel when one is needed.
Context
Both profiles declare resolves_prebuilt_wheel=True. Today, PackageBuildInfo.pre_built only reads the legacy variant setting, so bootstrap treats a configured prebuilt profile as a source build. The existing prebuilt paths also call wheels.download_wheel() directly. Changing only the prebuilt decision would still bypass hook-prebuilt’s download hook.
Bootstrap and later build commands run separately, so both must honor the configured profile. Legacy pre_built packages must keep their current behavior.
Acceptance Criteria
When source: is configured, the prebuilt decision uses source_resolver.resolves_prebuilt_wheel. Without source:, it uses the existing legacy setting.
pypi-prebuilt and hook-prebuilt skip source preparation and source-build phases. The dependency graph and build order record them as prebuilt.
When either configured profile needs a fresh wheel, its resolver’s download() contract supplies the wheel path. An installed hook-prebuilt download hook runs; the profile’s existing default runs when that hook is absent.
Bootstrap and commands that fetch wheels from a build order honor that download contract. Intentional reuse of an existing wheel remains possible.
A result with a kind other than prebuilt_wheel, or a download-hook failure, produces a clear error rather than falling back to a different downloader.
Tests cover both configured profiles, hook present and absent, build-order replay, and unchanged legacy prebuilt behavior.
changed the title [-]Wire pypi-prebuilt source resolver into bootstrapper pre-built detection[/-][+]Route configured prebuilt profiles through bootstrap and wheel downloads[/+]on Oct 23, 2026
Activity
[-]Wire pypi-prebuilt source resolver into bootstrapper pre-built detection[/-][+]Route configured prebuilt profiles through bootstrap and wheel downloads[/+]