Okta
Okta's developer blog is a Cross App Access campaign, now diluted by advocacy-team storytelling.
A side-by-side editorial comparison of testdat and volcalc — release velocity, themes, recent moves, and the top alternatives to consider.
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.
Rebuilt itself around SMILES and .mol input, then made the chemistry configurable
volcalc estimates the volatility of chemical compounds from their structure, implementing the SIMPOL.1 group-contribution method and the Meredith et al. variant. Version 2.0.0 severed the package from KEGG: calc_vol() takes .mol file paths or SMILES strings directly, is vectorized over multiple compounds, and the group-contribution maths was split into its own simpol1() function. Work since has been chemistry accuracy and configurability — the full set of SIMPOL.1 functional groups, volatility thresholds for clean atmosphere, polluted atmosphere or soil, user-supplied temperature, and a validate option returning NA when structure parsing looks suspect.
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.
volcalc estimates the volatility of chemical compounds from their structure, implementing the SIMPOL.1 group-contribution method and the Meredith et al. variant. Version 2.0.0 severed the package from KEGG: calc_vol() takes .mol file paths or SMILES strings directly, is vectorized over multiple compounds, and the group-contribution maths was split into its own simpol1() function. Work since has been chemistry accuracy and configurability — the full set of SIMPOL.1 functional groups, volatility thresholds for clean atmosphere, polluted atmosphere or soil, user-supplied temperature, and a validate option returning NA when structure parsing looks suspect.
The arc runs from a script tied to one database toward a general structure-to-volatility tool. Dropping KEGG from the core in 2.0.0, then removing KEGGREST as a dependency entirely in 2.2.0, took the package from volatility for KEGG compounds to volatility for any structure a user can supply. The accompanying manuscript published in 2023, and the changelog since has been careful about coefficient double-counting — amines and amides have each been corrected — which suggests the group definitions are the part under active scrutiny.
The smarts_simpol1 dataset added in 2.2.0 documents how functional groups are defined, pointing toward further estimation methods alongside SIMPOL.1 and Meredith; splitting simpol1() out in 2.0.0 was stated to be groundwork for exactly that.
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 testdat or volcalc.
Okta's developer blog is a Cross App Access campaign, now diluted by advocacy-team storytelling.
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
See all testdat alternatives → · See all volcalc alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. testdat and volcalc 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. testdat and volcalc 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 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.
Top volcalc alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "volcalc alternatives" section above for the current picks, or visit /alternatives/volcalc for the full list with editorial commentary on each.