diff --git a/pkgs/development/python-modules/langchain-anthropic/default.nix b/pkgs/development/python-modules/langchain-anthropic/default.nix index f925977727d5..3ca06b41a74d 100644 --- a/pkgs/development/python-modules/langchain-anthropic/default.nix +++ b/pkgs/development/python-modules/langchain-anthropic/default.nix @@ -22,19 +22,19 @@ gitUpdater, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "langchain-anthropic"; - version = "1.3.3"; + version = "1.3.4"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; - tag = "langchain-anthropic==${version}"; - hash = "sha256-vQ2h92oP3gpSEu3HjQUF+1KWX9gm4Q7osTynu77UlvA="; + tag = "langchain-anthropic==${finalAttrs.version}"; + hash = "sha256-8dGP26N2aheMTtI2wYMBVitlzrTsJZa5Zt5xVl+vqI4="; }; - sourceRoot = "${src.name}/libs/partners/anthropic"; + sourceRoot = "${finalAttrs.src.name}/libs/partners/anthropic"; build-system = [ hatchling ]; @@ -72,7 +72,7 @@ buildPythonPackage rec { }; meta = { - changelog = "https://github.com/langchain-ai/langchain-anthropic/releases/tag/${src.tag}"; + changelog = "https://github.com/langchain-ai/langchain-anthropic/releases/tag/${finalAttrs.src.tag}"; description = "Build LangChain applications with Anthropic"; homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/anthropic"; license = lib.licenses.mit; @@ -80,4 +80,4 @@ buildPythonPackage rec { lib.maintainers.sarahec ]; }; -} +}) diff --git a/pkgs/development/python-modules/langchain-aws/default.nix b/pkgs/development/python-modules/langchain-aws/default.nix index 3581dfa14354..a1b15105683a 100644 --- a/pkgs/development/python-modules/langchain-aws/default.nix +++ b/pkgs/development/python-modules/langchain-aws/default.nix @@ -12,6 +12,10 @@ numpy, pydantic, + # optional-dependencies + langchain-anthropic, + anthropic, + # tests langchain-tests, pytest-asyncio, @@ -22,16 +26,16 @@ gitUpdater, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "langchain-aws"; - version = "1.2.5"; + version = "1.3.1"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain-aws"; - tag = "langchain-aws==${version}"; - hash = "sha256-mOK7rTDJPU4eS5jCzQ+yUDl2fkY3x4Mpl5bGEF3eLFc="; + tag = "langchain-aws==${finalAttrs.version}"; + hash = "sha256-hKMTzN2NVMSMCVsFroFFUM0embz8KHbDnmunwOb9ofw="; }; postPatch = '' @@ -39,7 +43,7 @@ buildPythonPackage rec { --replace-fail "--snapshot-warn-unused" "" ''; - sourceRoot = "${src.name}/libs/aws"; + sourceRoot = "${finalAttrs.src.name}/libs/aws"; build-system = [ hatchling ]; @@ -51,19 +55,25 @@ buildPythonPackage rec { ]; pythonRelaxDeps = [ - # Boto @ 1.35 has outstripped the version requirement + # Boto3 spec has outstripped the version requirement "boto3" - # Each component release requests the exact latest core. - # That prevents us from updating individual components. - "langchain-core" ]; + optional-dependencies = { + anthropic = [ + anthropic.optional-dependencies.bedrock + langchain-anthropic + ]; + }; + nativeCheckInputs = [ + anthropic langchain-tests pytest-asyncio pytest-cov-stub pytestCheckHook - ]; + ] + ++ lib.concatAttrValues finalAttrs.passthru.optional-dependencies; enabledTestPaths = [ "tests/unit_tests" ]; @@ -83,7 +93,7 @@ buildPythonPackage rec { }; meta = { - changelog = "https://github.com/langchain-ai/langchain-aws/releases/tag/${src.tag}"; + changelog = "https://github.com/langchain-ai/langchain-aws/releases/tag/${finalAttrs.src.tag}"; description = "Build LangChain application on AWS"; homepage = "https://github.com/langchain-ai/langchain-aws/"; license = lib.licenses.mit; @@ -92,4 +102,4 @@ buildPythonPackage rec { sarahec ]; }; -} +}) diff --git a/pkgs/development/python-modules/langchain-classic/default.nix b/pkgs/development/python-modules/langchain-classic/default.nix index b6302540fc5d..4484a351fae5 100644 --- a/pkgs/development/python-modules/langchain-classic/default.nix +++ b/pkgs/development/python-modules/langchain-classic/default.nix @@ -40,27 +40,22 @@ gitUpdater, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "langchain-classic"; - version = "1.0.1"; + version = "1.0.2"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; - tag = "langchain-classic==${version}"; - hash = "sha256-4DlKOxt5OoPm38szMEJpw6gDl247eRsx4LZpofUKpUk="; + tag = "langchain-classic==${finalAttrs.version}"; + hash = "sha256-NH2l2Htt5nAzzvwKUgQNwvQBLxZKhOLxnxthvK/Yh4I="; }; - sourceRoot = "${src.name}/libs/langchain"; + sourceRoot = "${finalAttrs.src.name}/libs/langchain"; build-system = [ hatchling ]; - pythonRelaxDeps = [ - # Each component release requests the exact latest core. - "langchain-core" - ]; - dependencies = [ langchain-core langchain-text-splitters @@ -121,4 +116,4 @@ buildPythonPackage rec { license = lib.licenses.mit; maintainers = with lib.maintainers; [ sarahec ]; }; -} +}) diff --git a/pkgs/development/python-modules/langchain-core/default.nix b/pkgs/development/python-modules/langchain-core/default.nix index 1ce07affc04d..c2b31f9710ff 100644 --- a/pkgs/development/python-modules/langchain-core/default.nix +++ b/pkgs/development/python-modules/langchain-core/default.nix @@ -21,7 +21,6 @@ blockbuster, freezegun, grandalf, - httpx, langchain-core, langchain-tests, numpy, @@ -35,19 +34,19 @@ gitUpdater, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "langchain-core"; - version = "1.2.12"; + version = "1.2.17"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; - tag = "langchain-core==${version}"; - hash = "sha256-KSZhuABk5OpfJ1e1/h/Vr7RA5f9eSK7VBJKaJ5i6xv4="; + tag = "langchain-core==${finalAttrs.version}"; + hash = "sha256-vuMVNRQSgj3o1KRBgspUglLECPF+YYWpH4/e5iE8ZYY="; }; - sourceRoot = "${src.name}/libs/core"; + sourceRoot = "${finalAttrs.src.name}/libs/core"; build-system = [ hatchling ]; @@ -136,11 +135,11 @@ buildPythonPackage rec { meta = { description = "Building applications with LLMs through composability"; homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/core"; - changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}"; + changelog = "https://github.com/langchain-ai/langchain/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ natsukium sarahec ]; }; -} +}) diff --git a/pkgs/development/python-modules/langchain-openai/default.nix b/pkgs/development/python-modules/langchain-openai/default.nix index ca02978305cf..9f1f52625f8e 100644 --- a/pkgs/development/python-modules/langchain-openai/default.nix +++ b/pkgs/development/python-modules/langchain-openai/default.nix @@ -31,19 +31,19 @@ gitUpdater, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "langchain-openai"; - version = "1.1.6"; + version = "1.1.10"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; - tag = "langchain-openai==${version}"; - hash = "sha256-Y+GV48rlqMfT4TrmoJFGqbHKfc8gxq61NhcUpwSsOwk="; + tag = "langchain-openai==${finalAttrs.version}"; + hash = "sha256-k0JpzgF+2UaYUbtzOB+NFxq7Ge/eRbT8M4PgvDpRG2g="; }; - sourceRoot = "${src.name}/libs/partners/openai"; + sourceRoot = "${finalAttrs.src.name}/libs/partners/openai"; build-system = [ hatchling ]; @@ -100,7 +100,7 @@ buildPythonPackage rec { }; meta = { - changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}"; + changelog = "https://github.com/langchain-ai/langchain/releases/tag/${finalAttrs.src.tag}"; description = "Integration package connecting OpenAI and LangChain"; homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/openai"; license = lib.licenses.mit; @@ -109,4 +109,4 @@ buildPythonPackage rec { sarahec ]; }; -} +}) diff --git a/pkgs/development/python-modules/langchain-tests/default.nix b/pkgs/development/python-modules/langchain-tests/default.nix index bb08244095a2..28add86608d3 100644 --- a/pkgs/development/python-modules/langchain-tests/default.nix +++ b/pkgs/development/python-modules/langchain-tests/default.nix @@ -26,19 +26,19 @@ gitUpdater, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "langchain-tests"; - version = "1.1.2"; + version = "1.1.5"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; - tag = "langchain-tests==${version}"; - hash = "sha256-g5s7zL4l/kIUoIu7/3+Ve3SXW3O9tj8f2N3bZ0gbBts="; + tag = "langchain-tests==${finalAttrs.version}"; + hash = "sha256-HyPJ3binXV3ypksvpyz1t6B1Zdz3NY6z4Ttq7K4yo+g="; }; - sourceRoot = "${src.name}/libs/standard-tests"; + sourceRoot = "${finalAttrs.src.name}/libs/standard-tests"; build-system = [ hatchling ]; @@ -84,7 +84,7 @@ buildPythonPackage rec { }; meta = { - changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}"; + changelog = "https://github.com/langchain-ai/langchain/releases/tag/${finalAttrs.src.tag}"; description = "Build context-aware reasoning applications"; homepage = "https://github.com/langchain-ai/langchain"; license = lib.licenses.mit; @@ -93,4 +93,4 @@ buildPythonPackage rec { sarahec ]; }; -} +}) diff --git a/pkgs/development/python-modules/langchain-text-splitters/default.nix b/pkgs/development/python-modules/langchain-text-splitters/default.nix index 6e51732c08ad..437270e4ba75 100644 --- a/pkgs/development/python-modules/langchain-text-splitters/default.nix +++ b/pkgs/development/python-modules/langchain-text-splitters/default.nix @@ -19,7 +19,7 @@ gitUpdater, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "langchain-text-splitters"; version = "1.1.1"; pyproject = true; @@ -27,20 +27,14 @@ buildPythonPackage rec { src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; - tag = "langchain-text-splitters==${version}"; + tag = "langchain-text-splitters==${finalAttrs.version}"; hash = "sha256-I5eMc/E7sCxEQG8+jw3E/M4uB7adKU5IMHRsS6pacsA="; }; - sourceRoot = "${src.name}/libs/text-splitters"; + sourceRoot = "${finalAttrs.src.name}/libs/text-splitters"; build-system = [ hatchling ]; - pythonRelaxDeps = [ - # Each component release requests the exact latest core. - # That prevents us from updating individual components. - "langchain-core" - ]; - dependencies = [ langchain-core ]; pythonImportsCheck = [ "langchain_text_splitters" ]; @@ -63,7 +57,7 @@ buildPythonPackage rec { }; meta = { - changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}"; + changelog = "https://github.com/langchain-ai/langchain/releases/tag/${finalAttrs.src.tag}"; description = "LangChain utilities for splitting into chunks a wide variety of text documents"; homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/text-splitters"; license = lib.licenses.mit; @@ -72,4 +66,4 @@ buildPythonPackage rec { sarahec ]; }; -} +}) diff --git a/pkgs/development/python-modules/langchain-xai/default.nix b/pkgs/development/python-modules/langchain-xai/default.nix index 2fd340bbc476..ab01b237473e 100644 --- a/pkgs/development/python-modules/langchain-xai/default.nix +++ b/pkgs/development/python-modules/langchain-xai/default.nix @@ -23,19 +23,19 @@ gitUpdater, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "langchain-xai"; - version = "1.2.1"; + version = "1.2.2"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; - tag = "langchain-xai==${version}"; - hash = "sha256-Eryr68TQDN37AwJVEm1jJvwqcxMjl2KO42dy7doJCrA="; + tag = "langchain-xai==${finalAttrs.version}"; + hash = "sha256-RUklm627HiwMcpKkm+0uWZgHp4iDtSsmEpLb9MxumqI="; }; - sourceRoot = "${src.name}/libs/partners/xai"; + sourceRoot = "${finalAttrs.src.name}/libs/partners/xai"; build-system = [ hatchling ]; @@ -46,12 +46,6 @@ buildPythonPackage rec { requests ]; - pythonRelaxDeps = [ - # Each component release requests the exact latest core. - # That prevents us from updating individual components. - "langchain-core" - ]; - nativeCheckInputs = [ langchain-tests pytest-asyncio @@ -78,7 +72,7 @@ buildPythonPackage rec { }; meta = { - changelog = "https://github.com/langchain-ai/langchain-xai/releases/tag/${src.tag}"; + changelog = "https://github.com/langchain-ai/langchain-xai/releases/tag/${finalAttrs.src.tag}"; description = "Build LangChain applications with X AI"; homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/xai"; license = lib.licenses.mit; @@ -86,4 +80,4 @@ buildPythonPackage rec { lib.maintainers.sarahec ]; }; -} +}) diff --git a/pkgs/development/python-modules/langchain/default.nix b/pkgs/development/python-modules/langchain/default.nix index 1282a6a0c1a6..cb439c307d79 100644 --- a/pkgs/development/python-modules/langchain/default.nix +++ b/pkgs/development/python-modules/langchain/default.nix @@ -30,6 +30,7 @@ runtimeShell, # tests + blockbuster, langchain-tests, pytest-asyncio, pytest-mock, @@ -43,19 +44,19 @@ gitUpdater, }: -buildPythonPackage rec { +buildPythonPackage (finalAttrs: { pname = "langchain"; - version = "1.2.7"; + version = "1.2.10"; pyproject = true; src = fetchFromGitHub { owner = "langchain-ai"; repo = "langchain"; - tag = "langchain==${version}"; - hash = "sha256-vwd8FoXeMLQyFcEViXx/3LqpNieyp4HHevMAv2AxNVY="; + tag = "langchain==${finalAttrs.version}"; + hash = "sha256-Icgka7z1wLuxEjUO5baxMya7KfltYsK8TXtCMg73E1Q="; }; - sourceRoot = "${src.name}/libs/langchain_v1"; + sourceRoot = "${finalAttrs.src.name}/libs/langchain_v1"; postPatch = '' substituteInPlace langchain/agents/middleware/shell_tool.py \ @@ -64,14 +65,6 @@ buildPythonPackage rec { build-system = [ hatchling ]; - pythonRelaxDeps = [ - # Each component release requests the exact latest core. - # That prevents us from updating individual components. - "langchain-core" - "numpy" - "tenacity" - ]; - dependencies = [ langchain-core langgraph @@ -98,6 +91,7 @@ buildPythonPackage rec { }; nativeCheckInputs = [ + blockbuster langchain-tests # langchain-openai -- causes recursion error pytest-asyncio @@ -150,11 +144,11 @@ buildPythonPackage rec { meta = { description = "Building applications with LLMs through composability"; homepage = "https://github.com/langchain-ai/langchain"; - changelog = "https://github.com/langchain-ai/langchain/releases/tag/${src.tag}"; + changelog = "https://github.com/langchain-ai/langchain/releases/tag/${finalAttrs.src.tag}"; license = lib.licenses.mit; maintainers = with lib.maintainers; [ natsukium sarahec ]; }; -} +})