From 97b709d4da41e48ce5772e2ef741fb2682c58135 Mon Sep 17 00:00:00 2001 From: Philip Taron Date: Thu, 8 May 2025 12:17:08 -0700 Subject: [PATCH] python3Packages.llm-groq: init at 0.8 --- pkgs/by-name/ll/llm/package.nix | 3 ++ .../python-modules/llm-groq/default.nix | 43 +++++++++++++++++++ .../llm-groq/tests/llm-plugin.nix | 22 ++++++++++ pkgs/top-level/python-packages.nix | 2 + 4 files changed, 70 insertions(+) create mode 100644 pkgs/development/python-modules/llm-groq/default.nix create mode 100644 pkgs/development/python-modules/llm-groq/tests/llm-plugin.nix diff --git a/pkgs/by-name/ll/llm/package.nix b/pkgs/by-name/ll/llm/package.nix index dd44a626b350..6eb16f997dfc 100644 --- a/pkgs/by-name/ll/llm/package.nix +++ b/pkgs/by-name/ll/llm/package.nix @@ -6,6 +6,7 @@ enable-llm-command-r ? false, enable-llm-gemini ? false, enable-llm-grok ? false, + enable-llm-groq ? false, enable-llm-gguf ? false, enable-llm-jq ? false, enable-llm-mistral ? false, @@ -23,6 +24,7 @@ let llm-gemini llm-gguf llm-grok + llm-groq llm-jq llm-mistral llm-ollama @@ -40,6 +42,7 @@ toPythonApplication ( ++ lib.optionals enable-llm-gemini [ llm-gemini ] ++ lib.optionals enable-llm-gguf [ llm-gguf ] ++ lib.optionals enable-llm-grok [ llm-grok ] + ++ lib.optionals enable-llm-groq [ llm-groq ] ++ lib.optionals enable-llm-jq [ llm-jq ] ++ lib.optionals enable-llm-mistral [ llm-mistral ] ++ lib.optionals enable-llm-ollama [ llm-ollama ] diff --git a/pkgs/development/python-modules/llm-groq/default.nix b/pkgs/development/python-modules/llm-groq/default.nix new file mode 100644 index 000000000000..a3f02f2e0b8a --- /dev/null +++ b/pkgs/development/python-modules/llm-groq/default.nix @@ -0,0 +1,43 @@ +{ + lib, + callPackage, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + groq, +}: + +buildPythonPackage rec { + pname = "llm-groq"; + version = "0.8"; + pyproject = true; + + src = fetchFromGitHub { + owner = "angerman"; + repo = "llm-groq"; + tag = "v${version}"; + hash = "sha256-sZ5d9w43NvypaPrebwZ5BLgRaCHAhd7gBU6uHEdUaF4="; + }; + + build-system = [ + setuptools + llm + ]; + + dependencies = [ groq ]; + + pythonImportsCheck = [ "llm_groq" ]; + + passthru.tests = { + llm-plugin = callPackage ./tests/llm-plugin.nix { }; + }; + + meta = { + description = "LLM plugin providing access to Groqcloud models."; + homepage = "https://github.com/angerman/llm-groq"; + changelog = "https://github.com/angerman/llm-groq/releases/tag/${src.tag}/CHANGELOG.md"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ philiptaron ]; + }; +} diff --git a/pkgs/development/python-modules/llm-groq/tests/llm-plugin.nix b/pkgs/development/python-modules/llm-groq/tests/llm-plugin.nix new file mode 100644 index 000000000000..5d0ce63e91db --- /dev/null +++ b/pkgs/development/python-modules/llm-groq/tests/llm-plugin.nix @@ -0,0 +1,22 @@ +{ + runCommand, + python, + yq, +}: +let + venv = python.withPackages (ps: [ + ps.llm + ps.llm-groq + ]); +in +runCommand "llm-groq-test-llm-plugin" + { + nativeBuildInputs = [ + venv + yq + ]; + } + '' + llm plugins | yq --exit-status 'any(.name == "llm-groq")' + touch "$out" + '' diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index c60ff6aa2173..d55248fa3536 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8306,6 +8306,8 @@ self: super: with self; { llm-grok = callPackage ../development/python-modules/llm-grok { }; + llm-groq = callPackage ../development/python-modules/llm-groq { }; + llm-jq = callPackage ../development/python-modules/llm-jq { }; llm-mistral = callPackage ../development/python-modules/llm-mistral { };