Add interactive TUI
- Dominant language
- Rust
- Stars
- 279
- Forks
- 67
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 40
Description
### Feature Description
we plan to build a terminal user interface (TUI) using `ratatui`, providing an interactive way to explore and troubleshoot hudi tables.
**Phase 1 – Commit Timeline** -> Provide a visual overview of table commit history
- Display commit timeline (timestamp, type: UPSERT, DELETE, etc.)
- Show commit metadata summary (e.g., record count, file count)
**Phase 2 – Table & Storage Stats Dashboard** -> Offer a quick health overview
- Show basic table metadata: schema, table type, partition info
- Display overall stats: total files, total records, last commit time
- Include storage-level metrics: data size, parquet/log file counts
**Phase 3 – File Management View** -> Help users diagnose small-file problems and compaction needs
- List files by partition (with size, commit association)
- Highlight small files (configurable threshold, e.g., <128MB)
- Show file “age” and related commit
we can call existing hudi-core APIs, or build new ones if needed. the goal is to make it work with python (e.g. `pip install xxx`) to reach more users.
### Additional context
_No response_
Contributor guide
Research direction
Start by locating the existing hudi-core APIs and Python bindings mentioned in the issue, then determine how a terminal interface would access table metadata and file information. The proposed phases define the intended result: a commit timeline, statistics dashboard, and file-management view, with Python installation support; no specific files or tests are named.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python, rust
- Domain
- cli
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100