/elasticsearch-serverless-python

Official Python client for Elasticsearch Serverless

Primary LanguagePythonApache License 2.0Apache-2.0

Elasticsearch Serverless Python Client

https://img.shields.io/pypi/v/elasticsearch-serverless https://img.shields.io/conda/vn/conda-forge/elasticsearch-serverless?color=blue https://static.pepy.tech/badge/elasticsearch-serverless https://clients-ci.elastic.co/job/elastic+elasticsearch-serverless-python+main/badge/icon https://readthedocs.org/projects/elasticsearch-serverless-python/badge/?version=latest&style=flat

The official Python client for Elasticsearch Serverless.

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

Install the elasticsearch-serverless package with pip:

$ python -m pip install elasticsearch-serverless

If your application uses async/await in Python you can install with the async extra:

$ python -m pip install elasticsearch-serverless[async]

Read more about how to use asyncio with this project.

Compatibility

TODO

Documentation

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

Quick Start

# Import the client from the 'elasticsearch' module
>>> from elasticsearch_serverless import Elasticsearch

# Instantiate a client instance
>>> client = Elasticsearch("http://localhost:9200")

# Call an API, in this example `info()`
>>> resp = client.info()

# View the result
>>> resp
{
  "name" : "instance-name",
  "cluster_name" : "cluster-name",
  "cluster_uuid" : "cluster-uuid",
  "version" : {
    "number" : "7.14.0",
    ...
  },
  "tagline" : "You know, for Search"
}

You can read more about configuring the client in the documentation.

License

Copyright 2023 Elasticsearch B.V. Licensed under the Apache License, Version 2.0.