diff --git a/maintainers/maintainer-list.nix b/maintainers/maintainer-list.nix index 86f7b7b0ce66..9b0b3417b9d6 100644 --- a/maintainers/maintainer-list.nix +++ b/maintainers/maintainer-list.nix @@ -7840,6 +7840,12 @@ name = "Elis Hirwing"; keys = [ { fingerprint = "67FE 98F2 8C44 CF22 1828 E12F D57E FA62 5C9A 925F"; } ]; }; + eu90h = { + email = "stefan@eu90h.com"; + github = "eu90h"; + githubId = 5161785; + name = "Stefan"; + }; euank = { email = "euank-nixpkg@euank.com"; github = "euank"; diff --git a/pkgs/development/python-modules/langchain-google-genai/default.nix b/pkgs/development/python-modules/langchain-google-genai/default.nix new file mode 100644 index 000000000000..0bb29afa3d52 --- /dev/null +++ b/pkgs/development/python-modules/langchain-google-genai/default.nix @@ -0,0 +1,89 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + + # build-system + poetry-core, + + # dependencies + filetype, + google-api-core, + google-auth, + google-generativeai, + langchain-core, + pydantic, + + # tests + freezegun, + langchain-tests, + numpy, + pytest-asyncio, + pytest-mock, + pytestCheckHook, + syrupy, + + # passthru + gitUpdater, +}: + +buildPythonPackage rec { + pname = "langchain-google-genai"; + version = "2.1.5"; + pyproject = true; + + src = fetchFromGitHub { + owner = "langchain-ai"; + repo = "langchain-google"; + tag = "libs/genai/v${version}"; + hash = "sha256-NCy4PHUSChsMVSebshDRGsg/koY7S4+mvI+GlIqW4q4="; + }; + + sourceRoot = "${src.name}/libs/genai"; + + build-system = [ poetry-core ]; + + pythonRelaxDeps = [ + # Each component release requests the exact latest core. + # That prevents us from updating individual components. + "langchain-core" + ]; + + dependencies = [ + filetype + google-api-core + google-auth + google-generativeai + langchain-core + pydantic + ]; + + nativeCheckInputs = [ + freezegun + langchain-tests + numpy + pytest-asyncio + pytest-mock + pytestCheckHook + syrupy + ]; + + pytestFlagsArray = [ "tests/unit_tests" ]; + + pythonImportsCheck = [ "langchain_google_genai" ]; + + passthru.updateScript = gitUpdater { + rev-prefix = "libs/genai/v"; + }; + + meta = { + changelog = "https://github.com/langchain-ai/langchain-google/releases/tag/${src.tag}"; + description = "LangChain integrations for Google Gemini"; + homepage = "https://github.com/langchain-ai/langchain-google/tree/main/libs/genai"; + license = lib.licenses.mit; + maintainers = [ + lib.maintainers.eu90h + lib.maintainers.sarahec + ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 86cadaed9737..3abd303abe7d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7807,6 +7807,8 @@ self: super: with self; { langchain-fireworks = callPackage ../development/python-modules/langchain-fireworks { }; + langchain-google-genai = callPackage ../development/python-modules/langchain-google-genai { }; + langchain-groq = callPackage ../development/python-modules/langchain-groq { }; langchain-huggingface = callPackage ../development/python-modules/langchain-huggingface { };