Skip to main content
Help improve PyPI by participating in a 5-minute user interface survey!

Elasticsearch integration with asyncio.

Project Description

aioes is a asyncio compatible library for working with ElasticSearch

https://travis-ci.org/aio-libs/aioes.svg?branch=master

Documentation

Read aioes documentation on Read The Docs: http://aioes.readthedocs.io/

Example

import asyncio
from aioes import Elasticsearch

@asyncio.coroutine
def go():
    es = Elasticsearch(['localhost:9200'])
    ret = yield from es.create(index="my-index",
                               doc_type="test-type",
                               id=42,
                               body={"str": "data",
                                     "int": 1})
    assert (ret == {'_id': '42',
                    '_index': 'my-index',
                    '_type': 'test-type',
                    '_version': 1,
                    'ok': True})

    answer = yield from es.get(index="my-index",
                               doc_type="test-type",
                               id=42)
    assert answer['_source'] == {'str': 'data', 'int': 1}

loop = asyncio.get_event_loop()
loop.run_until_complete(go())

Requirements

Tests

Make sure you have an instance of elastic-search running on port 9200 before executing the tests.

In order for all tests to work you need to add the following lines in the config/elasticsearch.yml configuration file:

Enable groovy scripts:

script.groovy.sandbox.enabled: true

Set a repository path:

path.repo: ["/tmp"]

The test suite uses py.test, simply run:

$ py.test

License

aioes is offered under the BSD license.

CHANGES

0.7.0 (2017-03-29)

  • Fix Elasticsearch 5.x compatibility issues: #48, #72, #112, #73, #123.
  • Add stored_fields to mget, search and explain methods (#123).
  • Add wait_for_no_relocating_shards parameter in health (#123).
  • Add filter, token_filter, char_filter params in analyze (#123).
  • Add force_merge method (renamed optimize) (#123).
  • Add ignore_idle_threads param in hot_threads #123.
  • Update project dependencies.
  • Convert tests to pytest.

0.6.1 (2016-09-08)

  • Accept bytes as payload #42
  • Convert Elasticsearch.close() into a coroutine.

0.6.0 (2016-09-08)

  • Add support for verify_ssl #43

0.5.0 (2016-07-16)

  • Allow scheme, username and password in connections #40

0.4.0 (2016-02-10)

  • Fix ES2+ compatibility in transport address regex #38

0.3.0 (2016-01-27)

  • Use aiohttp.ClientSession internally #36

0.2.0 (2015-10-08)

  • Make compatible with Elasticsearch 1.7
  • Support Python 3.5
  • Drop Python 3.3 support
  • Relicense under Apache 2

0.1.0 (2014-10-04)

  • Initial release

Release history Release notifications

History Node

0.7.2

This version
History Node

0.7.0

History Node

0.6.1

History Node

0.6.0

History Node

0.5.0

History Node

0.4.0

History Node

0.3.0

History Node

0.2.0

History Node

0.1.0

Download files

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

Filename, size & hash SHA256 hash help File type Python version Upload date
aioes-0.7.0-py3-none-any.whl (31.6 kB) Copy SHA256 hash SHA256 Wheel py3 Mar 29, 2017
aioes-0.7.0.tar.gz (64.7 kB) Copy SHA256 hash SHA256 Source None Mar 29, 2017

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging CloudAMQP CloudAMQP RabbitMQ AWS AWS Cloud computing Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page