__version__ = "1.0.4" # --- required modules --- from custom_lib import my_file_config from custom_lib import my_logger from custom_lib import my_uuid MODULES = [ my_file_config, my_logger, my_uuid, ] # --- optional modules --- OPTIONAL_MODULES = [] MISSING_MODULES = [] def _try_import_optional(module_path): try: module = __import__(f"custom_lib.{module_path}", fromlist=["*"]) OPTIONAL_MODULES.append(module) return True except ImportError: MISSING_MODULES.append(module_path.split(".")[1]) return False # 20260507 tak add my_image _try_import_optional("image.my_image") # 20260508 tak add my_crawling _try_import_optional("crawling.my_crawling") def print_modules(): for module in MODULES + OPTIONAL_MODULES: version = getattr(module, "__version__", "unknown") print(f"# [MODULE] {module.__name__} v{version}") def print_missing_modules(): for module in MISSING_MODULES: print(f"# [MISSING] {module}") def init(): print("\n" + "#" * 60) print(f"# Custom_Lib v{__version__}") print("=" * 60) print_modules() print_missing_modules() print("#" * 60)