diff --git a/pkgs/development/python-modules/llm-github-copilot/default.nix b/pkgs/development/python-modules/llm-github-copilot/default.nix new file mode 100644 index 000000000000..7810f800a593 --- /dev/null +++ b/pkgs/development/python-modules/llm-github-copilot/default.nix @@ -0,0 +1,48 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + llm, + llm-github-copilot, + writableTmpDirAsHomeHook, + pytestCheckHook, + pytest-vcr, + pytest-asyncio, +}: + +buildPythonPackage rec { + pname = "llm-github-copilot"; + version = "0.3.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "jmdaly"; + repo = "llm-github-copilot"; + tag = version; + hash = "sha256-BUVpt1Vv0+kxbTYHDdiYy3+ySJKWJ9b+dYexV7YS+NI="; + }; + + build-system = [ setuptools ]; + + dependencies = [ llm ]; + + nativeCheckInputs = [ + pytestCheckHook + writableTmpDirAsHomeHook + pytest-vcr + pytest-asyncio + ]; + + pythonImportsCheck = [ "llm_github_copilot" ]; + + passthru.tests = llm.mkPluginTest llm-github-copilot; + + meta = { + description = "LLM plugin providing access to GitHub Copilot"; + homepage = "https://github.com/jmdaly/llm-github-copilot"; + changelog = "https://github.com/jmdaly/llm-github-copilot/releases/tag/${src.tag}"; + license = lib.licenses.asl20; + maintainers = with lib.maintainers; [ afh ]; + }; +} diff --git a/pkgs/development/python-modules/llm/default.nix b/pkgs/development/python-modules/llm/default.nix index da9d75d496eb..121d7c4571db 100644 --- a/pkgs/development/python-modules/llm/default.nix +++ b/pkgs/development/python-modules/llm/default.nix @@ -75,6 +75,7 @@ let llm-gemini ? false, llm-gguf ? false, llm-git ? false, + llm-github-copilot ? false, llm-grok ? false, llm-groq ? false, llm-hacker-news ? false, diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index f6d116bda71e..e26fdbda25db 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8521,6 +8521,8 @@ self: super: with self; { llm-git = callPackage ../development/python-modules/llm-git { }; + llm-github-copilot = callPackage ../development/python-modules/llm-github-copilot { }; + llm-grok = callPackage ../development/python-modules/llm-grok { }; llm-groq = callPackage ../development/python-modules/llm-groq { };