A concurrent.futures.Executor implementation that runs asynchronous tasks in an asyncio event loop.
Project description
aio-executor
A concurrent.futures.Executor implementation that runs asynchronous tasks in an asyncio loop.
Example usage:
from aio_executor import AioExecutor
async def my_async_function(arg):
# ...
with AioExecutor() as aioexec:
# single invocation
f = aioexec.submit(my_async_function, 'foo')
result = f.result()
# multiple concurrent invocations using "map"
results = aioexec.map(my_async_function, ['foo', 'bar', 'baz'])
As a convenience, a run_with_asyncio
decorator is also provided. This
decorator runs the decorated async function in a AioExecutor
instance.
The example below shows how to implement an async view function for the Flask framework using this decorator:
@app.route('/')
@run_with_asyncio
async def index():
return await get_random_quote()
How to Install
pip install aio-executor
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
aio-executor-0.2.0.tar.gz
(2.6 kB
view details)
Built Distribution
File details
Details for the file aio-executor-0.2.0.tar.gz
.
File metadata
- Download URL: aio-executor-0.2.0.tar.gz
- Upload date:
- Size: 2.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e9b78a1355cd7beb55bdc367c94fcfe5e8bc188cc457e8e2ab1f4bf2666caf98 |
|
MD5 | c2dd0fd7a0c27da98ea678ae6c86dc2e |
|
BLAKE2b-256 | efc2d4ebb9b4cae9bb5aaa71b17fc930250795cc98232d91464305cdc4f1b9cf |
File details
Details for the file aio_executor-0.2.0-py2.py3-none-any.whl
.
File metadata
- Download URL: aio_executor-0.2.0-py2.py3-none-any.whl
- Upload date:
- Size: 3.5 kB
- Tags: Python 2, Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.2.0 requests-toolbelt/0.9.1 tqdm/4.41.1 CPython/3.8.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 06ddbd83f2056435a0e9aac83b9d1a7a6d74142bfdec456d03d28c4428a8fdf9 |
|
MD5 | 2e06a106ed98f01dbb05429df25dafd4 |
|
BLAKE2b-256 | f91bcab73482f931a4d73bba8d85fda6bd0e067801b0db2fda152656f9315e28 |