asyncio compatible driver for elasticsearch

Related tags

Database Driversaioes
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)
pandas-gbq is a package providing an interface to the Google BigQuery API from pandas

pandas-gbq pandas-gbq is a package providing an interface to the Google BigQuery API from pandas Installation Install latest release version via conda

Google APIs 348 Jan 03, 2023
Creating a python package to convert /transfer excelsheet data to a mysql Database Table

Creating a python package to convert /transfer excelsheet data to a mysql Database Table

Odiwuor Lameck 1 Jan 07, 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
edaSQL is a library to link SQL to Exploratory Data Analysis and further more in the Data Engineering.

edaSQL is a python library to bridge the SQL with Exploratory Data Analysis where you can connect to the Database and insert the queries. The query results can be passed to the EDA tool which can giv

Tamil Selvan 8 Dec 12, 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 03, 2023
Python interface to Oracle Database conforming to the Python DB API 2.0 specification.

cx_Oracle version 8.2 (Development) cx_Oracle is a Python extension module that enables access to Oracle Database. It conforms to the Python database

Oracle 841 Dec 21, 2022
sync/async MongoDB ODM, yes.

μMongo: sync/async ODM μMongo is a Python MongoDB ODM. It inception comes from two needs: the lack of async ODM and the difficulty to do document (un)

Scille 428 Dec 29, 2022
A pandas-like deferred expression system, with first-class SQL support

Ibis: Python data analysis framework for Hadoop and SQL engines Service Status Documentation Conda packages PyPI Azure Coverage Ibis is a toolbox to b

Ibis Project 2.3k Jan 06, 2023
Pysolr — Python Solr client

pysolr pysolr is a lightweight Python client for Apache Solr. It provides an interface that queries the server and returns results based on the query.

Haystack Search 626 Dec 01, 2022
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
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 04, 2022
A fast unobtrusive MongoDB ODM for Python.

MongoFrames MongoFrames is a fast unobtrusive MongoDB ODM for Python designed to fit into a workflow not dictate one. Documentation is available at Mo

getme 45 Jun 01, 2022
The JavaScript Database, for Node.js, nw.js, electron and the browser

The JavaScript Database Embedded persistent or in memory database for Node.js, nw.js, Electron and browsers, 100% JavaScript, no binary dependency. AP

Louis Chatriot 13.2k Jan 02, 2023
Dlsite-doujin-renamer - Dlsite doujin renamer tool with python

dlsite-doujin-renamer Features 支持深度查找带有 RJ 号的文件夹 支持手动选择文件夹或拖拽文件夹到软件窗口 支持在 config

111 Jan 02, 2023
A selection of SQLite3 databases to practice querying from.

Dummy SQL Databases This is a collection of dummy SQLite3 databases, for learning and practicing SQL querying, generated with the VS Code extension Ge

1 Feb 26, 2022
A tiny python web application based on Flask to set, get, expire, delete keys of Redis database easily with direct link at the browser.

First Redis Python (CRUD) A tiny python web application based on Flask to set, get, expire, delete keys of Redis database easily with direct link at t

Max Base 9 Dec 24, 2022
Dinamopy is a python helper library for dynamodb

Dinamopy is a python helper library for dynamodb. You can define your access patterns in a json file and can use dynamic method names to make operations.

Rasim Andıran 2 Jul 18, 2022
PubMed Mapper: A Python library that map PubMed XML to Python object

pubmed-mapper: A Python Library that map PubMed XML to Python object 中文文档 1. Philosophy view UML Programmatically access PubMed article is a common ta

灵魂工具人 33 Dec 08, 2022
Find graph motifs using intuitive notation

d o t m o t i f Find graph motifs using intuitive notation DotMotif is a library that identifies subgraphs or motifs in a large graph. It looks like t

APL BRAIN 45 Jan 02, 2023
Implementing basic MongoDB CRUD (Create, Read, Update, Delete) queries, using Python.

MongoDB with Python Implementing basic MongoDB CRUD (Create, Read, Update, Delete) queries, using Python. We can connect to a MongoDB database hosted

MousamSingh 4 Dec 01, 2021