1{ lib
2, buildPythonPackage
3, fetchFromGitHub
4, grpcio
5, grpcio-tools
6, h2
7, httpx
8, numpy
9, pytestCheckHook
10, poetry-core
11, pydantic
12, pythonOlder
13, typing-extensions
14, urllib3
15}:
16
17buildPythonPackage rec {
18 pname = "qdrant-client";
19 version = "1.1.0";
20 format = "pyproject";
21
22 disabled = pythonOlder "3.7";
23
24 src = fetchFromGitHub {
25 owner = "qdrant";
26 repo = pname;
27 rev = "refs/tags/v${version}";
28 hash = "sha256-rpNTV3VBTND39iW/kve0aG1KJzAIl1whmhH+e6RbOhw=";
29 };
30
31 nativeBuildInputs = [
32 poetry-core
33 ];
34
35 propagatedBuildInputs = [
36 numpy
37 httpx
38 grpcio
39 typing-extensions
40 grpcio-tools
41 pydantic
42 urllib3
43 h2
44 ];
45
46 nativeCheckInputs = [
47 pytestCheckHook
48 ];
49
50 pythonImportsCheck = [
51 "qdrant_client"
52 ];
53
54 disabledTests = [
55 # Tests require network access
56 "test_conditional_payload_update"
57 "test_locks"
58 "test_multiple_vectors"
59 "test_points_crud"
60 "test_qdrant_client_integration"
61 "test_quantization_config"
62 "test_record_upload"
63 ];
64
65 meta = with lib; {
66 description = "Python client for Qdrant vector search engine";
67 homepage = "https://github.com/qdrant/qdrant-client";
68 changelog = "https://github.com/qdrant/qdrant-client/releases/tag/v${version}";
69 license = licenses.mit;
70 maintainers = with maintainers; [ happysalada ];
71 };
72}