elasticsearch5
Python client for Elasticsearch
Decision gist · record as of 2026-08-14
Yes, if you are running Elasticsearch 5.x and need a low-level Python client. The package is stable, permissively licensed, and has no external dependencies. However, if you are using a newer Elasticsearch version, do not install this—it will not work. If you need a higher-level query DSL, consider elasticsearch-dsl instead, which builds on top of this client.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires a running Elasticsearch 5.x server; the package is designed for that version specifically and will not work with newer Elasticsearch releases.
- Low install friction with no runtime dependencies.
- Repository is active with recent commits, though the package itself has not been updated since 2019 and targets the now-obsolete Elasticsearch 5.x series.
License · maintenance · safety
Apache License, Version 2.0 (permissive) — Licensed under Apache License, Version 2.0 (permissive). You can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
last release 2019-05-28 (2635 days) · last repo commit 2026-08-13 · 4,385 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 77,932 downloads/mo, #14,480 on PyPI
Alternatives
Verify before relying
pip install elasticsearch5
from elasticsearch import Elasticsearch
es = Elasticsearch()
es.indices.create(index='my-index', ignore=400)
es.index(index='my-index', doc_type='test-type', id=42, body={'data': 'value'})- Whether Elasticsearch 5.x is still in use in your environment or if you need a client for a newer Elasticsearch version.
- Current compatibility with modern Python versions beyond those listed in classifiers (2.6–3.6).
What it is and what it does
elasticsearch5 is the official low-level Python client for Elasticsearch 5.x. It provides a thin, opinion-free wrapper around the Elasticsearch REST API, handling connection pooling, automatic node discovery, load balancing across cluster nodes, and serialization of Python data types to JSON. The package includes features like persistent connections, thread safety, SSL/HTTP authentication support, and a pluggable architecture for customization.
This is a foundational library meant to be used directly for low-level cluster operations or as a base for higher-level abstractions. It has no external runtime dependencies, making installation straightforward. However, it is explicitly designed for Elasticsearch 5.x; if you are running a newer Elasticsearch version, you will need a different client package.
Use it for
- Indexing and querying documents in an Elasticsearch 5.x cluster from Python applications.
- Managing indices, mappings, and cluster settings programmatically via the Elasticsearch API.
- Building custom search applications that need direct control over connection pooling and node selection.
- Integrating Elasticsearch into Python services that require thread-safe, persistent cluster communication.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you are running Elasticsearch 5.x and need a low-level Python client.
The package is stable, permissively licensed, and has no external dependencies. However, if you are using a newer Elasticsearch version, do not install this—it will not work. If you need a higher-level query DSL, consider elasticsearch-dsl instead, which builds on top of this client.
Install
elasticsearch5 on PyPI
Before you install
Low install friction with no runtime dependencies. Repository is active with recent commits, though the package itself has not been updated since 2019 and targets the now-obsolete Elasticsearch 5.x series.
Requires a running Elasticsearch 5.x server; the package is designed for that version specifically and will not work with newer Elasticsearch releases.
License in practice
Licensed under Apache License, Version 2.0 (permissive). You can use, modify, and distribute this package freely in commercial and private projects with minimal restrictions.
Quickstart
pip install elasticsearch5
from elasticsearch import Elasticsearch
es = Elasticsearch()
es.indices.create(index='my-index', ignore=400)
es.index(index='my-index', doc_type='test-type', id=42, body={'data': 'value'})
Verify before relying
- Whether Elasticsearch 5.x is still in use in your environment or if you need a client for a newer Elasticsearch version.
- Current compatibility with modern Python versions beyond those listed in classifiers (2.6–3.6).
Package facts
| License | Apache License, Version 2.0 permissive |
| Python support | Not specified |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 2,635 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 77,932 / month, #14,480 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableIntended Audience :: DevelopersLicense :: OSI Approved :: Apache Software LicenseOperating System :: OS IndependentProgramming Language :: PythonProgramming Language :: Python :: 2Programming Language :: Python :: 2.6Programming Language :: Python :: 2.7Programming Language :: Python :: 3Programming Language :: Python :: 3.2Programming Language :: Python :: 3.3Programming Language :: Python :: 3.4Programming Language :: Python :: 3.5Programming Language :: Python :: 3.6Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPy |
Evidence: elasticsearch5-5.5.6-py2.py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “elasticsearch python client”
- elasticsearch5Low-level Python client for Elasticsearch 5.x that handles connection…
- elasticsearch9Official Python client for Elasticsearch that handles connection…
- elasticsearch7Official Python client for Elasticsearch that handles connection…
Give your agent the search over MCP, or paste the wish link into any chat.
More Database packages
psycopg2-binary is a PostgreSQL database adapter for Python that implements the DB API 2.0 specification, enabling Python applications to connect to and query PostgreSQL databases with thread-safe concurrent operations.
Python client library for connecting to and executing commands against Redis key-value stores, supporting both synchronous and asynchronous operations.
Install it if your application needs to interact with Redis; the only prerequisite is a running Redis server instance.
YDB Python SDK is the official client library for connecting to and querying YDB databases from Python applications.
Install it if you need to connect Python applications to YDB databases.
Connects Python applications to Snowflake data warehouses using the DB API 2.0 specification, enabling SQL queries, data transfers, and warehouse operations.
sqlparse tokenizes SQL text into a tree of statements, clauses, and expressions, and provides functions to split scripts, format queries, and inspect parsed tokens without validating dialect or syntax.
Install it if you need to manipulate, format, or analyze SQL text programmatically.
Provides base adapter protocols and shared functionality that database adapters use to integrate with dbt-core, handling connections, dialect translation, relation caching, and core interface management.
See also elasticsearch6 · elasticsearch7 · elasticsearch8-dsl · elasticsearch9 · elasticsearch · elasticsearch-dsl · elastic-transport · django-elasticsearch-dsl · elasticsearch-dbapi