1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 poetry-core,
8
9 # dependencies
10 httpx,
11 httpx-sse,
12 orjson,
13 typing-extensions,
14
15 # passthru
16 nix-update-script,
17}:
18
19buildPythonPackage rec {
20 pname = "langgraph-sdk";
21 version = "0.1.66";
22 pyproject = true;
23
24 src = fetchFromGitHub {
25 owner = "langchain-ai";
26 repo = "langgraph";
27 tag = "sdk==${version}";
28 hash = "sha256-RmyKnCL0hPOEXau+BtcWfOVt7BCtCkWuAEdDOxUV20o=";
29 };
30
31 sourceRoot = "${src.name}/libs/sdk-py";
32
33 build-system = [ poetry-core ];
34
35 dependencies = [
36 httpx
37 httpx-sse
38 orjson
39 typing-extensions
40 ];
41
42 disabledTests = [ "test_aevaluate_results" ]; # Compares execution time to magic number
43
44 pythonImportsCheck = [ "langgraph_sdk" ];
45
46 passthru.updateScript = nix-update-script {
47 extraArgs = [
48 "--version-regex"
49 "sdk==(\\d+\\.\\d+\\.\\d+)"
50 ];
51 };
52
53 meta = {
54 description = "SDK for interacting with the LangGraph Cloud REST API";
55 homepage = "https://github.com/langchain-ai/langgraph/tree/main/libs/sdk-py";
56 changelog = "https://github.com/langchain-ai/langgraph/releases/tag/sdk==${version}";
57 license = lib.licenses.mit;
58 maintainers = with lib.maintainers; [ sarahec ];
59 };
60}