#progress-bar #script #terminal #cli

bin+lib progredient

A program to render text progress bars

2 stable releases

1.1.0 Jun 30, 2023
1.0.0 May 6, 2022

#132 in Visualization

MIT license

186 lines


Crate Build Status MIT Licensed

Just a program wrapping the nice and simple dominicparga/progressing for direct use in scripts etc.


$ cargo install progredient


progredient --at X%
progredient --at Y --from X --to Z

Optional arguments:
--length L        stretch the bar to be this number of chars long
--style ABCDE     render the bar as "ABBBBBBCDDDE" with C positioned at --at
--label LABEL     show this text after the bar
--left            show the label before the bar instead
--no-newline      do not print a newline after the bar


Glance at your disk usage:

$ df | grep disk | while read label blocks used available capacity rest; do progredient --at $capacity --label $label --style '[|| ]' ; done
[||||              ] /dev/disk1s5s1
[|                 ] /dev/disk1s4
[|                 ] /dev/disk1s2
[|                 ] /dev/disk1s6
[||||||||||||||    ] /dev/disk1s1

Track your workday:

$ to_seconds() { gdate -d "1970-01-01 UTC $1" +%s }
$ progredient --at $(to_seconds $(gdate +%T)) --from $(to_seconds 08:00) --to $(to_seconds 17:00) --style "--O--"

Check your battery:

$ progredient --at $(pmset -g batt | grep -o '[0-9]*%') --style '()) }'
()))))))))))))))   }