tabular
tabular went from clinical tables to complete TFL output in under two months.
A side-by-side editorial comparison of artoo and climate — release velocity, themes, recent moves, and the top alternatives to consider.
artoo makes any-to-any clinical dataset conversion lossless by construction.
artoo reads and writes SAS XPORT, CDISC Dataset-JSON, NDJSON, Parquet and RDS around one canonical metadata model, so a conversion between any two formats carries labels, CDISC types, lengths, display formats, controlled-terminology references and sort keys intact. It is pure R with no SAS or Java runtime. It reached CRAN at 0.1.1 and has spent 0.1.2 and 0.1.3 on the character-encoding edges.
climate stops scraping and starts parsing: an in-house SYNOP engine replaces the HTML path.
climate pulls meteorological, hydrological and sounding data in R from public providers, chiefly the Polish IMGW-PIB repository, OGIMET and NOAA. Version 1.4.0 changes how it gets that data rather than what it offers: a new synop_parser() reads raw SYNOP messages directly, the OGIMET functions take a parser argument and default to SYNOP for hourly data with HTML kept for daily summaries, and the XML parsing engine has been replaced by in-house code to cut dependencies. The sounding functions also lost their server-side thermodynamic indices when the legacy Wyoming interface shut down.
artoo reads and writes SAS XPORT, CDISC Dataset-JSON, NDJSON, Parquet and RDS around one canonical metadata model, so a conversion between any two formats carries labels, CDISC types, lengths, display formats, controlled-terminology references and sort keys intact. It is pure R with no SAS or Java runtime. It reached CRAN at 0.1.1 and has spent 0.1.2 and 0.1.3 on the character-encoding edges.
Recent work is all about text that does not survive a format change. 0.1.3 adds an invalid_encoding dimension to artoo_checks() that flags bytes which are not valid UTF-8 before a writer aborts on them, accepts the SAS OEM/DOS encoding names, and gives the writers on_invalid = "translit" and "fold" so smart punctuation and accented characters resolve to pinned ASCII instead of failing. The fold tables ship as data specifically so the result is identical on every platform, which is the same determinism argument behind C-locale row sorting in 0.1.0.
The new WLATIN1-to-UTF-8 migration article and the width warning on write_xpt() point the next attention at length and truncation semantics rather than at additional formats. These notes name no further target format.
climate pulls meteorological, hydrological and sounding data in R from public providers, chiefly the Polish IMGW-PIB repository, OGIMET and NOAA. Version 1.4.0 changes how it gets that data rather than what it offers: a new synop_parser() reads raw SYNOP messages directly, the OGIMET functions take a parser argument and default to SYNOP for hourly data with HTML kept for daily summaries, and the XML parsing engine has been replaced by in-house code to cut dependencies. The sounding functions also lost their server-side thermodynamic indices when the legacy Wyoming interface shut down.
This package's history is largely a record of upstream providers changing underneath it, and 1.4.0 is the release where it stops absorbing those changes and reduces its exposure to them. The 1.2.9 notes described a 20-second pause between OGIMET requests as a temporary measure and named a SYNOP parsing engine as the intended fix; that engine is now here, and SYNOP messages can be retrieved in bulk rather than one scrape at a time. Owning the parser and dropping XML means the next provider-side HTML change is a smaller problem than the last one was.
Expect the SYNOP path to become the default for more of the OGIMET surface as it proves out, with the HTML parser retained only where the provider offers nothing else. Whether the thermodynamic indices return in some form, or stay permanently delegated to thundeR, is the open question these notes leave.
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 artoo or climate.
tabular went from clinical tables to complete TFL output in under two months.
usmapdata ships its 2025 shapefiles on the year-indexed model it adopted in 0.4.0.
glcdp reaches 1.0.0 with a stable schema contract behind its data explorer.
prova adds expected-utility calculation on top of its Bayesian inference core.
checkhelper grew from a check wrapper into a CRAN pre-submission auditor.
Four years dormant, rstudio.prefs returns under a new maintainer.
See all artoo alternatives → · See all climate alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. artoo 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. artoo 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 artoo alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "artoo alternatives" section above for the current picks, or visit /alternatives/artoo for the full list with editorial commentary on each.
Top climate alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "climate alternatives" section above for the current picks, or visit /alternatives/climate for the full list with editorial commentary on each.