1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 poetry-core,
6 certifi,
7 docling-core,
8 platformdirs,
9 pluggy,
10 pydantic,
11 pydantic-settings,
12 python-dateutil,
13 python-dotenv,
14 requests,
15 six,
16 tabulate,
17 tqdm,
18 typer,
19 urllib3,
20 anyio,
21 fastapi,
22 uvicorn,
23 pytestCheckHook,
24}:
25
26buildPythonPackage rec {
27 pname = "deepsearch-toolkit";
28 version = "2.0.1";
29 pyproject = true;
30
31 src = fetchFromGitHub {
32 owner = "DS4SD";
33 repo = "deepsearch-toolkit";
34 tag = "v${version}";
35 hash = "sha256-nrz9pvyA5gPIaKt6CsJOB9cLy3sXiWW5e1Rk4vtNIY8=";
36 };
37
38 build-system = [
39 poetry-core
40 ];
41
42 dependencies = [
43 certifi
44 docling-core
45 platformdirs
46 pluggy
47 pydantic
48 pydantic-settings
49 python-dateutil
50 python-dotenv
51 requests
52 six
53 tabulate
54 tqdm
55 typer
56 urllib3
57 ];
58
59 pythonRelaxDeps = [
60 "certifi"
61 "urllib3"
62 ];
63
64 optional-dependencies = rec {
65 all = api;
66 api = [
67 anyio
68 fastapi
69 uvicorn
70 ];
71 };
72
73 pythonImportsCheck = [
74 "deepsearch"
75 ];
76
77 nativeCheckInputs = [
78 pytestCheckHook
79 ];
80
81 disabledTests = [
82 # Tests require the creation of a deepsearch profile
83 "test_project_listing"
84 "test_system_info"
85 ];
86
87 meta = {
88 changelog = "https://github.com/DS4SD/deepsearch-toolkit/blob/${src.tag}/CHANGELOG.md";
89 description = "Interact with the Deep Search platform for new knowledge explorations and discoveries";
90 homepage = "https://github.com/DS4SD/deepsearch-toolkit";
91 license = lib.licenses.mit;
92 maintainers = with lib.maintainers; [ ];
93 };
94}