diff --git a/pkgs/development/python-modules/langchain-core/update.sh b/pkgs/development/python-modules/langchain-core/update.sh index 7fd578258715..0d295d19d536 100755 --- a/pkgs/development/python-modules/langchain-core/update.sh +++ b/pkgs/development/python-modules/langchain-core/update.sh @@ -10,6 +10,7 @@ declare -ar packages=( langchain-chroma langchain-community langchain-core + langchain-fireworks langchain-groq langchain-huggingface langchain-mistralai diff --git a/pkgs/development/python-modules/langchain-fireworks/default.nix b/pkgs/development/python-modules/langchain-fireworks/default.nix new file mode 100644 index 000000000000..4e32c0473914 --- /dev/null +++ b/pkgs/development/python-modules/langchain-fireworks/default.nix @@ -0,0 +1,79 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + nix-update-script, + + # build-system + pdm-backend, + + # dependencies + aiohttp, + fireworks-ai, + langchain-core, + openai, + pydantic, + + # tests + langchain-tests, + pytest-asyncio, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "langchain-fireworks"; + version = "0.3.0"; + pyproject = true; + + src = fetchFromGitHub { + owner = "langchain-ai"; + repo = "langchain"; + tag = "langchain-fireworks==${version}"; + hash = "sha256-OZou323FAk2I4YuQV7sllbzDwFQWy/90FK3gIHnEBd0="; + }; + + sourceRoot = "${src.name}/libs/partners/fireworks"; + + build-system = [ pdm-backend ]; + + dependencies = [ + aiohttp + fireworks-ai + langchain-core + openai + 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_fireworks" ]; + + passthru.updateScript = nix-update-script { + extraArgs = [ + "--version-regex" + "langchain-fireworks==([0-9.]+)" + ]; + }; + + meta = { + changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-fireworks==${version}"; + description = "Build LangChain applications with Fireworks"; + homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/fireworks"; + license = lib.licenses.mit; + maintainers = [ + lib.maintainers.sarahec + ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 75b1430c7520..f11a62418960 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -7538,6 +7538,8 @@ self: super: with self; { langchain-core = callPackage ../development/python-modules/langchain-core { }; + langchain-fireworks = callPackage ../development/python-modules/langchain-fireworks { }; + langchain-groq = callPackage ../development/python-modules/langchain-groq { }; langchain-huggingface = callPackage ../development/python-modules/langchain-huggingface { };