import importlib __all__ = [ # web_api_client.py 'WebApiClient', 'RequestParams', # config.py 'WebApiConfig' ] def __getattr__(name): if name in __all__: file = 'config' if name == 'WebApiConfig' else 'web_api_client' module = importlib.import_module(f'.{file}', __name__) return getattr(module, name) raise AttributeError(f"module {__name__!r} has no attribute {name!r}")