Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

uv-resolver: partially revert Requires-Python version narrowing #4902

Merged
merged 1 commit into from
Jul 8, 2024

Commits on Jul 8, 2024

  1. uv-resolver: partially revert Requires-Python version narrowing

    The PR #4707 introduced the notion of "version narrowing," where a
    Requires-Python constraint was _possibly_ narrowed whenever the
    universal resolver created a fork. The version narrowing would occur
    when the fork was a result of a marker expression on `python_version`
    that is *stricter* than the configured `Requires-Python` (via, say,
    `pyproject.toml`).
    
    The crucial conceptual change made by #4707 is therefore that
    `Requires-Python` is no longer an invariant configuration of resolution,
    but rather a mutable constraint that can vary from fork to fork. This in
    turn can result in some cases, such as in #4885, where different
    versions of dependencies are selected. We aren't sure whether we can fix
    those or not, with version narrowing, so for now, we do this revert to
    restore the previous behavior and we'll try to address the version
    narrowing some other time.
    
    This also adds the case from #4885 as a regression test, ensuring that
    we don't break that in the future. I confirmed that with version
    narrowing, this test outputs duplicate distributions. Without narrowing,
    there are no duplicates.
    
    Ref #4707, Fixes #4885
    BurntSushi committed Jul 8, 2024
    Configuration menu
    Copy the full SHA
    a5529ac View commit details
    Browse the repository at this point in the history