Skip to content

palettecore 0.4.0

Latest

Choose a tag to compare

@heidihelena heidihelena released this 24 Jul 18:02
· 6 commits to main since this release
7dbb0fe

First PyPI release since 0.2.2 — carries the vividness control, the new helix palette kind, and the helix audit fixes.

New

  • kind="helix" — a cubehelix-inspired path through OKLCH: designed lightness steps evenly while hue rotates rotations full turns from the seed. A multi-hue sequential scale; because the hue sweeps regardless of where it starts, it is the robust choice when no single seed is ideal.
  • vividness (0.0–1.0) on every kind — lifts chroma toward the gamut edge without touching lightness. Default 0.0 reproduces earlier versions exactly; more chroma also tends to improve separation.
  • cvd_luminance_monotonic diagnostic for helix — checks that luminance order actually survives each simulated CVD condition rather than assuming it from construction.

Fixed

  • Helix vividness is now monotonic in chroma: it no longer reduced chroma at gamut-limited stops for saturated seeds.
  • Docs/experiment claims tightened: helix is checked for CVD luminance order, not assumed safe; the pitch-colour art experiment is framed as an audited artistic mapping, reported by minimum (not mean).
  • Precomputed OKLab inverse matrices; removed stale 0.2.1 DOI metadata.

Quality

  • 123 Python tests (3.10–3.14); Python↔R parity byte-identical on 16/16 palette specs; R CMD check --as-cran clean; wheel/sdist twine check passed.
  • Every diagnostic computed on the returned 8-bit HEX colours (since 0.2.2), so the audit describes exactly the palette you receive.

Deterministic, local, numpy-only (Python) / base-R. Apache-2.0. pip install palettecore.