diff --git a/pkgs/development/python-modules/kserve-storage/default.nix b/pkgs/development/python-modules/kserve-storage/default.nix new file mode 100644 index 000000000000..b56be1c1b275 --- /dev/null +++ b/pkgs/development/python-modules/kserve-storage/default.nix @@ -0,0 +1,67 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + + # build-system + setuptools, + + # dependencies + azure-identity, + azure-storage-blob, + azure-storage-file-share, + boto3, + google-cloud-storage, + huggingface-hub, + requests, + + # tests + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "kserve-storage"; + version = "0.16.0"; + pyproject = true; + + src = fetchPypi { + pname = "kserve_storage"; + inherit version; + hash = "sha256-xgLnWegsPF18RLxwxt0dfnrZwsX7AK3b8AdT594Bac4="; + }; + + build-system = [ + setuptools + ]; + + pythonRelaxDeps = [ + "google-cloud-storage" + ]; + dependencies = [ + azure-identity + azure-storage-blob + azure-storage-file-share + boto3 + google-cloud-storage + huggingface-hub + requests + ]; + + pythonImportsCheck = [ "kserve_storage" ]; + + nativeCheckInputs = [ + pytestCheckHook + ]; + + disabledTests = [ + # RuntimeError: Failed to fetch model. No model found in file:///tmp. + "test_local_path_with_out_dir_exist" + ]; + + meta = { + description = "KServe Storage Handler. This module is responsible to download the models from the provided source"; + homepage = "https://pypi.org/project/kserve-storage"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ GaetanLepage ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index ab0840b733e0..9c957caf06f6 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7964,6 +7964,8 @@ self: super: with self; { kserve = callPackage ../development/python-modules/kserve { }; + kserve-storage = callPackage ../development/python-modules/kserve-storage { }; + kubernetes = callPackage ../development/python-modules/kubernetes { }; kubernetes-asyncio = callPackage ../development/python-modules/kubernetes-asyncio { };