Buckets:
| #!/usr/bin/env python | |
| # | |
| # Author: Mike McKerns (mmckerns @caltech and @uqfoundation) | |
| # Copyright (c) 2008-2016 California Institute of Technology. | |
| # Copyright (c) 2016-2025 The Uncertainty Quantification Foundation. | |
| # License: 3-clause BSD. The full license text is available at: | |
| # - https://github.com/uqfoundation/dill/blob/master/LICENSE | |
| # author, version, license, and long description | |
| try: # the package is installed | |
| from .__info__ import __version__, __author__, __doc__, __license__ | |
| except: # pragma: no cover | |
| import os | |
| import sys | |
| parent = os.path.dirname(os.path.abspath(os.path.dirname(__file__))) | |
| sys.path.append(parent) | |
| # get distribution meta info | |
| 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 # backward compatibility | |
| ) | |
| from . import detect, logger, session, source, temp | |
| # get global settings | |
| from .settings import settings | |
| # make sure "trace" is turned off | |
| logger.trace(False) | |
| objects = {} | |
| # local import of dill._objects | |
| #from . import _objects | |
| #objects.update(_objects.succeeds) | |
| #del _objects | |
| # local import of dill.objtypes | |
| 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 | |
| # local import of dill.objects | |
| 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 | |
| # reset contents of types to 'empty' | |
| [types.__dict__.pop(obj) for obj in list(types.__dict__.keys()) \ | |
| if obj.find('Type') != -1] | |
| # add corresponding types from objects to types | |
| 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 | |
| # end of file | |
Xet Storage Details
- Size:
- 3.8 kB
- Xet hash:
- 60d91ba65f67cbeb5f960927a11ac17876dd2d21e0dc3e4decf50398f81951d8
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.