uv
ae659c8b - Stable order for virtual packages (#10024)

Commit
176 days ago
Stable order for virtual packages (#10024) uv gives priorities to packages by package name, not by virtual package (`PubGrubPackage`). pubgrub otoh when prioritizing order the virtual packages. When the order of virtual packages changes, uv changes its resolutions and error messages. This means uv was depending on implementation details of pubgrub's prioritization caching. This broke with https://github.com/pubgrub-rs/pubgrub/pull/299, which added a tiebreaker term that made pubgrub's sorting deterministic given a deterministic ordering of allocating the packages (which happens the first time pubgrub sees a package). The new custom tiebreaker decreases the difference to upstream pubgrub.
Author
Parents
  • File
    Cargo.lock
  • File
    Cargo.toml
  • crates
    • uv-resolver/src
      • File
        dependency_provider.rs
      • pubgrub
        • File
          priority.rs
    • uv/tests/it
      • File
        lock_conflict.rs
      • File
        pip_install_scenarios.rs
      • snapshots
        • it__ecosystem__transformers-lock-file.snap
        • it__ecosystem__transformers-uv-lock-output.snap