Skip to main content

This is a progress reporting tool for Python.

ProgressBar.iteration(range(42), lambda item: sleep(0.01))
# [▉..............................] 1% (1/42)
# [███████████████▉...............] 50% (21/42)
# [███████████████████████████████] 100% (42/42)

Installation

pip install light-progress

Examples

Import

from time import sleep
from light_progress 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

You can execute a iteration within with statement. You don’t have to call start() and finish() 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

Failure

Red

Customize

from light_progress import Colors, MessageType
colors = {
    MessageType.COURSE: Colors.YELLOW,
    MessageType.COMPLETE: Colors.BLUE,
}
ProgressBar.iteration(range(100), lambda item: sleep(0.01), colors=colors)

Widgets

ProgressBar can change its 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)

Print text

from light_progress import puts
for item in ProgressBar.generation(range(42)):
    sleep(0.01)
    puts('item {}'.format(item))

# ...
# item 17
# item 18
# item 19
# [███████████████▉...............] 50% (21/42)

Release files for light-progress 0.7.0.0

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.7.0.0
File Size Uploaded
light-progress-0.7.0.0.tar.gz 6.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for light-progress 0.7.0.0
File Interpreter ABI Platform
light_progress-0.7.0.0-py3-none-any.whl Python 3 none any Details

Total release size: 13.0 kB

Release files / light-progress-0.7.0.0.tar.gz

Download URL light-progress-0.7.0.0.tar.gz
Size 6.3 kB
Tags Source
SHA-256 checksum
How to use checksums
b029ef8ee1b288810269862e2a5750b5e681a4afd5bab8f062ad4fc491d8f236
BLAKE2b-256 checksum
How to use checksums
df9646f14bde5c3b2dfe9f6a34e6c470bafa9beca1293f563561bb71eb631d4c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.3

Release files / light_progress-0.7.0.0-py3-none-any.whl

Download URL light_progress-0.7.0.0-py3-none-any.whl
Size 6.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
36bad4b4899c4386b2b32f9de729e17ad973a284d23d0f4c4a3c05b83f849d58
BLAKE2b-256 checksum
How to use checksums
d76a0f2f8ed59194768a51b151395a5bb6474e6f2956f8375287e89dea7f69a2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.2 CPython/3.10.3

Release history Release notifications | RSS feed

This release

0.7.0.0 This release

2 release files

0.2.2.0

1 release file

0.2.1.4

1 release file

0.2.1

1 release file

0.1.4

1 release file

0.1.3

1 release file

0.1.2

2 release files

0.1.1

2 release files

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