• Added missing typing information

  • Updated some docstrings

  • Added license



  • Changed collections.Iterable to due to deprecation of the former.



  • Removed custom progress bar support to fix Jupyter notebook support

  • New progress_bar_position parameter is now available to set the position of the progress bar when using nested worker pools

  • Screen resizing is now supported when using a progress bar



  • Added the MPIRE dashboard

  • Added threading as a possible backend

  • Progress bar handling now occurs in a separate process, instead of a thread, to improve responsiveness

  • Refactoring of code and small bug fixes in error handling

  • Removed deprecated functionality



  • Added support for using different start methods (‘spawn’ and ‘forkserver’) instead of only the default method ‘fork’

  • Added optional support for using dill in multiprocessing by utilizing the multiprocess library

  • The mpire.Worker class is no longer directly available



  • Fixed bug when process would hang when progress bar was set to True and an empty iterable was provided



  • Added support for worker state

  • Chunking numpy arrays is now done using numpy slicing

  • now supports automatic concatenation of numpy array output



  • Small bug fix when not passing on a boolean or tqdm object for the progress_bar parameter



  • You can now pass on a dictionary as an argument which will be unpacked accordingly using the **-operator.

  • New function mpire.utils.make_single_arguments() added which allows you to create an iterable of single argument tuples out of an iterable of single arguments.



  • mpire.utils.chunk_tasks() is now available as a public function

  • Chunking in above function and map functions now accept a n_splits parameter

  • iterable_of_args in map functions can now contain single values instead of only iterables

  • tqdm is now available from the MPIRE package which automatically switches to the Jupyter/IPython notebook widget when available

  • Small bugfix in cleaning up a worker pool when no map function was called



  • Fixed a second bug where the main process could get unresponsive when an exception was raised



  • Fixed bug where sometimes exceptions fail to pickle

  • Fixed a bug where the main process could get unresponsive when an exception was raised

  • Child processes are now cleaned up in parallel when an exception was raised



  • restart_workers parameter is now deprecated and will be removed from v1.0.0.

  • Progress bar functionality added (using tqdm).

  • Improved error handling in user provided functions.

  • Fixed randomly occurring BrokenPipeErrors and deadlocks.



  • Child processes can now also be pinned to a range of CPUs, instead of only a single one. You can also specify a single CPU or range of CPUs that have to be shared between all child processes.



  • Added CPU pinning.

  • Default number of processes to spawn when using n_jobs=None is now set to the number of CPUs available, instead of cpu_count() - 1.



  • Workers can now be started as normal child processes (non-deamon) such that nested mpire.WorkerPool s are possible.





  • Added docs


First release