A progress tracker with methods for throughput, ETA and update notification.
Class CheckPoint
MRO: builtins.tuple
CheckPoint(time, position)
Class Progress
A progress counter to track task completion with various utility methods.
P = Progress(name="example") P #doctest: +ELLIPSIS Progress(name='example',start=0,position=0,start_time=...,thoughput_window=None,total=None):[CheckPoint(time=..., position=0)] P.advance(5) P #doctest: +ELLIPSIS Progress(name='example',start=0,position=5,start_time=...,thoughput_window=None,total=None):[CheckPoint(time=..., position=0), CheckPoint(time=..., position=5)] P.total = 100 P #doctest: +ELLIPSIS Progress(name='example',start=0,position=5,start_time=...,thoughput_window=None,total=100):[CheckPoint(time=..., position=0), CheckPoint(time=..., position=5)]
A Progress instance has an attribute notify_update which
is a set of callables. Whenever the position is updates, each
of these will be called with the Progress instance and the
latest CheckPoint.
Progress objects also make a small pretense of being an integer.
The expression int(progress) returns the current position,
and += and -= adjust the position.
This is convenient for coding, but importantly it is also important for discretionary use of a Progress with some other object. If you want to make a lightweight Progress capable class you can set a position attribute to an int and manipulate it carefully using += and -= entirely. If you decide to incur the cost of maintaining a Progress object you can slot it in:
# initial setup with just an int
my_thing.amount = 0
# later, or on some option, use a Progress instance
my_thing.amount = Progress(my_thing.amount)
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
File details
Details for the file cs.progress-20190220.tar.gz.
File metadata
- Download URL: cs.progress-20190220.tar.gz
- Upload date:
- Size: 5.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via:
twine/1.11.0 pkginfo/1.4.2 requests/2.18.4 setuptools/40.0.0 requests-toolbelt/0.8.0 tqdm/4.23.0 CPython/3.6.8
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ec91497cd32c8804f59d6f4f51f5bb1dd57821fd8d4e859f91a24ad3056dabe5
|
|
| MD5 |
a06942e295e39b5557dd0c71efa50766
|
|
| BLAKE2b-256 |
dc36504b8c5fb4d46e2511ef0819146dd2da0542e6696c190fe3fd362f679565
|