From af3c5005fcdfa3b0c0648d5951a333a6db91e246 Mon Sep 17 00:00:00 2001 From: mart-r Date: Tue, 2 Dec 2025 16:14:26 +0000 Subject: [PATCH 1/3] CU-869bc4adt: Update local cache to guarantee unique files --- medcat-den/src/medcat_den/cache/local_cache.py | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/medcat-den/src/medcat_den/cache/local_cache.py b/medcat-den/src/medcat_den/cache/local_cache.py index 44e4558bf..47bef4d43 100644 --- a/medcat-den/src/medcat_den/cache/local_cache.py +++ b/medcat-den/src/medcat_den/cache/local_cache.py @@ -4,6 +4,7 @@ from io import BytesIO import shutil +from tempfile import TemporaryDirectory from diskcache import Cache @@ -114,7 +115,9 @@ def push_wrapper(cat_path: str, description: str) -> None: # and then cache it locally base_name = os.path.basename(cat_path) model_hash = base_name.removesuffix(".zip") - self[model_hash] = cat_path + with open(cat_path, "rb") as f: + model_bytes = f.read() + self.insert_raw(model_hash, model_bytes) den._push_model_from_file = push_wrapper # type: ignore # wrap fetch_model to check cache first @@ -128,8 +131,16 @@ def fetch_wrapper(model_info: ModelInfo) -> CATWrapper: model_path, model_info=model_info)) cat = orig_fetch(model_info) # cache it - model_path = f"{model_hash}.zip" - self[model_hash] = model_path + with TemporaryDirectory() as tmpdir: + model_path = cat.save_model_pack( + tmpdir, + pack_name=model_hash, + add_hash_to_pack_name=False, + force_save_local=True + ) + with open(model_path, "rb") as f: + model_bytes = f.read() + self.insert_raw(model_hash, model_bytes) return cat den.fetch_model = fetch_wrapper # type: ignore From 1d7c549f10bb26d8fb5146f86efbf3e78578041f Mon Sep 17 00:00:00 2001 From: mart-r Date: Tue, 2 Dec 2025 16:33:53 +0000 Subject: [PATCH 2/3] CU-869bc4adt: Add .zip to cached file names --- medcat-den/src/medcat_den/cache/local_cache.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/medcat-den/src/medcat_den/cache/local_cache.py b/medcat-den/src/medcat_den/cache/local_cache.py index 47bef4d43..d0f3eb4cc 100644 --- a/medcat-den/src/medcat_den/cache/local_cache.py +++ b/medcat-den/src/medcat_den/cache/local_cache.py @@ -137,7 +137,7 @@ def fetch_wrapper(model_info: ModelInfo) -> CATWrapper: pack_name=model_hash, add_hash_to_pack_name=False, force_save_local=True - ) + ) + ".zip" with open(model_path, "rb") as f: model_bytes = f.read() self.insert_raw(model_hash, model_bytes) From e8d3d30eca463af34ff5349e87b1665cbc2f902f Mon Sep 17 00:00:00 2001 From: mart-r Date: Tue, 2 Dec 2025 16:34:14 +0000 Subject: [PATCH 3/3] CU-869bc4adt: Override describe for (some) local installs --- medcat-den/pyproject.toml | 1 + 1 file changed, 1 insertion(+) diff --git a/medcat-den/pyproject.toml b/medcat-den/pyproject.toml index 00f21b875..0d14109f8 100644 --- a/medcat-den/pyproject.toml +++ b/medcat-den/pyproject.toml @@ -53,6 +53,7 @@ root = ".." tag_regex = "^medcat-den/v(?P[0-9]+(?:\\.[0-9]+)*)$" version_scheme = "guess-next-dev" local_scheme = "no-local-version" +git_describe_command = "git describe --dirty --tags --long --match 'medcat-den/v*'" [tool.setuptools] package-dir = {"" = "src"}