--- id: elasticsearch9 version: "9.5.0" license: Apache-2.0 license_treatment: permissive maintenance: active --- # elasticsearch9 — Python client for Elasticsearch License: permissive · Maintenance: active · Downloads: 172.8K/mo ## What it is and what it does elasticsearch9 is the official Python client library for Elasticsearch, maintained by Elastic. It provides a high-level interface to interact with Elasticsearch clusters, handling the low-level HTTP communication, connection pooling, node discovery, and load balancing automatically. The client translates Python data types to JSON, manages persistent connections with automatic retry logic, and supports TLS and HTTP authentication out of the box. Typical usage involves creating a client instance pointing to your Elasticsearch cluster, then calling methods to index documents, search, update, delete, or manage indices. The library is thread-safe and designed to be pluggable—you can customize connection strategies, node selection, and other behaviors. It works with current Python versions (3.10 through 3.14) and is forward-compatible with later minor versions of Elasticsearch. Use it for: - Index and search documents in an Elasticsearch cluster from a Python application - Build a search interface or analytics dashboard that queries Elasticsearch data - Manage index lifecycle operations (create, update, delete indices) programmatically - Implement full-text search, faceting, and aggregations in a Python backend - Migrate or bulk-load data into Elasticsearch from Python scripts ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Official Python client for Elasticsearch that handles connection management, node discovery, load balancing, and idiomatically translates Python data types to and from JSON for cluster operations. Yes. This is the official, actively maintained client with low install friction, permissive licensing, no known vulnerabilities, and broad Python version support. Install it if you need to interact with Elasticsearch from Python—it is the standard choice for this task. ## Install pip install elasticsearch9 uv add elasticsearch9 poetry add elasticsearch9 ## Installing elasticsearch9 Before you install: Low friction install with five runtime dependencies (anyio, elastic-transport, python-dateutil, sniffio, typing-extensions). Actively maintained with a release 10 days ago; supports current Python versions (3.10–3.14). License in practice: Licensed under Apache 2.0 (permissive). You can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions. Quickstart: pip install elasticsearch9 from elasticsearch9 import Elasticsearch client = Elasticsearch(["http://localhost:9200"]) result = client.search(index="my_index", query={"match_all": {}}) Requires Python 3.10 or later. Elasticsearch server must be running and accessible at the configured host and port. Verify before relying: - Whether elasticsearch9 is a separate major version branch or an alias for the main elasticsearch package - Performance characteristics and connection pooling behavior under high concurrency - Exact feature parity between elasticsearch9 and Elasticsearch 9.x server versions ## Package facts - License: Apache-2.0 (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 172.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags elasticsearch python client, elasticsearch api wrapper, search engine client library, elasticsearch cluster connection, elasticsearch document indexing, elasticsearch query builder, elasticsearch rest client, elasticsearch, search-engine, rest-client [View on SkillFed](https://skillfed.io/packages/elasticsearch9) · [View on PyPI](https://pypi.org/project/elasticsearch9/)