Werkzeug for asyncio
Project description
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
File details
Details for the file aiowerkzeug-0.2.0.tar.gz
.
File metadata
- Download URL: aiowerkzeug-0.2.0.tar.gz
- Upload date:
- Size: 7.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | ad4fb4f8c21cefc79f33f64623d424ceec002f923f261160fc9b255ee192c7dc |
|
MD5 | 70ecc796934f33e4dade45e19e143ffb |
|
BLAKE2b-256 | c2d3a8511bc9161490f25fd3bbfe926f70b4e18a3958832059c11a43a7d7e365 |