diff --git a/lazy_loader/__init__.py b/lazy_loader/__init__.py index 743fd91..28ed5b1 100644 --- a/lazy_loader/__init__.py +++ b/lazy_loader/__init__.py @@ -6,9 +6,9 @@ """ import importlib import importlib.util -import types import os import sys +import types def attach(package_name, submodules=None, submod_attrs=None): @@ -66,19 +66,17 @@ def attach(package_name, submodules=None, submod_attrs=None): def __getattr__(name): if name in submodules: - return importlib.import_module(f'{package_name}.{name}') + return importlib.import_module(f"{package_name}.{name}") elif name in attr_to_modules: - submod = importlib.import_module( - f'{package_name}.{attr_to_modules[name]}' - ) + submod = importlib.import_module(f"{package_name}.{attr_to_modules[name]}") return getattr(submod, name) else: - raise AttributeError(f'No {package_name} attribute {name}') + raise AttributeError(f"No {package_name} attribute {name}") def __dir__(): return __all__ - if os.environ.get('EAGER_IMPORT', ''): + if os.environ.get("EAGER_IMPORT", ""): for attr in set(attr_to_modules.keys()) | submodules: __getattr__(attr) @@ -171,6 +169,4 @@ def __getattribute__(self, attr): if attr in ["__class__"]: return super().__getattribute__("__class__") - raise ModuleNotFoundError( - f"No module named '{spec.name}'" - ) + raise ModuleNotFoundError(f"No module named '{spec.name}'") diff --git a/tests/test_lazy_loader.py b/tests/test_lazy_loader.py index 06a50ba..f74009f 100644 --- a/tests/test_lazy_loader.py +++ b/tests/test_lazy_loader.py @@ -1,6 +1,6 @@ import sys -import importlib import types + import pytest import lazy_loader as lazy @@ -31,20 +31,20 @@ def test_lazy_import_impact_on_sys_modules(): math = lazy.load("math") anything_not_real = lazy.load("anything_not_real") - assert type(math) == types.ModuleType + assert isinstance(math, types.ModuleType) assert "math" in sys.modules - assert type(anything_not_real) == lazy.DelayedImportErrorModule + assert isinstance(anything_not_real, lazy.DelayedImportErrorModule) assert "anything_not_real" not in sys.modules # only do this if numpy is installed - np_test = pytest.importorskip("numpy") + pytest.importorskip("numpy") np = lazy.load("numpy") - assert type(np) == types.ModuleType + assert isinstance(np, types.ModuleType) assert "numpy" in sys.modules np.pi # trigger load of numpy - assert type(np) == types.ModuleType + assert isinstance(np, types.ModuleType) assert "numpy" in sys.modules