Skip to content

VersionedUnpickler depends on private implementation details of _Unpickler #232

@aaronayres35

Description

@aaronayres35

As described in this comment chain: #199 (comment)

The apptools.persistence.versioned_unpickler.NewUnpickler class currently depends on an attribute dispatch defined on the _Unpickler class from pickle, which is not intended to be public. Further this is forcing VersionedUnpickler to continue using _Unpickler not the Unpicklerwhich comes from the faster _pickle (see here: https://github.com/python/cpython/blob/aa01011003bb855cd52abfd49f2443446590d913/Lib/pickle.py#L1772-L1787).

Ultimately, we should remove the dependency on dispatch which is part of a private interface, and evolve VersionedUnpickler to be able to use Unpickler / not be tied to _Unpickler.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions