mirror of
https://github.com/astral-sh/uv.git
synced 2025-08-31 15:57:26 +00:00
![]() ## Summary Today, our dependency group implementation is a little awkward... For each package `P`, we check if `P` contains dependencies for each enabled group, then add a dependency on `P` with the group enabled. There are a few issues here: 1. It's sort of backwards... We add a dependency from the base package `P` to `P` with the group enabled. Then `P` with the group enabled adds a dependency on the base package. 2. We can't, e.g., enable different groups for different packages. (We don't have a way for users to specify this on the CLI, but there's no reason that it should be _impossible_ in the resolver.) 3. It's inconsistent with how extras work, which leads to confusing differences in the resolver. Instead, our internal requirement type can now include dependency groups, which makes dependency groups look much, much more like extras in the resolver. |
||
---|---|---|
.. | ||
src | ||
Cargo.toml |