1{
2 lib,
3 authlib,
4 buildPythonPackage,
5 fetchFromGitHub,
6 grpcio,
7 grpcio-health-checking,
8 grpcio-tools,
9 httpx,
10 pydantic,
11 pythonOlder,
12 pythonRelaxDepsHook,
13 setuptools-scm,
14 tqdm,
15 validators,
16}:
17
18buildPythonPackage rec {
19 pname = "weaviate-client";
20 version = "4.6.3";
21 pyproject = true;
22
23 disabled = pythonOlder "3.8";
24
25 src = fetchFromGitHub {
26 owner = "weaviate";
27 repo = "weaviate-python-client";
28 rev = "refs/tags/v${version}";
29 hash = "sha256-v8I0ovH99q5uYlnbZsQYgL9mg3n9i59W2n6/d9IiKyQ=";
30 };
31
32 pythonRelaxDeps = [
33 "httpx"
34 "validators"
35 ];
36
37 build-system = [ setuptools-scm ];
38
39 nativeBuildInputs = [ pythonRelaxDepsHook ];
40
41 dependencies = [
42 authlib
43 grpcio
44 grpcio-health-checking
45 grpcio-tools
46 httpx
47 pydantic
48 tqdm
49 validators
50 ];
51
52 doCheck = false;
53
54 pythonImportsCheck = [ "weaviate" ];
55
56 meta = with lib; {
57 description = "Python native client for easy interaction with a Weaviate instance";
58 homepage = "https://github.com/weaviate/weaviate-python-client";
59 changelog = "https://github.com/weaviate/weaviate-python-client/releases/tag/v${version}";
60 license = licenses.mit;
61 maintainers = with maintainers; [ happysalada ];
62 };
63}