asyncio compatible driver for elasticsearch

Overview

asyncio client library for elasticsearch

aioes is a asyncio compatible library for working with Elasticsearch

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

The project is abandoned

aioes is not supported anymore.

Please use official client: https://github.com/elastic/elasticsearch-py-async or more featured https://github.com/wikibusiness/aioelasticsearch alternative.

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.

Comments
  • Allow scheme, username and password in connections

    Allow scheme, username and password in connections

    • Endpoint namedtuple changes:
      • gains a new item netloc a position 0
      • Username and password are stored in host item 1
    • Use urllib to parse connection strings
    opened by mpaolini 6
  • aioes broken with ES 5.x

    aioes broken with ES 5.x

    It appears the fix is trivial and a few pull requests have already been submitted. I prefer the approach in: https://github.com/aio-libs/aioes/pull/48

    opened by merrellb 5
  • elastic 5.0 can't find //index urls and the base path has already a /

    elastic 5.0 can't find //index urls and the base path has already a /

    On elasticsearch the urls //index don't work so it returns error. As the base_path has already a tailing / its better to not add on the make_path util function.

    opened by bloodbare 3
  • Update yarl to 0.10.3

    Update yarl to 0.10.3

    There's a new version of yarl available. You are currently using 0.10.0. I have updated it to 0.10.3

    These links might come in handy: PyPI | Changelog | Repo | Docs

    Changelog

    0.10.2


    • Unexpected hash behaviour 75

    0.10.1


    • Unexpected compare behaviour 73
    • Do not quote or unquote + if not a query string. 74

    Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.

    Happy merging! 🤖

    deps-update 
    opened by pyup-bot 2
  • Update pytest to 3.1.1

    Update pytest to 3.1.1

    There's a new version of pytest available. You are currently using 3.0.7. I have updated it to 3.1.1

    These links might come in handy: PyPI | Changelog | Repo | Homepage

    Changelog

    3.1.1

    =========================

    Bug Fixes

    • pytest warning capture no longer overrides existing warning filters. The previous behaviour would override all filters and caused regressions in test suites which configure warning filters to match their needs. Note that as a side-effect of this is that DeprecationWarning and PendingDeprecationWarning are no longer shown by default. (2430)
    • Fix issue with non-ascii contents in doctest text files. (2434)
    • Fix encoding errors for unicode warnings in Python 2. (2436)
    • pytest.deprecated_call now captures PendingDeprecationWarning in context manager form. (2441)

    Improved Documentation

    • Addition of towncrier for changelog management. (2390)

    3.1.0

    ==================

    New Features

    • The pytest-warnings plugin has been integrated into the core and now pytest automatically captures and displays warnings at the end of the test session.

    .. warning::

    This feature may disrupt test suites which apply and treat warnings themselves, and can be disabled in your pytest.ini:

    .. code-block:: ini

     [pytest]
     addopts = -p no:warnings
    

    See the warnings documentation page <https://docs.pytest.org/en/latest/warnings.html>_ for more information.

    Thanks nicoddemus_ for the PR.

    • Added junit_suite_name ini option to specify root <testsuite> name for JUnit XML reports (533_).
    • Added an ini option doctest_encoding to specify which encoding to use for doctest files. Thanks wheerd_ for the PR (2101_).
    • pytest.warns now checks for subclass relationship rather than class equality. Thanks lesteve_ for the PR (2166_)
    • pytest.raises now asserts that the error message matches a text or regex with the match keyword argument. Thanks Kriechi_ for the PR.
    • pytest.param can be used to declare test parameter sets with marks and test ids. Thanks RonnyPfannschmidt_ for the PR.

    Changes

    • remove all internal uses of pytest_namespace hooks, this is to prepare the removal of preloadconfig in pytest 4.0 Thanks to RonnyPfannschmidt_ for the PR.
    • pytest now warns when a callable ids raises in a parametrized test. Thanks fogo_ for the PR.
    • It is now possible to skip test classes from being collected by setting a __test__ attribute to False in the class body (2007). Thanks to syre for the report and lwm_ for the PR.
    • Change junitxml.py to produce reports that comply with Junitxml schema. If the same test fails with failure in call and then errors in teardown we split testcase element into two, one containing the error and the other the failure. (2228) Thanks to kkoukiou for the PR.
    • Testcase reports with a url attribute will now properly write this to junitxml. Thanks fushi_ for the PR (1874_).
    • Remove common items from dict comparision output when verbosity=1. Also update the truncation message to make it clearer that pytest truncates all assertion messages if verbosity < 2 (1512). Thanks mattduck for the PR
    • --pdbcls no longer implies --pdb. This makes it possible to use addopts=--pdbcls=module.SomeClass on pytest.ini. Thanks davidszotten_ for the PR (1952_).
    • fix 2013_: turn RecordedWarning into namedtuple, to give it a comprehensible repr while preventing unwarranted modification.
    • fix 2208_: ensure a iteration limit for pytest.compat.get_real_func. Thanks RonnyPfannschmidt for the report and PR.
    • Hooks are now verified after collection is complete, rather than right after loading installed plugins. This makes it easy to write hooks for plugins which will be loaded during collection, for example using the pytest_plugins special variable (1821). Thanks nicoddemus for the PR.
    • Modify pytest_make_parametrize_id() hook to accept argname as an additional parameter. Thanks unsignedint_ for the PR.
    • Add venv to the default norecursedirs setting. Thanks The-Compiler_ for the PR.
    • PluginManager.import_plugin now accepts unicode plugin names in Python 2. Thanks reutsharabani_ for the PR.
    • fix 2308: When using both --lf and --ff, only the last failed tests are run. Thanks ojii for the PR.
    • Replace minor/patch level version numbers in the documentation with placeholders. This significantly reduces change-noise as different contributors regnerate the documentation on different platforms. Thanks RonnyPfannschmidt_ for the PR.
    • fix 2391: consider pytest_plugins on all plugin modules Thanks RonnyPfannschmidt for the PR.

    Bug Fixes

    • Fix AttributeError on sys.stdout.buffer / sys.stderr.buffer while using capsys fixture in python 3. (1407). Thanks to asottile.
    • Change capture.py's DontReadFromInput class to throw io.UnsupportedOperation errors rather than ValueErrors in the fileno method (2276). Thanks metasyn and vlad-dragos_ for the PR.
    • Fix exception formatting while importing modules when the exception message contains non-ascii characters (2336). Thanks fabioz for the report and nicoddemus_ for the PR.
    • Added documentation related to issue (1937) Thanks skylarjhdownes for the PR.
    • Allow collecting files with any file extension as Python modules (2369). Thanks Kodiologist for the PR.
    • Show the correct error message when collect "parametrize" func with wrong args (2383). Thanks The-Compiler for the report and robin0371_ for the PR.

    .. _davidszotten: https://github.com/davidszotten .. _fabioz: https://github.com/fabioz .. _fogo: https://github.com/fogo .. _fushi: https://github.com/fushi .. _Kodiologist: https://github.com/Kodiologist .. _Kriechi: https://github.com/Kriechi .. _mandeep: https://github.com/mandeep .. _mattduck: https://github.com/mattduck .. _metasyn: https://github.com/metasyn .. _MichalTHEDUDE: https://github.com/MichalTHEDUDE .. _ojii: https://github.com/ojii .. _reutsharabani: https://github.com/reutsharabani .. _robin0371: https://github.com/robin0371 .. _skylarjhdownes: https://github.com/skylarjhdownes .. _unsignedint: https://github.com/unsignedint .. _wheerd: https://github.com/wheerd

    .. _1407: https://github.com/pytest-dev/pytest/issues/1407 .. _1512: https://github.com/pytest-dev/pytest/issues/1512 .. _1821: https://github.com/pytest-dev/pytest/issues/1821 .. _1874: https://github.com/pytest-dev/pytest/pull/1874 .. _1937: https://github.com/pytest-dev/pytest/issues/1937 .. _1952: https://github.com/pytest-dev/pytest/pull/1952 .. _2007: https://github.com/pytest-dev/pytest/issues/2007 .. _2013: https://github.com/pytest-dev/pytest/issues/2013 .. _2101: https://github.com/pytest-dev/pytest/pull/2101 .. _2166: https://github.com/pytest-dev/pytest/pull/2166 .. _2208: https://github.com/pytest-dev/pytest/issues/2208 .. _2228: https://github.com/pytest-dev/pytest/issues/2228 .. _2276: https://github.com/pytest-dev/pytest/issues/2276 .. _2308: https://github.com/pytest-dev/pytest/issues/2308 .. _2336: https://github.com/pytest-dev/pytest/issues/2336 .. _2369: https://github.com/pytest-dev/pytest/issues/2369 .. _2383: https://github.com/pytest-dev/pytest/issues/2383 .. _2391: https://github.com/pytest-dev/pytest/issues/2391 .. _533: https://github.com/pytest-dev/pytest/issues/533

    Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.

    Happy merging! 🤖

    deps-update 
    opened by pyup-bot 2
  • Update sphinx to 1.6.2

    Update sphinx to 1.6.2

    There's a new version of sphinx available. You are currently using 1.5.5. I have updated it to 1.6.2

    These links might come in handy: PyPI | Changelog | Homepage

    Changelog

    1.6.2

    =====================================

    Incompatible changes

    • 3789: Do not require typing module for python>=3.5

    Bugs fixed

    • 3754: HTML builder crashes if HTML theme appends own stylesheets
    • 3756: epub: Entity 'mdash' not defined
    • 3758: Sphinx crashed if logs are emitted in conf.py
    • 3755: incorrectly warns about dedent with literalinclude
    • 3742: RTD &lt;https://readthedocs.org/&gt;_ PDF builds of Sphinx own docs are missing an index entry in the bookmarks and table of contents. This is rtfd/readthedocs.org2857 &lt;https://github.com/rtfd/readthedocs.org/issues/2857&gt;_ issue, a workaround is obtained using some extra LaTeX code in Sphinx's own :file:conf.py
    • 3770: Build fails when a "code-block" has the option emphasize-lines and the number indicated is higher than the number of lines
    • 3774: Incremental HTML building broken when using citations
    • 3772: 'str object' has no attribute 'filename'
    • 3763: got epubcheck validations error if epub_cover is set
    • 3779: 'ImportError' in sphinx.ext.autodoc due to broken 'sys.meta_path'. Thanks to Tatiana Tereshchenko.
    • 3796: env.resolve_references() crashes when non-document node given
    • 3803: Sphinx crashes with invalid PO files
    • 3791: PDF "continued on next page" for long tables isn't internationalized
    • 3788: smartquotes emits warnings for unsupported languages
    • 3807: latex Makefile for make latexpdf is only for unixen
    • 3781: double hyphens in option directive are compiled as endashes
    • 3817: latex builder raises AttributeError

    1.6.1

    =====================================

    Dependencies

    1.6

    • LDML format support in i18n feature
    • sphinx.addnodes.termsep
    • Some functions and classes in sphinx.util.pycompat: zip_longest, product, all, any, next, open, class_types, base_exception, relpath, StringIO, BytesIO. Please use the standard library version instead;

    If any deprecation warning like RemovedInSphinxXXXWarning are displayed, please refer :ref:when-deprecation-warnings-are-displayed.

    Features added

    1.6b3

    • 3588: No compact (p tag) html output in the i18n document build even when :confval:html_compact_lists is True.
    • The make latexpdf from 1.6b1 (for GNU/Linux and Mac OS, using latexmk) aborted earlier in case of LaTeX errors than was the case with 1.5 series, due to hard-coded usage of --halt-on-error option. (refs 3695)
    • 3683: sphinx.websupport module is not provided by default
    • 3683: Failed to build document if builder.css_file.insert() is called
    • 3714: viewcode extension not taking highlight_code=&#39;none&#39; in account
    • 3698: Moving :doc: to std domain broke backwards compatibility
    • 3633: misdetect unreferenced citations

    1.6b2

    • 3662: builder.css_files is deprecated. Please use add_stylesheet() API instead.

    1.6b1

    • sphinx.util.compat.Directive class is now deprecated. Please use docutils.parsers.rst.Directive instead.
    • sphinx.util.compat.docutils_version is now deprecated
    • 2367: Sphinx.warn(), Sphinx.info() and other logging methods are now deprecated. Please use sphinx.util.logging (:ref:logging-api) instead.
    • 3318: notice is now deprecated as LaTeX environment name and will be removed at Sphinx 1.7. Extension authors please use sphinxadmonition instead (as Sphinx does since 1.5.)
    • Sphinx.status_iterator() and Sphinx.old_status_iterator() is now deprecated. Please use sphinx.util:status_iterator() instead.
    • Sphinx._directive_helper() is deprecated. Please use sphinx.util.docutils.directive_helper() instead.
    • BuildEnvironment.set_warnfunc() is now deprecated
    • Following methods of BuildEnvironment is now deprecated.
    • BuildEnvironment.note_toctree()
    • BuildEnvironment.get_toc_for()
    • BuildEnvironment.get_toctree_for()
    • BuildEnvironment.create_index()

    Please use sphinx.environment.adapters modules instead.

    • latex package footnote is not loaded anymore by its bundled replacement footnotehyper-sphinx. The redefined macros keep the same names as in the original package.
    • 3429: deprecate config setting latex_keep_old_macro_names. It will be removed at 1.7, and already its default value has changed from True to False.
    • 3221: epub2 builder is deprecated
    • 3254: sphinx.websupport is now separated into independent package; sphinxcontrib-websupport. sphinx.websupport will be removed in Sphinx-2.0.
    • 3628: sphinx_themes entry_point is deprecated. Please use sphinx.html_themes instead.

    1.5.6

    =====================================

    Bugs fixed

    • 3614: Sphinx crashes with requests-2.5.0
    • 3618: autodoc crashes with tupled arguments
    • 3664: No space after the bullet in items of a latex list produced by Sphinx
    • 3657: EPUB builder crashes if document startswith genindex exists
    • 3588: No compact (p tag) html output in the i18n document build even when :confval:html_compact_lists is True.
    • 3685: AttributeError when using 3rd party domains
    • 3702: LaTeX writer styles figure legends with a hard-coded \small
    • 3708: LaTeX writer allows irc scheme
    • 3717: Stop enforcing that favicon's must be .ico
    • 3731, 3732: Protect isenumclass predicate against non-class arguments
    • 3320: Warning about reference target not being found for container types
    • Misspelled ARCHIVEPREFIX in Makefile for latex build repertory

    Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.

    Happy merging! 🤖

    deps-update 
    opened by pyup-bot 2
  • Update aiohttp to 2.1.0

    Update aiohttp to 2.1.0

    There's a new version of aiohttp available. You are currently using 2.0.7. I have updated it to 2.1.0

    These links might come in handy: PyPI | Changelog | Repo | Docs

    Changelog

    2.1.0


    • Added support for experimental async-tokio event loop written in Rust https://github.com/PyO3/tokio
    • Write to transport \r\n before closing after keepalive timeout, otherwise client can not detect socket disconnection. 1883
    • Only call loop.close in run_app if the user did not supply a loop. Useful for allowing clients to specify their own cleanup before closing the asyncio loop if they wish to tightly control loop behavior
    • Content disposition with semicolon in filename 917
    • Added request_info to response object and ClientResponseError. 1733
    • Added history to ClientResponseError. 1741
    • Allow to disable redirect url re-quoting 1474
    • Handle RuntimeError from transport 1790
    • Dropped "%O" in access logger 1673
    • Added args and kwargs to unittest_run_loop. Useful with other decorators, for example patch. 1803
    • Added iter_chunks to response.content object. 1805
    • Avoid creating TimerContext when there is no timeout to allow compatibility with Tornado. 1817 1180
    • Add proxy_from_env to ClientRequest to read from environment variables. 1791
    • Add DummyCookieJar helper. 1830
    • Fix assertion errors in Python 3.4 from noop helper. 1847
    • Do not unquote + in match_info values 1816
    • Use Forwarded, X-Forwarded-Scheme and X-Forwarded-Host for better scheme and host resolution. 1134
    • Fix sub-application middlewares resolution order 1853
    • Fix applications comparison 1866
    • Fix static location in index when prefix is used 1662
    • Make test server more reliable 1896
    • Use Forwarded, X-Forwarded-Scheme and X-Forwarded-Host for better scheme and host resolution. 1134
    • Extend list of web exceptions, add HTTPUnprocessableEntity, HTTPFailedDependency, HTTPInsufficientStorage status codes 1920

    Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.

    Happy merging! 🤖

    deps-update 
    opened by pyup-bot 2
  • Update pytest to 3.1.0

    Update pytest to 3.1.0

    There's a new version of pytest available. You are currently using 3.0.7. I have updated it to 3.1.0

    These links might come in handy: PyPI | Changelog | Repo | Homepage

    Changelog

    3.0.8

    ==================

    • Change capture.py's DontReadFromInput class to throw io.UnsupportedOperation errors rather than ValueErrors in the fileno method (2276). Thanks metasyn for the PR.
    • Fix exception formatting while importing modules when the exception message contains non-ascii characters (2336). Thanks fabioz for the report and nicoddemus_ for the PR.

    • Added documentation related to issue (1937) Thanks skylarjhdownes for the PR.

    • Allow collecting files with any file extension as Python modules (2369). Thanks Kodiologist for the PR.
    • Show the correct error message when collect "parametrize" func with wrong args (2383). Thanks The-Compiler for the report and robin0371_ for the PR.

    .. _skylarjhdownes: https://github.com/skylarjhdownes .. _fabioz: https://github.com/fabioz .. _metasyn: https://github.com/metasyn .. _Kodiologist: https://github.com/Kodiologist .. _robin0371: https://github.com/robin0371

    .. _1937: https://github.com/pytest-dev/pytest/issues/1937 .. _2276: https://github.com/pytest-dev/pytest/issues/2276 .. _2336: https://github.com/pytest-dev/pytest/issues/2336 .. _2369: https://github.com/pytest-dev/pytest/issues/2369 .. _2383: https://github.com/pytest-dev/pytest/issues/2383

    Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.

    Happy merging! 🤖

    deps-update 
    opened by pyup-bot 2
  • Update sphinx to 1.6.1

    Update sphinx to 1.6.1

    There's a new version of sphinx available. You are currently using 1.5.5. I have updated it to 1.6.1

    These links might come in handy: PyPI | Changelog | Homepage

    Changelog

    1.6

    • LDML format support in i18n feature
    • sphinx.addnodes.termsep
    • Some functions and classes in sphinx.util.pycompat: zip_longest, product, all, any, next, open, class_types, base_exception, relpath, StringIO, BytesIO. Please use the standard library version instead;

    If any deprecation warning like RemovedInSphinxXXXWarning are displayed, please refer :ref:when-deprecation-warnings-are-displayed.

    Features added

    1.5.6

    =====================================

    Bugs fixed

    • 3614: Sphinx crashes with requests-2.5.0
    • 3618: autodoc crashes with tupled arguments
    • 3664: No space after the bullet in items of a latex list produced by Sphinx
    • 3657: EPUB builder crashes if document startswith genindex exists
    • 3588: No compact (p tag) html output in the i18n document build even when :confval:html_compact_lists is True.
    • 3685: AttributeError when using 3rd party domains
    • 3702: LaTeX writer styles figure legends with a hard-coded \small
    • 3708: LaTeX writer allows irc scheme
    • 3717: Stop enforcing that favicon's must be .ico
    • 3731, 3732: Protect isenumclass predicate against non-class arguments
    • 3320: Warning about reference target not being found for container types
    • Misspelled ARCHIVEPREFIX in Makefile for latex build repertory

    Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.

    Happy merging! 🤖

    deps-update 
    opened by pyup-bot 2
  • Update sphinx to 1.5.6

    Update sphinx to 1.5.6

    There's a new version of sphinx available. You are currently using 1.5.5. I have updated it to 1.5.6

    These links might come in handy: PyPI | Changelog | Homepage

    Changelog

    1.5.6

    =====================================

    Bugs fixed

    • 3614: Sphinx crashes with requests-2.5.0
    • 3618: autodoc crashes with tupled arguments
    • 3664: No space after the bullet in items of a latex list produced by Sphinx
    • 3657: EPUB builder crashes if document startswith genindex exists
    • 3588: No compact (p tag) html output in the i18n document build even when :confval:html_compact_lists is True.
    • 3685: AttributeError when using 3rd party domains
    • 3702: LaTeX writer styles figure legends with a hard-coded \small
    • 3708: LaTeX writer allows irc scheme
    • 3717: Stop enforcing that favicon's must be .ico
    • 3731, 3732: Protect isenumclass predicate against non-class arguments
    • 3320: Warning about reference target not being found for container types
    • Misspelled ARCHIVEPREFIX in Makefile for latex build repertory

    Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.

    Happy merging! 🤖

    deps-update 
    opened by pyup-bot 2
  • Update pytest-cov to 2.5.0

    Update pytest-cov to 2.5.0

    There's a new version of pytest-cov available. You are currently using 2.4.0. I have updated it to 2.5.0

    These links might come in handy: PyPI | Changelog | Repo

    Changelog

    2.5.0


    • Always show a summary when --cov-fail-under is used. Contributed by Francis Niu in PR141 &lt;https://github.com/pytest-dev/pytest-cov/pull/141&gt;_.
    • Added --cov-branch option. Fixes 85 &lt;https://github.com/pytest-dev/pytest-cov/issues/85&gt;_.
    • Improve exception handling in subprocess setup. Fixes 144 &lt;https://github.com/pytest-dev/pytest-cov/issues/144&gt;_.
    • Fixed handling when --cov is used multiple times. Fixes 151 &lt;https://github.com/pytest-dev/pytest-cov/issues/151&gt;_.

    Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.

    Happy merging! 🤖

    deps-update 
    opened by pyup-bot 2
  • Error occurs in ElasticSearch.connection.perform_request

    Error occurs in ElasticSearch.connection.perform_request

    File "/home/dev/.local/lib/python3.6/site-packages/aioes/connection.py", line 52, in perform_request raise exc_class(resp.status, resp_body, extra) aioes.exception.TransportError: TransportError(406, '{"error":"Content-Type header [application/octet-stream] is not supported","status":406}')

    With test this code:

    import asyncio
     from aioes import Elasticsearch
     async def go():
         es = Elasticsearch(['localhost:9200'])
         ret = await es.create(index="users",
                                    doc_type="id",
                                    id=42,
                                    body={"str": "data", "int": 1})
         assert (ret == {'_id': '32',
                         '_index': 'users',
                         '_type': 'id',
                         '_version': 1})
         answer = await es.get(index="users",
                                    doc_type="id",
                                    id=42)
         assert answer['_source'] == {'str': 'data', 'int': 1}
     loop = asyncio.get_event_loop()
     loop.run_until_complete(go())
    

    I think should contains connection.py

     43         headers = {"Content-type":"application/json"}
     44         resp = yield from self._session.request(
     45             method, url, params=params, data=body, headers=headers)
    
    opened by pjongy 0
  • Update yarl to 0.11.0

    Update yarl to 0.11.0

    There's a new version of yarl available. You are currently using 0.10.0. I have updated it to 0.11.0

    These links might come in handy: PyPI | Changelog | Repo | Docs

    Changelog

    0.11.0


    • Normalize path 86
    • Clear query and fragment parts in .with_path() 85

    0.10.3


    • Prevent double URL args unquoting 83

    0.10.2


    • Unexpected hash behaviour 75

    0.10.1


    • Unexpected compare behaviour 73
    • Do not quote or unquote + if not a query string. 74

    Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.

    Happy merging! 🤖

    deps-update 
    opened by pyup-bot 0
  • Update aiohttp to 2.2.0

    Update aiohttp to 2.2.0

    There's a new version of aiohttp available. You are currently using 2.0.7. I have updated it to 2.2.0

    These links might come in handy: PyPI | Changelog | Repo | Docs

    Changelog

    2.2.0


    • Add doc for add_head, update doc for add_get. 1944
    • Fixed consecutive calls for Response.write_eof.
    • Retain method attributes (e.g. :code:__doc__) when registering synchronous handlers for resources. 1953
    • Added signal TERM handling in run_app to gracefully exit 1932
    • Fix websocket issues caused by frame fragmentation. 1962
    • Raise RuntimeError is you try to set the Content Length and enable chunked encoding at the same time 1941
    • Small update for unittest_run_loop
    • Use CIMultiDict for ClientRequest.skip_auto_headers 1970
    • Fix wrong startup sequence: test server and run_app() are not raise DeprecationWarning now 1947
    • Make sure cleanup signal is sent if startup signal has been sent 1959
    • Fixed server keep-alive handler, could cause 100% cpu utilization 1955
    • Connection can be destroyed before response get processed if await aiohttp.request(..) is used 1981
    • MultipartReader does not work with -OO 1969
    • Fixed ClientPayloadError with blank Content-Encoding header 1931
    • Support deflate encoding implemented in httpbin.org/deflate 1918
    • Fix BadStatusLine caused by extra CRLF after POST data 1792
    • Keep a reference to ClientSession in response object 1985
    • Deprecate undocumented app.on_loop_available signal 1978

    2.1.0


    • Added support for experimental async-tokio event loop written in Rust https://github.com/PyO3/tokio
    • Write to transport \r\n before closing after keepalive timeout, otherwise client can not detect socket disconnection. 1883
    • Only call loop.close in run_app if the user did not supply a loop. Useful for allowing clients to specify their own cleanup before closing the asyncio loop if they wish to tightly control loop behavior
    • Content disposition with semicolon in filename 917
    • Added request_info to response object and ClientResponseError. 1733
    • Added history to ClientResponseError. 1741
    • Allow to disable redirect url re-quoting 1474
    • Handle RuntimeError from transport 1790
    • Dropped "%O" in access logger 1673
    • Added args and kwargs to unittest_run_loop. Useful with other decorators, for example patch. 1803
    • Added iter_chunks to response.content object. 1805
    • Avoid creating TimerContext when there is no timeout to allow compatibility with Tornado. 1817 1180
    • Add proxy_from_env to ClientRequest to read from environment variables. 1791
    • Add DummyCookieJar helper. 1830
    • Fix assertion errors in Python 3.4 from noop helper. 1847
    • Do not unquote + in match_info values 1816
    • Use Forwarded, X-Forwarded-Scheme and X-Forwarded-Host for better scheme and host resolution. 1134
    • Fix sub-application middlewares resolution order 1853
    • Fix applications comparison 1866
    • Fix static location in index when prefix is used 1662
    • Make test server more reliable 1896
    • Extend list of web exceptions, add HTTPUnprocessableEntity, HTTPFailedDependency, HTTPInsufficientStorage status codes 1920

    Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.

    Happy merging! 🤖

    deps-update 
    opened by pyup-bot 1
  • Update pytest to 3.1.2

    Update pytest to 3.1.2

    There's a new version of pytest available. You are currently using 3.0.7. I have updated it to 3.1.2

    These links might come in handy: PyPI | Changelog | Repo | Homepage

    Changelog

    3.1.2

    =========================

    Bug Fixes

    • Required options added via pytest_addoption will no longer prevent using --help without passing them. (1999)
    • Respect python_files in assertion rewriting. (2121)
    • Fix recursion error detection when frames in the traceback contain objects that can't be compared (like numpy arrays). (2459)
    • UnicodeWarning is issued from the internal pytest warnings plugin only when the message contains non-ascii unicode (Python 2 only). (2463)
    • Added a workaround for Python 3.6 WindowsConsoleIO breaking due to Pytests's FDCapture. Other code using console handles might still be affected by the very same issue and might require further workarounds/fixes, i.e. colorama. (2467)

    Improved Documentation

    • Fix internal API links to pluggy objects. (2331)
    • Make it clear that pytest.xfail stops test execution at the calling point and improve overall flow of the skipping docs. (810)

    3.1.1

    =========================

    Bug Fixes

    • pytest warning capture no longer overrides existing warning filters. The previous behaviour would override all filters and caused regressions in test suites which configure warning filters to match their needs. Note that as a side-effect of this is that DeprecationWarning and PendingDeprecationWarning are no longer shown by default. (2430)
    • Fix issue with non-ascii contents in doctest text files. (2434)
    • Fix encoding errors for unicode warnings in Python 2. (2436)
    • pytest.deprecated_call now captures PendingDeprecationWarning in context manager form. (2441)

    Improved Documentation

    • Addition of towncrier for changelog management. (2390)

    3.1.0

    ==================

    New Features

    • The pytest-warnings plugin has been integrated into the core and now pytest automatically captures and displays warnings at the end of the test session.

    .. warning::

    This feature may disrupt test suites which apply and treat warnings themselves, and can be disabled in your pytest.ini:

    .. code-block:: ini

     [pytest]
     addopts = -p no:warnings
    

    See the warnings documentation page &lt;https://docs.pytest.org/en/latest/warnings.html&gt;_ for more information.

    Thanks nicoddemus_ for the PR.

    • Added junit_suite_name ini option to specify root &lt;testsuite&gt; name for JUnit XML reports (533_).
    • Added an ini option doctest_encoding to specify which encoding to use for doctest files. Thanks wheerd_ for the PR (2101_).
    • pytest.warns now checks for subclass relationship rather than class equality. Thanks lesteve_ for the PR (2166_)
    • pytest.raises now asserts that the error message matches a text or regex with the match keyword argument. Thanks Kriechi_ for the PR.
    • pytest.param can be used to declare test parameter sets with marks and test ids. Thanks RonnyPfannschmidt_ for the PR.

    Changes

    • remove all internal uses of pytest_namespace hooks, this is to prepare the removal of preloadconfig in pytest 4.0 Thanks to RonnyPfannschmidt_ for the PR.
    • pytest now warns when a callable ids raises in a parametrized test. Thanks fogo_ for the PR.
    • It is now possible to skip test classes from being collected by setting a __test__ attribute to False in the class body (2007). Thanks to syre for the report and lwm_ for the PR.
    • Change junitxml.py to produce reports that comply with Junitxml schema. If the same test fails with failure in call and then errors in teardown we split testcase element into two, one containing the error and the other the failure. (2228) Thanks to kkoukiou for the PR.
    • Testcase reports with a url attribute will now properly write this to junitxml. Thanks fushi_ for the PR (1874_).
    • Remove common items from dict comparision output when verbosity=1. Also update the truncation message to make it clearer that pytest truncates all assertion messages if verbosity < 2 (1512). Thanks mattduck for the PR
    • --pdbcls no longer implies --pdb. This makes it possible to use addopts=--pdbcls=module.SomeClass on pytest.ini. Thanks davidszotten_ for the PR (1952_).
    • fix 2013_: turn RecordedWarning into namedtuple, to give it a comprehensible repr while preventing unwarranted modification.
    • fix 2208_: ensure a iteration limit for pytest.compat.get_real_func. Thanks RonnyPfannschmidt for the report and PR.
    • Hooks are now verified after collection is complete, rather than right after loading installed plugins. This makes it easy to write hooks for plugins which will be loaded during collection, for example using the pytest_plugins special variable (1821). Thanks nicoddemus for the PR.
    • Modify pytest_make_parametrize_id() hook to accept argname as an additional parameter. Thanks unsignedint_ for the PR.
    • Add venv to the default norecursedirs setting. Thanks The-Compiler_ for the PR.
    • PluginManager.import_plugin now accepts unicode plugin names in Python 2. Thanks reutsharabani_ for the PR.
    • fix 2308: When using both --lf and --ff, only the last failed tests are run. Thanks ojii for the PR.
    • Replace minor/patch level version numbers in the documentation with placeholders. This significantly reduces change-noise as different contributors regnerate the documentation on different platforms. Thanks RonnyPfannschmidt_ for the PR.
    • fix 2391: consider pytest_plugins on all plugin modules Thanks RonnyPfannschmidt for the PR.

    Bug Fixes

    • Fix AttributeError on sys.stdout.buffer / sys.stderr.buffer while using capsys fixture in python 3. (1407). Thanks to asottile.
    • Change capture.py's DontReadFromInput class to throw io.UnsupportedOperation errors rather than ValueErrors in the fileno method (2276). Thanks metasyn and vlad-dragos_ for the PR.
    • Fix exception formatting while importing modules when the exception message contains non-ascii characters (2336). Thanks fabioz for the report and nicoddemus_ for the PR.
    • Added documentation related to issue (1937) Thanks skylarjhdownes for the PR.
    • Allow collecting files with any file extension as Python modules (2369). Thanks Kodiologist for the PR.
    • Show the correct error message when collect "parametrize" func with wrong args (2383). Thanks The-Compiler for the report and robin0371_ for the PR.

    .. _davidszotten: https://github.com/davidszotten .. _fabioz: https://github.com/fabioz .. _fogo: https://github.com/fogo .. _fushi: https://github.com/fushi .. _Kodiologist: https://github.com/Kodiologist .. _Kriechi: https://github.com/Kriechi .. _mandeep: https://github.com/mandeep .. _mattduck: https://github.com/mattduck .. _metasyn: https://github.com/metasyn .. _MichalTHEDUDE: https://github.com/MichalTHEDUDE .. _ojii: https://github.com/ojii .. _reutsharabani: https://github.com/reutsharabani .. _robin0371: https://github.com/robin0371 .. _skylarjhdownes: https://github.com/skylarjhdownes .. _unsignedint: https://github.com/unsignedint .. _wheerd: https://github.com/wheerd

    .. _1407: https://github.com/pytest-dev/pytest/issues/1407 .. _1512: https://github.com/pytest-dev/pytest/issues/1512 .. _1821: https://github.com/pytest-dev/pytest/issues/1821 .. _1874: https://github.com/pytest-dev/pytest/pull/1874 .. _1937: https://github.com/pytest-dev/pytest/issues/1937 .. _1952: https://github.com/pytest-dev/pytest/pull/1952 .. _2007: https://github.com/pytest-dev/pytest/issues/2007 .. _2013: https://github.com/pytest-dev/pytest/issues/2013 .. _2101: https://github.com/pytest-dev/pytest/pull/2101 .. _2166: https://github.com/pytest-dev/pytest/pull/2166 .. _2208: https://github.com/pytest-dev/pytest/issues/2208 .. _2228: https://github.com/pytest-dev/pytest/issues/2228 .. _2276: https://github.com/pytest-dev/pytest/issues/2276 .. _2308: https://github.com/pytest-dev/pytest/issues/2308 .. _2336: https://github.com/pytest-dev/pytest/issues/2336 .. _2369: https://github.com/pytest-dev/pytest/issues/2369 .. _2383: https://github.com/pytest-dev/pytest/issues/2383 .. _2391: https://github.com/pytest-dev/pytest/issues/2391 .. _533: https://github.com/pytest-dev/pytest/issues/533

    Got merge conflicts? Close this PR and delete the branch. I'll create a new PR for you.

    Happy merging! 🤖

    deps-update 
    opened by pyup-bot 1
Releases(v0.7.1)
Motor - the async Python driver for MongoDB and Tornado or asyncio

Motor Info: Motor is a full-featured, non-blocking MongoDB driver for Python Tornado and asyncio applications. Documentation: Available at motor.readt

mongodb 2.1k Dec 26, 2022
Motor - the async Python driver for MongoDB and Tornado or asyncio

Motor Info: Motor is a full-featured, non-blocking MongoDB driver for Python Tornado and asyncio applications. Documentation: Available at motor.readt

mongodb 1.6k Feb 6, 2021
Official Python low-level client for Elasticsearch

Python Elasticsearch Client Official low-level client for Elasticsearch. Its goal is to provide common ground for all Elasticsearch-related code in Py

elastic 3.8k Jan 1, 2023
High level Python client for Elasticsearch

Elasticsearch DSL Elasticsearch DSL is a high-level library whose aim is to help with writing and running queries against Elasticsearch. It is built o

elastic 3.6k Jan 3, 2023
ClickHouse Python Driver with native interface support

ClickHouse Python Driver ClickHouse Python Driver with native (TCP) interface support. Asynchronous wrapper is available here: https://github.com/myma

Marilyn System 957 Dec 30, 2022
DataStax Python Driver for Apache Cassandra

DataStax Driver for Apache Cassandra A modern, feature-rich and highly-tunable Python client library for Apache Cassandra (2.1+) and DataStax Enterpri

DataStax 1.3k Dec 25, 2022
PyMongo - the Python driver for MongoDB

PyMongo Info: See the mongo site for more information. See GitHub for the latest source. Documentation: Available at pymongo.readthedocs.io Author: Mi

mongodb 3.7k Jan 8, 2023
Neo4j Bolt driver for Python

Neo4j Bolt Driver for Python This repository contains the official Neo4j driver for Python. Each driver release (from 4.0 upwards) is built specifical

Neo4j 762 Dec 30, 2022
Pure-python PostgreSQL driver

pg-purepy pg-purepy is a pure-Python PostgreSQL wrapper based on the anyio library. A lot of this library was inspired by the pg8000 library. Credits

Lura Skye 11 May 23, 2022
python-beryl, a Python driver for BerylDB.

python-beryl, a Python driver for BerylDB.

BerylDB 3 Nov 24, 2021
A fast PostgreSQL Database Client Library for Python/asyncio.

asyncpg -- A fast PostgreSQL Database Client Library for Python/asyncio asyncpg is a database interface library designed specifically for PostgreSQL a

magicstack 5.8k Dec 31, 2022
aiopg is a library for accessing a PostgreSQL database from the asyncio

aiopg aiopg is a library for accessing a PostgreSQL database from the asyncio (PEP-3156/tulip) framework. It wraps asynchronous features of the Psycop

aio-libs 1.3k Jan 3, 2023
aiomysql is a library for accessing a MySQL database from the asyncio

aiomysql aiomysql is a "driver" for accessing a MySQL database from the asyncio (PEP-3156/tulip) framework. It depends on and reuses most parts of PyM

aio-libs 1.5k Jan 3, 2023
aioodbc - is a library for accessing a ODBC databases from the asyncio

aioodbc aioodbc is a Python 3.5+ module that makes it possible to access ODBC databases with asyncio. It relies on the awesome pyodbc library and pres

aio-libs 253 Dec 31, 2022
asyncio (PEP 3156) Redis support

aioredis asyncio (PEP 3156) Redis client library. Features hiredis parser Yes Pure-python parser Yes Low-level & High-level APIs Yes Connections Pool

aio-libs 2.2k Jan 4, 2023
Redis client for Python asyncio (PEP 3156)

Redis client for Python asyncio. Redis client for the PEP 3156 Python event loop. This Redis library is a completely asynchronous, non-blocking client

Jonathan Slenders 554 Dec 4, 2022
CouchDB client built on top of aiohttp (asyncio)

aiocouchdb source: https://github.com/aio-libs/aiocouchdb documentation: http://aiocouchdb.readthedocs.org/en/latest/ license: BSD CouchDB client buil

aio-libs 53 Apr 5, 2022
Asynchronous interface for peewee ORM powered by asyncio

peewee-async Asynchronous interface for peewee ORM powered by asyncio. Important notes Since version 0.6.0a only peewee 3.5+ is supported If you still

05Bit 666 Dec 30, 2022
GINO Is Not ORM - a Python asyncio ORM on SQLAlchemy core.

GINO - GINO Is Not ORM - is a lightweight asynchronous ORM built on top of SQLAlchemy core for Python asyncio. GINO 1.0 supports only PostgreSQL with

GINO Community 2.5k Dec 27, 2022