diff --git a/pyiceberg/manifest.py b/pyiceberg/manifest.py index 3b8138b61a..afe8779868 100644 --- a/pyiceberg/manifest.py +++ b/pyiceberg/manifest.py @@ -22,6 +22,7 @@ from types import TracebackType from typing import ( Any, + Callable, Dict, Iterator, List, @@ -763,6 +764,20 @@ def add_entry(self, entry: ManifestEntry) -> ManifestWriter: return self +class RollingManifestWriter: + _current_writer: ManifestWriter + _supplier: Callable[[], ManifestWriter] + + def __init__(self, supplier: Callable[[], ManifestWriter], target_file_size_in_bytes, target_number_of_rows) -> None: + pass + + def _should_roll_to_new_file(self) -> bool: ... + + def to_manifest_files(self) -> list[ManifestFile]: ... + + def add_entry(self, entry: ManifestEntry) -> RollingManifestWriter: ... + + class ManifestWriterV1(ManifestWriter): def __init__(self, spec: PartitionSpec, schema: Schema, output_file: OutputFile, snapshot_id: int): super().__init__(