================================================== Wrap an iterable without managing the bar yourself
Most loops don't need explicit start()/update()/finish()
calls -- they just need the bar to track a for loop over something
with a known length.
.. demo:: howto/iterable-wrapper
progressbar.progressbar(iterable) wraps any iterable and returns an
iterator that updates a fresh bar on every step, sized from
len(iterable) when available. If you already built a ProgressBar
instance for its own widgets, prefix, or other configuration, call it
directly as bar(iterable) instead of building a second bar just to
iterate -- it wraps the same way, reusing the instance you already
configured.