rtflite
rtflite stopped being an RTF writer and became the conversion layer for clinical table output.
A side-by-side editorial comparison of cleanepi and fabletools — release velocity, themes, recent moves, and the top alternatives to consider.
cleanepi is in the long tail of bug fixes that follows a 1.0 — and changed maintainers along the way.
cleanepi cleans and standardises epidemiological line list data — dates, subject IDs, missing values, duplicates — and produces a report of what it changed. Since 1.0.0 in mid-2024 the releases have been almost entirely corrective: date-guesser fixes, report structure fixes and matching behaviour corrections. Maintainership passed to Bubacarr Bah in 1.1.2.
The tidyverts forecasting core rebuilt model combination on full residual covariance.
fabletools is the framework layer under fable and fpp3 — mables, fables, accuracy measures, reconciliation, and the model arithmetic that lets forecasters express ensembles as expressions. Version 0.8.0 reworked that arithmetic: combination now uses a joint N-way convolution accounting for the full residual covariance across components rather than composing pairwise, and every arithmetic operator collapses to a single model_combination with correctly implied weights, so nested expressions like ((m1 + m2)/2 + m3)/2 flatten automatically. In parallel, the package has been shedding graphics to {ggtime} on a deliberately slow deprecation clock.
cleanepi cleans and standardises epidemiological line list data — dates, subject IDs, missing values, duplicates — and produces a report of what it changed. Since 1.0.0 in mid-2024 the releases have been almost entirely corrective: date-guesser fixes, report structure fixes and matching behaviour corrections. Maintainership passed to Bubacarr Bah in 1.1.2.
Work has concentrated on the report object and on making the cleaning functions behave predictably at the edges — case- and whitespace-insensitive missing-value matching, report elements returned as vectors instead of comma-separated strings, an argument to print a single operation's report. The underlying cleaning API has barely moved since 1.0.0, which suggests it is settled.
The report interface has been reworked repeatedly across these releases and is the most likely place for further change; the cleaning functions themselves look stable.
fabletools is the framework layer under fable and fpp3 — mables, fables, accuracy measures, reconciliation, and the model arithmetic that lets forecasters express ensembles as expressions. Version 0.8.0 reworked that arithmetic: combination now uses a joint N-way convolution accounting for the full residual covariance across components rather than composing pairwise, and every arithmetic operator collapses to a single model_combination with correctly implied weights, so nested expressions like ((m1 + m2)/2 + m3)/2 flatten automatically. In parallel, the package has been shedding graphics to {ggtime} on a deliberately slow deprecation clock.
The framework is being narrowed and deepened at the same time. Narrowed, because plotting is moving out to a dedicated package over an announced two-year deprecation, leaving fabletools to modeling infrastructure. Deepened, because the recent statistical work targets correctness in places users could not easily inspect — combination weights, inverse-variance weighting computed on response rather than innovation residuals, reconciliation coherency matrices exposed via coherent_smat() and coherent_cmat(). Class hygiene follows the same instinct, with mdl_lst replacing lst_mdl and gaining augment(), glance(), and tidy() so global and reconciliation models report statistics like any other.
With combination and reconciliation infrastructure freshly reworked, the remaining announced work is the ggtime separation, so expect the graphics re-exports to keep degrading toward removal while modeling changes stay incremental.
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 cleanepi or fabletools.
rtflite stopped being an RTF writer and became the conversion layer for clinical table output.
git2rdata keeps sharpening one idea: a data frame that produces a readable git diff.
osmextract stopped throwing your OpenStreetMap downloads away at the end of every session.
nanoparquet is chasing byte-level agreement with the Java and Rust Parquet readers, not feature count.
poissonreg gave its models away to parsnip and kept the glue — now it just keeps glmnet honest.
S7 has stopped adding surface and started proving it holds up against R itself.
See all cleanepi alternatives → · See all fabletools alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. cleanepi and fabletools 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. cleanepi and fabletools 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 cleanepi alternatives in Analytics are ranked by recent ship velocity. Browse the "cleanepi alternatives" section above for the current picks, or visit /alternatives/cleanepi for the full list with editorial commentary on each.
Top fabletools alternatives in Analytics are ranked by recent ship velocity. Browse the "fabletools alternatives" section above for the current picks, or visit /alternatives/fabletools for the full list with editorial commentary on each.