Easy progress reporting for Python
Bars
There are 7 progress bars to choose from:
BarChargingBarFillingSquaresBarFillingCirclesBarIncrementalBarPixelBarShadyBar
To use them, just call next to advance and finish to finish:
.. code-block:: python
from pgbar.pgbar import Bar
bar = Bar('Processing', max=20)
for i in range(20):
# Do some work
bar.next()
bar.finish()
or use any bar of this class as a context manager:
.. code-block:: python
from pgbar.pgbar import Bar
with Bar('Processing', max=20) as bar:
for i in range(20):
# Do some work
bar.next()
The result will be a bar like the following: ::
Processing |############# | 42/100
To simplify the common case where the work is done in an iterator, you can
use the iter method:
.. code-block:: python
for pgbar.pgbar in Bar('Processing').iter(it):
# Do some work
Progress bars are very customizable, you can change their width, their fill character, their suffix and more:
.. code-block:: python
bar = Bar('Loading', fill='@', suffix='%(percent)d%%')
This will produce a bar like the following: ::
Loading |@@@@@@@@@@@@@ | 42%
You can use a number of template arguments in message and suffix:
========== ================================ Name Value ========== ================================ index current value max maximum value remaining max - index progress index / max percent progress * 100 avg simple moving average time per item (in seconds) elapsed elapsed time in seconds elapsed_td elapsed as a timedelta (useful for printing as a string) eta avg * remaining eta_td eta as a timedelta (useful for printing as a string) ========== ================================
Instead of passing all configuration options on instatiation, you can create your custom subclass:
.. code-block:: python
class FancyBar(Bar):
message = 'Loading'
fill = '*'
suffix = '%(percent).1f%% - %(eta)ds'
You can also override any of the arguments or create your own:
.. code-block:: python
class SlowBar(Bar):
suffix = '%(remaining_hours)d hours remaining'
@property
def remaining_hours(self):
return self.eta // 3600
Spinners
For actions with an unknown number of steps you can use a spinner:
.. code-block:: python
from pgbar.pgspinner import Spinner
spinner = Spinner('Loading ')
while state != 'FINISHED':
# Do some work
spinner.next()
There are 5 predefined spinners:
SpinnerPieSpinnerMoonSpinnerLineSpinnerPixelSpinner
Installation
Download from PyPi
.. code-block:: shell
pip install pgbar
Metadata
Release files for pgbar 0.3
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 | Actions |
|---|---|---|---|---|
| pgbar-0.3.tar.gz | 5.1 kB | Without provenance | Details for pgbar-0.3.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| pgbar-0.3-py3-none-any.whl | Python 3 | none | any | Details for pgbar-0.3-py3-none-any.whl |
Total release size: 13.1 kB
Release files / pgbar-0.3.tar.gz
| Download URL | pgbar-0.3.tar.gz |
|---|---|
| Size | 5.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9655f19f1eb3d69ff8dcddd261cf61dd5078fd27d624cdfffb07b61bbe4b265a
|
|
BLAKE2b-256 checksum How to use checksums |
39a538636277e6f2596e508f463dd4406a0f19960f639118d2dd8929f0b95e01
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.1.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.4
|
Release files / pgbar-0.3-py3-none-any.whl
| Download URL | pgbar-0.3-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
d8ad05b4909c6ee325d14de4a40f700a122f498eb5e7c654c82a296b24df11bb
|
|
BLAKE2b-256 checksum How to use checksums |
f699f8a568ee7f3fbe87fcd59f1236fcb7933cd780030112446ef6b01d86916d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/39.1.0 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.6.4
|
Security for pgbar 0.3
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.