#!/usr/bin/env python
"""
A very simple progress bar which keep track of the progress as we consume an
iterator.
"""

import time

from prompt_toolkit.shortcuts import ProgressBar


def data():
    """
    A generator that produces items. len() doesn't work here, so the progress
    bar can't estimate the time it will take.
    """
    yield from range(1000)


def main():
    with ProgressBar() as pb:
        for i in pb(data()):
            time.sleep(0.1)


if __name__ == "__main__":
    main()
