A simple way of providing an informative and clean progress bar on the terminal that knows a terminal’s current width, has a header, works out of the box when reading files, and always shows a relative percentage; progress_bar works for Python 2.6+ and 3.0+
Synopsis
file.txt: [========================79.3%===============> ]
Installation
pip install progress_bar
Usage
Generally, to create any kind of progress bar with a default “size” of 100 arbitrary units:
from progress_bar import InitBar pbar = InitBar() pbar(10) # update % to 10% pbar(20) # update % to 20% pbar(15) # simulate a Microsoft progress bar pbar(100) # done del pbar # write the newline
To easily create a progress bar for reporting (reading) progress in a filehandle that can tell() its offset:
from progress_bar import InitBarForInfile
pbar = InitBarForInfile("./README.rst")
instream = open("./README.rst")
for line in iter(instream.readline, ''):
pbar(instream.tell())
del pbar
With those default arguments, the bar will be as wide as the terminal window. However, it will have two whitespaces on both sides of the bar to achieve a visually more appealing display. Terminal window width is defined by termios using fcntl, both from the standard library. The progress bar will be prefixed with the basename of the input file (“file.txt” in the above example).
Version History
7: fixed error with InitBar when no title is given
6: removed remaining function annotations (Py2.7; thanks to Adam Knight @ahknight)
5: fixed a few rough edges from the last update
4: made the bars with titles one-liners and fixed functions names (FunctionNames, ClassNames, methodNames, variable_names) because the PEP8 convention of using “snake_case” for nearly all names makes no sense to me what-so-ever… Finally, fixed the documentation to reflect Sphinx standards.
3: fixed the version number so PEP426 issues are avoided (pip install now works…)
2: updated the readme/usage section to reflect tell() issues with Python3
1: initial release
Copyright and License
License: Apache License v2. Copyright 2007-2014 Florian Leitner. All rights reserved.
Metadata
Release files for progress_bar 7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| progress_bar-7.tar.gz | 5.1 kB | Without provenance | Details |
Release files / progress_bar-7.tar.gz
| Download URL | progress_bar-7.tar.gz |
|---|---|
| Size | 5.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f5b847d66264174d8d85233d02f932ea789f599fecc994fa9cb02aba2282481f
|
|
BLAKE2b-256 checksum How to use checksums |
93e97c9f43704a2215ee6f19b3084da01087cd23fb539ac9e7b614c087164254
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for progress_bar 7
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.