An open-source Python library for color generation, conversion, and retrieval of common properties, palettes, and color information.
- Updated
colors.py
with 500+ new color names to map to.
- Created new functions for the
analiysis
module. Includingrgb_to_linear
, and other functions to return more color properties, like luminance and vibrancy. We've also added new functions to calculate the color contrast ratio between to colors, and an accessibility function to return if foreground text color should belight
, ordark
, based on the background color. - Created a new
blend_colors
function in ourconversions
module, to blend 2 RGB colors based on a given ratio. Also created new color conversion functions to convert each format into another target format, instead of justRGB
. - Added 3 more color schemes to
palettes
. Created new functions under theColorPalette
class, for random color generation, and a batch HEX color generation function.
Tip
Most functions rely on the RGB color format, but you can quickly convert between RGB, and other color formats, using the functions provided in the conversions
module.
You can install Hued using pip:
pip install hued
Hued supports the following Python versions:
- Python 3.6
- Python 3.7
- Python 3.8
- Python 3.9
- Python 3.10
- Python 3.11 or later
Please ensure that one of these Python versions is installed before using Hued. Hued may not work as expected on lower versions of Python than the supported.
- Color Generation: Generate random colors and palettes.
- Color Conversion: Convert between different color formats (RGB, HEX, HSL, etc.).
- Color Properties: Retrieve properties like brightness, temperature, and whether a color is muted, pastel, or vibrant.
- Color Names: Get relevant color names, based on HEX values, and convert between color names and HEX values.
from hued.colors import ColorManager
# Initialize the color manager
color_manager = ColorManager()
# Generate a random color
colorBlue = color_manager.get_color_by_name("Blue");
print("Blue Hex:", colorBlue.get("Hex"));
You can view more properties by going to Hued's package documentation
from hued.conversions import hex_to_rgb, rgb_to_hsl
# Convert HEX to RGB
rgb_color = hex_to_rgb("FF0000"); # Red
print(f"Hex to RGB: {rgb_color}")
# Convert RGB to HSL
hsl_color = rgb_to_hsl(255, 0, 0) # Red
print(f"RGB to HSL: {hsl_color}")
from hued.analysis import get_temperature, is_pastel
# Check if a color is a pastel color
pastel_color = (255, 200, 200) # Example pastel color
is_pastel = is_pastel(pastel_color)
print(f"Is Pastel: {is_pastel}")
# Check if a color is vibrant
warm_color = (255, 0, 0) # Example warm color
temperature = get_temperature(warm_color)
print(f"The current color is: {temperature}") # Warm
from hued.palettes import ColorPalette
base_color = (255, 60, 52) # Red
# Initialize the ColorPalette with a base color (RGB)
palette = ColorPalette(base_color)
# Get the complementary color
complementary = palette.generate_complementary()
print(f"Complementary color of {base_color}: {complementary}")
# Generate a random palette, with calculated color schemes, and base color
random_palette = palette.generate_random_palette()
print(f"Generated color palette's base color: {random_palette.get('Base Color')}")
More functions are available for the
ColorPalette
class, including converting all contained colors to Hex colors.
Contributions are welcome! If you encounter any issues, have suggestions, or want to contribute to Hued, please open an issue or submit a pull request on GitHub.
Hued is released under the terms of the MIT License (Modified). Please see the LICENSE file for the full text.
Modified License Clause
The modified license clause grants users the permission to make derivative works based on the Hued software. However, it requires any substantial changes to the software to be clearly distinguished from the original work and distributed under a different name.
By enforcing this distinction, it aims to prevent direct publishing of the source code without changes while allowing users to create derivative works that incorporate the code but are not exactly the same.
Please read the full license terms in the LICENSE file for complete details.