diff --git a/pkgs/by-name/he/heretic/package.nix b/pkgs/by-name/he/heretic/package.nix new file mode 100644 index 000000000000..5b5529712aa0 --- /dev/null +++ b/pkgs/by-name/he/heretic/package.nix @@ -0,0 +1 @@ +{ python3Packages }: with python3Packages; toPythonApplication heretic-llm diff --git a/pkgs/development/python-modules/heretic-llm/default.nix b/pkgs/development/python-modules/heretic-llm/default.nix new file mode 100644 index 000000000000..749d46b9fad9 --- /dev/null +++ b/pkgs/development/python-modules/heretic-llm/default.nix @@ -0,0 +1,90 @@ +{ + lib, + accelerate, + bitsandbytes, + buildPythonPackage, + datasets, + fetchFromGitHub, + # geom-median, + hf-transfer, + huggingface-hub, + imageio, + kernels, + matplotlib, + numpy, + optuna, + # pacmap, + peft, + psutil, + pydantic-settings, + questionary, + rich, + scikit-learn, + transformers, + uv-build, +}: + +buildPythonPackage (finalAttrs: { + pname = "heretic-llm"; + version = "1.2.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "p-e-w"; + repo = "heretic"; + tag = "v${finalAttrs.version}"; + hash = "sha256-KmqbOAOII1SP7wpdvGxtzQJt5NmlnF/o99NuZ21vO0s="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace-fail "uv_build>=0.8.11,<0.9.0" "uv_build" + ''; + + pythonRelaxDeps = [ + "huggingface-hub" + "transformers" + ]; + + build-system = [ uv-build ]; + + dependencies = [ + accelerate + bitsandbytes + datasets + hf-transfer + huggingface-hub + kernels + optuna + peft + psutil + pydantic-settings + questionary + rich + transformers + ]; + + optional-dependencies = { + research = [ + # geom-median + imageio + matplotlib + numpy + # pacmap + scikit-learn + ]; + }; + + pythonImportsCheck = [ "heretic" ]; + + meta = { + description = "Tool to remove censorship removal for language models"; + homepage = "https://github.com/p-e-w/heretic"; + changelog = "https://github.com/p-e-w/heretic/releases/tag/v${finalAttrs.src.tag}"; + license = with lib.licenses; [ + agpl3Only + agpl3Plus + ]; + maintainers = with lib.maintainers; [ fab ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 621d993c3bd1..d36b5f1d4d53 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6966,6 +6966,8 @@ self: super: with self; { herepy = callPackage ../development/python-modules/herepy { }; + heretic-llm = callPackage ../development/python-modules/heretic-llm { }; + hetzner = callPackage ../development/python-modules/hetzner { }; heudiconv = callPackage ../development/python-modules/heudiconv { };