in liminal/core/util/class_util.py [0:0]
def import_module(package, recursive=True):
"""
Import all submodules of a module
:param package: package (name or actual module)
:type package: str | module
:rtype: dict[str, types.ModuleType]
:param recursive: search recursively (default: True)
:type recursive: bool
"""
if isinstance(package, str):
package = importlib.import_module(package)
results = {}
for loader, name, is_pkg in pkgutil.walk_packages(package.__path__):
if not name == 'liminal_python_server':
full_name = package.__name__ + '.' + name
results[full_name] = importlib.import_module(full_name)
if recursive and is_pkg:
results.update(import_module(full_name))
return results