import importlib.util from pathlib import Path from core.module import Module def _load_bar_widgets(): path = Path(__file__).with_name("bar_widgets.py") spec = importlib.util.spec_from_file_location("exo_bar_widgets_def", path) mod = importlib.util.module_from_spec(spec) spec.loader.exec_module(mod) return mod.BAR_WIDGETS BAR_WIDGETS = _load_bar_widgets() def setup(ctx): from modules.bar.styles import BarStyles ctx.provide("bar", {"instances": None}) ctx.provide("bar_styles", BarStyles) MODULE = Module( id="bar", bar_widgets=BAR_WIDGETS, setup=setup, )