exametrika
A test-theory package that grew into a graphical-model toolkit, now spending its releases paying down the API debt that growth created.
A side-by-side editorial comparison of dqcheckr and whirl — release velocity, themes, recent moves, and the top alternatives to consider.
dqcheckr adds drift analysis, then removes the YAML a user had to hand-write.
dqcheckr runs configurable data-quality checks over files and DuckDB tables, driven by YAML dataset configs and recording results as snapshots. The 0.2.0 release added the ability to compare two historical snapshots and report per-column statistical drift, schema changes and trend charts, extending the tool from point-in-time checking into change over time. The most recent tag, 0.3.0, attacks the other friction point by generating the config itself from a sniff pass over the data.
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.
dqcheckr runs configurable data-quality checks over files and DuckDB tables, driven by YAML dataset configs and recording results as snapshots. The 0.2.0 release added the ability to compare two historical snapshots and report per-column statistical drift, schema changes and trend charts, extending the tool from point-in-time checking into change over time. The most recent tag, 0.3.0, attacks the other friction point by generating the config itself from a sniff pass over the data.
Both moves point the same way: reduce what the operator has to write and know. Config generation removes the hand-authored YAML that gated first use, list_runs() and validate_config() make an existing setup inspectable, and the snapshot comparison turns accumulated run history into a second product surface. Check coverage keeps widening underneath — outlier detection, composite keys, row-count and file-size ceilings — and the reporting layer moved from rmarkdown to Quarto, with existing 0.1.x databases auto-migrated on first run.
Expect the generated configs and the drift reports to converge, so a sniffed config can seed thresholds from the snapshot history rather than from defaults, plus continued growth in the numbered QC check catalogue.
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 dqcheckr or whirl.
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.
An actuarial mainstay spends its releases on CI plumbing, not on new mathematics.
EDAForge is a data-quality auditor renamed mid-flight, still finding its CRAN footing.
See all dqcheckr 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. dqcheckr 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. dqcheckr 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 dqcheckr alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "dqcheckr alternatives" section above for the current picks, or visit /alternatives/dqcheckr 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.