{ lib, aiohttp, anyio, buildPythonPackage, elastic-transport, fetchPypi, hatchling, orjson, pyarrow, python-dateutil, requests, sniffio, typing-extensions, }: buildPythonPackage rec { pname = "elasticsearch"; version = "9.2.1"; pyproject = true; src = fetchPypi { inherit pname version; hash = "sha256-l/RzQY6JdmETSXVyh6yYKs8S9OMFGChj2YXVoDHDaDA="; }; build-system = [ hatchling ]; dependencies = [ anyio elastic-transport python-dateutil sniffio typing-extensions ]; optional-dependencies = { requests = [ requests ]; async = [ aiohttp ]; orjson = [ orjson ]; pyarrow = [ pyarrow ]; }; pythonImportsCheck = [ "elasticsearch" ]; # Check is disabled because running them destroy the content of the local cluster! # https://github.com/elasticsearch/elasticsearch-py/tree/master/test_elasticsearch doCheck = false; meta = { description = "Official low-level client for Elasticsearch"; homepage = "https://github.com/elasticsearch/elasticsearch-py"; changelog = "https://github.com/elastic/elasticsearch-py/releases/tag/v${version}"; license = lib.licenses.asl20; }; }