Skip to content

Commit 6d28bbf

Browse files
committed
Update version of dependency-groups to v1.3.1
This is a bugfix release which resolves #13372
1 parent 12df3fd commit 6d28bbf

File tree

3 files changed

+10
-12
lines changed

3 files changed

+10
-12
lines changed

news/dependency-groups.vendor.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
- Update to ``dependency-groups==1.3.1``, which resolves a bug in which include
2+
resolution was not normalizing names.

src/pip/_vendor/dependency_groups/_implementation.py

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ def _normalize_name(name: str) -> str:
1212

1313

1414
def _normalize_group_names(
15-
dependency_groups: Mapping[str, str | Mapping[str, str]]
15+
dependency_groups: Mapping[str, str | Mapping[str, str]],
1616
) -> Mapping[str, str | Mapping[str, str]]:
1717
original_names: dict[str, list[str]] = {}
1818
normalized_groups = {}
@@ -171,17 +171,16 @@ def _resolve(self, group: str, requested_group: str) -> tuple[Requirement, ...]:
171171
if isinstance(item, Requirement):
172172
resolved_group.append(item)
173173
elif isinstance(item, DependencyGroupInclude):
174-
if item.include_group in self._include_graph_ancestors.get(group, ()):
174+
include_group = _normalize_name(item.include_group)
175+
if include_group in self._include_graph_ancestors.get(group, ()):
175176
raise CyclicDependencyError(
176177
requested_group, group, item.include_group
177178
)
178-
self._include_graph_ancestors[item.include_group] = (
179+
self._include_graph_ancestors[include_group] = (
179180
*self._include_graph_ancestors.get(group, ()),
180181
group,
181182
)
182-
resolved_group.extend(
183-
self._resolve(item.include_group, requested_group)
184-
)
183+
resolved_group.extend(self._resolve(include_group, requested_group))
185184
else: # unreachable
186185
raise NotImplementedError(
187186
f"Invalid dependency group item after parse: {item}"
@@ -206,8 +205,5 @@ def resolve(
206205
:raises LookupError: if group name is absent
207206
:raises packaging.requirements.InvalidRequirement: if a specifier is not valid
208207
"""
209-
return tuple(
210-
str(r)
211-
for group in groups
212-
for r in DependencyGroupResolver(dependency_groups).resolve(group)
213-
)
208+
resolver = DependencyGroupResolver(dependency_groups)
209+
return tuple(str(r) for group in groups for r in resolver.resolve(group))

src/pip/_vendor/vendor.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,4 @@ setuptools==70.3.0
1717
tomli==2.2.1
1818
tomli-w==1.2.0
1919
truststore==0.10.1
20-
dependency-groups==1.3.0
20+
dependency-groups==1.3.1

0 commit comments

Comments
 (0)