MCPcopy Create free account
hub / github.com/DeepLabCut/DeepLabCut / extract_imports

Function extract_imports

tools/find_import_cycles.py:35–52  ·  view source on GitHub ↗
(file: Path, current_module: str)

Source from the content-addressed store, hash-verified

33
34
35def extract_imports(file: Path, current_module: str) -> set[str]:
36 source = file.read_text(encoding="utf-8")
37 tree = ast.parse(source, filename=str(file))
38 imports: set[str] = set()
39
40 for node in ast.walk(tree):
41 if isinstance(node, ast.Import):
42 for alias in node.names:
43 imports.add(alias.name)
44 elif isinstance(node, ast.ImportFrom):
45 if node.level and current_module:
46 resolved = resolve_relative_import(current_module, node.module, node.level)
47 if resolved:
48 imports.add(resolved)
49 elif node.module:
50 imports.add(node.module)
51
52 return imports
53
54
55def internal_edges(root: Path) -> dict[str, set[str]]:

Callers 1

internal_edgesFunction · 0.85

Calls 2

resolve_relative_importFunction · 0.85
addMethod · 0.45

Tested by

no test coverage detected