mirror of
https://github.com/astral-sh/uv.git
synced 2025-07-07 13:25:00 +00:00
![]() The basic idea here is to make it so forking can only ever result in a resolution that, for a particular marker environment, will only install at most one version of a package. We can guarantee this by ensuring we only fork on conflicting dependency specifications only when their corresponding markers are completely disjoint. If they aren't, then resolution _must_ find a single version of the package in the intersection of the two dependency specifications. A test for this case has been added to packse here: https://github.com/astral-sh/packse/pull/182. Previously, that test would result in a resolution with two different unconditional versions of the same package. With this change, resolution fails (as it should). A commit-by-commit review should be helpful here, since the first commit is a refactor to make the second commit a bit more digestible. |
||
---|---|---|
.. | ||
bench | ||
benchmarks | ||
links | ||
packages | ||
popular_packages | ||
requirements | ||
scenarios | ||
workspaces | ||
check_cache_compat.py | ||
check_embedded_python.py | ||
check_system_python.py | ||
release.sh | ||
sync_scenarios.sh | ||
transform_readme.py | ||
update_schemastore.py |