tub opened a new pull request, #7344:
URL: https://github.com/apache/paimon/pull/7344
## Summary
PR 3 of 3 for pure-Python streaming reads. This PR adds the `paimon tail`
CLI command:
- **`paimon tail`**: stream data from Paimon tables, similar to
`kafka-console-consumer`
- Multiple output formats: jsonl, json, csv, table
- Filtering and column projection
- Consumer IDs for checkpointing
- Flexible start position: `earliest`, `latest`, `snapshot:ID`, `time:-1h`
- `--to` end position for bounded reads
- `--follow` for continuous streaming
- **CLI utilities** for time parsing and output formatting
- **`console_scripts`** entry point in setup.py
- **Documentation**: CLI section and supported features list
7 files changed, +1396 lines (incremental)
## PR Stack
1. [Streaming infrastructure](https://github.com/apache/paimon/pull/7342)
(scanners, consumers, caching, sharding)
2. [Core streaming](https://github.com/apache/paimon/pull/7343)
(StreamReadBuilder, AsyncStreamingTableScan, table integration)
3. **👉 this PR** — CLI (`paimon tail` command)
**Incremental diff** (just this PR's changes):
https://github.com/apache/paimon/compare/python-streaming-2-core...tub:paimon:python-streaming-3-cli
**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` — 630 passed (9 pre-existing lance
failures)
- [x] `python -c "from pypaimon import CatalogFactory"` — no import errors
- [x] Unit tests for CLI utilities (time parsing, output formatting)
🤖 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]