# __init__.py import os import importlib import inspect __all__ = [] package_name = __name__ package_dir = os.path.dirname(__file__) for filename in os.listdir(package_dir): if filename.endswith(".py") and not filename.startswith("__"): module_name = filename[:-3] full_module_path = f"{package_name}.{module_name}" module = importlib.import_module(full_module_path) for name, obj in inspect.getmembers(module, inspect.isclass): if obj.__module__ == full_module_path: globals()[name] = obj __all__.append(name)