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