Clone of https://github.com/NixOS/nixpkgs.git (to stress-test knotserver)
1{
2 lib,
3 aiohttp,
4 anyio,
5 buildPythonPackage,
6 elastic-transport,
7 fetchPypi,
8 hatchling,
9 orjson,
10 pyarrow,
11 python-dateutil,
12 requests,
13 sniffio,
14 typing-extensions,
15}:
16
17buildPythonPackage rec {
18 pname = "elasticsearch";
19 version = "9.2.1";
20 pyproject = true;
21
22 src = fetchPypi {
23 inherit pname version;
24 hash = "sha256-l/RzQY6JdmETSXVyh6yYKs8S9OMFGChj2YXVoDHDaDA=";
25 };
26
27 build-system = [ hatchling ];
28
29 dependencies = [
30 anyio
31 elastic-transport
32 python-dateutil
33 sniffio
34 typing-extensions
35 ];
36
37 optional-dependencies = {
38 requests = [ requests ];
39 async = [ aiohttp ];
40 orjson = [ orjson ];
41 pyarrow = [ pyarrow ];
42 };
43
44 pythonImportsCheck = [ "elasticsearch" ];
45
46 # Check is disabled because running them destroy the content of the local cluster!
47 # https://github.com/elasticsearch/elasticsearch-py/tree/master/test_elasticsearch
48 doCheck = false;
49
50 meta = {
51 description = "Official low-level client for Elasticsearch";
52 homepage = "https://github.com/elasticsearch/elasticsearch-py";
53 changelog = "https://github.com/elastic/elasticsearch-py/releases/tag/v${version}";
54 license = lib.licenses.asl20;
55 };
56}