Skip to main content

An open-source Python library for color processing, random color generation, conversion between common types, and retrieval of common color properties, color palettes, and color information.

Project description

Hued

Python Version Code Size Downloads License Compliance PyPI Version

An open-source Python library for color generation, conversion, and retrieval of common properties, palettes, and color information.

Changes in version 1.0.5:

  • New conversion methods for XYZ / CIE 1931 XYZ.

Changes in version 1.0.4:

  • Updated colors.py with 500+ new color names to map to.

Changes in version 1.0.3:

  • Created new functions for the analiysis module. Including rgb_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 be light, or dark, based on the background color.
  • Created a new blend_colors function in our conversions 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 just RGB.
  • Added 3 more color schemes to palettes. Created new functions under the ColorPalette 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.

Installation

You can install Hued using pip:

pip install hued

Supported Python Versions

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.

Features

  • 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.

Usage

Color Properties

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

Color Conversion

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}")

Color Analysis

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

Color Generation and Palettes

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.

Contributing

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.

License

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

hued-1.0.5.tar.gz (28.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hued-1.0.5-py3-none-any.whl (28.0 kB view details)

Uploaded Python 3

File details

Details for the file hued-1.0.5.tar.gz.

File metadata

  • Download URL: hued-1.0.5.tar.gz
  • Upload date:
  • Size: 28.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for hued-1.0.5.tar.gz
Algorithm Hash digest
SHA256 91b4637605a54ec3bcb62fd598fe6cd9b280fca7bd962c0eee879ff5b654c469
MD5 a2365bb6c547fcee8e524dd0c936b0c9
BLAKE2b-256 558031982295391ba68182ed47209fcb699698277ae854d453f5f92b1b92386a

See more details on using hashes here.

File details

Details for the file hued-1.0.5-py3-none-any.whl.

File metadata

  • Download URL: hued-1.0.5-py3-none-any.whl
  • Upload date:
  • Size: 28.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.9.20

File hashes

Hashes for hued-1.0.5-py3-none-any.whl
Algorithm Hash digest
SHA256 dae4c8d6e829c51270af2f3b835c6d7125a72d68b3012ea07584931da3efdcd1
MD5 939563a61d140df881e1e8acf237e07f
BLAKE2b-256 88c3510bea7d4fbd3d786e8e95020d1064d6700b52b07c179e196fe89bfe61d3

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page