Skip to content

feat(cli): show Rich gradient banner on winml / winml --help#572

Merged
DingmaomaoBJTU merged 1 commit into
mainfrom
qiowu/feat-414-banner
May 11, 2026
Merged

feat(cli): show Rich gradient banner on winml / winml --help#572
DingmaomaoBJTU merged 1 commit into
mainfrom
qiowu/feat-414-banner

Conversation

@DingmaomaoBJTU
Copy link
Copy Markdown
Collaborator

@DingmaomaoBJTU DingmaomaoBJTU commented May 11, 2026

Closes #414

Summary

  • Replaces the static ASCII-box banner with a Rich-powered gradient renderer: WinML CLI block letters colored cyan → blue → purple → pink → red left-to-right
  • Both winml (no args) and winml --help now print the banner to stderr, then show Click help, and exit 0 — both cases are equivalent as described in the issue
  • Fixes the two-I inconsistency from the / alternation approach by using throughout, so identical letter shapes (the i in WinML and the I in CLI) render identically regardless of horizontal position
  • Adds invoke_without_command=True so winml with no args exits 0 (was 2)
  • Banner version is read dynamically from __version__ (backed by importlib.metadata), not hardcoded
  • Adds TestBanner regression suite (5 cases) in tests/cli/test_main.py

New look with banner:
image

- Replace static ASCII-box banner with a Rich-powered gradient renderer
  (WinML CLI block letters, cyan→blue→purple→pink→red left-to-right)
- Both `winml` (no args) and `winml --help` print the banner to stderr
  then show Click help; exit 0 in both cases
- Fix two-I inconsistency from alternating ▌/▐ by using █ throughout
- Add invoke_without_command=True so no-args exits 0 instead of 2
- Add TestBanner regression tests (5 cases)
@DingmaomaoBJTU DingmaomaoBJTU requested a review from a team as a code owner May 11, 2026 02:32
@timenick
Copy link
Copy Markdown
Collaborator

If you have a screenshot in the description, that would be helpful.

@xieofxie
Copy link
Copy Markdown
Contributor

Fancy!

@DingmaomaoBJTU DingmaomaoBJTU merged commit c59b2ac into main May 11, 2026
9 checks passed
@DingmaomaoBJTU DingmaomaoBJTU deleted the qiowu/feat-414-banner branch May 11, 2026 03:02
DingmaomaoBJTU added a commit that referenced this pull request May 13, 2026
- Use @build_config_option from cli_utils for -c/--config (replaces
  inline @click.option, gains path_type=Path so config_file is Path|None)
- Add _CONFIG_AUTO_LABEL = "(auto)" module-level const; replace all
  string literals "(auto)" with it
- Fix no_compile check in auto-generate path: `if no_compile is True`
  (matches tristate from #570 — None means inherit, not skip)
- Add None guard for optim in to_dict() for parity with export/quant/compile
- Rebase onto main: drops redundant banner commit (already merged as #572)
ssss141414 pushed a commit that referenced this pull request May 15, 2026
Closes #414

## Summary

- Replaces the static ASCII-box banner with a Rich-powered gradient
renderer: `WinML CLI` block letters colored cyan → blue → purple → pink
→ red left-to-right
- Both `winml` (no args) and `winml --help` now print the banner to
stderr, then show Click help, and exit 0 — both cases are equivalent as
described in the issue
- Fixes the two-I inconsistency from the `▌`/`▐` alternation approach by
using `█` throughout, so identical letter shapes (the `i` in WinML and
the `I` in CLI) render identically regardless of horizontal position
- Adds `invoke_without_command=True` so `winml` with no args exits 0
(was 2)
- Banner version is read dynamically from `__version__` (backed by
`importlib.metadata`), not hardcoded
- Adds `TestBanner` regression suite (5 cases) in
`tests/cli/test_main.py`

New look with banner:
<img width="539" height="519" alt="image"
src="https://github.com/user-attachments/assets/449f6f0c-a982-42fb-9e1b-eaefdcef7830"
/>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: show banner when winml invoked with no arguments or --help (exit 0)

3 participants