Smart progressbar with multiple backends supporting both explicit updating and tqdm-style iterable-wrapping
progressbar(iterable=None, length=None, label=None,
show_eta=True, show_percent=None, show_pos=False,
item_show_func=None, ..., info_sep=' ', ...)
Check click.progressbar for the parameters and details. As of now, the IPython backend ignores all bar drawing and terminal-related parameters. (The ones not listed above)
from smart_progress import progressbar
with progressbar([1,2,3]) as bar:
for item in bar:
do_work(item)
or
con = connection(...)
with con, progressbar(length=con.tot_size()) as bar:
while not con.is_eof():
block = con.retrieve_block()
do_work(block)
bar.update(len(block))
-
IPython 4.x + ipywidgets
(alternatively falls back to IPython 3.x)