poppr
A population-genetics workhorse in long-term maintenance, shipping only what CRAN demands.
A side-by-side editorial comparison of edibble and kwb.utils — release velocity, themes, recent moves, and the top alternatives to consider.
A grammar for experimental design that learned to compose designs and track its own provenance.
edibble expresses experimental designs declaratively — units, treatments, records and their allotments — rather than calling a canned design function. Since 1.0.0 its internals run on a Provenance object that records the commands used to build a design, and 1.1.0 added conditional treatments, design composition and a separated simulation step. Recent work has focused on designs constructed from existing data rather than from scratch.
The utility layer under KWB's R packages, growing by accretion one helper at a time.
kwb.utils is the shared toolbox the KWB-R packages build on, and it grows almost entirely by addition. Every release in this window contributes new exported helpers — string and matrix manipulation, caching, file and path handling — while touching existing behaviour only to fix bugs or rename arguments. The newest release adds loadFunctions(), callWithData() and mergeEnvironments(), which extend it from data helpers into loading and calling code.
edibble expresses experimental designs declaratively — units, treatments, records and their allotments — rather than calling a canned design function. Since 1.0.0 its internals run on a Provenance object that records the commands used to build a design, and 1.1.0 added conditional treatments, design composition and a separated simulation step. Recent work has focused on designs constructed from existing data rather than from scratch.
Development has moved from vocabulary to composition. Early releases established the core grammar; 1.0.0 replaced the internal R6 machinery with a Provenance object that tracks both internal and external commands, which is what lets a design carry its own construction history. On that foundation 1.1.0 added the ability to add two designs together, express conditional treatment structures, and split simulation specification from execution. The 2025 release turns toward a different entry point — wiring up level edges and unit attributes when an edibble object is built from data that already exists, rather than from a design declared up front.
Expect continued work on designs derived from existing data, since that is where the last release concentrated and it is the path least covered by the declarative grammar.
kwb.utils is the shared toolbox the KWB-R packages build on, and it grows almost entirely by addition. Every release in this window contributes new exported helpers — string and matrix manipulation, caching, file and path handling — while touching existing behaviour only to fix bugs or rename arguments. The newest release adds loadFunctions(), callWithData() and mergeEnvironments(), which extend it from data helpers into loading and calling code.
The package is consolidating utilities that would otherwise be duplicated across the KWB-R repositories, including functions moved in from sibling packages. Argument renames and deprecations appear regularly, so the API is not treated as frozen — callers are expected to track it. Release gaps have stretched from months to nearly two years, which suggests the useful surface is largely filled in and additions now arrive only as sibling packages need them.
The next release will most likely add another small batch of helpers extracted from a KWB project rather than reorganise what exists, following the pattern of every version shown.
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 edibble or kwb.utils.
A population-genetics workhorse in long-term maintenance, shipping only what CRAN demands.
An urban accessibility toolkit that grew into a distributional-equity toolkit.
A Google Ads API client for R that exists to stay one step ahead of deprecation.
The Carpentries' lesson skin, rebuilt on Bootstrap 5 with dark mode and a wider reach.
A project-bound modelling package that shipped its final scenario workflow and stopped.
A Facebook Marketing API client for R whose release schedule belongs to Meta, not its author.
See all edibble alternatives → · See all kwb.utils alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — r-package — within Analytics. edibble and kwb.utils are shipping at a similar cadence (velocity 0.0 vs 0.0, 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. edibble and kwb.utils are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.
Top edibble alternatives in Analytics are ranked by recent ship velocity. Browse the "edibble alternatives" section above for the current picks, or visit /alternatives/edibble for the full list with editorial commentary on each.
Top kwb.utils alternatives in Analytics are ranked by recent ship velocity. Browse the "kwb.utils alternatives" section above for the current picks, or visit /alternatives/kwb-utils for the full list with editorial commentary on each.