1 { lib, fetchFromGitHub, python3 }:
4 python = python3.override {
5 packageOverrides = self: super: {
6 click = super.click.overridePythonAttrs (old: rec {
8 src = old.src.override {
10 sha256 = "d2b5255c7c6349bc1bd1e59e08cd12acbbd63ce649f2588755783aa94dfb6b1a";
13 requests-aws4auth = super.requests-aws4auth.overridePythonAttrs (old: {
14 doCheck = false; # requires click>=8.0
18 in python.pkgs.buildPythonApplication rec {
19 pname = "elasticsearch-curator";
22 format = "setuptools";
24 src = fetchFromGitHub {
28 hash = "sha256-wSfd52jebUkgF5xhjcoUjI7j46eJF33pVb4Wrybq44g=";
32 substituteInPlace setup.cfg \
33 --replace "urllib3==1.26.4" "urllib3"
34 substituteInPlace setup.py \
35 --replace "urllib3==1.26.4" "urllib3" \
36 --replace "pyyaml==5.4.1" "pyyaml"
39 propagatedBuildInputs = with python.pkgs; [
52 checkInputs = with python.pkgs; [
58 "test/integration" # requires running elasticsearch
63 "test_api_key_not_set"
68 homepage = "https://github.com/elastic/curator";
69 description = "Curate, or manage, your Elasticsearch indices and snapshots";
70 license = licenses.asl20;
72 Elasticsearch Curator helps you curate, or manage, your Elasticsearch
73 indices and snapshots by:
75 * Obtaining the full list of indices (or snapshots) from the cluster, as the
78 * Iterate through a list of user-defined filters to progressively remove
79 indices (or snapshots) from this actionable list as needed.
81 * Perform various actions on the items which remain in the actionable list.
83 maintainers = with maintainers; [ basvandijk ];