Coverage for src/loman/_extras.py: 100%
8 statements
« prev ^ index » next coverage.py v7.16.0, created at 2026-09-07 00:32 +0000
« prev ^ index » next coverage.py v7.16.0, created at 2026-09-07 00:32 +0000
1"""Helpers for optional Loman features."""
3from importlib import import_module
4from types import ModuleType
7def require(module: str, extra: str) -> ModuleType:
8 """Import an optional dependency or explain how to install its extra."""
9 try:
10 return import_module(module)
11 except ImportError as exc:
12 msg = f"'{module}' is required for loman's '{extra}' extra.\nInstall it with: pip install 'loman[{extra}]'"
13 raise ImportError(msg) from exc