tealeaves
A leaf-temperature model that finished its job in 2020 and has stayed finished
A side-by-side editorial comparison of forestploter and testdat — release velocity, themes, recent moves, and the top alternatives to consider.
A forest plot package that keeps handing users control of one more graphical detail.
forestploter draws forest plots where the layout is driven by the data frame itself, so text columns and confidence intervals sit in the same grid. The theme function has become the package's centre of gravity: it now controls graphical parameters for titles, legends, axis, arrow labels, footnotes, and reference lines, with multi-column and row-order legend controls added most recently. Two releases shipped nine minutes apart in April 2026 after a two-year gap, deprecating some theme parameters, removing inter-cell gaps, and improving tick breaks.
Unit testing for datasets, built on testthat and now bending to its next release.
testdat applies the testthat idiom to data rather than code: expectations that assert properties of a data frame, run as a suite, with results exportable to Excel. Recent releases have been about correctness and upstream compatibility. Expectations are now constructed via new_expectation() ahead of testthat 3.3.0, and expect_base() errors on a missing variable instead of silently passing.
forestploter draws forest plots where the layout is driven by the data frame itself, so text columns and confidence intervals sit in the same grid. The theme function has become the package's centre of gravity: it now controls graphical parameters for titles, legends, axis, arrow labels, footnotes, and reference lines, with multi-column and row-order legend controls added most recently. Two releases shipped nine minutes apart in April 2026 after a two-year gap, deprecating some theme parameters, removing inter-cell gaps, and improving tick breaks.
The direction has been consistent for four years: whatever a user might want to restyle eventually becomes an argument. Point size stopped being transformed, cell height adjustment was removed as unwanted, legends gained size, column, and fill-order control, and vertical lines learned to extend the full plot height and to draw beneath the whiskers. The one structural move was 1.1.0, which let callers supply their own confidence-interval and summary drawing functions — turning a fixed renderer into an extensible one. Everything since has been the arguments that extensibility did not cover.
The latest release deprecates theme parameters rather than adding them, which suggests the next one consolidates the theme surface that has grown for four years rather than extending it further.
testdat applies the testthat idiom to data rather than code: expectations that assert properties of a data frame, run as a suite, with results exportable to Excel. Recent releases have been about correctness and upstream compatibility. Expectations are now constructed via new_expectation() ahead of testthat 3.3.0, and expect_base() errors on a missing variable instead of silently passing.
The package reached its shape early and has spent the years since sanding it. The design decisions worth noting are all in the past: the move to tidyselect at 0.3.0, the test data pipe at 0.4.0, and the failure messages at 0.4.1 that name which variable failed rather than just reporting a count. Since then activity is sparse and reactive, tracking testthat and R-devel. The two 0.4.3 and 0.4.4 tags arriving ninety minutes apart on the same day is the signature of a release caught by an upstream deadline.
The immediate work is finishing the testthat 3.3.0 adaptation. Beyond that the notes give no evidence of new expectation families; the package looks maintained rather than developed.
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 forestploter or testdat.
A leaf-temperature model that finished its job in 2020 and has stayed finished
A credential platform assembled two or three pull requests at a time, never a headline
Search without knowing the field — SigNoz keeps lowering the cost of not knowing your schema
A NOAA Fisheries colour palette that ships when the branding guide changes
A genetic-mapping mainstay that now points new users toward MAPpoly at load time
Relative-risk regression that converges where glm fails, under an unreadable tag order
See all forestploter alternatives → · See all testdat alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. forestploter and testdat 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. forestploter and testdat 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 Infra & APIs products to evaluate alongside.
Top forestploter alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "forestploter alternatives" section above for the current picks, or visit /alternatives/forestploter for the full list with editorial commentary on each.
Top testdat alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "testdat alternatives" section above for the current picks, or visit /alternatives/testdat for the full list with editorial commentary on each.