diff --git a/pkgs/development/python-modules/langgraph-checkpoint/default.nix b/pkgs/development/python-modules/langgraph-checkpoint/default.nix new file mode 100644 index 000000000000..77b3ba34826e --- /dev/null +++ b/pkgs/development/python-modules/langgraph-checkpoint/default.nix @@ -0,0 +1,51 @@ +{ + lib, + buildPythonPackage, + dataclasses-json, + fetchFromGitHub, + langchain-core, + poetry-core, + pytest-asyncio, + pytestCheckHook, + pythonOlder, +}: + +buildPythonPackage rec { + pname = "langgraph-checkpoint"; + version = "1.0.3"; + pyproject = true; + + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "langchain-ai"; + repo = "langgraph"; + rev = "refs/tags/checkpoint==${version}"; + hash = "sha256-5JP9f2uHNo71btQ96sBPlS7JPqo35C3VEMeHN1cJSro="; + }; + + sourceRoot = "${src.name}/libs/checkpoint"; + + build-system = [ poetry-core ]; + + dependencies = [ langchain-core ]; + + pythonImportsCheck = [ "langgraph.checkpoint" ]; + + nativeCheckInputs = [ + dataclasses-json + pytest-asyncio + pytestCheckHook + ]; + + meta = { + changelog = "https://github.com/langchain-ai/langgraph/releases/tag/checkpoint==${version}"; + description = "Library with base interfaces for LangGraph checkpoint savers"; + homepage = "https://github.com/langchain-ai/langgraph/tree/main/libs/checkpoint"; + license = lib.licenses.mit; + maintainers = with lib.maintainers; [ + drupol + sarahec + ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 9a9f3e0e5550..12e3e85f722f 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6766,6 +6766,8 @@ self: super: with self; { langgraph = callPackage ../development/python-modules/langgraph { }; + langgraph-checkpoint = callPackage ../development/python-modules/langgraph-checkpoint { }; + langgraph-checkpoint-postgres = callPackage ../development/python-modules/langgraph-checkpoint-postgres { }; langgraph-checkpoint-sqlite = callPackage ../development/python-modules/langgraph-checkpoint-sqlite { };