Module enrgdaq.utils.submodules
Functions
def import_submodules(package, recursive=True)
-
Expand source code
def import_submodules(package, recursive=True): """Import all submodules of a module, recursively, including subpackages :param package: package (name or actual module) :type package: str | module :rtype: dict[str, types.ModuleType] """ if isinstance(package, str): package = importlib.import_module(package) results = {} for loader, name, is_pkg in pkgutil.walk_packages(package.__path__): full_name = package.__name__ + "." + name try: results[full_name] = importlib.import_module(full_name) except ModuleNotFoundError: continue if recursive and is_pkg: results.update(import_submodules(full_name)) return results
Import all submodules of a module, recursively, including subpackages
:param package: package (name or actual module) :type package: str | module :rtype: dict[str, types.ModuleType]