elasticsearch

Official Python client for Elasticsearch

https://github.com/elastic/elasticsearch-py

Science Score: 36.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
    3 of 219 committers (1.4%) from academic institutions
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.7%) to scientific vocabulary

Keywords

client elasticsearch python search

Keywords from Contributors

asyncio test-data-generator aiohttp unit-testing http-server fake http-client fake-data faker test-data
Last synced: 6 months ago · JSON representation

Repository

Official Python client for Elasticsearch

Basic Info
  • Host: GitHub
  • Owner: elastic
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Homepage: https://ela.st/es-python
  • Size: 13.3 MB
Statistics
  • Stars: 4,326
  • Watchers: 414
  • Forks: 1,198
  • Open Issues: 63
  • Releases: 93
Topics
client elasticsearch python search
Created almost 13 years ago · Last pushed 6 months ago
Metadata Files
Readme Changelog Contributing License Code of conduct

README.md

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:

bash 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.

Owner

  • Name: elastic
  • Login: elastic
  • Kind: organization
  • Email: info@elastic.co

Committers

Last synced: 8 months ago

All Time
  • Total Commits: 1,732
  • Total Committers: 219
  • Avg Commits per committer: 7.909
  • Development Distribution Score (DDS): 0.542
Past Year
  • Commits: 117
  • Committers: 17
  • Avg Commits per committer: 6.882
  • Development Distribution Score (DDS): 0.59
Top Committers
Name Email Commits
Honza Král h****l@g****m 793
Seth Michael Larson s****n@e****o 293
Quentin Pradet q****t@e****o 128
Nick Lang n****k@n****m 62
Elastic Machine e****e 57
Miriam Eid 9****d 29
Miguel Grinberg m****g@g****m 26
István Zoltán Szabó i****o@e****o 20
P. Sai Vinay 3****8 12
Jason Veatch j****h@g****m 10
Colleen McGinnis c****s@e****o 9
Boaz Leskes b****s@g****m 6
Iulia Feroli i****i@g****m 6
Patryk Krawaczyński n****c 6
Philip Krauss 3****a 5
Josh Mock j****k@e****o 5
Liam Thompson 3****o 5
Russell Savage r****e@e****m 5
Xiaodong x****g@h****m 4
Nigel Small n****l@e****o 4
Michael Schier s****e@g****m 4
Fabrice Bacchella f****a@o****r 4
Annie Hansen a****e@e****o 4
Glen Smith g****b@s****m 4
epiphyte e****e@v****k 3
Dmitri Vasilishin v****o@g****m 3
Xiuming Chen cc@c****c 3
Martijn Laarman M****z@g****m 3
Joshua Carp j****p@g****m 3
Jan Calanog n****g@g****m 3
and 189 more...

Issues and Pull Requests

Last synced: 6 months ago

All Time
  • Total issues: 187
  • Total pull requests: 1,209
  • Average time to close issues: 4 months
  • Average time to close pull requests: 12 days
  • Total issue authors: 163
  • Total pull request authors: 66
  • Average comments per issue: 2.89
  • Average comments per pull request: 0.86
  • Merged pull requests: 1,004
  • Bot issues: 1
  • Bot pull requests: 390
Past Year
  • Issues: 46
  • Pull requests: 628
  • Average time to close issues: 5 days
  • Average time to close pull requests: 3 days
  • Issue authors: 41
  • Pull request authors: 23
  • Average comments per issue: 1.48
  • Average comments per pull request: 0.64
  • Merged pull requests: 517
  • Bot issues: 0
  • Bot pull requests: 228
Top Authors
Issue Authors
  • pquentin (6)
  • honzakral (4)
  • redbaron4 (3)
  • dej611 (3)
  • sethmlarson (3)
  • ArtemIsmagilov (2)
  • ctrl-Felix (2)
  • b-deam (2)
  • mortenb-buypass (2)
  • artem-shelkovnikov (2)
  • rishabh208gupta (2)
  • floxay (2)
  • kloczek (2)
  • qfliu (2)
  • omriel1 (2)
Pull Request Authors
  • github-actions[bot] (388)
  • pquentin (304)
  • elasticmachine (241)
  • miguelgrinberg (70)
  • colleenmcginnis (18)
  • szabosteve (17)
  • iuliaferoli (13)
  • leemthompo (10)
  • sethmlarson (8)
  • Mpdreamz (8)
  • marciw (8)
  • anniegale9538 (8)
  • maxjakob (8)
  • reakaleek (8)
  • JoshMock (8)
Top Labels
Issue Labels
Category: Question (13) bug (8) Category: Enhancement (8) Area: Transport (6) docs (5) Area: Client (4) 8.x (4) Area: Documentation (4) Category: Bug (4) tracking (3) Area: Helpers (3) enhancement (3) good first issue (3) Area: Tests (1) feature request (1) backport 8.7 (1) Area: Unclassified (1)
Pull Request Labels
backport 9.0 (63) backport 8.x (52) backport 8.18 (38) Area: Documentation (35) backport 8.13 (35) backport 8.17 (26) backport 8.14 (21) backport 8.12 (19) docs (18) backport 8.15 (15) backport 8.11 (13) backport 8.16 (13) backport 8.19 (13) backport 8.10 (12) Category: Enhancement (11) backport 8.8 (7) backport 8.9 (7) tracking (6) backport 8.7 (6) backport 8.6 (5) backport 7.17 (4) 8.x (4) backport 9.1 (4) enhancement (2) Area: Build (2) Area: CI (2) Category: Not an issue (2) dependencies (1) backport 8.5 (1) backport 8.4 (1)

Packages

  • Total packages: 11
  • Total downloads:
    • pypi 42,908,499 last-month
  • Total docker downloads: 1,118,088,543
  • Total dependent packages: 476
    (may contain duplicates)
  • Total dependent repositories: 16,185
    (may contain duplicates)
  • Total versions: 395
  • Total maintainers: 7
pypi.org: elasticsearch

Python client for Elasticsearch

  • Versions: 158
  • Dependent Packages: 450
  • Dependent Repositories: 16,002
  • Downloads: 42,204,181 Last month
  • Docker Downloads: 1,118,088,331
Rankings
Dependent packages count: 0.1%
Downloads: 0.1%
Dependent repos count: 0.1%
Docker downloads count: 0.3%
Average: 0.6%
Forks count: 1.6%
Stargazers count: 1.7%
Last synced: 6 months ago
pypi.org: elasticsearch5

Python client for Elasticsearch

  • Versions: 7
  • Dependent Packages: 3
  • Dependent Repositories: 36
  • Downloads: 70,545 Last month
  • Docker Downloads: 51
Rankings
Stargazers count: 1.1%
Downloads: 1.2%
Forks count: 1.2%
Average: 1.9%
Dependent packages count: 2.4%
Dependent repos count: 2.4%
Docker downloads count: 3.2%
Maintainers (3)
Last synced: 6 months ago
pypi.org: elasticsearch7

Python client for Elasticsearch

  • Versions: 45
  • Dependent Packages: 4
  • Dependent Repositories: 31
  • Downloads: 468,119 Last month
  • Docker Downloads: 0
Rankings
Downloads: 1.0%
Stargazers count: 1.1%
Forks count: 1.2%
Average: 2.0%
Dependent packages count: 2.1%
Dependent repos count: 2.6%
Docker downloads count: 3.8%
Maintainers (3)
Last synced: 6 months ago
pypi.org: elasticsearch2

Python client for Elasticsearch

  • Versions: 2
  • Dependent Packages: 1
  • Dependent Repositories: 29
  • Downloads: 5,472 Last month
Rankings
Stargazers count: 1.1%
Forks count: 1.2%
Average: 2.5%
Downloads: 2.5%
Dependent repos count: 2.7%
Dependent packages count: 4.8%
Maintainers (3)
Last synced: 6 months ago
pypi.org: elasticsearch6

Python client for Elasticsearch

  • Versions: 5
  • Dependent Packages: 0
  • Dependent Repositories: 27
  • Downloads: 156,179 Last month
  • Docker Downloads: 161
Rankings
Downloads: 0.5%
Stargazers count: 1.1%
Forks count: 1.2%
Docker downloads count: 2.5%
Dependent repos count: 2.8%
Average: 3.0%
Dependent packages count: 10.1%
Maintainers (3)
Last synced: 6 months ago
pypi.org: elasticsearch1

Python client for Elasticsearch 1.x

  • Versions: 1
  • Dependent Packages: 0
  • Dependent Repositories: 4
  • Downloads: 2,913 Last month
Rankings
Stargazers count: 1.1%
Forks count: 1.2%
Downloads: 3.0%
Average: 4.6%
Dependent repos count: 7.5%
Dependent packages count: 10.1%
Maintainers (1)
Last synced: 6 months ago
conda-forge.org: elasticsearch
  • Versions: 59
  • Dependent Packages: 16
  • Dependent Repositories: 28
Rankings
Dependent packages count: 4.0%
Forks count: 4.5%
Average: 5.3%
Stargazers count: 5.8%
Dependent repos count: 7.0%
Last synced: 6 months ago
proxy.golang.org: github.com/elastic/elasticsearch-py
  • Versions: 88
  • Dependent Packages: 0
  • Dependent Repositories: 0
Rankings
Forks count: 0.7%
Stargazers count: 1.0%
Average: 5.5%
Dependent packages count: 9.6%
Dependent repos count: 10.8%
Last synced: 6 months ago
spack.io: py-elasticsearch

Python client for Elasticsearch

  • Versions: 6
  • Dependent Packages: 2
  • Dependent Repositories: 0
Rankings
Dependent repos count: 0.0%
Stargazers count: 2.5%
Forks count: 2.5%
Average: 6.0%
Dependent packages count: 19.0%
Maintainers (1)
Last synced: 6 months ago
pypi.org: elasticsearch7-compatible
  • Versions: 3
  • Dependent Packages: 0
  • Dependent Repositories: 0
  • Downloads: 1,090 Last month
Rankings
Forks count: 1.7%
Stargazers count: 1.9%
Dependent packages count: 9.3%
Average: 16.4%
Dependent repos count: 52.6%
Maintainers (1)
Last synced: 6 months ago
anaconda.org: elasticsearch

Official low-level client for Elasticsearch. Its goal is to provide common ground for all Elasticsearch-related code in Python; because of this it tries to be opinion-free and very extendable.

  • Versions: 21
  • Dependent Packages: 0
  • Dependent Repositories: 28
Rankings
Forks count: 10.5%
Stargazers count: 12.9%
Average: 26.0%
Dependent repos count: 29.5%
Dependent packages count: 51.2%
Last synced: 6 months ago

Dependencies

dev-requirements.txt pypi
  • aiohttp *
  • black *
  • build *
  • coverage *
  • elastic-transport >=8.0.0b1,<9
  • isort *
  • jinja2 *
  • mapbox-vector-tile *
  • nox *
  • numpy *
  • pandas *
  • pytest *
  • pytest-asyncio *
  • pytest-cov *
  • python-dateutil *
  • pyyaml >=5.4
  • requests >=2,<3
  • sphinx *
  • twine *
  • unasync *
examples/bulk-ingest/requirements.txt pypi
  • elasticsearch *
  • tqdm *
  • urllib3 *
examples/fastapi-apm/requirements.in pypi
  • elastic-apm *
  • elasticsearch *
  • fastapi *
  • uvicorn *
examples/fastapi-apm/requirements.txt pypi
  • aiohttp ==3.7.4.post0
  • asgiref ==3.3.4
  • async-timeout ==3.0.1
  • attrs ==21.2.0
  • certifi ==2021.5.30
  • chardet ==4.0.0
  • click ==8.0.1
  • elastic-apm ==6.2.1
  • elasticsearch ==7.13.1
  • fastapi ==0.65.1
  • h11 ==0.12.0
  • idna ==3.2
  • multidict ==5.1.0
  • pydantic ==1.8.2
  • starlette ==0.14.2
  • typing-extensions ==3.10.0.0
  • urllib3 ==1.26.5
  • uvicorn ==0.14.0
  • yarl ==1.6.3
setup.py pypi
  • elastic-transport >=8,<9
.github/workflows/backport.yml actions
  • tibdex/backport 9565281eda0731b1d20c4025c43339fb0a23812e composite
.github/workflows/ci.yml actions
  • actions/checkout v3 composite
  • actions/setup-python v4 composite
.ci/Dockerfile docker
  • python ${PYTHON_VERSION} build
examples/fastapi-apm/docker-compose.yml docker
  • docker.elastic.co/apm/apm-server 7.6.2
  • docker.elastic.co/elasticsearch/elasticsearch 7.6.2
  • docker.elastic.co/kibana/kibana 7.6.2
.buildkite/Dockerfile docker
  • python ${PYTHON_VERSION} build
.github/workflows/docs-preview.yml actions
  • elastic/docs/.github/actions/docs-preview master composite