STACAS
Single-cell batch correction that learned to use cell labels, then spent three releases chasing Seurat.
A side-by-side editorial comparison of invasimapr and roclang — release velocity, themes, recent moves, and the top alternatives to consider.
invasimapr halved its install size and became citable; the science stayed put.
invasimapr estimates species invasiveness and site invasibility from trait, environmental and resident-community data, exposing a traits → competition → invasion-fitness pipeline behind seven high-level wrappers. Its three releases are all packaging and standards work: a first citable archive in June 2026, then a maturity release bringing it in line with the B-Cubed software development guide. The one behavioral addition in that release is an opt-in standardise_inputs argument on compute_invasion_fitness(), off by default.
A roxygen2 documentation-reuse helper whose release notes are mostly upstream damage control.
roclang lets package authors pull documentation text out of an existing function's roxygen block and splice it into their own — extract_roc_text() with type = "param", "dot_params" or a section selector. The feature surface has been stable since 0.2.1; the parameter-matching rules and the checks for invalid or ambiguous extractions are the substance of what shipped.
invasimapr estimates species invasiveness and site invasibility from trait, environmental and resident-community data, exposing a traits → competition → invasion-fitness pipeline behind seven high-level wrappers. Its three releases are all packaging and standards work: a first citable archive in June 2026, then a maturity release bringing it in line with the B-Cubed software development guide. The one behavioral addition in that release is an opt-in standardise_inputs argument on compute_invasion_fitness(), off by default.
The pressure is toward being installable and auditable rather than more capable — install slimmed from roughly 100 MB to 56 MB, R CMD check warnings and notes resolved, sp moved to Suggests, a Darwin Core-aligned data dictionary added, and a Zenodo concept DOI with CITATION.cff, codemeta.json and .zenodo.json. The package moves in lockstep with its B-Cubed sibling dissmapr, tagged within minutes of each other at both 0.1.0 and 0.2.1, which points at project-level standards deadlines rather than independent release decisions. Trait dispersion metrics and scenario exploration remain on the roadmap.
Standards compliance is now complete and the roadmap names functional trait dispersion metrics and scenario exploration tools, so the next release is the first that can plausibly be about invasion ecology rather than packaging.
roclang lets package authors pull documentation text out of an existing function's roxygen block and splice it into their own — extract_roc_text() with type = "param", "dot_params" or a section selector. The feature surface has been stable since 0.2.1; the parameter-matching rules and the checks for invalid or ambiguous extractions are the substance of what shipped.
Nearly every release since 0.2.0 has been reactive. The package parses documentation text produced by other packages, so a wording change in stats::lm()'s documentation breaks its test suite, and a roxygen2 selection-semantics change forces its parameter matching to follow. The 0.2.3 release is exactly this pattern again. Release cadence has slowed to roughly one entry every two years, and the last two carried no functional change at all.
Further releases are most likely triggered by upstream roxygen2 or base R documentation edits breaking tests rather than by new extraction capability. The entries show no queued feature work.
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 invasimapr or roclang.
Single-cell batch correction that learned to use cell labels, then spent three releases chasing Seurat.
A debugger for ggplot2's internals, hardening its grip as the internals it traces keep moving.
A univariate density estimator that added zero-inflated data and reopened its C++ API to do it.
Stationary vine copulas for time series, released in lockstep with the rest of Nagler's vine stack.
A single-purpose ggplot2 extension that has spent six years tracking ggplot2 instead of growing.
A Star Trek data package that became a Memory Alpha web client and has been patching scrapers ever since.
See all invasimapr alternatives → · See all roclang alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. invasimapr and roclang 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. invasimapr and roclang 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 invasimapr alternatives in Analytics are ranked by recent ship velocity. Browse the "invasimapr alternatives" section above for the current picks, or visit /alternatives/invasimapr for the full list with editorial commentary on each.
Top roclang alternatives in Analytics are ranked by recent ship velocity. Browse the "roclang alternatives" section above for the current picks, or visit /alternatives/roclang for the full list with editorial commentary on each.