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,
sshwithout-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)
| File | Size | Uploaded | |
|---|---|---|---|
| cli_progress-3.0.0.tar.gz | 6.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|