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)
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
A CRUD and REST api with mongodb atlas.

Movies_api A CRUD and REST api with mongodb atlas. Setup First import all the python dependencies in your virtual environment or globally by the follo

Pratyush Kongalla 0 Nov 09, 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
Script em python para carregar os arquivos de cnpj dos dados públicos da Receita Federal em MYSQL.

cnpj-mysql Script em python para carregar os arquivos de cnpj dos dados públicos da Receita Federal em MYSQL. Dados públicos de cnpj no site da Receit

17 Dec 25, 2022
PyPika is a python SQL query builder that exposes the full richness of the SQL language using a syntax that reflects the resulting query. PyPika excels at all sorts of SQL queries but is especially useful for data analysis.

PyPika - Python Query Builder Abstract What is PyPika? PyPika is a Python API for building SQL queries. The motivation behind PyPika is to provide a s

KAYAK 1.9k Jan 04, 2023
Monty, Mongo tinified. MongoDB implemented in Python !

Monty, Mongo tinified. MongoDB implemented in Python ! Inspired by TinyDB and it's extension TinyMongo. MontyDB is: A tiny version of MongoDB, against

David Lai 522 Jan 01, 2023
A pythonic interface to Amazon's DynamoDB

PynamoDB A Pythonic interface for Amazon's DynamoDB. DynamoDB is a great NoSQL service provided by Amazon, but the API is verbose. PynamoDB presents y

2.1k Dec 30, 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
A supercharged SQLite library for Python

SuperSQLite: a supercharged SQLite library for Python A feature-packed Python package and for utilizing SQLite in Python by Plasticity. It is intended

Plasticity 703 Dec 30, 2022
SQL queries to collections

SQC SQL Queries to Collections Examples from sqc import sqc data = [ {"a": 1, "b": 1}, {"a": 2, "b": 1}, {"a": 3, "b": 2}, ] Simple filte

Alexander Volkovsky 0 Jul 06, 2022
Python version of the TerminusDB client - for TerminusDB API and WOQLpy

TerminusDB Client Python Development status ⚙️ Python Package status 📦 Python version of the TerminusDB client - for TerminusDB API and WOQLpy Requir

TerminusDB 66 Dec 02, 2022
Python DBAPI simplified

Facata A Python library that provides a simplified alternative to DBAPI 2. It provides a facade in front of DBAPI 2 drivers. Table of Contents Install

Tony Locke 44 Nov 17, 2021
Estoult - a Python toolkit for data mapping with an integrated query builder for SQL databases

Estoult Estoult is a Python toolkit for data mapping with an integrated query builder for SQL databases. It currently supports MySQL, PostgreSQL, and

halcyon[nouveau] 15 Dec 29, 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
asyncio compatible driver for elasticsearch

asyncio client library for elasticsearch aioes is a asyncio compatible library for working with Elasticsearch The project is abandoned aioes is not su

97 Sep 05, 2022
CouchDB client built on top of aiohttp (asyncio)

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

aio-libs 53 Apr 05, 2022
PyRemoteSQL is a python SQL client that allows you to connect to your remote server with phpMyAdmin installed.

PyRemoteSQL Python MySQL remote client Basically this is a python SQL client that allows you to connect to your remote server with phpMyAdmin installe

ProbablyX 3 Nov 04, 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
GINO Is Not ORM - a Python asyncio ORM on SQLAlchemy core.

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

GINO Community 2.5k Dec 29, 2022