1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, freezegun
5, poetry-core
6, pydantic
7, pytest-asyncio
8, pytestCheckHook
9, pythonOlder
10, requests
11}:
12
13buildPythonPackage rec {
14 pname = "langsmith";
15 version = "0.0.35";
16 format = "pyproject";
17
18 disabled = pythonOlder "3.8";
19
20 src = fetchFromGitHub {
21 owner = "langchain-ai";
22 repo = "langsmith-sdk";
23 rev = "refs/tags/v${version}";
24 hash = "sha256-TR4vBsRImMLs7CTlBt1NHL+n65jXxBNbOY7wIlfFBfM=";
25 };
26
27 sourceRoot = "${src.name}/python";
28
29 nativeBuildInputs = [
30 poetry-core
31 ];
32
33 propagatedBuildInputs = [
34 pydantic
35 requests
36 ];
37
38 nativeCheckInputs = [
39 freezegun
40 pytest-asyncio
41 pytestCheckHook
42 ];
43
44 disabledTests = [
45 # These tests require network access
46 "integration_tests"
47 ];
48
49 pythonImportsCheck = [
50 "langsmith"
51 ];
52
53 meta = with lib; {
54 description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform";
55 homepage = "https://github.com/langchain-ai/langsmith-sdk";
56 changelog = "https://github.com/langchain-ai/langsmith-sdk/releases/tag/v${version}";
57 license = licenses.mit;
58 maintainers = with maintainers; [ natsukium ];
59 };
60}