tub opened a new pull request, #7343: URL: https://github.com/apache/paimon/pull/7343
## Summary PR 2 of 3 for pure-Python streaming reads. This PR adds the core streaming API: - **StreamReadBuilder** for configuring streaming reads with predicates, projections, consumer IDs, sharding, and poll intervals - **AsyncStreamingTableScan** with async generator and sync wrapper for continuous snapshot polling - **Table interface additions**: `new_stream_read_builder()` on Table, FileStoreTable, FormatTable (stub), IcebergTable (stub) - **setup.py**: add `oss`/`lance` extras - **Documentation**: streaming reads section and supported features list 11 files changed, +2287 / -2 lines (incremental) ## PR Stack 1. [Streaming infrastructure](https://github.com/apache/paimon/pull/7342) (scanners, consumers, caching, sharding) 2. **👉 this PR** — Core streaming (StreamReadBuilder, AsyncStreamingTableScan, table integration) 3. CLI (`paimon tail` command) **Incremental diff** (just this PR's changes): https://github.com/apache/paimon/compare/python-streaming-1-infra...tub:paimon:python-streaming-2-core **Merge workflow:** Merge PR 1, rebase PR 2 onto updated master (PR 1 commits drop out), merge PR 2, repeat for PR 3. ## Test plan - [x] `python -m pytest pypaimon/tests` — 594 passed (9 pre-existing lance failures) - [x] `python -c "from pypaimon import CatalogFactory"` — no import errors - [x] Unit tests for StreamReadBuilder validation, sharding, and AsyncStreamingTableScan filtering - [x] Integration tests for stream_read_builder shard passthrough and FileScanner filtering 🤖 Generated with [Claude Code](https://claude.com/claude-code) -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
