Plain is headed towards 1.0! Subscribe for development updates →

 1from importlib import import_module
 2from importlib.util import find_spec
 3
 4from plain.packages import (
 5    PackageConfig,
 6    packages_registry,
 7    register_config,
 8)
 9
10from .registry import models_registry
11
12MODELS_MODULE_NAME = "models"
13
14
15@register_config
16class Config(PackageConfig):
17    def ready(self):
18        # Trigger register calls to fire by importing the modules
19        for package_config in packages_registry.get_package_configs():
20            module_name = f"{package_config.name}.{MODELS_MODULE_NAME}"
21            if find_spec(module_name):
22                import_module(module_name)
23
24        models_registry.ready = True