Source code for fenicsx_compat.optional
import importlib
from types import ModuleType
[docs]
def require_module(name: str, *, extra: str | None = None) -> ModuleType:
"""Import `name`, raising a clear, actionable ImportError if it's missing."""
try:
return importlib.import_module(name)
except ImportError as e:
raise ImportError(
f"{name} is required for this feature: pip install {extra or name}"
) from e