Elasticsearch integration with asyncio.
Project description
aioes is a asyncio compatible library for working with Elasticsearch
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 Elasticsearch 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.2 (2017-04-19)
Allow custom Connector in Transport: #138, #137.
Several typos in documentation fixed.
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.