pqdm
pqdm copied to clipboard
Comfortable parallel TQDM using concurrent.futures
============= Parallel TQDM
.. image:: https://img.shields.io/pypi/v/pqdm.svg :target: https://pypi.python.org/pypi/pqdm
.. image:: https://readthedocs.org/projects/pqdm/badge/?version=latest :target: https://pqdm.readthedocs.io/en/latest/?badge=latest :alt: Documentation Status
.. image:: https://pyup.io/repos/github/niedakh/pqdm/shield.svg :target: https://pyup.io/repos/github/niedakh/pqdm/ :alt: Updates
PQDM is a TQDM and concurrent futures wrapper to allow enjoyable paralellization of iterating through an Iterable with a progress bar.
- Free software: MIT license
- Documentation: https://pqdm.readthedocs.io.
Install & Use
To install ::
pip install pqdm
and use ::
from pqdm.processes import pqdm
# If you want threads instead:
# from pqdm.threads import pqdm
args = [1, 2, 3, 4, 5]
# args = range(1,6) would also work
def square(a):
return a*a
result = pqdm(args, square, n_jobs=2)
For more examples variants check the Usage <https://pqdm.readthedocs.io/en/latest/usage.html>
_ section of the docs.
Features
- parellize your tqdm runs using processes or threads thanks to concurrent.futures,
- just import
pqdm
frompqdm.threads
orpqdm.processes
to start, - automatic usage of
tqdm.notebook
when iPython/Jupyter notebook environment detected, custom tqdm class accepted - automatic parsing of
pqdm
kwargs and separating betweenconcurrent.Executor
args andtqdm
args, - support for any iterable and passing items as kwargs, args or directly to function which is being applied
- support bounded exectutors via https://github.com/mowshon/bounded_pool_executor
Credits
This package was created with Cookiecutter_ and the audreyr/cookiecutter-pypackage
_ project template.
.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _audreyr/cookiecutter-pypackage
: https://github.com/audreyr/cookiecutter-pypackage