def product(*args, **kwargs):
    p = [[]]
    for iterable in map(tuple, args) * kwargs.get("repeat", 1):
        p = [x + [y] for x in p for y in iterable]
    for p in p:
        yield tuple(p)
sizeHint() -> QSize
dataset/ETHPy150Open clips/pattern/pattern/text/search.py/product--crossover with--dataset/ETHPy150Open VisTrails/VisTrails/vistrails/gui/mashups/alias_inspector.py/QListEditDialog.sizeHint