From 53a320b48135bfc968462e11533e250994a430c7 Mon Sep 17 00:00:00 2001 From: Floke Date: Mon, 4 Aug 2025 10:32:16 +0000 Subject: [PATCH] v2.0.1: feat: Implement modular versioning MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Einführung von __version__ Attributen in allen Kernmodulen (data_processor, helpers etc.). - Erstellung einer zentralen Funktion log_module_versions in helpers.py. - Integration des Version-Loggings beim Start des Hauptskripts für volle Nachvollziehbarkeit. --- helpers.py | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/helpers.py b/helpers.py index caa8af8a..f1851847 100644 --- a/helpers.py +++ b/helpers.py @@ -9,6 +9,8 @@ Sammlung von globalen, wiederverwendbaren Hilfsfunktionen für das Projekt API-Wrapper und andere Dienstprogramme. """ +__version__ = "v2.0.1" + ALLOWED_TARGET_BRANCHES = [] # ============================================================================== @@ -183,6 +185,21 @@ def token_count(text, model=None): else: return len(str(text).split()) +def log_module_versions(modules_to_log): + """ + Sammelt die __version__ Attribute aus einer Liste von Modulen + und gibt einen formatierten String für das Logging zurück. + """ + logger = logging.getLogger(__name__) + version_infos = [] + for name, module in modules_to_log.items(): + # getattr() wird sicher verwendet, falls ein Modul kein __version__ Attribut hat + version = getattr(module, '__version__', 'N/A') + version_infos.append(f"- {name}: {version}") + + if version_infos: + logger.info("Geladene Modul-Versionen:\n" + "\n".join(version_infos)) + def create_log_filename(mode): """Erstellt einen zeitgestempelten Logdateinamen im LOG_DIR.""" logger = logging.getLogger(__name__)