FazBrowse GitHub Viewer | Trending |
URL:
| Home
Tools: [Download Repo ZIP]   [Original HTTPS Page]

Add colour to `argparse` help · Issue #130645 · python/cpython · GitHub

/ cpython Public

Add colour to argparse help #130645

Description

Feature or enhancement

In Python 3.13 we added colour output to the new REPL, traceback and doctest, and in 3.14 to unittest, test.regrtest and calendar, that can also be controlled with the PYTHON_COLORS, NO_COLOR and FORCE_COLOR environment variables:

Let's add colour to argparse help output.

Survey

First, here's a survey of some other CLIs that use colour:

Survey
uv
cargo
composer
ruff
lsd
fd

See also: bat, hyperfine, oxipng, zizmor

gh
rich-cli
typer

These fall into four groups:

  • uv/cargo: green + cyan
  • composer: yellow + green
  • ruff/lsd/fd/gh: only bold
  • typer/rich-cli: green + cyan + yellow

Prototypes

I've made prototypes of two of these (uv/cargo style, typer/rich-cli style), and another with blue + magenta similar to the 3.13 REPL/traceback.

Prototypes
main
uv/cargo style
typer/rich-cli style
REPL style

I think I prefer the typer/rich-cli style: the extra colour makes it easier to pick out the (green) short options from the (cyan) long options, and from their (green) arguments. And it should also be somewhat familiar to Python users who have used typer-based CLIs.

Linked PRs

Metadata

Metadata

Assignees

No one assigned

    Labels

    stdlibStandard Library Python modules in the Lib/ directorytype-featureA feature request or enhancement

    Projects

    Status
    Doc issues

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions


    Back | FazBrowse Home | New Git URL