feat(uv): multiversion packages and extras support#778
Open
Conversation
|
|
|
682061b to
2eabb49
Compare
ed7f199 to
8346944
Compare
6cca0b7 to
f2eae67
Compare
- Correct `toml` watching - Correct `extra` handling - Move to `[dependency-groups]` for configurations
5fb465c to
c8e2270
Compare
0fb1710 to
ea3f4ab
Compare
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.


The original uv extension prototype treated the uv.lock file as "requirements.txt++" which enormously undersells what uv can and will put into the lockfile.
One example of which is that in cases where the user provided marker dependent version constraints, uv will happily solve the constraints for all cases of the markers and generate a lockfile which captures the version disambiguated requirement graph for all configurations, and propagates marker expressions as needed.
A related example is that uv retains extras and their activations explicitly as part of the graph rather than simply listing the reach set of requirements after extras have all been activated, which would discard that information.
Fixes #798, #797, #794, #792, #791, #773
Changes are visible to end-users: yes
The experimental
uvextension has seen significant changes to address a number of outstanding bugs.[dependency-groups]are now interpreted as defining build/venv configurationsTest plan
Remaining work