Multiprocessing Pool Extensions
Python C Other
Latest commit a3874ac Dec 19, 2016 @skrud skrud committed with auvipy Remove superfluous else clause from max_memory_per_child_check (#207)
This fixes issue #205 where the worker will output "worker unable to determine worker memory usage" in the the "happy" case where the worker is below the memory usage limit. The error case (when it's unable to determine memory usage) is already handled above by checking for user_kb <= 0. Removing the else clause will allow the code to drop into the next check (for maxtasks) before returning EX_OK.




Build status on Linux Build status on Windows BSD License Billiard can be installed via wheel Supported Python versions. Support Python implementations.


billiard is a fork of the Python 2.7 multiprocessing package. The multiprocessing package itself is a renamed and updated version of R Oudkerk's pyprocessing package. This standalone variant draws its fixes/improvements from python-trunk and provides additional bug fixes and improvements.

  • This package would not be possible if not for the contributions of not only the current maintainers but all of the contributors to the original pyprocessing package listed here
  • Also it is a fork of the multiprocessing backport package by Christian Heims.
  • It includes the no-execv patch contributed by R. Oudkerk.
  • And the Pool improvements previously located in Celery.
  • Billiard is used in and is a dependency for Celery and is maintained by the Celery team.

Bug reporting

Please report bugs related to multiprocessing at the Python bug tracker. Issues related to billiard should be reported at