From 29700169ad793fcc998559759f7e907f2e925dfc Mon Sep 17 00:00:00 2001 From: PedroHMCosme Date: Thu, 22 Oct 2026 12:37:11 -0300 Subject: [PATCH] refactor(worker): iterate a sys.modules copy instead of list() (Sonar S7504) (SIENTIAPDE-2214) --- model_manager/worker/worker.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/model_manager/worker/worker.py b/model_manager/worker/worker.py index 8e94429..631e29d 100644 --- a/model_manager/worker/worker.py +++ b/model_manager/worker/worker.py @@ -79,8 +79,8 @@ def _get_runtime(runtime: str | None) -> str: def _loaded_distribution_versions() -> dict[str, str]: """Version on disk of every installed distribution whose top-level module is imported.""" - # list() copies the keys: another thread importing while we iterate would raise RuntimeError. - loaded = {name.partition('.')[0] for name in list(sys.modules)} + # Iterate a copy: another thread importing while we iterate would raise RuntimeError. + loaded = {name.partition('.')[0] for name in sys.modules.copy()} return { dist: importlib.metadata.version(dist) for module, dists in importlib.metadata.packages_distributions().items()