1{
2 lib,
3 buildPythonPackage,
4 dataclasses-json,
5 fetchFromGitHub,
6 langchain-core,
7 langgraph-sdk,
8 msgpack,
9 poetry-core,
10 pytest-asyncio,
11 pytest-mock,
12 pytestCheckHook,
13 pythonOlder,
14}:
15
16buildPythonPackage rec {
17 pname = "langgraph-checkpoint";
18 version = "2.0.8";
19 pyproject = true;
20
21 disabled = pythonOlder "3.9";
22
23 src = fetchFromGitHub {
24 owner = "langchain-ai";
25 repo = "langgraph";
26 tag = "checkpoint==${version}";
27 hash = "sha256-obDK6wn+oo8zDQsidogwKTIgT5wuUH/l4y+12cttkd0=";
28 };
29
30 sourceRoot = "${src.name}/libs/checkpoint";
31
32 build-system = [ poetry-core ];
33
34 dependencies = [ langchain-core ];
35
36 propagatedBuildInputs = [ msgpack ];
37
38 pythonRelaxDeps = [ "msgpack" ]; # Can drop after msgpack 1.0.10 lands in nixpkgs
39
40 pythonImportsCheck = [ "langgraph.checkpoint" ];
41
42 nativeCheckInputs = [
43 dataclasses-json
44 pytest-asyncio
45 pytest-mock
46 pytestCheckHook
47 ];
48
49 disabledTests = [
50 # AssertionError
51 "test_serde_jsonplus"
52 ];
53
54 passthru = {
55 updateScript = langgraph-sdk.updateScript;
56 };
57
58 meta = {
59 changelog = "https://github.com/langchain-ai/langgraph/releases/tag/checkpoint==${version}";
60 description = "Library with base interfaces for LangGraph checkpoint savers";
61 homepage = "https://github.com/langchain-ai/langgraph/tree/main/libs/checkpoint";
62 license = lib.licenses.mit;
63 maintainers = with lib.maintainers; [
64 drupol
65 sarahec
66 ];
67 };
68}