Skip to content

elastic/elasticsearch-py

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
Feb 27, 2025
Mar 7, 2025
May 1, 2025
Apr 29, 2025
Jan 28, 2025
Apr 18, 2025
Apr 10, 2025
Nov 19, 2021
Nov 10, 2020
Aug 23, 2024
Jan 20, 2025
Apr 14, 2025
Feb 1, 2022
Jan 15, 2024
May 6, 2013
Feb 1, 2022
Apr 17, 2025
Jul 9, 2024
Feb 12, 2025
Jan 17, 2025
Jan 17, 2025

Elastic logo

Elasticsearch Python Client

PyPI Version Python Versions Conda Version Downloads
Build Status on GitHub Buildkite Status on Buildkite Documentation Status

The official Python client for Elasticsearch.

Features

  • Translating basic Python data types to and from JSON
  • Configurable automatic discovery of cluster nodes
  • Persistent connections
  • Load balancing (with pluggable selection strategy) across available nodes
  • Failed connection penalization (time based - failed connections won't be retried until a timeout is reached)
  • Support for TLS and HTTP authentication
  • Thread safety across requests
  • Pluggable architecture
  • Helper functions for idiomatically using APIs together

Installation

Download the latest version of Elasticsearch or sign-up for a free trial of Elastic Cloud.

Refer to the Installation section of the getting started documentation.

Connecting

Refer to the Connecting section of the getting started documentation.

Usage


Compatibility

Language clients are forward compatible: each client version works with equivalent and later minor versions of Elasticsearch without breaking.

Compatibility does not imply full feature parity. New Elasticsearch features are supported only in equivalent client versions. For example, an 8.12 client fully supports Elasticsearch 8.12 features and works with 8.13 without breaking; however, it does not support new Elasticsearch 8.13 features. An 8.13 client fully supports Elasticsearch 8.13 features.

Elasticsearch version elasticsearch-py branch
main main
9.x 9.x
9.x 8.x
8.x 8.x

Elasticsearch language clients are also backward compatible across minor versions — with default distributions and without guarantees.

Tip

To upgrade to a new major version, first upgrade Elasticsearch, then upgrade the Python Elasticsearch client.

If you need to work with multiple client versions, note that older versions are also released as elasticsearch7 and elasticsearch8.

Documentation

Documentation for the client is available on elastic.co and Read the Docs.

License

This software is licensed under the Apache License 2.0. See NOTICE.