Skip to main content

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.

Try Elasticsearch and Kibana locally

If you want to try Elasticsearch and Kibana locally, you can run the following command:

curl -fsSL https://elastic.co/start-local | sh

This will run Elasticsearch at http://localhost:9200 and Kibana at http://localhost:5601.

More information is available here.

Contributing

See CONTRIBUTING.md

License

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

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

elasticsearch9-9.5.0.tar.gz (923.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

elasticsearch9-9.5.0-py3-none-any.whl (1.0 MB view details)

Uploaded Python 3

File details

Details for the file elasticsearch9-9.5.0.tar.gz.

File metadata

  • Download URL: elasticsearch9-9.5.0.tar.gz
  • Upload date:
  • Size: 923.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for elasticsearch9-9.5.0.tar.gz
Algorithm Hash digest
SHA256 0528df67a1b363f2a6229a217ff08703d6048c6b8b1258346000533c693e0553
MD5 31e7a7f4e819f6787bb9dc934c8fba27
BLAKE2b-256 f5f6337db383624bc52cf4ade7865f73cb0ee509d5852445b7652e2c1e17e167

See more details on using hashes here.

Provenance

The following attestation bundles were made for elasticsearch9-9.5.0.tar.gz:

Publisher: pypi-publish.yml on elastic/elasticsearch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file elasticsearch9-9.5.0-py3-none-any.whl.

File metadata

  • Download URL: elasticsearch9-9.5.0-py3-none-any.whl
  • Upload date:
  • Size: 1.0 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for elasticsearch9-9.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 feb5d03bde1af79bb72359ec4fee5d36a841421ec24f9ad2adab9e320f06e89a
MD5 0d9984cb6c88592cbd1b4c9a808fe2e3
BLAKE2b-256 90b59976e9f724f1f7966ec3090ef5f5d37d19e65b2854f42799f13423755886

See more details on using hashes here.

Provenance

The following attestation bundles were made for elasticsearch9-9.5.0-py3-none-any.whl:

Publisher: pypi-publish.yml on elastic/elasticsearch-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page