ggpointless
ggpointless keeps adding the ggplot2 layers nobody else bothered to write.
A side-by-side editorial comparison of baseq and checkhelper — release velocity, themes, recent moves, and the top alternatives to consider.
A basic DNA and RNA sequence toolkit that went quiet for three years, then jumped to 2.0.
baseq provides elementary sequence processing for biological data in R: cleaning DNA and RNA strings, counting bases and patterns, GC content, translation and reverse complement, and readers and writers for FASTA and FASTQ. The 0.1.x releases all landed in a two-week window in 2023, several of them backfilled within seconds of each other and in an order that does not match their version numbers. A 2.0 tag then appeared in March 2026 after three years of silence, with release notes naming only a development pull request and a CI workflow.
checkhelper grew from a check wrapper into a CRAN pre-submission auditor.
1.0.0 added a whole audit_* family — audit_downloads(), audit_description(), audit_dontrun() and audit_citation() — each parsing package source statically and returning a tibble of hits paired with a suggested fix. The package is now defending that position: 1.0.1 rc1 is a submission candidate answering a CRAN archival notice, after roxygen2 8.x moved DESCRIPTION's RoxygenNote field and broke a find_missing_tags() test fixture.
baseq provides elementary sequence processing for biological data in R: cleaning DNA and RNA strings, counting bases and patterns, GC content, translation and reverse complement, and readers and writers for FASTA and FASTQ. The 0.1.x releases all landed in a two-week window in 2023, several of them backfilled within seconds of each other and in an order that does not match their version numbers. A 2.0 tag then appeared in March 2026 after three years of silence, with release notes naming only a development pull request and a CI workflow.
The visible history is a package assembled quickly and then left alone. Across the 0.1.x tags the notes are a printed inventory of exported functions rather than a changelog, with consecutive versions restating the same list unchanged, so the actual increments have to be inferred by diffing those inventories: file-level cleaning and GC content arrived at 0.1.3, and the FASTA and FASTQ readers, writers and converters at 0.1.1. What the 2.0 release contains is not stated anywhere in the feed, which makes the most significant-looking tag here also the least legible.
Nothing in these entries supports a confident prediction. The reappearance of activity after three years and the addition of a CI workflow suggest maintenance has resumed, but until a release describes its own contents there is no basis for saying in what direction.
1.0.0 added a whole audit_* family — audit_downloads(), audit_description(), audit_dontrun() and audit_citation() — each parsing package source statically and returning a tibble of hits paired with a suggested fix. The package is now defending that position: 1.0.1 rc1 is a submission candidate answering a CRAN archival notice, after roxygen2 8.x moved DESCRIPTION's RoxygenNote field and broke a find_missing_tags() test fixture.
The design commitment is static analysis — AST walks via getParseData(), line-by-line Rd reading, no eval() and no namespace loading — so the tool can report on a package it never runs. That commitment is what made the roxygen2 8.x break survivable: the audit pipeline itself was verified correct under 8.1.0 and only the test scaffolding had to go, now guarded by a dedicated regression test. fix_globals(write = TRUE) is being sanded down in parallel, no longer flattening per-function grouping comments or writing a degenerate empty globalVariables() shell.
The immediate move is the 1.0.1 submission itself, clearing the archival notice. Beyond that, each additional CRAN incoming-check rule remains a candidate for another audit_* function; the open question these notes still leave is whether the family ever gets a single combined entry point.
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 baseq or checkhelper.
ggpointless keeps adding the ggplot2 layers nobody else bothered to write.
mpactr spent two spring releases normalizing case in metadata after users kept tripping on it.
surveytidy taught every dplyr verb to operate on a whole collection of surveys at once.
surveycore declared its API stable with every survey design type covered.
PEIMAN2 cut its annotation database loose from its release cycle without breaking CRAN.
prospectr spent its biggest release in years fixing spectra it had been quietly mangling.
See all baseq alternatives → · See all checkhelper alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. checkhelper 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. checkhelper 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 baseq alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "baseq alternatives" section above for the current picks, or visit /alternatives/baseq for the full list with editorial commentary on each.
Top checkhelper alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "checkhelper alternatives" section above for the current picks, or visit /alternatives/checkhelper for the full list with editorial commentary on each.