def colorbrewer(values, alpha=255):
    """
    Return a dict of colors for the unique values.
    Colors are adapted from Harrower, Mark, and Cynthia A. Brewer.
    "ColorBrewer. org: an online tool for selecting colour schemes for maps."
    The Cartographic Journal 40.1 (2003): 27-37.

    :param values: values
    :param alpha: color alphs
    :return: dict of colors for the unique values.
    """
    basecolors = [
        [31, 120, 180],
        [178, 223, 138],
        [51, 160, 44],
        [251, 154, 153],
        [227, 26, 28],
        [253, 191, 111],
        [255, 127, 0],
        [202, 178, 214],
        [106, 61, 154],
        [255, 255, 153],
        [177, 89, 40]
    ]
    unique_values = list(set(values))
    return {k: basecolors[i % len(basecolors)] + [alpha]  for i, k in enumerate(unique_values)}
dataset/ETHPy150Open andrea-cuttone/geoplotlib/geoplotlib/colors.py/colorbrewer/original