Skip to main content

Werkzeug for asyncio

Project description

travis-master coverall-master Documentation Status Downloads Latest Version Supported Python versions Development Status License Download format Supported Python implementations

aiowerkzeug

Library to make werkzeug working with asyncio.

Changelog

Version 0.2.0

  • Use Python 3.5 async syntax.

  • New ~keep_context_factory. It works like ~context_coroutine, but simple code.

  • Async version of Local, LocalStack and LocalManager. They implement __release_local__ method.

Features

  • Async versions of Local, LocalStack and LocalManager.

  • Locals work on asyncio Tasks. werkzeug.local.Local or werkzeug.local.LocalStack must be patched with aiowerkzeug.local.patch_local

    Patched werkzeug.local.Local or werkzeug.local.LocalStack use current asyncio.tasks.Task to determine context.

  • Decorator factory to mark coroutines to run in a context. Useful for Flask. It allows to run corountines in new asyncio.tasks.Task inside a specific context.

    For example, in Flask to run coroutines in Application context it is possible to create a decorator like that:

    def _get_app_context():
        return current_app.app_context()
    
    app_coroutine = partial(context_coroutine, ctx=_get_app_context)
    
    @app_coroutine
    def foo_bar():
        print(current_app.debug)
    
    @flask_app.route('/')
    def caller():
        asyncio.ensure_future(foo_bar())
  • Asyncio HTTP server runner with reload

    $ python aiowerkzeug/serving.py --reload app_test.app

TODO

  • Form parser

  • Debug middleware

  • Static files middleware

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aiowerkzeug-0.2.0.tar.gz (7.9 kB view details)

Uploaded Source

File details

Details for the file aiowerkzeug-0.2.0.tar.gz.

File metadata

File hashes

Hashes for aiowerkzeug-0.2.0.tar.gz
Algorithm Hash digest
SHA256 ad4fb4f8c21cefc79f33f64623d424ceec002f923f261160fc9b255ee192c7dc
MD5 70ecc796934f33e4dade45e19e143ffb
BLAKE2b-256 c2d3a8511bc9161490f25fd3bbfe926f70b4e18a3958832059c11a43a7d7e365

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page