@property
    def description(self):
        """Return a human-friendly description of this color as a string."""
        hslself = self.hsl()

        # Do lightness first, because it can short-circuit for near-black
        # and near-white
        l = hslself.lightness
        if l <= 0:
            return "black"
        elif l < 0.025:
            return "blackish"
        elif l < 0.1:
            shade = "very dark"
        elif l < 0.2:
            shade = "kinda dark"
        elif l < 0.3:
            shade = "dark"
        elif l < 0.4:
            shade = ""
        elif l < 0.6:
            shade = "bright"
        elif l < 0.7:
            shade = "powder"
        elif l < 0.8:
            shade = "pastel"
        elif l < 0.9:
            shade = "light"
        elif l < 0.975:
            shade = "pale"
        elif l < 1:
            return "whitish"
        else:
            return "white"

        # Saturation, another potential short-circuit, and another
        # adjective to be stuck on a color name
        s = hslself.saturation
        if s < 0.015:
            if shade:
                return shade + " gray"
            else:
                return "gray"
        elif s < 0.05:
            sat = "grayish"
        elif s < 0.15:
            sat = "very dim"
        elif s < 0.25:
            sat = "dim"
        elif s < 0.4:
            sat = "dusty"
        elif s < 0.6:
            sat = ""
        elif s < 0.75:
            sat = "deep"
        elif s < 0.85:
            sat = "bold"
        elif s < 0.95:
            sat = "intense"
        else:
            sat = "pure"

        # Compute the hue description.  Find the name from the list of
        # colors above, treating each as the *middle* of a section, and
        # treat colors roughly halfway between X and Y as "X-Y"
        h = hslself.hue
        colors = len(self.COLOR_WHEEL)
        wheel_position = (h * colors + 0.5 / colors) % colors
        wheel_index = int(wheel_position)

        hue = self.COLOR_WHEEL[wheel_index]
        if wheel_position - wheel_index > 0.5:
            hue += "-" + self.COLOR_WHEEL[(wheel_index + 1) % colors]

        color = hue
        if sat:
            color = sat + " " + color
        if shade:
            color = shade + " " + color

        # TODO opacity description?
        return color

    # TODO call me alpha
dataset/ETHPy150Open eevee/sanpera/sanpera/color.py/BaseColor.description/original