From 90c0c0949be234014b968a396c4f5cc4ca13b537 Mon Sep 17 00:00:00 2001 From: Hugh Sorby Date: Fri, 18 Jul 2025 16:53:16 +1200 Subject: [PATCH] Make the get version information setting using importlib smarter. --- src/cmlibs/utils/__init__.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/cmlibs/utils/__init__.py b/src/cmlibs/utils/__init__.py index 79760ca..8ca559c 100644 --- a/src/cmlibs/utils/__init__.py +++ b/src/cmlibs/utils/__init__.py @@ -1,3 +1,14 @@ -import importlib.metadata +from importlib import metadata -__version__ = importlib.metadata.version("cmlibs_utils") + +def get_version(package_name: str, fallback: str = "X.Y.Z") -> str: + try: + return metadata.version(package_name) + except metadata.PackageNotFoundError: + try: + return metadata.version(package_name.replace(".", "_")) + except metadata.PackageNotFoundError: + return fallback + + +__version__ = get_version("cmlibs.utils")