lstar
A single-cell data store commits to Zarr v3 and range-readable hosting across four language surfaces
A side-by-side editorial comparison of collinear and palettecore — release velocity, themes, recent moves, and the top alternatives to consider.
collinear has broken its API twice to stop making the user pick thresholds.
collinear removes multicollinearity from predictor sets through pairwise correlation and VIF filtering, with a preference order deciding which variable survives each conflict. Two major versions in thirteen months each rewrote the interface: 2.0.0 extended every function to any combination of categorical and numeric responses and predictors, and 3.0.0 moved to multiple responses, restructured the output into classed objects, and made both filtering thresholds adaptive by default. Version 3.0.1 is the first release since that is purely repair.
Accessible palettes generated from one seed, with every audit number computed on the hex you actually get
palettecore generates sequential, diverging and categorical colour palettes from a single seed using CIEDE2000 arc-length spacing in OKLCH, and audits each one for colour-vision-deficiency separation, greyscale survival, gamut and WCAG contrast. It exists as a numpy-only Python core and an R mirror validated hex-exact against shared parity fixtures, plus a CLI the project describes as its agent-friendly entry point. Four releases landed inside 24 hours in late July.
collinear removes multicollinearity from predictor sets through pairwise correlation and VIF filtering, with a preference order deciding which variable survives each conflict. Two major versions in thirteen months each rewrote the interface: 2.0.0 extended every function to any combination of categorical and numeric responses and predictors, and 3.0.0 moved to multiple responses, restructured the output into classed objects, and made both filtering thresholds adaptive by default. Version 3.0.1 is the first release since that is purely repair.
The through-line is removing decisions the user was never well placed to make. Preference-order functions were renamed twice — first onto a metric-and-model scheme in 2.0.0, then onto a response-type scheme in 3.0.0 — and f_auto() picks one when none is given; target encoding went from automatic to opt-in; max_cor and max_vif now default to NULL and trigger a data-driven threshold derived from the 75th percentile of pairwise correlations through a sigmoid and a fitted correlation-to-VIF mapping. Each change is defensible and each one broke callers, which is the cost of this approach.
3.0.1 moved the example datasets out into a separate spatialData package and fixed four crashes rather than adding anything, so the next release is most likely more consolidation on the 3.0 surface than a fourth interface.
palettecore generates sequential, diverging and categorical colour palettes from a single seed using CIEDE2000 arc-length spacing in OKLCH, and audits each one for colour-vision-deficiency separation, greyscale survival, gamut and WCAG contrast. It exists as a numpy-only Python core and an R mirror validated hex-exact against shared parity fixtures, plus a CLI the project describes as its agent-friendly entry point. Four releases landed inside 24 hours in late July.
The arc is about making the audit honest rather than making the palettes prettier. The 0.2.2 release, prompted by an external review, moved every diagnostic to compute on the 8-bit quantised hex codes actually returned rather than on internal floats — a change that flips results near thresholds and had been quietly overstating one deuteranopia score. The 0.4.0 helix kind and the vividness control extend the generator, but the same release also tightens its own claims, reframing helix as checked rather than assumed CVD-safe.
Given the pattern of auditing its own assertions, expect the next release to extend the cvd_luminance_monotonic diagnostic beyond helix to the other palette kinds.
Other Analytics products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either collinear or palettecore.
A single-cell data store commits to Zarr v3 and range-readable hosting across four language surfaces
Text analysis in R keeps optimising its token internals — and builds a path out to torch
The ModernDive teaching package learns to render inside the browser that runs its own textbook
A GPU-accelerated Bayesian GLM package buys its way into the standard R Bayesian toolchain
USGS puts a type system over its river network toolkit so errors surface at dispatch
The chromatography file-format translator keeps absorbing vendor formats one release at a time
See all collinear alternatives → · See all palettecore alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. palettecore is currently shipping more aggressively (velocity 6.3 vs 0.0), with 1 editorial sparks in the last 30 days against 0. See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.
Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. palettecore is currently shipping more aggressively (velocity 6.3 vs 0.0), with 1 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.
Top collinear alternatives in Analytics are ranked by recent ship velocity. Browse the "collinear alternatives" section above for the current picks, or visit /alternatives/collinear for the full list with editorial commentary on each.
Top palettecore alternatives in Analytics are ranked by recent ship velocity. Browse the "palettecore alternatives" section above for the current picks, or visit /alternatives/palettecore for the full list with editorial commentary on each.