Signatures below match src/pyapi/*.rs. Functions returning Table or RecordBatch cross the PyO3 boundary through Arrow's C Data Interface; the other functions return the scalars, tuples, or dictionaries shown below.
(pyarrow.Table, pyarrow.Table), static-threshold clean/trash split of the first batch
Slice calls return the requested row range; slice_cols returns columns in selected_cols order. Parquet, Arrow IPC/Feather, and ORC pass column projection to their readers. Mapped delimited reads project while parsing, but still read the bytes of each selected record; Avro, MsgPack, JSON-family, and XLSX may project after decoding the selected rows. Fallback reads may stream and skip from the start when no applicable Lake Map locator is available. Direct file reads can sniff some extensionless or unknown-extension files; directory discovery for maps and Lake Doctor is extension-based and includes only extensions with an active handler.
basaltic_red.filter
Function
Returns
process_batch(batch: pyarrow.RecordBatch)
(RecordBatch, RecordBatch), static-threshold clean/trash of one in-memory batch
dict with keys total_files, pruned_dirs, total_rows, clean_rows, trash_rows
Partition pruning in filter_files_parallel runs only when path_pattern is a directory. A single-file or glob target is enumerated directly, and partition_filter does not narrow those targets.
checkpoint_stride_rows must be positive and controls checkpoints for row-oriented formats; native Parquet row groups, ORC stripes, Avro blocks, Arrow batches, and XLSX logical blocks keep their format boundaries. fingerprint accepts "metadata" (default) or "blake3". stats_columns=None computes all currently supported statistics, [] disables them, and a list limits statistics to those named columns. Disabling statistics still reads the file to count rows and build locators.
locate_row resolves from the saved map and does not check source freshness. Run doctor after source files are added, removed, or changed; in BLAKE3 mode, Doctor can detect content changes that preserve size and modification time. create_map and doctor discover files by supported extension; directly readable extensionless files are outside that directory scope. Dynamic extensions must be registered for each process that creates or checks a map. Map schema 3 stores these options and optional per-file BLAKE3 hashes; older five-column and schema 2 maps load with the previous defaults. Slicing keeps the fast size/mtime check and does not rehash the entire file for every range.