1{
2 lib,
3 azure-identity,
4 buildPythonPackage,
5 fetchFromGitHub,
6 freezegun,
7 langchain,
8 langchain-core,
9 pymongo,
10 lark,
11 pandas,
12 poetry-core,
13 pytest-asyncio,
14 pytest-mock,
15 pytest-socket,
16 pytestCheckHook,
17 pythonOlder,
18 requests-mock,
19 responses,
20 syrupy,
21 toml,
22}:
23
24buildPythonPackage rec {
25 pname = "langchain-mongodb";
26 version = "0.1.6";
27 pyproject = true;
28
29 disabled = pythonOlder "3.8";
30
31 src = fetchFromGitHub {
32 owner = "langchain-ai";
33 repo = "langchain";
34 rev = "refs/tags/langchain-mongodb==${version}";
35 hash = "sha256-p/cdWFPc2Oi5aRmjj1oAixM6aDKw0TbyzMdP4h2acG4=";
36 };
37
38 sourceRoot = "${src.name}/libs/partners/mongodb";
39
40 build-system = [ poetry-core ];
41
42 dependencies = [
43 langchain-core
44 pymongo
45 ];
46
47 nativeCheckInputs = [
48 freezegun
49 langchain
50 lark
51 pandas
52 pytest-asyncio
53 pytest-mock
54 pytest-socket
55 pytestCheckHook
56 requests-mock
57 responses
58 syrupy
59 toml
60 ];
61
62 pytestFlagsArray = [ "tests/unit_tests" ];
63
64 pythonImportsCheck = [ "langchain_mongodb" ];
65
66 passthru = {
67 updateScript = langchain-core.updateScript;
68 };
69
70 meta = {
71 changelog = "https://github.com/langchain-ai/langchain/releases/tag/langchain-mongodb==${version}";
72 description = "Integration package connecting MongoDB and LangChain";
73 homepage = "https://github.com/langchain-ai/langchain/tree/master/libs/partners/mongodb";
74 license = lib.licenses.mit;
75 maintainers = with lib.maintainers; [ natsukium ];
76 };
77}