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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

Details for the file better-progress-1.0.4.tar.gz.

File metadata

  • Download URL: better-progress-1.0.4.tar.gz
  • Upload date:
  • Size: 11.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.5

File hashes

Hashes for better-progress-1.0.4.tar.gz
Algorithm Hash digest
SHA256 8b5da67a20cc6cf334bcf7af41ddf9258ae787d54414e5e1b90533b5684e0632
MD5 bb0781e85ae52e230ecf8cf95170794e
BLAKE2b-256 bf4ed74465fb8b213772f4a87b63bc552775ad7b9962d1237acf7a543ccc99c5

See more details on using hashes here.

File details

Details for the file better_progress-1.0.4-py3-none-any.whl.

File metadata

  • Download URL: better_progress-1.0.4-py3-none-any.whl
  • Upload date:
  • Size: 14.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/49.6.0 requests-toolbelt/0.9.1 tqdm/4.50.0 CPython/3.8.5

File hashes

Hashes for better_progress-1.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 19bc4f4fcd51273e6a7f4b5cb133f1fddf799fc1782290ec46e26906cddab0ea
MD5 13e007f2d870a19b05c89ee81ef1ba25
BLAKE2b-256 528b6fce37532e4b8a7cfda052cb510e5ce58e15cba30f666121dd9d8a720c61

See more details on using hashes here.

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