nixpkgs mirror (for testing)
github.com/NixOS/nixpkgs
nix
1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build system
7 hatchling,
8
9 # dependencies
10 langchain-core,
11 msgpack,
12 ormsgpack,
13
14 # testing
15 dataclasses-json,
16 numpy,
17 pandas,
18 pytest-asyncio,
19 pytest-mock,
20 pytestCheckHook,
21 redis,
22
23 # passthru
24 gitUpdater,
25}:
26
27buildPythonPackage rec {
28 pname = "langgraph-checkpoint";
29 version = "3.0.1";
30 pyproject = true;
31
32 src = fetchFromGitHub {
33 owner = "langchain-ai";
34 repo = "langgraph";
35 tag = "checkpoint==${version}";
36 hash = "sha256-3hh1KyEIsp9JzhaJW1ycp179FGpggPYzg6OwnD/cTBM=";
37 };
38
39 sourceRoot = "${src.name}/libs/checkpoint";
40
41 build-system = [ hatchling ];
42
43 dependencies = [
44 langchain-core
45 ormsgpack
46 ];
47
48 propagatedBuildInputs = [ msgpack ];
49
50 pythonImportsCheck = [ "langgraph.checkpoint" ];
51
52 nativeCheckInputs = [
53 dataclasses-json
54 numpy
55 pandas
56 pytest-asyncio
57 pytest-mock
58 pytestCheckHook
59 redis
60 ];
61
62 passthru = {
63 # python updater script sets the wrong tag
64 skipBulkUpdate = true;
65 updateScript = gitUpdater {
66 rev-prefix = "checkpoint==";
67 };
68 };
69
70 meta = {
71 changelog = "https://github.com/langchain-ai/langgraph/releases/tag/${src.tag}";
72 description = "Library with base interfaces for LangGraph checkpoint savers";
73 homepage = "https://github.com/langchain-ai/langgraph/tree/main/libs/checkpoint";
74 license = lib.licenses.mit;
75 maintainers = with lib.maintainers; [
76 sarahec
77 ];
78 };
79}