Skip to content

yggdrasil.delta.protocol

protocol

Back-compat shim — Delta action types live at :mod:yggdrasil.io.delta.protocol.

AddFile dataclass

AddFile(
    path: str = "",
    partition_values: Dict[str, Optional[str]] = dict(),
    size: int = 0,
    modification_time: int = 0,
    data_change: bool = True,
    stats: Optional[str] = None,
    tags: Optional[Dict[str, str]] = None,
    deletion_vector: Optional[DeletionVectorDescriptor] = None,
    base_row_id: Optional[int] = None,
    default_row_commit_version: Optional[int] = None,
)

Bases: DeltaAction

A parquet data file added to the table at a given commit version.

CommitInfo dataclass

CommitInfo(payload: Dict[str, Any] = dict())

Bases: DeltaAction

Free-form commit metadata. Opaque to replay.

DeletionVectorDescriptor dataclass

DeletionVectorDescriptor(
    storage_type: str,
    path_or_inline_dv: str,
    size_in_bytes: int,
    cardinality: int = 0,
    offset: Optional[int] = None,
)

Pointer to a deletion-vector blob.

Three storage shapes:

  • "i" — inline (Z85-encoded bytes in pathOrInlineDv).
  • "u" — uuid-based sidecar (deletion_vector_<uuid>.bin).
  • "p" — absolute path (table-relative).

DeltaAction

Marker base for every Delta action dataclass.

Subclasses register themselves under their JSON key on the class-level :data:ACTIONS map via :meth:__init_subclass__.

DomainMetadata dataclass

DomainMetadata(
    domain: str = "", configuration: str = "", removed: bool = False
)

Bases: DeltaAction

Named per-domain configuration blob.

Metadata dataclass

Metadata(
    id: str = "",
    name: Optional[str] = None,
    description: Optional[str] = None,
    format_provider: str = "parquet",
    format_options: Dict[str, str] = dict(),
    schema_string: str = "",
    partition_columns: List[str] = list(),
    configuration: Dict[str, str] = dict(),
    created_time: Optional[int] = None,
)

Bases: DeltaAction

Table identity + schema + partitioning + configuration.

Protocol dataclass

Protocol(
    min_reader_version: int = 1,
    min_writer_version: int = 2,
    reader_features: List[str] = list(),
    writer_features: List[str] = list(),
)

Bases: DeltaAction

Reader / writer version requirements + named features.

RemoveFile dataclass

RemoveFile(
    path: str = "",
    deletion_timestamp: Optional[int] = None,
    data_change: bool = True,
    extended_file_metadata: bool = False,
    partition_values: Optional[Dict[str, Optional[str]]] = None,
    size: Optional[int] = None,
    deletion_vector: Optional[DeletionVectorDescriptor] = None,
    base_row_id: Optional[int] = None,
    default_row_commit_version: Optional[int] = None,
)

Bases: DeltaAction

A previously-added parquet file logically removed at this commit.

Txn dataclass

Txn(app_id: str = '', version: int = 0, last_updated: Optional[int] = None)

Bases: DeltaAction

Application-level idempotency record.

parse_action

parse_action(line: Mapping[str, Any]) -> 'DeltaAction | None'

Dispatch one JSON commit line to its typed action.

Returns None for unknown action keys — matches the spec's forward-compatibility guidance.