fraudtwin.IcebergLakehouse#

class fraudtwin.IcebergLakehouse(environment, config=None)[source][source]#

Bases: object

Small PyIceberg writer with immutable append and snapshot metadata.

Parameters:
append_stream(table, rows, *, batch_size=10_000)[source][source]#

Append an unbounded row stream in bounded batches.

Return type:

int | None

Parameters:
  • table (str)

  • rows (Iterable[Mapping[str, Any]])

  • batch_size (int)

maintenance(table, operation, *, snapshot_id=None, execute=False)[source][source]#

Plan or execute one explicitly requested table-maintenance action.

Dry-run is the default. Execution is intentionally snapshot-scoped; callers must name the snapshot to expire so retained run snapshots cannot be removed accidentally.

Return type:

dict[str, object]

Parameters:
  • table (str)

  • operation (str)

  • snapshot_id (int | None)

  • execute (bool)