Skip to main content

Customize and create a progress bar string.

Project description

Better-Progress

A progress bar that actually doesn't make assumptions.

This package is heavily inspired by the progress package. However, unlike progress, this package handles progress bars in a sane and user-friendly way.

Basic usage

Progress bars

from better_progress import Bar

progress_bar = Bar.Bar(max_value)
print(progress_bar)

Fillers

from better_progress import Filler

filler = Filler.Filler(max_value)
print(filler)

Spinners

from better_progress import Spinner

#...

spinner = Spinner.Spinner()
while working:
    #...
    spinner.next()
    print(spinner)

Comparisons between progress and better-progress

  • Viewing the progress bar
    • Progress: the default behavior is to print out the progress bar to stdout upon iteration. There is no other way to get a string representation of the progress bar.
    • Better-progress: nothing is printed out to stdout. Instead, the user can get a string of the progress bar by simply getting the string representation of any of the classes provided in the library.
  • Documentation
    • Progress: No docstrings, documentation in the repository is severely lacking. Many properties are expected to be in kwargs, making it incredibly difficult to read through the source by hand.
    • Better-progress: Docstrings for every module, class, and function. Nothing should come as a surprise to the user. No reliance on kwargs, except where it makes sense. Type hints are also provided for every parameter and function return.
  • Usage in your code
    • Progress: Because it automatically prints to stdout, the user needs to work around the library, potentially changing the structure they already have in place.
    • Better-progress: Because this library only tracks state and gives a string upon request, the library can work around the user. The user doesn't need to make any big changes to get the library to work for them.
  • Other features
    • Progress has many other features aside from producing a progress bar. It tracks the average time between increments, the elapsed time since starting, and the ETA until completion.
    • Better-progress does not have these features. The philosophy is that this is a package that lets the user create a pretty progress bar, nothing more. If the user wants any of these features, they would be simple enough to include alongside where they use the progress bar.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

better-progress-1.0.4.tar.gz (11.5 kB view hashes)

Uploaded Source

Built Distribution

better_progress-1.0.4-py3-none-any.whl (14.0 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page