def populate(datatype='string', size=10, start=None, end=None,
             converter=None, choice_from=None, **kwargs):
    data = []
    converter = converter or def_converter
    if datatype == 'date':
        date_end = end or date.today()
        date_start = start or date(1990, 1, 1)
        delta = date_end - date_start
        for s in range(size):
            data.append(converter(random_date(date_start, delta.days)))
    elif datatype == 'integer':
        start = start or 0
        end = end or 1000000
        for s in range(size):
            data.append(converter(randint(start, end)))
    elif datatype == 'float':
        start = start or 0
        end = end or 10
        for s in range(size):
            data.append(converter(uniform(start, end)))
    elif datatype == 'choice' and choice_from:
        for s in range(size):
            data.append(choice(list(choice_from)))
    else:
        for s in range(size):
            data.append(converter(random_string(**kwargs)))
    return data
TODO: something besides echo
dataset/ETHPy150Open lsbardel/python-stdnet/stdnet/utils/populate.py/populate--crossover with--dataset/ETHPy150Open saltstack/salt/tests/unit/transport/zeromq_test.py/ClearReqTestCases._handle_payload