Released 10 September 2026. Renoir v3.9.0 makes the perceptual
distance metric a choice rather than a constant. Palette Earth
Mover’s Distance and the Color Complexity Index now accept
distance_metric="cie2000" (the default, unchanged
behavior), "oklab", or "cam16". The
Oklab strategy measures Euclidean distance in the space of
Ottosson (2020) with a pure-NumPy transform; the cam16
strategy implements CAM16-UCS (Li et al., 2017) through the
optional renoir-wikiart[cam16] extra. CCI
normalizes perceptual spread by each metric’s black-to-white
distance, so scores remain comparable across backends.
Notebook 18 compares PEMD and CCI under CIEDE2000 and Oklab
side by side on art-historical palettes.
Color naming gains match confidence.
ColorNamer.name(..., return_metadata=True) and
translate() now report a tier (exact, high,
medium, low, or none, banded by CIEDE2000 distance), a 0–100
score, the ΔE of the match, and an ambiguity flag that names
the runner-up on a near-tie. A plain-language note,
PIGMENT_MATCH_GUIDANCE, states that pigment names
are colorimetric approximations rather than material
guarantees. The test suite grows from 326 to 395 tests, adding
Hypothesis property tests for color invariants, and CI runs
the full suite with the cam16 extra installed on every push.
v3.9.0 · MIT ·
GitHub
·
PyPI
· DOI:
10.5281/zenodo.17355170