@@ -12,7 +12,7 @@ def _normalize_name(name: str) -> str:
12
12
13
13
14
14
def _normalize_group_names (
15
- dependency_groups : Mapping [str , str | Mapping [str , str ]]
15
+ dependency_groups : Mapping [str , str | Mapping [str , str ]],
16
16
) -> Mapping [str , str | Mapping [str , str ]]:
17
17
original_names : dict [str , list [str ]] = {}
18
18
normalized_groups = {}
@@ -171,17 +171,16 @@ def _resolve(self, group: str, requested_group: str) -> tuple[Requirement, ...]:
171
171
if isinstance (item , Requirement ):
172
172
resolved_group .append (item )
173
173
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 , ()):
175
176
raise CyclicDependencyError (
176
177
requested_group , group , item .include_group
177
178
)
178
- self ._include_graph_ancestors [item . include_group ] = (
179
+ self ._include_graph_ancestors [include_group ] = (
179
180
* self ._include_graph_ancestors .get (group , ()),
180
181
group ,
181
182
)
182
- resolved_group .extend (
183
- self ._resolve (item .include_group , requested_group )
184
- )
183
+ resolved_group .extend (self ._resolve (include_group , requested_group ))
185
184
else : # unreachable
186
185
raise NotImplementedError (
187
186
f"Invalid dependency group item after parse: { item } "
@@ -206,8 +205,5 @@ def resolve(
206
205
:raises LookupError: if group name is absent
207
206
:raises packaging.requirements.InvalidRequirement: if a specifier is not valid
208
207
"""
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 ))
0 commit comments