dependencies ¶
Dependency tracking for hot reload system.
Classes:
-
DependencyTracker–Abstract base class for dependency tracking.
-
ClassDefinitionTracker–Tracks class definitions and their changes.
-
DependencyGraph–Tracks module dependencies using AST analysis.
Classes¶
DependencyTracker ¶
Bases: ABC
Abstract base class for dependency tracking.
Methods:
-
get_dependencies–Get dependencies for a module.
-
get_dependents–Get modules that depend on the given module.
ClassDefinitionTracker ¶
ClassDefinitionTracker()
Tracks class definitions and their changes.
Initialize the class definition tracker.
Methods:
-
extract_class_signatures–Extract class method signatures from a Python file.
-
has_class_changed–Check if a class definition has changed.
-
update_signatures–Update stored signatures for a file.
DependencyGraph ¶
DependencyGraph(max_depth: int = 10)
Bases: DependencyTracker
Tracks module dependencies using AST analysis.
Initialize the dependency graph.
Parameters:
-
max_depth(int, default:10) –Maximum dependency depth to traverse, by default 10.
Methods:
-
get_dependencies–Get dependencies for a module using AST analysis.
-
get_dependents–Get modules that depend on the given module.
-
add_dependency–Add a dependency relationship.
-
remove_module–Remove a module from the dependency graph.
-
get_reload_order–Get optimal reload order for changed modules.
-
clear_cache–Clear the module cache.