Dill is a module which extends python's 'pickle' module for serializing and de-serializing python objects to the majority of the built-in python types. Use this tag in conjunction with the pickle and python tag for questions about object serialization with Dill.
Dill extends python's 'pickle' module for serializing and de-serializing python objects to the majority of the built-in python types.
Major features
Dill can pickle the following standard types:
- none, type, bool, int, long, float, complex, str, unicode,
- tuple, list, dict, file, buffer, builtin,
- both old and new style classes,
- instances of old and new style classes,
- set, frozenset, array, functions, exceptions
Dill can also pickle more 'exotic' standard types:
- functions with yields, nested functions, lambdas
- cell, method, unboundmethod, module, code, methodwrapper,
- dictproxy, methoddescriptor, getsetdescriptor, memberdescriptor,
- wrapperdescriptor, xrange, slice,
- notimplemented, ellipsis, quit
Dill cannot yet pickle these standard types:
- frame, generator, traceback
Dill also provides the capability to:
- save and load python interpreter sessions
- save and extract the source code from functions and classes
- interactively diagnose pickling errors
Current Release
The latest released version of dill is available from http://dev.danse.us/trac/pathos and https://github.com/uqfoundation/dill.
Dill is distributed under a 3-clause BSD license.