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)
Python client for InfluxDB

InfluxDB-Python InfluxDB-Python is a client for interacting with InfluxDB. Development of this library is maintained by: Github ID URL @aviau (https:/

InfluxData 1.6k Dec 24, 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
A simple python package that perform SQL Server Source Control and Auto Deployment.

deploydb Deploy your database objects automatically when the git branch is updated. Production-ready! ⚙️ Easy-to-use 🔨 Customizable 🔧 Installation I

Mert Güvençli 10 Dec 07, 2022
Baserow is an open source no-code database tool and Airtable alternative

Baserow is an open source no-code database tool and Airtable alternative

1.3k Jan 01, 2023
A Python-based RPC-like toolkit for interfacing with QuestDB.

pykit A Python-based RPC-like toolkit for interfacing with QuestDB. Requirements Python 3.9 Java Azul

QuestDB 11 Aug 03, 2022
Kafka Connect JDBC Docker Image.

kafka-connect-jdbc This is a dockerized version of the Confluent JDBC database connector. Usage This image is running the connect-standalone command w

Marc Horlacher 1 Jan 05, 2022
Making it easy to query APIs via SQL

Shillelagh Shillelagh (ʃɪˈleɪlɪ) is an implementation of the Python DB API 2.0 based on SQLite (using the APSW library): from shillelagh.backends.apsw

Beto Dealmeida 207 Dec 30, 2022
A simple wrapper to make a flat file drop in raplacement for mongodb out of TinyDB

Purpose A simple wrapper to make a drop in replacement for mongodb out of tinydb. This module is an attempt to add an interface familiar to those curr

180 Jan 01, 2023
A tutorial designed to introduce you to SQlite 3 database using python

SQLite3-python-tutorial A tutorial designed to introduce you to SQlite 3 database using python What is SQLite? SQLite is an in-process library that im

0 Dec 28, 2021
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
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
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
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 08, 2023
A SQL linter and auto-formatter for Humans

The SQL Linter for Humans SQLFluff is a dialect-flexible and configurable SQL linter. Designed with ELT applications in mind, SQLFluff also works with

SQLFluff 5.5k Jan 08, 2023
A Python wheel containing PostgreSQL

postgresql-wheel A Python wheel for Linux containing a complete, self-contained, locally installable PostgreSQL database server. All servers run as th

Michel Pelletier 71 Nov 09, 2022
A wrapper for SQLite and MySQL, Most of the queries wrapped into commands for ease.

Before you proceed, make sure you know Some real SQL, before looking at the code, otherwise you probably won't understand anything. Installation pip i

Refined 4 Jul 30, 2022
Little wrapper around asyncpg for specific experience.

Little wrapper around asyncpg for specific experience.

Nikita Sivakov 3 Nov 15, 2021
This repository is for active development of the Azure SDK for Python.

Azure SDK for Python This repository is for active development of the Azure SDK for Python. For consumers of the SDK we recommend visiting our public

Microsoft Azure 3.4k Jan 02, 2023
python-beryl, a Python driver for BerylDB.

python-beryl, a Python driver for BerylDB.

BerylDB 3 Nov 24, 2021
google-cloud-bigtable Apache-2google-cloud-bigtable (🥈31 · ⭐ 3.5K) - Google Cloud Bigtable API client library. Apache-2

Python Client for Google Cloud Bigtable Google Cloud Bigtable is Google's NoSQL Big Data database service. It's the same database that powers many cor

Google APIs 39 Dec 03, 2022