Source code for ds_provider_mock_py_lib.dataset.engines._read_checkpoint
"""
**File:** ``_read_checkpoint.py``
**Region:** ``ds_provider_mock_py_lib/dataset/engines``
Checkpoint models for mock read continuation.
The shape matches Xledger: incremental watermark plus optional pagination
cursor. For the mock provider:
- ``incremental.value`` is the last *completed* batch number (``0`` after a
successful full load).
- ``pagination.value`` is an opaque ``"{batch}:{page}"`` cursor used to resume
an unfinished paginated traversal.
Example:
>>> from ds_provider_mock_py_lib.dataset.engines._read_checkpoint import Checkpoint
>>> checkpoint = Checkpoint.deserialize({})
>>> checkpoint.incremental.value is None
True
>>> checkpoint.pagination.value is None
True
"""
from __future__ import annotations
from dataclasses import dataclass, field
from typing import Any
from ds_common_serde_py_lib.serializable import Serializable
[docs]
@dataclass(kw_only=True)
class CheckpointIncremental(Serializable):
"""Store the persisted incremental watermark.
Attributes:
value: Last completed batch number, or ``None`` when no snapshot exists.
"""
value: Any = None
[docs]
@dataclass(kw_only=True)
class Checkpoint(Serializable):
"""Store checkpoint state for resumable reads.
Attributes:
incremental: Persisted incremental watermark state.
pagination: Persisted pagination continuation state.
"""
incremental: CheckpointIncremental = field(default_factory=CheckpointIncremental)
pagination: CheckpointPagination = field(default_factory=CheckpointPagination)