diff --git a/pkgs/development/python-modules/langchain-anthropic/default.nix b/pkgs/development/python-modules/langchain-anthropic/default.nix new file mode 100644 index 000000000000..2b45c4018f92 --- /dev/null +++ b/pkgs/development/python-modules/langchain-anthropic/default.nix @@ -0,0 +1,75 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + nix-update-script, + + # build-system + pdm-backend, + + # dependencies + anthropic, + langchain-core, + pydantic, + + # tests + langchain-tests, + pytest-asyncio, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "langchain-anthropic"; + version = "0.3.12"; + pyproject = true; + + src = fetchFromGitHub { + owner = "langchain-ai"; + repo = "langchain"; + tag = "langchain-anthropic==${version}"; + hash = "sha256-UpyACv1cVzvK4A1Up3R6PqVQahy9hAu0LoSkaEen6Sw="; + }; + + sourceRoot = "${src.name}/libs/partners/anthropic"; + + build-system = [ pdm-backend ]; + + dependencies = [ + anthropic + langchain-core + pydantic + ]; + + pythonRelaxDeps = [ + # Each component release requests the exact latest core. + # That prevents us from updating individual components. + "langchain-core" + ]; + + nativeCheckInputs = [ + langchain-tests + pytest-asyncio + pytestCheckHook + ]; + + pytestFlagsArray = [ "tests/unit_tests" ]; + + pythonImportsCheck = [ "langchain_anthropic" ]; + + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "langchain-anthropic==([0-9.]+)" + ]; + }; + + meta = { + changelog = "https://github.com/langchain-ai/langchain-anthropic/releases/tag/langchain-anthropic==${version}"; + description = "Build LangChain applications with Anthropic"; + homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/anthropic"; + license = lib.licenses.mit; + maintainers = [ + lib.maintainers.sarahec + ]; + }; +} diff --git a/pkgs/development/python-modules/langchain-core/update.sh b/pkgs/development/python-modules/langchain-core/update.sh index 5568df95e43b..9bf2da2cbae9 100755 --- a/pkgs/development/python-modules/langchain-core/update.sh +++ b/pkgs/development/python-modules/langchain-core/update.sh @@ -5,6 +5,7 @@ set -euo pipefail declare -ar packages=( langchain + langchain-anthropic langchain-azure-dynamic-sessions langchain-chroma langchain-community diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 36c2db9e9a03..044022dee874 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7520,6 +7520,8 @@ self: super: with self; { langchain = callPackage ../development/python-modules/langchain { }; + langchain-anthropic = callPackage ../development/python-modules/langchain-anthropic { }; + langchain-aws = callPackage ../development/python-modules/langchain-aws { }; langchain-azure-dynamic-sessions =