## io.Batch


What a [Source](io.Source.md#sverify.io.Source) read: new rows and the cursor to read from next time.


Usage

``` python
io.Batch(
    table,
    cursor=None,
    kind="append",
    deletes=None,
)
```


## Attributes


`table: Any`  
The rows, as an Arrow table, a Polars or pandas DataFrame, a Polars LazyFrame, or anything else `pyarrow.table` accepts. What they are depends on [kind](io.SourceBatch.md#sverify.io.SourceBatch.kind).

`cursor: Any`  
Where the next read starts: `read(since=cursor)`. Any value, such as the greatest timestamp read or the files read so far. Default: None.

`kind: Kind`  
`"append"`: [table](Node.table.md#sverify.Node.table) is rows added since the last read (the default). `"snapshot"`: [table](Node.table.md#sverify.Node.table) is the whole table; the source diffs it against the last read. `"changes"`: [table](Node.table.md#sverify.Node.table) is rows added and [deletes](io.SinkChange.md#sverify.io.SinkChange.deletes) rows removed (one copy each).

`deletes: Any`  
With `kind="changes"`, the rows removed, in the same forms as [table](Node.table.md#sverify.Node.table). Default: None.
