import itertools


def all_combinations(items):
    """Generate combinations of variable size.
    
    :param items: Sequence of items.
    :return: List of all combinations.
    :rtype: :py:class:`list`
    """
    combinations = []
    for rsize in range(1, len(items) + 1):
        combinations.extend(list(itertools.combinations(items, rsize)))
    return combinations