chore: migrate uv to upstream main exposing resolver construction API#6499
Open
wolfv wants to merge 1 commit into
Open
chore: migrate uv to upstream main exposing resolver construction API#6499wolfv wants to merge 1 commit into
wolfv wants to merge 1 commit into
Conversation
uv 0.11.16 privatized several APIs pixi's PyPI resolver depends on: the custom-resolver-provider construction path (Resolver::new_custom_io, DefaultResolverProvider::new, AllowedYanks::from_manifest, PythonRequirement::from_marker_environment) that lets pixi inject its conda-aware CondaResolverProvider, the client-sharing hooks (uv_client::ExtraMiddleware, BaseClientBuilder::custom_client), and RegistryWheelIndex::get / IndexEntry. These have been restored as `pub` upstream (a visibility-only change), but land after the 0.11.26 release, so point the uv-* deps at a pinned `main` rev of astral-sh/uv for reproducibility and update the call sites for the rest of the 0.11.x API surface. Client/middleware sharing is preserved end-to-end (mirrors, custom auth, shared TLS client). Switch the deps to a tagged release once uv publishes one containing these items. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_018agnwR7C7kjbzLwmjbAEBn
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.
Description
uv 0.11.16 privatized several APIs that pixi's PyPI resolver depends on, with no public replacement:
Resolver::new_custom_io,DefaultResolverProvider::new,AllowedYanks::from_manifest,PythonRequirement::from_marker_environment— that lets pixi inject its conda-awareCondaResolverProvideruv_client::ExtraMiddleware,BaseClientBuilder::custom_clientRegistryWheelIndex::get/IndexEntryThese have now been restored as
pubupstream (a visibility-only change). That change landed onastral-sh/uvmainafter the 0.11.26 release, so this PR points theuv-*dependencies at a pinnedmainrev of uv for reproducibility, and updates pixi's call sites for the rest of the 0.11.x API surface. Client/middleware sharing is preserved end-to-end (mirrors, custom auth, shared TLS client) — no behavior is stubbed out.Follow-up: once uv publishes a release that includes these
pubitems (0.11.27+), switch the deps from the pinnedrevto that tagged version.How Has This Been Tested?
cargo check --workspace— cleancargo fmt --all— clean;cargo clippy --workspace --all-targets -- -D warnings— no warningspixi_uv_conversions(29),pixi_install_pypi(45),pixi_uv_context(3) — all passingtest:extra_slowlabelAI Disclosure
Tools: Claude Code
Checklist:
Cargo.toml