"""Importing this package registers all widgets via decorators in submodules.

Each module is wrapped in a try/except so a broken module never blocks others.
"""
from __future__ import annotations

import logging

logger = logging.getLogger(__name__)

_MODULES = (
    "core_widgets",
    "rims_widgets",
    "repo_widgets",
    "mel_widgets",
    "mel_implementer_widgets",
    "smehub_widgets",
    "alumni_widgets",
)

for _name in _MODULES:
    try:
        __import__(f"{__name__}.{_name}")
    except Exception:  # noqa: BLE001
        logger.exception("Failed to load dashboard widget module %s", _name)
