A replacement for tqdm
Project description
What is this?
I wanted a light, clean, configurable alternative to tqdm. So I made one, complete with animations.
How do I use this?
pip install informative_iterator
from informative_iterator import ProgressBar
import time
#
# example 1
#
for progress, each_element in ProgressBar([ 1, 2, 3, "any iterable thing" ]):
time.sleep(0.002)
# example output:
# [>..................................] 0.00% | 0/1000 | started: 13:18:32 | eta: ________ | remaining: ________ |
# example output:
# [==============>....................] 42.50% | 425/1000 | started: 13:18:32 | eta: 13:18:44 | remaining: 0:07sec |
# example output:
# [================================>..] 93.10% | 931/1000 | started: 13:18:32 | eta: 13:18:44 | remaining: 0:01sec |
# example output:
# Done in 0:12sec at 13:18:44
#
# example 2
#
import random
def custom_iterable():
while True:
yield random.random()
for progress, each in ProgressBar(custom_iterable(), iterations=10000):
time.sleep(0.002)
#
# example 3
#
for progress, each in ProgressBar(10000):
time.sleep(0.002)
# index, just like using enumerate()
print('progress.index = ', progress.index)
# percent with two decimal places. ex: 99.5
print('progress.percent = ', progress.percent)
# the output of time.time() for this iteration (seconds since unix epoch)
print('progress.time = ', progress.time)
# boolean (updates dont always get printed every iteration)
print('progress.updated = ', progress.updated)
# int, doesn't change with each iteration: its the size of the iterator
print('progress.total_iterations = ', progress.total_iterations)
#
# example 4
#
# update ~30 times a second for smooth looking progress
for progress, each in ProgressBar(10000, seconds_per_print=0.03):
time.sleep(0.002)
#
# example 5
#
# have all progress bars default to trying to update update ~30 times a second
ProgressBar.configure(
seconds_per_print=0.03,
)
for progress, each in ProgressBar(10000):
time.sleep(0.002)
#
# example 6
#
ProgressBar.configure(
# all the options (these exist as arguments for ProgressBar as well)
layout=[ 'title', 'bar', 'percent', 'spacer', 'fraction', 'spacer', 'start_time', 'spacer', 'end_time', 'spacer', 'remaining_time', 'spacer', ],
spacer=" | ",
minmal=False, # False => defaults to normal layout
minimal_layout=[ 'title', 'bar', 'spacer', 'end_time', 'spacer', ],
inline=True,
disable_logging=False, # turn off all the output
progress_bar_size=35, # 35 characters
seconds_per_print=1, # print every second
percent_per_print=10, # And print every 10% of progress
)
for progress, each in ProgressBar(10000):
time.sleep(0.002)
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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file informative_iterator-2.2.3.tar.gz.
File metadata
- Download URL: informative_iterator-2.2.3.tar.gz
- Upload date:
- Size: 2.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/6.7.0 pkginfo/1.9.6 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.65.0 CPython/3.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1d506b85dc43361bb360ec38de1c142a4f775758508631f85a0353cfe6aa3696
|
|
| MD5 |
714e964352a8f95a0a240b2150e998ca
|
|
| BLAKE2b-256 |
ab467d8624ff6a41dcd3d437c0531db4becef27b22fc5c72258ddd6df3f84465
|
File details
Details for the file informative_iterator-2.2.3-py3-none-any.whl.
File metadata
- Download URL: informative_iterator-2.2.3-py3-none-any.whl
- Upload date:
- Size: 2.2 MB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.4.1 importlib_metadata/6.7.0 pkginfo/1.9.6 requests/2.31.0 requests-toolbelt/1.0.0 tqdm/4.65.0 CPython/3.8.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
52154973f6b8199beffcbcdf51ee217997abf99a3684bb06798aa7cf4c56f058
|
|
| MD5 |
ec54c8c4664d64ee48519e74a7547046
|
|
| BLAKE2b-256 |
a3f103ce6ec5554b37a286529b28177788b8f25bfbb63cb02134e20261c28da7
|