PurpleAir
The R client for PurpleAir sensors keeps finding its time-averaging was wrong.
A side-by-side editorial comparison of glmbayes and palettecore — release velocity, themes, recent moves, and the top alternatives to consider.
A GPU-accelerated Bayesian GLM package buys its way into the standard R Bayesian toolchain
glmbayes fits Bayesian generalized linear models with optional OpenCL acceleration. The last four months moved it from a package with its own vocabulary to one that answers the insight and bayestestR generics the rest of the R Bayesian ecosystem is built on, while pushing the OpenCL kernels out into a separate nmathopencl dependency that carries CRAN Windows binaries. It returned to CRAN in August after an archival over a configure policy issue.
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.
glmbayes fits Bayesian generalized linear models with optional OpenCL acceleration. The last four months moved it from a package with its own vocabulary to one that answers the insight and bayestestR generics the rest of the R Bayesian ecosystem is built on, while pushing the OpenCL kernels out into a separate nmathopencl dependency that carries CRAN Windows binaries. It returned to CRAN in August after an archival over a configure policy issue.
The arc is about removing reasons not to use it. GPU support was previously blocked on Windows because the OpenCL kernels were vendored; splitting them into a CRAN package with binaries fixed that. The ecosystem work does the same thing for tooling — a glmb fit now responds to get_parameters, get_priors, simulate_prior and check_prior, so it drops into workflows built around easystats rather than requiring its own. The CRAN archival and the configure fixes that followed show how much of the effort goes into distribution rather than modelling.
get_priors() returning the full prior specification rather than a marginal table is the kind of detail that invites further bayestestR integration, and the diagnostic surface is the least built-out part of what has shipped so far.
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 glmbayes or palettecore.
The R client for PurpleAir sensors keeps finding its time-averaging was wrong.
A board game graphics package runs one of the most disciplined deprecation cycles in R.
The explainable-ensemble-tree package now measures whether its own explanations are faithful.
The discrete-data FDR package is being pared into one piece of a larger multiple-testing suite.
A scientific-text analysis package moved from counting citations to classifying argument structure.
The teaching arm of an R reliability suite keeps pace with whatever its analysis siblings ship.
See all glmbayes 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. glmbayes and palettecore are shipping at a similar cadence (velocity 6.3 vs 6.3, both within Sparkpulse's "active" band). 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. glmbayes and palettecore are shipping at a similar cadence (velocity 6.3 vs 6.3, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.
Top glmbayes alternatives in Analytics are ranked by recent ship velocity. Browse the "glmbayes alternatives" section above for the current picks, or visit /alternatives/glmbayes 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.