HueForge
A python library to handle everything color related.
This is a python library that handles everything color related. It includes a color class. Valid ways to initialize an object:
from hueforge import Color
# Valid ways to initialize:
example_color = Color("#FF0000") # Hex color format
example_color = Color("#FF0000FF") # Hexa color format
example_color = Color("Orange red") # Direct color format
example_color = Color((255, 0, 0)) # RGB color format
example_color = Color((255, 0, 0, 255)) # RGBA color format
example_color = Color((0, 0)) # Invalid color format; Raises exception
Get a color in a specific format from a Color() instance:
from hueforge import Color
example_color = Color("#FF0000")
print(example_color.hex()) # Outputs: "#FF0000"
print(example_color.hexa()) # Outputs: "#FF0000FF"
print(example_color.rgb()) # Outputs: (255, 0, 0)
print(example_color.rgba()) # Outputs: (255, 0, 0, 255)
print(example_color.direct()) # Outputs: "red"
# Note: example_color.direct() will raise a exception if the color
# is too unique and doesn't have a set name.
Adjust brightness, contrast, hue and saturation.
from hueforge import Color
example_color = Color("#99ABD3")
# Note: These methods don't modify the color in
# place, They return a new color instead.
print(example_color.increase_brightness(40)) # Increase brightness by 40%
print(example_color.increase_contrast(70)) # Increase contrast by 70%
print(example_color.increase_hue(180)) # Increase hue by 180 degrees (0 - 360)
print(example_color.increase_saturation(100)) # Increase Saturation by 100%
# You can also use decrease_brightness, decrease_contrast etc.
Simulate colorblindness and help colorblindness.
from hueforge import Color
example_color = Color("#FF0000")
colorblindness = "protanopia" # Type of colorblindness. Possible values: deuteranopia, deuteranomaly, protanopia, protanomaly, tritanopia, tritanomaly, all, d, t, p, d1, t1, p1, d2, t2, p2, a (all)
print(f"A colorblind person would see this as: {example_color.simulate_colorblindness(colorblindness)}")
print(f"Adjusted color so the colorblind person can see the color properly: {example_color.help_colorblindness(colorblindness)}")
Generate a smooth color gradient starting from one color, Ending with the other:
from hueforge import Color
starting_color = Color("#FF0000")
ending_color = Color("#0000FF")
gradient = starting_color.gradient(ending_color, steps=3)
print(gradient) # Outputs: [Color(#FF0000), Color(#7F007F), Color(#0000FF)]
# Increase steps for a higher quality gradient, It's recommended to keep it under 255.
# By higher quality, I mean that there are more unique colors leading to a smoother gradient. For example, a 2 step gradient would just be [starting_color, end_color]. Such a gradient is useless because of the low quality.
high_quality_gradient = starting_color.gradient(ending_color, steps=5)
print(high_quality_gradient) # Outputs: [Color(#FF0000), Color(#BF003F), Color(#7F007F), Color(#3F00BF), Color(#0000FF)]
Color Harmonies:
from hueforge import Color
example_color = Color("#FF0000")
print(example_color.get_complementary_color())
print(example_color.get_split_complementary_colors())
print(example_color.get_analogous_colors())
print(example_color.get_triadic_colors())
print(example_color.get_tetradic_colors())
print(example_color.get_square_colors())
# Hover over these functions (in an IDE) to see their return order.
Blending colors
from hueforge import Color
color1 = Color("#FF0000")
color2 = Color("#FFFF00")
print(color1.blend(color2)) # Gives a 50/50 mix of color1 and color2
print(color1.blend(color2, delta=0)) # Gives color1
print(color1.blend(color2, delta=70)) # Gives a 70/30 mix of color1 and color2
print(color1.blend(color2, delta=100)) # Gives color2
Inverting colors
from hueforge import Color
example_color = Color("#FF0000")
print(example_color.invert())
Temperature control
from hueforge import Color
example_color = Color("#FF0000")
print(example_color.temperature(100)) # 100 = extremely hot temperature, 0 = extremely cold temperature
That's almost everything that's included in this library. Thanks for using HueForge!
Metadata
Release files for hueforge 1.32
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| hueforge-1.32.tar.gz | 10.4 kB | Without provenance | Details for hueforge-1.32.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| hueforge-1.32-py3-none-any.whl | Python 3 | none | any | Details for hueforge-1.32-py3-none-any.whl |
Total release size: 21.2 kB
Release files / hueforge-1.32.tar.gz
| Download URL | hueforge-1.32.tar.gz |
|---|---|
| Size | 10.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
f55b59e2555812fa2a75bcca010bc8762dd0353bab84ece53777bd063fe5bbec
|
|
BLAKE2b-256 checksum How to use checksums |
9a0eab5811907f98aadf6a5b94ccea2d0c25c9cc0e391143966e56212dea36ee
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|
Release files / hueforge-1.32-py3-none-any.whl
| Download URL | hueforge-1.32-py3-none-any.whl |
|---|---|
| Size | 10.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
8b1ccbe929544fb7cd02b2b0a33bdee2ef593ac13d2dc9d45048b4dfb9103489
|
|
BLAKE2b-256 checksum How to use checksums |
2df8e9cc41ad97d13b25a4ab8d018bab7bcc30db8f81a6f392cdf7cd51bbfda3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/5.0.0 CPython/3.12.3
|
Security for hueforge 1.32
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.