rnaturalearth
rnaturalearth finished its sp exit and is now optimising how the data actually arrives.
A side-by-side editorial comparison of bbotk and rotl — release velocity, themes, recent moves, and the top alternatives to consider.
bbotk is generalizing from an optimizer toolkit into an evaluation framework.
bbotk is the black-box optimization backend behind mlr3 tuning: search spaces, terminators, archives, and an async layer built on rush. Recent releases pair steady async-API buildout with removal of the deprecated arguments that preceded it. The 1.9.0 release introduced EvalInstance as a base class for OptimInstance, separating evaluating an objective from optimizing one.
rotl's whole release history is keeping name matching honest against a moving taxonomy.
Nearly every entry concerns `tnrs_match_names()`, the function that maps user-supplied names onto Open Tree taxonomy ids. 3.1.0 changed which taxon wins a multi-way match — highest matching score rather than lowest OTT id, reversing the rule 3.0.4 introduced. 3.0.12 defaulted `context_name` to 'All life' so a context inferred from the first name could not silently skew later ones. 3.0.11 made a total failure to match return an empty tibble with a warning instead of an error. The rest are small fixes tracking Open Tree API changes.
bbotk is the black-box optimization backend behind mlr3 tuning: search spaces, terminators, archives, and an async layer built on rush. Recent releases pair steady async-API buildout with removal of the deprecated arguments that preceded it. The 1.9.0 release introduced EvalInstance as a base class for OptimInstance, separating evaluating an objective from optimizing one.
Two threads run through the visible history. The first is async optimization maturing: ArchiveAsync gained a full push/finish/fail vocabulary over rush tasks in 1.11.0, and 1.12.0 deleted the deprecated extra arguments it replaced. The second is dependency consolidation, with custom C hypervolume code handed to moocore and rush pinned to 1.0.0, trimming maintenance surface as the async path becomes the default.
The deprecation removals in 1.12.0 suggest the async archive API is now treated as settled; the next releases most likely build on EvalInstance rather than continuing to churn ArchiveAsync.
Nearly every entry concerns `tnrs_match_names()`, the function that maps user-supplied names onto Open Tree taxonomy ids. 3.1.0 changed which taxon wins a multi-way match — highest matching score rather than lowest OTT id, reversing the rule 3.0.4 introduced. 3.0.12 defaulted `context_name` to 'All life' so a context inferred from the first name could not silently skew later ones. 3.0.11 made a total failure to match return an empty tibble with a warning instead of an error. The rest are small fixes tracking Open Tree API changes.
The recurring problem is ambiguity: names match several taxa, and the package has changed its tie-breaking rule twice while making failures and edge cases return predictable objects rather than errors. Nothing here expands what rotl can retrieve; it makes what it retrieves reproducible. The feed also stops in mid-2023, so the package appears dormant.
Nothing in the window suggests new capability. If a release comes, the pattern says it will follow an Open Tree API change or another matching-behaviour correction.
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 bbotk or rotl.
rnaturalearth finished its sp exit and is now optimising how the data actually arrives.
writexl spent nine years refusing to do formatting, then shipped all of it in 2.0.0.
rgbif is steadily pushing users off paged searching and onto real downloads.
rstanarm is community-maintained now, tracking Stan and lme4 rather than adding models.
taxa started a ground-up rewrite in 2021 and has published almost nothing since.
taxize spends its releases absorbing other people's API changes, one dead source at a time.
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. bbotk 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. bbotk 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 Analytics products to evaluate alongside.
Top bbotk alternatives in Analytics are ranked by recent ship velocity. Browse the "bbotk alternatives" section above for the current picks, or visit /alternatives/bbotk for the full list with editorial commentary on each.
Top rotl alternatives in Analytics are ranked by recent ship velocity. Browse the "rotl alternatives" section above for the current picks, or visit /alternatives/rotl for the full list with editorial commentary on each.