from itertools import takewhile, starmap, islice, repeat from operator import truth from .logger import get_logger def chunk_iterable(iterable, chunk_size): return takewhile(truth, map(tuple, starmap(islice, repeat((iter(iterable), chunk_size)))))