L1centrality
A graph-centrality package that spent 2026 making its existing measures usable at scale, then went quiet.
A side-by-side editorial comparison of lifecontingencies and whirl — release velocity, themes, recent moves, and the top alternatives to consider.
An actuarial mainstay spends its releases on CI plumbing, not on new mathematics.
lifecontingencies is a long-running R package for actuarial life-contingency mathematics. Its three most recent tags show a maintainer keeping the infrastructure alive rather than extending the library: 1.5.2 is entirely author-metadata corrections, CI workflow repairs and release automation, 1.4.4 moved presentValue() onto Rcpp, and 1.4.1 states outright that it is identical to the version before it. The 1.5.2 notes jump from 1.4.4, so whatever happened in between never reached this feed.
whirl turned script logging into a standardized provenance artifact regulators can read.
A parallel R script runner that produces execution logs, aimed at regulated analysis environments. The 0.3.0 release added write_biocompute(), emitting logs as BioCompute Objects in standardized JSON, and simplified the approved-package check to a plain package@version vector. Since then the work has been about what the log can be trusted to contain: an environment_secrets option to keep secret variables out of it, direct versus indirect package usage distinguished and highlighted against the approved list, and the same approval check extended to Python packages.
lifecontingencies is a long-running R package for actuarial life-contingency mathematics. Its three most recent tags show a maintainer keeping the infrastructure alive rather than extending the library: 1.5.2 is entirely author-metadata corrections, CI workflow repairs and release automation, 1.4.4 moved presentValue() onto Rcpp, and 1.4.1 states outright that it is identical to the version before it. The 1.5.2 notes jump from 1.4.4, so whatever happened in between never reached this feed.
The one genuine engineering thread is performance: rewriting presentValue() in Rcpp targets the innermost loop of every annuity and insurance valuation the package performs. Everything since has been about keeping CRAN checks green across platforms — TinyTeX install order, cross-platform caching, automated release tagging — plus a set of Italian actuarial benchmark tests that pin results against published tables. That is maintenance discipline on a stable API, not expansion.
Expect further patch tags carrying CI and documentation work, with any Rcpp performance work extending from presentValue() into adjacent valuation functions if it continues at all.
A parallel R script runner that produces execution logs, aimed at regulated analysis environments. The 0.3.0 release added write_biocompute(), emitting logs as BioCompute Objects in standardized JSON, and simplified the approved-package check to a plain package@version vector. Since then the work has been about what the log can be trusted to contain: an environment_secrets option to keep secret variables out of it, direct versus indirect package usage distinguished and highlighted against the approved list, and the same approval check extended to Python packages.
The through-line is the log as evidence rather than as debugging output. Every recent addition either widens what the log proves — which packages were really used, in which language, against which approved list — or narrows what it must not leak. Setting options only through an explicit with_options argument to run() and getting renv library paths right for Quarto both point the same way: reproducible, auditable child sessions with nothing implicit.
Expect the approved-package and provenance machinery to keep expanding across languages and environments, since Python approval checks followed the R ones and both feed the same log.
Other Infra & APIs 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 lifecontingencies or whirl.
A graph-centrality package that spent 2026 making its existing measures usable at scale, then went quiet.
A test-theory package that grew into a graphical-model toolkit, now spending its releases paying down the API debt that growth created.
nuggets keeps compounding on the 2.0 rewrite — more pattern families, lighter install.
projoint spent a year on CRAN paperwork, then shipped a correctness fix it flagged itself.
eratosthenes spends 0.1.0 hardening inputs rather than adding chronology methods.
dqcheckr adds drift analysis, then removes the YAML a user had to hand-write.
See all lifecontingencies alternatives → · See all whirl alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. lifecontingencies is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 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. lifecontingencies is currently shipping more aggressively (velocity 2.5 vs 0.0), with 0 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Infra & APIs products to evaluate alongside.
Top lifecontingencies alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "lifecontingencies alternatives" section above for the current picks, or visit /alternatives/lifecontingencies for the full list with editorial commentary on each.
Top whirl alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "whirl alternatives" section above for the current picks, or visit /alternatives/whirl for the full list with editorial commentary on each.