Skip to content

yggdrasil.pickle.ser.pickles

pickles

RuntimeResourceSerialized dataclass module-attribute

RuntimeResourceSerialized = (
    get_class(RUNTIME_RESOURCE) or RuntimeResourceSerialized
)

Serializer for non-classical runtime resources.

This targets objects that are typically unpicklable (thread locks/sockets) and restores semantically equivalent runtime instances.

GenericObjectSerialized dataclass module-attribute

GenericObjectSerialized = get_class(GENERIC_OBJECT) or GenericObjectSerialized

Structured fallback for importable Python objects.

Uses the standard __reduce_ex__ protocol (v2 payload) so C-extension and Cython types that supply custom __reduce__ implementations (e.g. pandas.Timestamp) are handled correctly.

Payload versions

v1 (legacy): (version, module, qualname, new_args, new_kwargs, state_payload) Written by old code; still decoded on load. v2 (current): (version, fn_module, fn_qualname, args_bytes, state_bytes, list_bytes, dict_bytes) Stores the reduction callable by module+qualname and the args/state as inner pickle blobs so class references embedded in args survive intact.

PickleSerialized dataclass

PickleSerialized(head: Header, data: IO)

Bases: Serialized[Any]

Base class for pickle-family serialized Python objects.

module_and_name staticmethod

module_and_name(obj: Any, *, fallback: str = '') -> tuple[str, str]

Return (module, qualname) for obj.

Robust across Python objects, including many C-extension / PyArrow objects where module may be missing or misleading.