1{ lib
2, authlib
3, buildPythonPackage
4, fetchPypi
5, pythonOlder
6, setuptools-scm
7, tqdm
8, validators
9}:
10
11buildPythonPackage rec {
12 pname = "weaviate-client";
13 version = "3.25.3";
14 format = "setuptools";
15
16 disabled = pythonOlder "3.7";
17
18 src = fetchPypi {
19 inherit pname version;
20 hash = "sha256-iU33APwfCpMvo3ACn2RK9AYvhxgCb9pa0HZH01fZUWc=";
21 };
22
23 SETUPTOOLS_SCM_PRETEND_VERSION = version;
24
25 postPatch = ''
26 substituteInPlace setup.cfg \
27 --replace "validators>=0.18.2,<=0.21.0" "validators>=0.18.2" \
28 --replace "requests>=2.28.0,<2.29.0" "requests>=2.28.0"
29 '';
30
31 nativeBuildInputs = [
32 setuptools-scm
33 ];
34
35 propagatedBuildInputs = [
36 authlib
37 tqdm
38 validators
39 ];
40
41 doCheck = false;
42
43 pythonImportsCheck = [
44 "weaviate"
45 ];
46
47 meta = with lib; {
48 description = "Python native client for easy interaction with a Weaviate instance";
49 homepage = "https://github.com/weaviate/weaviate-python-client";
50 changelog = "https://github.com/weaviate/weaviate-python-client/releases/tag/v${version}";
51 license = licenses.mit;
52 maintainers = with maintainers; [ happysalada ];
53 };
54}