-
Notifications
You must be signed in to change notification settings - Fork 907
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
Add support for reading PEP 735 dependency groups #8104
Conversation
26e0950
to
3d82281
Compare
@@ -43,6 +43,8 @@ pub struct PyProjectToml { | |||
pub project: Option<Project>, | |||
/// Tool-specific metadata. | |||
pub tool: Option<Tool>, | |||
/// Non-project dependency groups, as defined in PEP 735. | |||
pub dependency_groups: Option<BTreeMap<ExtraName, Vec<String>>>, |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'd put it in a newtype so we can implement a get_group_resolved
on top of it. PyO3/pyproject-toml-rs#24 is good reference implementation, we can reuse it.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll add support for the include-group
syntax separately. This just copies our existing patterns.
I can hold of on merging though since it'd break people using the syntax.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Honestly pretty hesitant to change the pattern here? We probably want to change all the structures separately if you want a different approach.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We're using both styles in uv, it's not that much of a difference in the end
Part of #8090 As a basic first step, we parse these groups defined in `pyproject.toml` files.
Part of #8090 As a basic first step, we parse these groups defined in `pyproject.toml` files.
Part of #8090 As a basic first step, we parse these groups defined in `pyproject.toml` files.
Part of #8090 As a basic first step, we parse these groups defined in `pyproject.toml` files.
Part of #8090 As a basic first step, we parse these groups defined in `pyproject.toml` files.
Part of #8090 As a basic first step, we parse these groups defined in `pyproject.toml` files.
Part of #8090 As a basic first step, we parse these groups defined in `pyproject.toml` files.
Part of #8090
As a basic first step, we parse these groups defined in
pyproject.toml
files.