Skip to main content

cli_progress

Run a long command (an installer, an update) behind a calm full-screen progress window.

While it runs you see only your logo, the current step and a smooth progress bar, with the time it has taken and roughly how long is left. The output is one key away, and it is always written to the log file.

                    ▓▓▓
                  ▓▓▓▓▓
             ▓▓▓
           ▓▓▓▓▓  ▓▓▓▓▓
      ▓▓▓  ▓▓▓▓▓  ▓▓▓▓▓
   ▓▓▓▓▓▓  ▓▓▓▓▓  ▓▓▓▓▓
   ▓▓▓▓▓▓▓▓▓▓▓▓▓  ▓▓▓▓▓
   ▓▓▓▓▓▓  ▓▓▓▓▓  ▓▓▓▓▓

        Hiddify Manager   v14.0.0

 Installing...

 ━━━━━━━━━━━━━━━━━━━━━━━━━╸━━━━━━━━━━━━━  62.1%
 ⏱ 2m 10s   ≈ 1m 20s left    ⚠ 1

 ✓ MySQL                                 12s
 ✓ Hiddify Panel                         48s
 ⠦ Xray                                   6s

   Setting up xray-core (25.10.15) ...

            L  show log    Q  quit

Usage

python -m cli_progress --title "Hiddify Manager" --subtitle v14 \
    --logo logo.ico --log /var/log/install.log -- ./install.sh --no-gui
Option
--title, --subtitle shown under the logo
--logo FILE a text file with the logo (block characters); a built-in one by default
--log FILE the command's whole output (with its colors) goes there
--regex the progress line; default ####<percent>####<title>####<step>####
--auto-exit SECONDS close this long after a success (default 5; 0 waits for a key)
--no-counts hide the ⚠ warnings / ✗ errors counts next to the timer
--plain no window: print the output and a line for each step

The command reports progress by printing lines such as:

echo "####42####Installing...####Hiddify Panel####"

Those lines are not shown or logged as output; they move the bar and add a step.

Keys

Running Finished
L show the log show the log
Q, Esc, Ctrl+C ask before stopping (Ctrl+C twice stops) close
Enter close

In the log (it opens under the logo and the progress bar, which stay on top): ↑ ↓ PgUp PgDn scroll (it holds still while you read), End follows new lines again, e / E jump to the next / previous error or warning, Esc goes back.

What happens when

  • Success: the logo turns green and the window closes after a few seconds (any key keeps it open).
  • Failure: the logo turns red, the step that failed is marked, the last errors and warnings are shown, and the window stays until you close it. A short summary with the log's path is printed after it closes.
  • Stop: the command gets SIGINT (to clean up), then SIGTERM, then SIGKILL. The exit code is 130.
  • No usable terminal (a pipe, cron, ssh without -t, TERM=dumb): plain output, same log, same exit code. The command never runs twice.

The command runs in its own session with no stdin: the terminal's Ctrl+C reaches the window (which asks first), not the command.

Development

pip install -e .[test]
pytest

Metadata

Release files for cli_progress 3.0.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for cli_progress 3.0.0
File Size Uploaded
cli_progress-3.0.0.tar.gz 6.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cli_progress 3.0.0
File Interpreter ABI Platform
cli_progress-3.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 12.1 kB

Release files / cli_progress-3.0.0.tar.gz

Download URL cli_progress-3.0.0.tar.gz
Size 6.4 kB
Tags Source
SHA-256 checksum
How to use checksums
04cfba6e6985481e162fe7748d7d64475c60d29e128bfb89e540d81e6339383a
BLAKE2b-256 checksum
How to use checksums
00c30fa326784fb1deb4d9769584abe416b618e6af5defeb936fb62af16e7839
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release files / cli_progress-3.0.0-py3-none-any.whl

Download URL cli_progress-3.0.0-py3-none-any.whl
Size 5.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4eedb82866416899fef66108003f92b7acf3f3f2d0ac5886e48d854bd6c32429
BLAKE2b-256 checksum
How to use checksums
f5420b76df3842be43b8ce143c678b83bc7519d5bce0a13b8d9619e0b074d61a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.8

Release history Release notifications | RSS feed

3.0.4

2 release files

3.0.2

2 release files

3.0.1

2 release files

This release

3.0.0 This release

2 release files

2.2.2

2 release files

2.2.1

2 release files

2.2.0

2 release files

2.1.0

2 release files

2.0.0

2 release files

1.9.0

2 release files

1.7.0

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.2.0

2 release files

1.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page