import itertools


def combinations(**kwargs):
    """
    Iterate over dictionaries of all combinations of the given arguments.
    """
    names = list(kwargs.keys())
    options = [kwargs[name] for name in names]
    combs = [dict(zip(names, comb)) for comb in itertools.product(*options)]
    return combs