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 projoint and whirl — release velocity, themes, recent moves, and the top alternatives to consider.
projoint spent a year on CRAN paperwork, then shipped a correctness fix it flagged itself.
projoint is an R package for analysing conjoint survey experiments, covering Qualtrics import, reshaping, and quantity-of-interest estimation with inter-rater reliability correction. Most of its release history is CRAN admission work — citation formats, DESCRIPTION fields, \value{} tags, vignette cleanups — with four tags backfilled within ninety seconds of each other on 15 July in non-monotonic version order, so neither tag order nor timestamps in this feed track the real sequence. The substantive releases are the ones fixing data-preparation bugs that silently corrupt estimates.
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.
projoint is an R package for analysing conjoint survey experiments, covering Qualtrics import, reshaping, and quantity-of-interest estimation with inter-rater reliability correction. Most of its release history is CRAN admission work — citation formats, DESCRIPTION fields, \value{} tags, vignette cleanups — with four tags backfilled within ninety seconds of each other on 15 July in non-monotonic version order, so neither tag order nor timestamps in this feed track the real sequence. The substantive releases are the ones fixing data-preparation bugs that silently corrupt estimates.
The maintainer is hardening the path from raw Qualtrics export to estimate, which is where conjoint analysis quietly goes wrong. Three separate releases fix that path: dropped respondent-level weights in organize_data(), repeated-task reshaping in reshape_projoint(), and choice-to-profile mapping in 1.1.3. Each fix now arrives with regression tests and stricter validation rather than just a patch, and 1.1.3 adds an explicit .choice_map so the mapping is auditable instead of inferred.
Expect the validation-and-regression-test pattern to keep extending across the import path, with releases continuing to arrive in bursts around CRAN submission rather than on a cadence.
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 projoint 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.
eratosthenes spends 0.1.0 hardening inputs rather than adding chronology methods.
dqcheckr adds drift analysis, then removes the YAML a user had to hand-write.
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 projoint 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. projoint 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. projoint 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 projoint alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "projoint alternatives" section above for the current picks, or visit /alternatives/projoint 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.