DuckDB's Python API recently changed the results returned from .arrow(). This seems to go against what their documentation states. The result is that errors arise within CytoTable because the return type is incorrect (a RecordBatch instead of a Table).
I've opened an issue upstream with DuckDB on this: duckdb/duckdb-python#95