elasticsearch-curator
Tending your Elasticsearch indices and snapshots
What it is and what it does
Elasticsearch Curator is a tool for automating the lifecycle management of Elasticsearch indices and snapshots. It reads YAML configuration files to define actions—such as deleting old indices, closing unused ones, optimizing segments, or managing snapshots—and applies them to your cluster on a schedule. The package connects via the es-client module, which handles authentication, SSL, and connection pooling separately from the core curation logic.
Curator is designed for operators managing time-series data in Elasticsearch who need to enforce retention policies, prevent disk space exhaustion, or maintain index performance without manual intervention. It works across multiple Elasticsearch versions and runs on Python 3.10 and later.
Use it for:
- Delete indices older than a specified number of days to manage storage costs in time-series deployments.
- Close or optimize indices based on age or size thresholds to balance query performance and resource usage.
- Automate snapshot creation and deletion to enforce backup retention policies.
- Enforce index naming conventions and apply bulk operations across matching index patterns.
- Run scheduled maintenance tasks via cron or orchestration tools to keep Elasticsearch clusters healthy.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Manages Elasticsearch indices and snapshots through automated actions like deletion, optimization, and retention policies based on age, size, or other criteria.
Yes. Curator is actively maintained, has no known vulnerabilities, installs with minimal friction, and solves a real operational need for anyone running Elasticsearch at scale. The permissive Apache license poses no restrictions. Install it if you manage Elasticsearch indices and need automated lifecycle policies.
Install
elasticsearch-curator on PyPI
pip
pip install elasticsearch-curatoruv
uv add elasticsearch-curatorpoetry
poetry add elasticsearch-curatorInstalling elasticsearch-curator
Before you install
Low install friction with a single runtime dependency (es-client). Actively maintained with recent commits and a stable release cadence; supports current Python versions (3.10–3.13).
License in practice
Apache License 2.0 (permissive) — you may use, modify, and distribute this package freely in commercial and private projects, provided you retain the license notice.
Quickstart
pip install elasticsearch-curator
from es_client import get_client
from curator import Curator
# Configure via YAML file, then instantiate and run actions
Requires Python 3.10 or later and a running Elasticsearch cluster to connect to.
Verify before relying
- Whether version 9.0.0 supports Elasticsearch 8.x and 7.14.0–7.17.x as described for earlier versions.
- Exact action types and configuration options available in version 9.0.0.
Package facts
| License | Copyright 2011–2024 Elasticsearch <http://elastic.co> and contributors. Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the… (full text in the JSON record) (permissive) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — es-client |
| Maintenance | actively maintained — 315 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 391,371/month — #7,015 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: elasticsearch_curator-9.0.0-py3-none-any.whl
Keywords: elasticsearch, index-expiry, indexed, time-series
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
curatorbinPackages the MongoDB Curator tool as a Python…
unclear · top 5,000 on PyPI
django-elasticsearch-dslIndexes Django model instances into…
permissive · top 15,000 on PyPI
es-clientBuilds and validates Elasticsearch client…
permissive · top 15,000 on PyPI
elasticsearch9Official Python client for Elasticsearch that…
permissive · top 15,000 on PyPI
elasticsearch-dslProvides a high-level Python API for building…
permissive · top 5,000 on PyPI
elasticsearch7Official Python client for Elasticsearch that…
permissive · top 15,000 on PyPI
langchain-elasticsearchIntegrates Elasticsearch with LangChain to…
permissive · top 15,000 on PyPI
mozrunnerMozrunner manages the lifecycle of Mozilla…
copyleft · top 15,000 on PyPI