1{ lib
2, buildPythonPackage
3, certifi
4, click
5, elastic-transport
6, elasticsearch8
7, fetchFromGitHub
8, hatchling
9, mock
10, pytest-asyncio
11, pytestCheckHook
12, pythonOlder
13, pyyaml
14, requests
15, six
16, voluptuous
17}:
18
19buildPythonPackage rec {
20 pname = "es-client";
21 version = "8.7.0";
22 format = "pyproject";
23
24 disabled = pythonOlder "3.7";
25
26 src = fetchFromGitHub {
27 owner = "untergeek";
28 repo = "es_client";
29 rev = "refs/tags/v${version}";
30 hash = "sha256-DJIo0yFJGR9gw5UJnmgnBFZx0uXUEW3rWT49jhfnXkQ=";
31 };
32
33 nativeBuildInputs = [
34 hatchling
35 ];
36
37 propagatedBuildInputs = [
38 certifi
39 click
40 elastic-transport
41 elasticsearch8
42 pyyaml
43 six
44 voluptuous
45 ];
46
47 nativeCheckInputs = [
48 mock
49 pytest-asyncio
50 pytestCheckHook
51 requests
52 ];
53
54 pythonImportsCheck = [
55 "es_client"
56 ];
57
58 disabledTests = [
59 # Tests require network access
60 "test_bad_version_raises"
61 "test_client_info"
62 "test_multiple_hosts_raises"
63 "test_non_dict_passed"
64 "test_skip_version_check"
65 ];
66
67 meta = with lib; {
68 description = "Module for building Elasticsearch client objects";
69 homepage = "https://github.com/untergeek/es_client";
70 changelog = "https://github.com/untergeek/es_client/releases/tag/v${version}";
71 license = licenses.asl20;
72 maintainers = with maintainers; [ fab ];
73 };
74}