kuk
log-progress
Jupyter Notebook

https://habr.com/ru/post/276725/

Last updated Jun 10, 2026
564
Stars
56
Forks
11
Issues
0
Stars/day
Attention Score
70
Language breakdown
No language data available.
Files click to expand
README
# log-progress functionality was integrated into tqdm. Please, use from tqdm.notebook import tqdm as log_progress.

Widget based progress bar for Jupyter (IPython Notebook)

Code

Just copy and paste it into your project:
def log_progress(sequence, every=None, size=None, name='Items'):
    from ipywidgets import IntProgress, HTML, VBox
    from IPython.display import display

is_iterator = False if size is None: try: size = len(sequence) except TypeError: is_iterator = True if size is not None: if every is None: if size <= 200: every = 1 else: every = int(size / 200) # every 0.5% else: assert every is not None, 'sequence is iterator, set every'

if is_iterator: progress = IntProgress(min=0, max=1, value=1) progress.bar_style = 'info' else: progress = IntProgress(min=0, max=size, value=0) label = HTML() box = VBox(children=[label, progress]) display(box)

index = 0 try: for index, record in enumerate(sequence, 1): if index == 1 or index % every == 0: if is_iterator: label.value = '{name}: {index} / ?'.format( name=name, index=index ) else: progress.value = index label.value = u'{name}: {index} / {size}'.format( name=name, index=index, size=size ) yield record except: progress.bar_style = 'danger' raise else: progress.bar_style = 'success' progress.value = index label.value = "{name}: {index}".format( name=name, index=str(index or '?') )

Examples

Progress bar changes its color based on outcome:

Iterators are supported:

More then one progress bar can be in a sigle cell:

They can even be from different threads:

🔗 More in this category

© 2026 GitRepoTrend · kuk/log-progress · Updated daily from GitHub