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"} diff --git a/medcat-den/src/medcat_den/cache/local_cache.py b/medcat-den/src/medcat_den/cache/local_cache.py index 44e4558bf..d0f3eb4cc 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 + ) + ".zip" + 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