Skip to main content

Chroma

Chroma is a Python module for handling colors with ease.

Manipulating colors can quickly escalate into a tedious and complicated task, particularly when you become concerned with color systems beyond RGB. Chroma is here to provide a simple API to do the heavy lifting, so that you can stay focused on the important parts of your projects.

Before you ask, Chroma is BSD licensed, available on Github and PyPI.

Features

  • Hex (#rrggbb, #rrggbbaa)

  • RGB

  • HLS

  • HSV

  • CMY, CMYK

  • Alpha

  • Color Blending: additive and subtractive mixing

Roadmap

  • Coordinates (sRGB, YIQ, CIE, LAB and more)

  • Color harmonies: complementary, analogous, triad

  • Color difference

  • Color detection in images

Quickstart

Getting started with the power of Chroma is meant to be straightforward

import chroma

# Create a color object
color = chroma.Color('#00FF00')

# Handling different color systems
color.cmy = (0.3, 0.7, 0.8)
color.rgb    # (0.7, 0.3, 0.2)
color.hls    # (0.0333, 0.45, 0.5556)

# Alpha
color.alpha = 0.5
color.hsv    # (0.03333, 0.7143, 0.7, 0.5)

# Color blending
color + chroma.Color("#FF00FF")
# #FF4DFF

And there you have it. The documentation describes Chroma’s functionality and usage in detail.

Installation

Installation is as easy as

pip install chroma

Or if you’re an easy_install-er

easy_install chroma

Chroma does not yet support Python 3, but, if you’re interested, contribute!

Contribute

Chroma is under active development and could use your support. Even bug reports, feature suggestions and feedback can help push Chroma forward in the right direction.

Chroma is hosted on Github and there are a number of ideas of where to start in the issues section.

History

0.2.0 (2013-02-01)

(Breaks backwards compatibility)

  • CMY, CMYK Support

  • Color Blending (Additive and Subtractive Mixing)

  • Comparison (eq, ne)

  • Remove color coordinate properties (direct modification)

Major Bug Fixes

  • Hex rounding

  • Force alpha between 0 and 1

Other

  • Hue (HLS, HSV) in degrees not percent of degrees

  • RGB256 alpha in range 0-1, not 0-255

  • Force Hex to output in uppercase

  • ValueError on bad input

  • Extensive documentation on Read the Docs

0.1.3 (2013-01-01)

  • Direct modification of color coordinates

0.1.2 (2012-12-28)

  • Remove HLS256, HSV256 (critical bug)

  • Alpha support

  • Add RGB, RGB256, HLS, HSV as formats for Color initialization

  • Bug fixes

0.1.1 (2012-12-16)

  • HLS, HSV Support

  • API changes (setter methods)

  • Bug Fixes

  • Update to README

0.1.0 (2012-12-15)

  • Initial Release

  • RGB and Hex support

Metadata

Release files for Chroma 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for Chroma 0.2.0
File Size Uploaded
Chroma-0.2.0.tar.gz 5.8 kB Details

Release files / Chroma-0.2.0.tar.gz

Download URL Chroma-0.2.0.tar.gz
Size 5.8 kB
Tags Source
SHA-256 checksum
How to use checksums
e265bcd503e2b35c4448b83257467166c252ecf3ab610492432780691cdfb286
BLAKE2b-256 checksum
How to use checksums
9ff0e747fa78cd8ff7d23a598ab21b79988b759c2248500e0d31f21620cb75f3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No

Release history Release notifications | RSS feed

This release

0.2.0 This release

1 release file

0.1.3

1 release file

0.1.2

1 release file

0.1.1

1 release file

0.1.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page