A text progress bar is typically used to display the progress of a long running operation, providing a visual cue that processing is underway. The ProgressBar class manages the current progress, and the format of the line is given by a number of widgets. A widget is an object that may display differently depending on the state of the progress bar. There are many types of widgets: - `Timer` - `ETA` - `AdaptiveETA` - `FileTransferSpeed` - `AdaptiveTransferSpeed` - `AnimatedMarker` - `Counter` - `Percentage` - `FormatLabel` - `SimpleProgress` - `Bar` - `ReverseBar` - `BouncingBar` - `RotatingMarker` - `DynamicMessage` The progressbar module is very easy to use, yet very powerful. It will also automatically enable features like auto-resizing when the system supports it.