| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | |
| | try: |
| | from .__info__ import __version__, __author__, __doc__, __license__ |
| | except: |
| | import os |
| | import sys |
| | parent = os.path.dirname(os.path.abspath(os.path.dirname(__file__))) |
| | sys.path.append(parent) |
| | |
| | from version import (__version__, __author__, |
| | get_license_text, get_readme_as_rst) |
| | __license__ = get_license_text(os.path.join(parent, 'LICENSE')) |
| | __license__ = "\n%s" % __license__ |
| | __doc__ = get_readme_as_rst(os.path.join(parent, 'README.md')) |
| | del os, sys, parent, get_license_text, get_readme_as_rst |
| |
|
| |
|
| | from ._dill import ( |
| | dump, dumps, load, loads, copy, |
| | Pickler, Unpickler, register, pickle, pickles, check, |
| | DEFAULT_PROTOCOL, HIGHEST_PROTOCOL, HANDLE_FMODE, CONTENTS_FMODE, FILE_FMODE, |
| | PickleError, PickleWarning, PicklingError, PicklingWarning, UnpicklingError, |
| | UnpicklingWarning, |
| | ) |
| | from .session import ( |
| | dump_module, load_module, load_module_asdict, |
| | dump_session, load_session |
| | ) |
| | from . import detect, logger, session, source, temp |
| |
|
| | |
| | from .settings import settings |
| |
|
| | |
| | logger.trace(False) |
| |
|
| | objects = {} |
| | |
| | |
| | |
| | |
| |
|
| | |
| | from . import objtypes as types |
| |
|
| | def load_types(pickleable=True, unpickleable=True): |
| | """load pickleable and/or unpickleable types to ``dill.types`` |
| | |
| | ``dill.types`` is meant to mimic the ``types`` module, providing a |
| | registry of object types. By default, the module is empty (for import |
| | speed purposes). Use the ``load_types`` function to load selected object |
| | types to the ``dill.types`` module. |
| | |
| | Args: |
| | pickleable (bool, default=True): if True, load pickleable types. |
| | unpickleable (bool, default=True): if True, load unpickleable types. |
| | |
| | Returns: |
| | None |
| | """ |
| | from importlib import reload |
| | |
| | from . import _objects |
| | if pickleable: |
| | objects.update(_objects.succeeds) |
| | else: |
| | [objects.pop(obj,None) for obj in _objects.succeeds] |
| | if unpickleable: |
| | objects.update(_objects.failures) |
| | else: |
| | [objects.pop(obj,None) for obj in _objects.failures] |
| | objects.update(_objects.registered) |
| | del _objects |
| | |
| | [types.__dict__.pop(obj) for obj in list(types.__dict__.keys()) \ |
| | if obj.find('Type') != -1] |
| | |
| | reload(types) |
| |
|
| | def extend(use_dill=True): |
| | '''add (or remove) dill types to/from the pickle registry |
| | |
| | by default, ``dill`` populates its types to ``pickle.Pickler.dispatch``. |
| | Thus, all ``dill`` types are available upon calling ``'import pickle'``. |
| | To drop all ``dill`` types from the ``pickle`` dispatch, *use_dill=False*. |
| | |
| | Args: |
| | use_dill (bool, default=True): if True, extend the dispatch table. |
| | |
| | Returns: |
| | None |
| | ''' |
| | from ._dill import _revert_extension, _extend |
| | if use_dill: _extend() |
| | else: _revert_extension() |
| | return |
| |
|
| | extend() |
| |
|
| |
|
| | def license(): |
| | """print license""" |
| | print (__license__) |
| | return |
| |
|
| | def citation(): |
| | """print citation""" |
| | print (__doc__[-491:-118]) |
| | return |
| |
|
| | |
| |
|