Skip to main content

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)

Source distribution for light-progress 0.1.4
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page