Skip to main content

A decorator to asynchronously execute synchronous functions

Project description

Awaitable

Travis CI Build Status CircleCI Build Status PyPI - Version PyPI - Python Version

Description: A decorator to asynchronously execute synchronous functions

Copyright: 2022 Fabio Castelli (Muflone) muflone@muflone.com

License: GPL-3+

Source code: https://github.com/muflone/awaitable

Documentation: http://www.muflone.com/awaitable/

Description

Awaitable is a small decorator to asynchronously execute synchronous functions.

System Requirements

  • Python 3.x

Usage

You can decorate a synchronous routine using @awaitable.awaitable to make it awaitable and awaitable.AsyncioGather to process some tasks using asyncio:

import awaitable

@awaitable.awaitable
def do_something():
    # process a single task
    return

async def process(count):
    # execute some workers
    tasks = awaitable.AsyncioGather()
    for i in range(count):
        tasks.add(do_something())
    await tasks.run()

awaitable.run_awaitable(func=process, count=10)

Please see the samples folders for some others usage examples.

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

Awaitable-0.2.3.tar.gz (4.0 kB view hashes)

Uploaded Source

Built Distribution

Awaitable-0.2.3-py3-none-any.whl (7.3 kB view hashes)

Uploaded Python 3

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