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.63";
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-KE+WMnuWAq1stZuuwZkOPOKQ2lZNKtxzNbZMRoOdmz0=";
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 # due to circular import
48 "test_as_runnable"
49 "test_as_runnable_batch"
50 "test_as_runnable_async"
51 "test_as_runnable_async_batch"
52 ];
53
54 disabledTestPaths = [
55 # due to circular import
56 "tests/integration_tests/test_client.py"
57 ];
58
59 pythonImportsCheck = [
60 "langsmith"
61 ];
62
63 __darwinAllowLocalNetworking = true;
64
65 meta = with lib; {
66 description = "Client library to connect to the LangSmith LLM Tracing and Evaluation Platform";
67 homepage = "https://github.com/langchain-ai/langsmith-sdk";
68 changelog = "https://github.com/langchain-ai/langsmith-sdk/releases/tag/v${version}";
69 license = licenses.mit;
70 maintainers = with maintainers; [ natsukium ];
71 };
72}