1{
2 lib,
3 aiohttp,
4 buildPythonPackage,
5 elastic-transport,
6 fetchPypi,
7 pythonOlder,
8 requests,
9 urllib3,
10}:
11
12buildPythonPackage rec {
13 pname = "elasticsearch8";
14 version = "8.13.0";
15 format = "setuptools";
16
17 disabled = pythonOlder "3.7";
18
19 src = fetchPypi {
20 inherit pname version;
21 hash = "sha256-NWg+/dr8jXCCLeXBAXY1yL6/2CB0xCO5tswY4y/5erw=";
22 };
23
24 nativeBuildInputs = [ elastic-transport ];
25
26 propagatedBuildInputs = [ requests ];
27
28 passthru.optional-dependencies = {
29 async = [ aiohttp ];
30 };
31
32 # Check is disabled because running them destroy the content of the local cluster!
33 # https://github.com/elasticsearch/elasticsearch-py/tree/main/test_elasticsearch
34 doCheck = false;
35
36 pythonImportsCheck = [ "elasticsearch8" ];
37
38 meta = with lib; {
39 description = "Official low-level client for Elasticsearch";
40 homepage = "https://github.com/elasticsearch/elasticsearch-py";
41 changelog = "https://github.com/elastic/elasticsearch-py/releases/tag/v${version}";
42 license = licenses.asl20;
43 maintainers = with maintainers; [ fab ];
44 };
45}