- Notifications
You must be signed in to change notification settings - Fork71
Backend for elasticsearch-py based on python's asyncio module.
License
elastic/elasticsearch-py-async
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
NOTE: This repository is deprecated, do not use for Elasticsearch 7.x or later.
This is an adapter forelasticsearch-py providing a transport layer based onPython'sasyncio module. All API calls now return a future wrapping theresponse.
Sniffing (when requested) is also done via a scheduled coroutine.
Example for python 3.5+
importasynciofromelasticsearch_asyncimportAsyncElasticsearchclient=AsyncElasticsearch(hosts=['localhost','other-host'])asyncdefprint_info():info=awaitclient.info()print(info)loop=asyncio.get_event_loop()loop.run_until_complete(print_info())loop.run_until_complete(client.transport.close())loop.close()
Example for python 3.4
importasynciofromelasticsearch_asyncimportAsyncElasticsearchhosts= ['localhost','other-host']asyncdefprint_info():asyncwithAsyncElasticsearch(hosts=hosts)asclient:print(awaitclient.info())loop=asyncio.get_event_loop()loop.run_until_complete(print_info())loop.close()
Example with SSL Context
importasynciofromelasticsearch_asyncimportAsyncElasticsearchfromelasticsearch.connection.http_urllib3importcreate_ssl_contextcontext=create_ssl_context(cafile="/certs/ca/ca.crt")client=AsyncElasticsearch(hosts=['elasticsearch-xpack'],ssl_context=context,http_auth=('elastic','changeme'))@asyncio.coroutinedefprint_info():info=yieldfromclient.info()print(info)loop=asyncio.get_event_loop()loop.run_until_complete(print_info())loop.run_until_complete(client.transport.close())loop.close()
AsyncElasticsearch
introduces one extra parameterloop
which can beused to pass in an event loop you wish the client to use. By defaultasyncio.get_event_loop()
will be used.
elasticsearch-async
is available via PyPI so you can install it using pip
pip install elasticsearch-async
Copyright 2015 Elasticsearch
Licensed under the Apache License, Version 2.0 (the "License");you may not use this file except in compliance with the License.You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, softwaredistributed under the License is distributed on an "AS IS" BASIS,WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.See the License for the specific language governing permissions andlimitations under the License.
About
Backend for elasticsearch-py based on python's asyncio module.
Resources
License
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Contributors13
Uh oh!
There was an error while loading.Please reload this page.