MCPcopy
hub / github.com/tox-dev/tox / resolve

Function resolve

src/tox/tox_env/python/dependency_groups.py:70–88  ·  view source on GitHub ↗
(root: Path, groups: set[str])

Source from the content-addressed store, hash-verified

68
69
70def resolve(root: Path, groups: set[str]) -> set[Requirement]:
71 pyproject_file = root / "pyproject.toml"
72 if not pyproject_file.exists(): # check if it's static PEP-621 metadata
73 return set()
74 with pyproject_file.open("rb") as file_handler:
75 pyproject = tomllib.load(file_handler)
76 dependency_groups_raw = pyproject["dependency-groups"]
77 if not isinstance(dependency_groups_raw, dict):
78 msg = f"dependency-groups is {type(dependency_groups_raw).__name__} instead of table"
79 raise Fail(msg)
80 original_names_lookup, dependency_groups = _normalize_group_names(dependency_groups_raw)
81 result: set[Requirement] = set()
82 for group in groups:
83 result = result.union(_resolve_dependency_group(dependency_groups, group, original_names_lookup))
84
85 project_name = pyproject.get("project", {}).get("name")
86 optional_dependencies = pyproject.get("project", {}).get("optional-dependencies", {})
87
88 return unwrap_nested_extras(optional_dependencies, project_name, result, set())
89
90
91def _normalize_group_names(

Callers

nothing calls this directly

Calls 6

FailClass · 0.90
_normalize_group_namesFunction · 0.85
unwrap_nested_extrasFunction · 0.85
getMethod · 0.80
loadMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…