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

Add --group and --only-group to uv sync and includes all groups in uv lock #8110

Merged
merged 1 commit into from
Oct 16, 2024

Conversation

zanieb
Copy link
Member

@zanieb zanieb commented Oct 10, 2024

Part of #8090

Adds the ability to include a group (--group) in the sync or only sync a group (--only-group). Includes all groups in the resolution, which will have the same limitations as extras as described in #6981.

There's a great deal of refactoring of the "development" concept into "groups" behind the scenes that I am continuing to defer here to minimize the diff.

Additionally, this does not yet resolve interactions with the existing dev group — we'll tackle that separately as well. I probably won't merge the stack until that design is resolved. The current proposal is that we'll just "combine' the dev-dependencies contents into the dev group.

Comment on lines +276 to +281
let dev: Vec<_> = workspace
.pyproject_toml()
.dependency_groups
.iter()
.flat_map(|groups| groups.keys().cloned())
.chain(std::iter::once(DEV_DEPENDENCIES.clone()))
.collect();
Copy link
Member Author

@zanieb zanieb Oct 10, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This took me a while to track down — this is critical to actually respect groups.

@zanieb zanieb marked this pull request as ready for review October 15, 2024 00:28
@charliermarsh
Copy link
Member

I guess we also need this on uv run, and maybe also in uv pip?

zanieb added a commit that referenced this pull request Oct 16, 2024
Part of #8090 

Adds the ability to add and remove dependencies from arbitrary groups
using `uv add` and `uv remove`. Does not include resolving with the new
dependencies — tackling that in #8110.

Additionally, this does not yet resolve interactions with the existing
`dev` group — we'll tackle that separately as well. I probably won't
merge the stack until that design is resolved.
Base automatically changed from zb/735-add to tracking/735 October 16, 2024 21:38
@alex
Copy link
Contributor

alex commented Oct 16, 2024 via email

@zanieb zanieb force-pushed the zb/735-sync-lock branch 2 times, most recently from 946fbc0 to f192195 Compare October 16, 2024 22:30
@zanieb zanieb merged commit ec9bfa6 into tracking/735 Oct 16, 2024
60 checks passed
@zanieb zanieb deleted the zb/735-sync-lock branch October 16, 2024 22:53
charliermarsh added a commit that referenced this pull request Oct 17, 2024
…roups (#8266)

Part of #8090 

Adds the ability to read group inclusions (`include-group = <name>`) in
the `pyproject.toml`. Resolves groups into concrete dependencies for
resolution.

See #8110 for a bit more commentary
on deferred work.

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
@zanieb zanieb mentioned this pull request Oct 17, 2024
2 tasks
zanieb added a commit that referenced this pull request Oct 18, 2024
Part of #8090

Adds the ability to add and remove dependencies from arbitrary groups
using `uv add` and `uv remove`. Does not include resolving with the new
dependencies — tackling that in #8110.

Additionally, this does not yet resolve interactions with the existing
`dev` group — we'll tackle that separately as well. I probably won't
merge the stack until that design is resolved.
zanieb added a commit that referenced this pull request Oct 18, 2024
… in `uv lock` (#8110)

Part of #8090

Adds the ability to include a group (`--group`) in the sync or _only_
sync a group (`--only-group`). Includes all groups in the resolution,
which will have the same limitations as extras as described in #6981.

There's a great deal of refactoring of the "development" concept into
"groups" behind the scenes that I am continuing to defer here to
minimize the diff.

Additionally, this does not yet resolve interactions with the existing
`dev` group — we'll tackle that separately as well. I probably won't
merge the stack until that design is resolved. The current proposal is
that we'll just "combine' the `dev-dependencies` contents into the `dev`
group.
zanieb added a commit that referenced this pull request Oct 18, 2024
…roups (#8266)

Part of #8090

Adds the ability to read group inclusions (`include-group = <name>`) in
the `pyproject.toml`. Resolves groups into concrete dependencies for
resolution.

See #8110 for a bit more commentary
on deferred work.

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
zanieb added a commit that referenced this pull request Oct 18, 2024
charliermarsh pushed a commit that referenced this pull request Oct 20, 2024
Part of #8090

Adds the ability to add and remove dependencies from arbitrary groups
using `uv add` and `uv remove`. Does not include resolving with the new
dependencies — tackling that in #8110.

Additionally, this does not yet resolve interactions with the existing
`dev` group — we'll tackle that separately as well. I probably won't
merge the stack until that design is resolved.
charliermarsh pushed a commit that referenced this pull request Oct 20, 2024
… in `uv lock` (#8110)

Part of #8090

Adds the ability to include a group (`--group`) in the sync or _only_
sync a group (`--only-group`). Includes all groups in the resolution,
which will have the same limitations as extras as described in #6981.

There's a great deal of refactoring of the "development" concept into
"groups" behind the scenes that I am continuing to defer here to
minimize the diff.

Additionally, this does not yet resolve interactions with the existing
`dev` group — we'll tackle that separately as well. I probably won't
merge the stack until that design is resolved. The current proposal is
that we'll just "combine' the `dev-dependencies` contents into the `dev`
group.
charliermarsh added a commit that referenced this pull request Oct 20, 2024
…roups (#8266)

Part of #8090

Adds the ability to read group inclusions (`include-group = <name>`) in
the `pyproject.toml`. Resolves groups into concrete dependencies for
resolution.

See #8110 for a bit more commentary
on deferred work.

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
charliermarsh pushed a commit that referenced this pull request Oct 20, 2024
charliermarsh pushed a commit that referenced this pull request Oct 22, 2024
Part of #8090

Adds the ability to add and remove dependencies from arbitrary groups
using `uv add` and `uv remove`. Does not include resolving with the new
dependencies — tackling that in #8110.

Additionally, this does not yet resolve interactions with the existing
`dev` group — we'll tackle that separately as well. I probably won't
merge the stack until that design is resolved.
charliermarsh pushed a commit that referenced this pull request Oct 22, 2024
… in `uv lock` (#8110)

Part of #8090

Adds the ability to include a group (`--group`) in the sync or _only_
sync a group (`--only-group`). Includes all groups in the resolution,
which will have the same limitations as extras as described in #6981.

There's a great deal of refactoring of the "development" concept into
"groups" behind the scenes that I am continuing to defer here to
minimize the diff.

Additionally, this does not yet resolve interactions with the existing
`dev` group — we'll tackle that separately as well. I probably won't
merge the stack until that design is resolved. The current proposal is
that we'll just "combine' the `dev-dependencies` contents into the `dev`
group.
charliermarsh added a commit that referenced this pull request Oct 22, 2024
…roups (#8266)

Part of #8090

Adds the ability to read group inclusions (`include-group = <name>`) in
the `pyproject.toml`. Resolves groups into concrete dependencies for
resolution.

See #8110 for a bit more commentary
on deferred work.

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
charliermarsh pushed a commit that referenced this pull request Oct 22, 2024
charliermarsh pushed a commit that referenced this pull request Oct 22, 2024
Part of #8090

Adds the ability to add and remove dependencies from arbitrary groups
using `uv add` and `uv remove`. Does not include resolving with the new
dependencies — tackling that in #8110.

Additionally, this does not yet resolve interactions with the existing
`dev` group — we'll tackle that separately as well. I probably won't
merge the stack until that design is resolved.
charliermarsh pushed a commit that referenced this pull request Oct 22, 2024
… in `uv lock` (#8110)

Part of #8090

Adds the ability to include a group (`--group`) in the sync or _only_
sync a group (`--only-group`). Includes all groups in the resolution,
which will have the same limitations as extras as described in #6981.

There's a great deal of refactoring of the "development" concept into
"groups" behind the scenes that I am continuing to defer here to
minimize the diff.

Additionally, this does not yet resolve interactions with the existing
`dev` group — we'll tackle that separately as well. I probably won't
merge the stack until that design is resolved. The current proposal is
that we'll just "combine' the `dev-dependencies` contents into the `dev`
group.
charliermarsh added a commit that referenced this pull request Oct 22, 2024
…roups (#8266)

Part of #8090

Adds the ability to read group inclusions (`include-group = <name>`) in
the `pyproject.toml`. Resolves groups into concrete dependencies for
resolution.

See #8110 for a bit more commentary
on deferred work.

---------

Co-authored-by: Charlie Marsh <charlie.r.marsh@gmail.com>
charliermarsh pushed a commit that referenced this pull request Oct 22, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants