Source code for refyre.utils.optional_imports
from contextlib import contextmanager
from refyre.config import logger
[docs]
@contextmanager
def optional_dependencies(error: str = "ignore"):
assert error in {"raise", "warn", "ignore"}
try:
yield None
except ImportError as e:
if error == "raise":
raise e
if error == "warn":
msg = f'Missing optional dependency "{e.name}". Use pip or conda to install.'
logger.debug(f'Warning: {msg}')