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