diff --git a/pkgs/development/python-modules/unsloth-zoo/default.nix b/pkgs/development/python-modules/unsloth-zoo/default.nix index 163361671cae..16dc99b9c96a 100644 --- a/pkgs/development/python-modules/unsloth-zoo/default.nix +++ b/pkgs/development/python-modules/unsloth-zoo/default.nix @@ -13,6 +13,7 @@ datasets, hf-transfer, huggingface-hub, + msgspec, packaging, peft, psutil, @@ -26,14 +27,14 @@ buildPythonPackage rec { pname = "unsloth-zoo"; - version = "2025.4.1"; + version = "2025.5.11"; pyproject = true; # no tags on GitHub src = fetchPypi { pname = "unsloth_zoo"; inherit version; - hash = "sha256-mRs/NMCNJWT52S7mtbQI332IQR6+/IaL29XmtMOz3fE="; + hash = "sha256-QRKcFkNlr7pICEy3il+za6hDYjvsSxHIBM6VaB1c5mk="; }; # pyproject.toml requires an obsolete version of protobuf, @@ -41,6 +42,7 @@ buildPythonPackage rec { # Upstream issue: https://github.com/unslothai/unsloth-zoo/pull/68 pythonRelaxDeps = [ "protobuf" + "transformers" ]; patches = [ @@ -59,6 +61,7 @@ buildPythonPackage rec { datasets hf-transfer huggingface-hub + msgspec packaging peft psutil diff --git a/pkgs/development/python-modules/unsloth-zoo/dont-require-unsloth.patch b/pkgs/development/python-modules/unsloth-zoo/dont-require-unsloth.patch index 6c06b8537115..4d4bdb13a05c 100644 --- a/pkgs/development/python-modules/unsloth-zoo/dont-require-unsloth.patch +++ b/pkgs/development/python-modules/unsloth-zoo/dont-require-unsloth.patch @@ -1,8 +1,9 @@ diff --git a/unsloth_zoo/__init__.py b/unsloth_zoo/__init__.py +index a629854..06014b1 100644 --- a/unsloth_zoo/__init__.py +++ b/unsloth_zoo/__init__.py -@@ -17,14 +17,10 @@ - __version__ = "2025.3.17" +@@ -17,8 +17,6 @@ + __version__ = "2025.5.11" from importlib.util import find_spec -if find_spec("unsloth") is None: @@ -10,6 +11,17 @@ diff --git a/unsloth_zoo/__init__.py b/unsloth_zoo/__init__.py pass del find_spec +@@ -28,13 +26,14 @@ def get_device_type(): + return "cuda" + elif hasattr(torch, "xpu") and torch.xpu.is_available(): + return "xpu" ++ else: ++ # Allow import during tests ++ return None + raise NotImplementedError("Unsloth currently only works on NVIDIA GPUs and Intel GPUs.") + pass + DEVICE_TYPE : str = get_device_type() + import os -if not ("UNSLOTH_IS_PRESENT" in os.environ): - raise ImportError("Please install Unsloth via `pip install unsloth`!")