registry.py 693 B

1234567891011121314151617181920212223242526
  1. """Module registry system."""
  2. class ModuleRegistry:
  3. """Simple module registry without magic."""
  4. def __init__(self):
  5. self._modules = {}
  6. def register(self, module_class):
  7. """Register a module class."""
  8. # Module class defines its own name attribute
  9. self._modules[module_class.name] = module_class
  10. def create_instances(self):
  11. """Create instances of all registered modules."""
  12. instances = []
  13. for name in sorted(self._modules.keys()):
  14. try:
  15. instances.append(self._modules[name]())
  16. except Exception as e:
  17. print(f"Warning: Could not instantiate {name}: {e}")
  18. return instances
  19. # Global registry
  20. registry = ModuleRegistry()