import time import os import re import importlib from typing import List def poll_tick(freq): t = time.time() while True: t += freq yield max(t - time.time(), 0) def get_modules() -> List[str]: modules = [] for name in os.listdir(os.path.join(os.path.dirname(os.path.realpath(__file__)), 'module')): name = re.sub(r'\.py$', '', name) modules.append(name) return modules def import_module(module: str): return importlib.import_module( f'..module.{module}', __name__)