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