Skip to main content

A friendly fork of multiprocessing which uses dill instead of pickle

Project description

Multiprocessing on Dill

This project is a friendly fork – for Python 3 – of the Python Standard Library multiprocessing module, which uses the third-party dill serializer instead of the standard pickle serializer. This overcomes many shortcomings of pickle which prevent multiprocessing being used with lambdas, closures and other useful Python objects.

The easiest way to use multiprocessing_on_dill in place of multiprocessing is simply to replace any import statements like this:

import multiprocessing

with:

import multiprocessing_on_dill as multiprocessing

and import statements like this:

from multiprocessing import Pool

with:

from multiprocessing_on_dill import Pool

With such import changes in place, it will now be possible to use functions like Pool.map() with lambdas:

pool = Pool(12)
result = pool.map(lambda x: x*x, range(10000))

Everything else should be identical to the Python version.

You can determine from which version of the Python Standard Library multiprocessing_on_dill has been forked, by examining the multiprocessing_on_dill.__version__ attribute.

Future

It is our hope that one day the Python Standard Library pickle module will gain the additional capabilities of dill and there will no longer be a need for multiprocessing_on_dill to exist.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

multiprocessing_on_dill-3.5.0a4.tar.gz (53.3 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page