Metadata-Version: 2.1
Name: asynchelper
Version: 0.1.2
Summary: asynchelper - Allows execution of unlimited number of asynchronous tasks while limiting the amount of active concurrent ones.
Home-page: https://github.com/darkarp/asynchelper
Author: Mario Nascimento
Author-email: mario@whitehathacking.tech
Requires-Python: >=3.7
Description-Content-Type: text/x-rst
Classifier: License :: OSI Approved :: MIT License

asynchelper
===========

.. image:: https://img.shields.io/pypi/v/asynchelper.svg
    :target: https://pypi.python.org/pypi/asynchelper
    :alt: Latest PyPI version


Allows execution of unlimited number of asynchronous tasks while limiting the amount of active concurrent ones.

Usage
-----

There are only two functions (for now):  
 * `asynchelper.TaskExecutor.map(task_generator: Iterable[callable], workers: int = 0)`  
    * `task_generator` can be any iterable which holds (or generates) coroutines. 
    *  `workers` is the maximum limit of active tasks concurrently
    * This will keep pushing tasks in the iterable until it's fully consumed.
 * `asynchelper.TaskExecutor.forever(task: callable, args: Iterable = [], workers: int = 256)`
    * `task` is an async funtion to create a couroutine from
    * `args` is an iterable of arguments to pass to `task`
    * `workers` is the maximum limit of active tasks concurrently
    * This will keep pushing the `task(*args)`, running them forever with a limit of `workers` active tasks at any moment.

-------

`asynchelper` was written by `Mario Nascimento <mario@whitehathacking.tech>`_.
