Metadata-Version: 2.4
Name: pqdm
Version: 0.2.0
Summary: PQDM is a TQDM and concurrent futures wrapper to allow enjoyable paralellization of progress bars.
Home-page: https://github.com/niedakh/pqdm
Author: Piotr Szymański
Author-email: niedakh@gmail.com
License: MIT license
Keywords: pqdm
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Programming Language :: Python :: 3.9
Requires-Python: >=3.6
Description-Content-Type: text/x-rst
License-File: LICENSE
License-File: AUTHORS.rst
Requires-Dist: bounded-pool-executor
Requires-Dist: tqdm
Requires-Dist: typing-extensions
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: keywords
Dynamic: license
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

=============
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`` from ``pqdm.threads`` or ``pqdm.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 between ``concurrent.Executor`` args and ``tqdm`` 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


=======
History
=======

0.2.0 (2022-02-14)
------------------

* Adds exception handling
* Allows using custom tqdm_class (like tqdm_discord)
* Minor fixes


0.1.0 (2020-03-07)
------------------

* Some updates in progress reporting and documentation.

0.0.1 (2020-03-05)
------------------

* First release on PyPI.
