You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

184 lines
6.1 KiB

4 years ago
  1. Metadata-Version: 2.1
  2. Name: dill
  3. Version: 0.2.8.2
  4. Summary: serialize all of python
  5. Home-page: https://pypi.org/project/dill
  6. Author: Mike McKerns
  7. Maintainer: Mike McKerns
  8. License: 3-clause BSD
  9. Download-URL: https://github.com/uqfoundation/dill/releases/download/dill-0.2.8.2/dill-0.2.8.2.tar.gz
  10. Platform: Linux
  11. Platform: Windows
  12. Platform: Mac
  13. Classifier: Development Status :: 5 - Production/Stable
  14. Classifier: Intended Audience :: Developers
  15. Classifier: Intended Audience :: Science/Research
  16. Classifier: License :: OSI Approved :: BSD License
  17. Classifier: Programming Language :: Python :: 2
  18. Classifier: Programming Language :: Python :: 3
  19. Classifier: Topic :: Scientific/Engineering
  20. Classifier: Topic :: Software Development
  21. -----------------------------
  22. dill: serialize all of python
  23. -----------------------------
  24. About Dill
  25. ==========
  26. ``dill`` extends python's ``pickle`` module for serializing and de-serializing
  27. python objects to the majority of the built-in python types. Serialization
  28. is the process of converting an object to a byte stream, and the inverse
  29. of which is converting a byte stream back to on python object hierarchy.
  30. ``dill`` provides the user the same interface as the ``pickle`` module, and
  31. also includes some additional features. In addition to pickling python
  32. objects, ``dill`` provides the ability to save the state of an interpreter
  33. session in a single command. Hence, it would be feasable to save a
  34. interpreter session, close the interpreter, ship the pickled file to
  35. another computer, open a new interpreter, unpickle the session and
  36. thus continue from the 'saved' state of the original interpreter
  37. session.
  38. ``dill`` can be used to store python objects to a file, but the primary
  39. usage is to send python objects across the network as a byte stream.
  40. ``dill`` is quite flexible, and allows arbitrary user defined classes
  41. and functions to be serialized. Thus ``dill`` is not intended to be
  42. secure against erroneously or maliciously constructed data. It is
  43. left to the user to decide whether the data they unpickle is from
  44. a trustworthy source.
  45. ``dill`` is part of ``pathos``, a python framework for heterogeneous computing.
  46. ``dill`` is in active development, so any user feedback, bug reports, comments,
  47. or suggestions are highly appreciated. A list of known issues is maintained
  48. at http://trac.mystic.cacr.caltech.edu/project/pathos/query.html, with a public
  49. ticket list at https://github.com/uqfoundation/dill/issues.
  50. Major Features
  51. ==============
  52. ``dill`` can pickle the following standard types:
  53. - none, type, bool, int, long, float, complex, str, unicode,
  54. - tuple, list, dict, file, buffer, builtin,
  55. - both old and new style classes,
  56. - instances of old and new style classes,
  57. - set, frozenset, array, functions, exceptions
  58. ``dill`` can also pickle more 'exotic' standard types:
  59. - functions with yields, nested functions, lambdas,
  60. - cell, method, unboundmethod, module, code, methodwrapper,
  61. - dictproxy, methoddescriptor, getsetdescriptor, memberdescriptor,
  62. - wrapperdescriptor, xrange, slice,
  63. - notimplemented, ellipsis, quit
  64. ``dill`` cannot yet pickle these standard types:
  65. - frame, generator, traceback
  66. ``dill`` also provides the capability to:
  67. - save and load python interpreter sessions
  68. - save and extract the source code from functions and classes
  69. - interactively diagnose pickling errors
  70. Current Release
  71. ===============
  72. This documentation is for version ``dill-0.2.8.2``.
  73. The latest released version of ``dill`` is available from:
  74. https://pypi.org/project/dill
  75. ``dill`` is distributed under a 3-clause BSD license.
  76. >>> import dill
  77. >>> print (dill.license())
  78. Development Version
  79. ===================
  80. You can get the latest development version with all the shiny new features at:
  81. https://github.com/uqfoundation
  82. If you have a new contribution, please submit a pull request.
  83. Installation
  84. ============
  85. ``dill`` is packaged to install from source, so you must
  86. download the tarball, unzip, and run the installer::
  87. [download]
  88. $ tar -xvzf dill-0.2.8.2.tar.gz
  89. $ cd dill-0.2.8.2
  90. $ python setup py build
  91. $ python setup py install
  92. You will be warned of any missing dependencies and/or settings
  93. after you run the "build" step above.
  94. Alternately, ``dill`` can be installed with ``pip`` or ``easy_install``::
  95. $ pip install dill
  96. Requirements
  97. ============
  98. ``dill`` requires:
  99. - ``python``, **version >= 2.5** or **version >= 3.1**, or ``pypy``
  100. - ``pyreadline``, **version >= 1.7.1** (on windows)
  101. Optional requirements:
  102. - ``setuptools``, **version >= 0.6**
  103. - ``objgraph``, **version >= 1.7.2**
  104. More Information
  105. ================
  106. Probably the best way to get started is to look at the documentation at
  107. http://dill.rtfd.io. Also see ``dill.tests`` for a set of scripts that
  108. demonstrate how ``dill`` can serialize different python objects. You can
  109. run the test suite with ``python -m dill.tests``. The contents of any
  110. pickle file can be examined with ``undill``. As ``dill`` conforms to
  111. the ``pickle`` interface, the examples and documentation found at
  112. http://docs.python.org/library/pickle.html also apply to ``dill``
  113. if one will ``import dill as pickle``. The source code is also generally
  114. well documented, so further questions may be resolved by inspecting the
  115. code itself. Please feel free to submit a ticket on github, or ask a
  116. question on stackoverflow (**@Mike McKerns**).
  117. If you would like to share how you use ``dill`` in your work, please send
  118. an email (to **mmckerns at uqfoundation dot org**).
  119. Citation
  120. ========
  121. If you use ``dill`` to do research that leads to publication, we ask that you
  122. acknowledge use of ``dill`` by citing the following in your publication::
  123. M.M. McKerns, L. Strand, T. Sullivan, A. Fang, M.A.G. Aivazis,
  124. "Building a framework for predictive science", Proceedings of
  125. the 10th Python in Science Conference, 2011;
  126. http://arxiv.org/pdf/1202.1056
  127. Michael McKerns and Michael Aivazis,
  128. "pathos: a framework for heterogeneous computing", 2010- ;
  129. http://trac.mystic.cacr.caltech.edu/project/pathos
  130. Please see http://trac.mystic.cacr.caltech.edu/project/pathos or
  131. http://arxiv.org/pdf/1202.1056 for further information.