ahvn.utils.basic.deps_utils module¶
Dependency management and lazy loading utilities.
This module provides a clean, industrial-standard dependency management system and utilities for lazy loading modules.
- class ahvn.utils.basic.deps_utils.DependencyManager[source]¶
Bases:
objectClean dependency management system.
- Return type:
- add(dep_info)[source]¶
Add a dependency.
- Return type:
- Parameters:
dep_info (DependencyInfo)
- load(module_name, package=None, error_msg=None)[source]¶
Import an optional dependency, raising a clear error if missing.
- Parameters:
- Return type:
- Returns:
The imported module.
- Raises:
OptionalDependencyError – If the module cannot be imported.
- exception ahvn.utils.basic.deps_utils.DependencyError[source]¶
Bases:
ExceptionDependency-related error.
- exception ahvn.utils.basic.deps_utils.OptionalDependencyError[source]¶
Bases:
DependencyError,ImportErrorOptional dependency not available.
- ahvn.utils.basic.deps_utils.lazy_getattr(name, export_map, package)[source]¶
Helper function to implement __getattr__ for lazy loading modules.
- Parameters:
- Returns:
The requested attribute from the imported module.
- Raises:
AttributeError – If the name is not in the export_map.
- ahvn.utils.basic.deps_utils.collect_exports(package_names, parent_package)[source]¶
Collects exported names from a list of subpackages to build a master lazy map.
- Parameters:
- Returns:
“.klstore” }).
- Return type:
A dictionary mapping exported names to their relative package path (e.g., { “DatabaseKLStore”
- ahvn.utils.basic.deps_utils.lazy_import_submodules(name, submodules, package)[source]¶
Helper function to lazy load submodules.