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)
Py2neo is a comprehensive toolkit for working with Neo4j from within Python applications or from the command line.

Py2neo v3 Py2neo is a client library and toolkit for working with Neo4j from within Python applications and from the command line. The core library ha

64 Oct 14, 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
Python MYSQL CheatSheet.

Python MYSQL CheatSheet Python mysql cheatsheet. Install Required Windows(WAMP) Download and Install from HERE Linux(LAMP) install packages. sudo apt

Mohammad Dori 4 Jul 15, 2022
Dlsite-doujin-renamer - Dlsite doujin renamer tool with python

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

111 Jan 02, 2023
dask-sql is a distributed SQL query engine in python using Dask

dask-sql is a distributed SQL query engine in Python. It allows you to query and transform your data using a mixture of common SQL operations and Python code and also scale up the calculation easily

Nils Braun 271 Dec 30, 2022
Async database support for Python. 🗄

Databases Databases gives you simple asyncio support for a range of databases. It allows you to make queries using the powerful SQLAlchemy Core expres

Encode 3.2k Dec 30, 2022
Python script to clone SQL dashboard from one workspace to another

Databricks dashboard clone Unofficial project to allow Databricks SQL dashboard copy from one workspace to another. Resource clone Setup: Create a fil

Quentin Ambard 12 Jan 01, 2023
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
PostgreSQL database adapter for the Python programming language

psycopg2 - Python-PostgreSQL Database Adapter Psycopg is the most popular PostgreSQL database adapter for the Python programming language. Its main fe

The Psycopg Team 2.8k Jan 05, 2023
Class to connect to XAMPP MySQL Database

MySQL-DB-Connection-Class Class to connect to XAMPP MySQL Database Basta fazer o download o mysql_connect.py e modificar os parâmetros que quiser. E d

Alexandre Pimentel 4 Jul 12, 2021
Redis Python Client - The Python interface to the Redis key-value store.

redis-py The Python interface to the Redis key-value store. Installation | Contributing | Getting Started | Connecting To Redis Installation redis-py

Redis 11k Jan 08, 2023
SpyQL - SQL with Python in the middle

SpyQL SQL with Python in the middle Concept SpyQL is a query language that combines: the simplicity and structure of SQL with the power and readabilit

Daniel Moura 853 Dec 30, 2022
Sample code to extract data directly from the NetApp AIQUM MySQL Database

This sample code shows how to connect to the AIQUM Database and pull user quota details from it. AIQUM Requirements: 1. AIQUM 9.7 or higher. 2. An

1 Nov 08, 2021
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
Tool for synchronizing clickhouse clusters

clicksync Tool for synchronizing clickhouse clusters works only with partitioned MergeTree tables can sync clusters with different node number uses in

Alexander Rumyantsev 1 Nov 30, 2021
Google Sheets Python API v4

pygsheets - Google Spreadsheets Python API v4 A simple, intuitive library for google sheets which gets your work done. Features: Open, create, delete

Nithin Murali 1.4k Dec 31, 2022
A Python library for Cloudant and CouchDB

Cloudant Python Client This is the official Cloudant library for Python. Installation and Usage Getting Started API Reference Related Documentation De

Cloudant 162 Dec 19, 2022
Use SQL query in a jupyter notebook!

SQL-query Use SQL query in a jupyter notebook! The table I used can be found on UN Data. Or you can just click the link and download the file undata_s

Chuqin 2 Oct 05, 2022
Generate database table diagram from SQL data definition.

sql2diagram Generate database table diagram from SQL data definition. e.g. "CREATE TABLE ..." See Example below How does it works? Analyze the SQL to

django-cas-ng 1 Feb 08, 2022
Makes it easier to write raw SQL in Python.

CoolSQL Makes it easier to write raw SQL in Python. Usage Quick Start from coolsql import Field name = Field("name") age = Field("age") condition =

Aber 7 Aug 21, 2022