yggdrasil.pickle.ser.data¶
data ¶
Pickle serializers for :class:~yggdrasil.data.Field and :class:~yggdrasil.data.Schema.
Wire layout¶
FieldSerialized (tag YGG_FIELD = 303)
payload = Arrow IPC file bytes that hold a single-field pa.Schema.
The field's name, Arrow type, nullability and all metadata are round-tripped
through Arrow's own IPC format.
SchemaSerialized (tag YGG_SCHEMA = 304)
payload = Arrow IPC file bytes that hold a pa.Schema.
All fields (with their metadata) and the schema-level metadata are
preserved via Arrow IPC.
Both serializers store a ygg_object key in the wire Header metadata for
debugging purposes (it is never needed for reconstruction — the tag suffices).
DataSerialized
dataclass
¶
Bases: Serialized[object]
Base / dispatch hub for yggdrasil.data serializers.
Not registered as a concrete tag — only the concrete subclasses are.
module_and_name
staticmethod
¶
Return (module, qualname) for obj.
Robust across Python objects, including many C-extension / PyArrow objects where module may be missing or misleading.
FieldSerialized
dataclass
¶
Bases: DataSerialized
Serialize a :class:~yggdrasil.data.Field as Arrow IPC (single-field schema).
module_and_name
staticmethod
¶
Return (module, qualname) for obj.
Robust across Python objects, including many C-extension / PyArrow objects where module may be missing or misleading.
SchemaSerialized
dataclass
¶
Bases: DataSerialized
Serialize a :class:~yggdrasil.data.Schema as Arrow IPC.
module_and_name
staticmethod
¶
Return (module, qualname) for obj.
Robust across Python objects, including many C-extension / PyArrow objects where module may be missing or misleading.