A progress tracker with methods for throughput, ETA and update notification
Project description
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)
Project details
Release history Release notifications | RSS feed
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
|