Source code for capytaine.tools.optional_imports

"""Tool to import optional dependencies. Inspired by similar code in pandas."""

import importlib

[docs] def import_optional_dependency(module_name: str, package_name: str = None): try: module = importlib.import_module(module_name) except ImportError: if package_name is None: package_name = module_name message = ( f"Missing optional dependency '{module_name}'. " f"Use pip or conda to install {package_name}." ) raise ImportError(message) from None return module
[docs] def silently_import_optional_dependency(module_name: str): # Same as above, except it does not raise a exception when the module is not found. # Instead, simply returns None. try: module = importlib.import_module(module_name) except ImportError: module = None return module