Light Progress
This is progress reporting tool for Python
n = 42
with ProgressBar(n) as progress_bar:
for item in range(n):
sleep(0.01)
progress_bar.forward()
# [▉..............................] 1% (1/42)
# [███████████████▉...............] 50% (21/42)
# [███████████████████████████████] 100% (42/42)
Installation
pip install light-progress
Examples
Import
from time import sleep
from light_progress.commandline import ProgressBar
Pattern 1
Call start forward and finish yourself.
n = 42
progress_bar = ProgressBar(n)
progress_bar.start()
for item in range(n):
sleep(0.01)
progress_bar.forward()
progress_bar.finish()
Pattern 2
Do iterations in with. start and finish do not have to be called explicitly.
n = 42
with ProgressBar(n) as progress_bar:
for item in range(n):
sleep(0.01)
progress_bar.forward()
Pattern 3
Transfer iteration. You don’t have to call any ProgressBar methods yourself.
ProgressBar.iteration(range(42), lambda item: sleep(0.01))
Pattern 4
Transfer generation. You don’t have to call any ProgressBar methods yourself.
for item in ProgressBar.generation(range(42)):
sleep(0.01)
Colors
status |
color |
|---|---|
In progress |
Blue |
Success |
Green |
Failur |
Red |
Widgets
ProgressBar can change the display format using widget.
from light_progress import widget
widgets = [widget.Bar(bar='=', tip='-'),
widget.Percentage(),
widget.Num()]
ProgressBar.iteration(
range(42), lambda item: sleep(0.01), widgets=widgets)
# [===============-...............] 50% (21/42)
widgets = [widget.Percentage(),
widget.Num(),
'loading...',
widget.Bar(bar='#', tip='>')]
ProgressBar.iteration(
range(42), lambda item: sleep(0.01), widgets=widgets)
# 50% (21/42) loading... [###############>...............]
Formats
format_str = '{} {} ({})'
widgets = [widget.Bar(), widget.Percentage(), widget.Num()]
ProgressBar.iteration(
range(100),
lambda item: sleep(0.01),
widgets=widgets,
format_str=format_str)
# [███████████████████████████████] 100% (100/100)
format_str = '{} *** {} *** ({})'
widgets = [widget.Bar(), widget.Percentage(), widget.Num()]
ProgressBar.iteration(
range(100),
lambda item: sleep(0.01),
widgets=widgets,
format_str=format_str)
# [███████████████████████████████] *** 100% *** (100/100)
Metadata
Release files for light-progress 0.1.4
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 | |
|---|---|---|---|---|
| light-progress-0.1.4.tar.gz | 3.9 kB | Without provenance | Details |
Release files / light-progress-0.1.4.tar.gz
| Download URL | light-progress-0.1.4.tar.gz |
|---|---|
| Size | 3.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
50a9f8484fb41143566ae57e493ae30dd63615f627af12413843f612ec5a0643
|
|
BLAKE2b-256 checksum How to use checksums |
541bd5429163181b9679d7737ac068524d88bf6c2617dbe7f64c6964239780a1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
Security for light-progress 0.1.4
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.