Coverage for circular_deps / models.py: 100%
22 statements
« prev ^ index » next coverage.py v7.13.3, created at 2026-02-08 15:04 -0800
« prev ^ index » next coverage.py v7.13.3, created at 2026-02-08 15:04 -0800
1from __future__ import annotations
3from dataclasses import dataclass
4from typing import Tuple
7@dataclass
8class ImportInfo:
9 """Single import extracted from a source file."""
11 raw_module: str
12 resolved_path: str | None
13 import_type: str
14 line: int
15 is_dynamic: bool
16 node_type: str
19@dataclass
20class Cycle:
21 """Detected circular dependency."""
23 files: list[str]
24 edges: list[Tuple[str, str, int]]
25 depth: int
26 severity: str = "warning"
29@dataclass
30class DependencyGraph:
31 edges: dict[str, list[ImportInfo]]
32 local_files: set[str]
33 root_dir: str