colour-science
Colour Science for Python
What it is and what it does
Colour is a comprehensive Python library for colour science that implements algorithms for colour space conversions, chromatic adaptation, colour appearance models (CIECAM02, CIECAM16, CAM16, Hellwig2022, Kim2009, sCAM, ZCAM), and colour blindness simulation. It provides access to standardized datasets including colour checkers, illuminants, and display primaries, and includes tools like kernel and Sprague interpolation for spectral data.
The package is built on numpy and exposes most functionality through a unified namespace. It targets both developers and researchers working with colour science, offering implementations of CIE standards and modern colour appearance models. The library is actively maintained, affiliated with NumFOCUS, and released under a permissive BSD-3-Clause license.
Use it for:
- Convert spectral distributions or RGB values between colour spaces (sRGB, XYZ, Lab, etc.) with automatic conversion path selection.
- Simulate colour blindness by computing anomalous trichromacy matrices for different types of colour vision deficiency.
- Calculate colour appearance attributes (lightness, chroma, hue) using standard models like CIECAM02 or CIECAM16.
- Perform chromatic adaptation between different illuminants using methods like Von Kries or CMCCAT2000.
- Interpolate spectral data using kernel or Sprague methods for incomplete or unevenly sampled measurements.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Colour provides algorithms and datasets for colour science tasks including colour space conversions, chromatic adaptation, colour appearance models, and colour blindness simulation.
Yes. Colour is actively maintained, has no known vulnerabilities, low install friction, and offers a mature, well-documented implementation of colour science standards. Install it if you need colour space conversions, colour appearance modelling, or spectral data handling. The permissive license and NumFOCUS affiliation signal stability and community backing.
Install
colour-science on PyPI
pip
pip install colour-scienceuv
uv add colour-sciencepoetry
poetry add colour-scienceInstalling colour-science
Before you install
Low install friction with only numpy as a runtime dependency. Active maintenance with recent commits and steady releases since 2014.
License in practice
BSD-3-Clause is permissive; you can use, modify, and distribute this package freely with minimal restrictions.
Quickstart
pip install colour-science
import colour
sd = colour.SDS_COLOURCHECKERS["ColorChecker N Ohta"]["dark skin"]
colour.convert(sd, "Spectral Distribution", "sRGB")
Requires Python 3.11 or later (supports current versions, <3.15).
Verify before relying
- Whether the package supports GPU acceleration or is CPU-only for large-scale colour conversions.
- Performance characteristics for real-time colour processing workflows.
- Completeness of spectral data coverage across different illuminant and observer standards.
Package facts
| License | BSD-3-Clause (permissive) |
| Python support | supports the current Python release (<3.15,>=3.11) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 1 — numpy |
| Maintenance | actively maintained — 251 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 508,950/month — #6,275 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: colour_science-0.4.7-py3-none-any.whl
Keywords: color, color-science, color-space, color-spaces, colorspace, colorspaces, colour, colour-science, colour-space, colour-spaces, colourspace, colourspaces, data, dataset, datasets, python, spectral-data, spectral-dataset, spectral-datasets
Tags
More Software Development packages
Provides backported and experimental type hints…
permissive · top 100 on PyPI
numpyNumPy provides an N-dimensional array object…
permissive · top 100 on PyPI
fastapiFastAPI is a Python web framework for building…
permissive · top 100 on PyPI
annotated-docProvides a way to document function parameters,…
permissive · top 100 on PyPI
typerTyper builds command-line applications from…
permissive · top 1,000 on PyPI
distlibDistlib provides low-level packaging utilities…
permissive · top 1,000 on PyPI
colormathColormath performs color space conversions,…
permissive · top 15,000 on PyPI
colorspaciousConverts colors between standard and…
permissive · top 15,000 on PyPI
colourConverts between and manipulates color…
permissive · top 5,000 on PyPI
colorzerocolorzero provides a simple, immutable color…
permissive · top 15,000 on PyPI
coloraideColorAide is a pure Python library for…
permissive · top 15,000 on PyPI
distinctipyGenerates lists of visually distinct colors of…
permissive · top 15,000 on PyPI
colourmapGenerates unique RGB and HEX colors from input…
permissive · top 15,000 on PyPI
brewer2mplProvides access to all 165 ColorBrewer2.org…
permissive · top 15,000 on PyPI
webcolorsConverts and normalizes HTML and CSS color…
permissive · top 1,000 on PyPI
colorloverProvides a library of human-friendly color…
unclear · top 15,000 on PyPI