compositional.mle
An MLE package rebuilt around composable solvers, then renamed to match.
A side-by-side editorial comparison of cyclocomp and tulpaObs — release velocity, themes, recent moves, and the top alternatives to consider.
A cyclomatic complexity checker that ships once every couple of years, and lands when it does.
cyclocomp measures cyclomatic complexity of R functions and packages, and is best known as the engine behind lintr's complexity rule. It has three releases in the visible window spread across nearly three years. The current one, 1.1.2, adds a quiet argument to cyclocomp_package_dir(); the two before it, shipped a day apart in 2023, added a large speedup and the package-directory entry point itself.
An occupancy-modeling package that just deleted its own duplicate vocabulary for diagnostics.
tulpaObs is the ecological occupancy and abundance modeling layer built on the tulpa engine, releasing at high frequency and with version numbers that do not advance monotonically in publication order. The current window covers three strands: a breaking consolidation of its diagnostic surface onto generics the engine now owns, the completion of simulation-based-calibration registration across all 27 model families, and a correctness fix that materially moves previously reported information criteria. Several releases exist only to pin a new engine version and record what that change does when measured from this side.
cyclocomp measures cyclomatic complexity of R functions and packages, and is best known as the engine behind lintr's complexity rule. It has three releases in the visible window spread across nearly three years. The current one, 1.1.2, adds a quiet argument to cyclocomp_package_dir(); the two before it, shipped a day apart in 2023, added a large speedup and the package-directory entry point itself.
This is a small tool that reached feature-complete and now moves only when a downstream consumer needs something. Every change in the window is externally contributed, and each addresses a concrete integration need: a function that works on a local package tree rather than an installed one, complexity results sorted so the worst offenders come first, and output suppression for programmatic callers. The 2023 pair shipped a day apart because the new entry point immediately exposed a performance problem on long linear code.
Expect the next change to arrive the same way, as a contributed patch serving a linting or CI workflow rather than as planned development.
tulpaObs is the ecological occupancy and abundance modeling layer built on the tulpa engine, releasing at high frequency and with version numbers that do not advance monotonically in publication order. The current window covers three strands: a breaking consolidation of its diagnostic surface onto generics the engine now owns, the completion of simulation-based-calibration registration across all 27 model families, and a correctness fix that materially moves previously reported information criteria. Several releases exist only to pin a new engine version and record what that change does when measured from this side.
The package is systematically removing the parallel names it had accumulated for concepts owned elsewhere, and the registration work is closing rather than expanding — the SBC scope reached its final family in this window. Its cadence is tightly coupled to the engine's, to the point where the interesting content of some releases is a dependency floor plus a measurement. With the breaking rename and the registration scope both behind it, the surface work looks close to finished.
Expect the follow-on releases to be consolidation rather than expansion — registry branches, regenerated documentation, engine pins — with the next substantive move most likely a new model family beyond the original registration scope.
Other Analytics 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 cyclocomp or tulpaObs.
An MLE package rebuilt around composable solvers, then renamed to match.
nabla dropped its C++ engine to chase exact derivatives at any order.
Eight months from first release to keyring caching and workload identity.
A research-project workflow package where the interesting work is in the plumbing.
Extreme value sampling in pure upkeep mode, mostly answering to Rcpp and CRAN.
A package retired in 2017 just got rewritten against R's public C API.
See all cyclocomp alternatives → · See all tulpaObs alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — r-package — within Analytics. tulpaObs is currently shipping more aggressively (velocity 6.3 vs 0.0), with 1 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. tulpaObs is currently shipping more aggressively (velocity 6.3 vs 0.0), with 1 editorial sparks in the last 30 days against 0. For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.
Top cyclocomp alternatives in Analytics are ranked by recent ship velocity. Browse the "cyclocomp alternatives" section above for the current picks, or visit /alternatives/cyclocomp for the full list with editorial commentary on each.
Top tulpaObs alternatives in Analytics are ranked by recent ship velocity. Browse the "tulpaObs alternatives" section above for the current picks, or visit /alternatives/tulpaobs for the full list with editorial commentary on each.