def divide_sizes(count, n):             # pylint: disable=invalid-name
    """Evenly divide a count.

    Arguments
    ---------
    count : integer
            The number to be evenly divided
    n     : integer
            The number of buckets in which to divide the number

    Returns
    -------
    A list of integers indicating what size each bucket should be for an even
    distribution of *count*.

    The number of integers returned is always *n* and, thus, may be 0.

    Useful for calculating slices for generators that might be too large to
    convert into a list as happens in divide().
    """
    if n <= 0:
        return []
    if count < 0:
        return [0] * n
    base, rem = divmod(count, n)
    return [base + 1 if i < rem else base for i in range(n)]