#!/usr/bin/env python import random import time from progress.bar import Bar, ChargingBar, FillingCirclesBar, FillingSquaresBar, IncrementalBar, PixelBar, ShadyBar from progress.counter import Countdown, Counter, Pie, Stack from progress.spinner import LineSpinner, MoonSpinner, PieSpinner, PixelSpinner, Spinner def sleep(): t = 0.01 t += t * random.uniform(-0.1, 0.1) # Add some variance time.sleep(t) for bar_cls in (Bar, ChargingBar, FillingSquaresBar, FillingCirclesBar): suffix = "%(index)d/%(max)d [%(elapsed)d / %(eta)d / %(eta_td)s]" bar = bar_cls(bar_cls.__name__, suffix=suffix) for _i in bar.iter(range(200)): sleep() for bar_cls in (IncrementalBar, PixelBar, ShadyBar): suffix = "%(percent)d%% [%(elapsed_td)s / %(eta)d / %(eta_td)s]" bar = bar_cls(bar_cls.__name__, suffix=suffix) for _i in bar.iter(range(200)): sleep() for spin in (Spinner, PieSpinner, MoonSpinner, LineSpinner, PixelSpinner): for _i in spin(spin.__name__ + " ").iter(range(100)): sleep() print() for singleton in (Counter, Countdown, Stack, Pie): for _i in singleton(singleton.__name__ + " ").iter(range(100)): sleep() print() bar = IncrementalBar("Random", suffix="%(index)d") for _i in range(100): bar.goto(random.randint(0, 100)) sleep() bar.finish()