apache / apache/polaris

Better UI/UX for Polaris CLI

Open
#4,090 7 comments 2 reactions 0 assignees View on GitHub
enhancement stale
Dominant language
Java
Stars
2.1k
Forks
522
Avg merge
1d 22h
Merged PRs (30d)
137

Description

### Is your feature request related to a problem? Please describe.

Hello,

Polaris CLI starts with very basic CLI output (primary output in unformatted JSON). This is great and use-able as people can use tool such as `jq` to parse those and get the needed info. As we added couple more ability to Polaris CLI recently where we are no longer only produce JSON output such as following:
1. Setup command: https://github.com/apache/polaris/pull/3929
2. Summarized sub-command: https://github.com/apache/polaris/pull/4003
3. Tables/Find commands (still under review): https://github.com/apache/polaris/pull/4075

I think we should use some additional library to make Apache Polaris CLI more modern such as python rich library (https://github.com/textualize/rich) and python click library (https://github.com/pallets/click) for more enriched UI and better UX.

Taking setup command as an example. Here is what we are currently provided as of today (credentials below are randomly generated string thus nothing sensitive):

Image

It is use-able but way too verbose and hard to keep track of things if this is really some massive deployment.

Here is the revised output with same command but implemented with rich library on my local setup (credentials below are randomly generated string thus nothing sensitive):

Image

What do you think? Should we proceed with those more modern libraries or stick with what we currently have and use plain text only.

Thanks,
Yong Zheng

### Describe the solution you'd like

_No response_

### Describe alternatives you've considered

_No response_

### Additional context

ML: https://lists.apache.org/thread/fqjklpptr1k35h2tkjd377xfkc6g0kyf

Contributor guide

Open the contributing guide

Research direction

Start by reviewing the Polaris CLI changes for the setup, summarized, and tables/find commands, along with the linked mailing-list discussion, to understand the current output paths and proposed scope. Before implementation, agree whether Rich and Click should be adopted and define the covered subcommands and output modes; done should mean an agreed, documented UX direction.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
cli, developer-experience
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Active
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.