from dascore.utils.misc import optional_import
from dascore.exceptions import MissingOptionalDependencyError
# import a module (this is the same as import dascore as dc)
= optional_import('dascore')
dc try:
'boblib5') # doesn't exist so this raises
optional_import(except MissingOptionalDependencyError:
pass
= optional_import('boblib5', on_missing="ignore")
bob assert bob is None
optional_import
optional_import(
package_name: str ,
on_missing: Literal[‘raise’, ‘warn’, ‘ignore’] = raise,
)-> ‘ModuleType | None’
Import a module and return the module object if installed.
If not installed, raise an Error or return None.
Parameters
Parameter | Description |
---|---|
package_name |
The name of the package which may or may not be installed. Can also be sub-packages/modules (eg dascore.core). |
on_missing |
If “raise” raise an Error if missing, if “warn” or “ignore”, return None. |
Raises
MissingOptionalDependency if the package is not installed.