def aggregate_list_sum(data, groupKey, sumKey, ignoreKeys = None):
    """
    Loop through a list and sum up the `sumKey` values while treating `groupKey` as a unique ID. The `ignoreKeys` allows
    for a list of keys to ignore and not return
    """
    output = {}

    for item in data:
        key = item[groupKey]

        if key not in output:
            output[key] = item
            output[key][sumKey] = int(output[key][sumKey])
        else:
            output[key][sumKey] += int(item[sumKey])

        if ignoreKeys is not None:
            for k in ignoreKeys:
                output[key].pop(k, None)

    return [ output[item] for item in output ]