r2rtf
The clinical-report table engine learned Chinese, then learned to leave RTF entirely
A side-by-side editorial comparison of brulee and bundle — release velocity, themes, recent moves, and the top alternatives to consider.
tidymodels' torch backend grew from MLPs into a tabular deep learning suite with foundation models.
brulee fits neural networks for tidymodels on torch, and 1.0.0 redefined what that means: alongside the original MLP it now ships Regularization Learning Networks, ResNet with skip connections and batch normalization, AutoInt with columnwise attention, SAINT with row and column attention, and Chronos2, a foundational forecasting model. GPU acceleration arrived in the same release with automatic CUDA selection and opt-in MPS. Version 1.1.0 added TabICL, an open-source tabular foundation model, and 1.1.1 spent its time cleaning up the consequences of shipping models that need weight downloads.
Four releases in three years, each one teaching the serializer about a model type it couldn't carry
bundle solves a narrow, real problem: many R model objects hold pointers to external state — compiled boosters, Java handles, torch tensors — that do not survive being saved and reloaded in another session. It wraps them so they do. The package has shipped four releases since 2022, and the shape of each is the same: extend coverage to another model class, or repair coverage that an upstream release broke.
brulee fits neural networks for tidymodels on torch, and 1.0.0 redefined what that means: alongside the original MLP it now ships Regularization Learning Networks, ResNet with skip connections and batch normalization, AutoInt with columnwise attention, SAINT with row and column attention, and Chronos2, a foundational forecasting model. GPU acceleration arrived in the same release with automatic CUDA selection and opt-in MPS. Version 1.1.0 added TabICL, an open-source tabular foundation model, and 1.1.1 spent its time cleaning up the consequences of shipping models that need weight downloads.
The package has crossed from a torch convenience wrapper into a catalog of current tabular architectures, and the recent releases show it absorbing what that costs. Pretrained weights meant a 400MB download, so 1.1.1 stopped fetching them on attach and moved the cache to the platform-appropriate R_user_dir location. Numerical robustness is the other constant thread — 64-bit tensors, Gaussian initialization, gradient clipping extended architecture by architecture, and a ResNet batch-normalization bug where a single-row trailing batch produced all-NA predictions.
Gradient clipping has been rolled out one architecture at a time and TabICL is the newest arrival, so the likely next step is bringing the foundation models to parity with the trained ones on device selection, prediction types, and the tuning surface.
bundle solves a narrow, real problem: many R model objects hold pointers to external state — compiled boosters, Java handles, torch tensors — that do not survive being saved and reloaded in another session. It wraps them so they do. The package has shipped four releases since 2022, and the shape of each is the same: extend coverage to another model class, or repair coverage that an upstream release broke.
Coverage is the product, so the release cadence is set by the ecosystem rather than by a roadmap. dbarts arrived in 0.1.2, along with extra work to preserve xgboost's nfeatures and feature_names through a round trip; 0.1.3 exists because xgboost changed its model format again. The 0.1.1 fix — recipes steps nested inside workflows — points at the same underlying issue one level up, where the object needing bundling is buried inside a tidymodels pipeline rather than passed directly.
Expect the next release to follow the same trigger: either a new parsnip engine that carries external pointers, or another upstream format change in one of the engines already covered. xgboost has now forced two of the four releases.
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 brulee or bundle.
The clinical-report table engine learned Chinese, then learned to leave RTF entirely
New stewardship at openpharma, then two releases adding the methods MCP-Mod was missing
The stubbing library added httr2 support, then spent a year cutting itself free of everything else
crul took mocking back from webmockr and made it a property of the client itself
Six releases, six identical bodies — the feed carries the package abstract instead of release notes
chattr deleted every LLM integration it had written and outsourced the lot to ellmer
See all brulee alternatives → · See all bundle alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — tidymodels — within Analytics. brulee and bundle are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). 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. brulee and bundle are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Analytics products to evaluate alongside.
Top brulee alternatives in Analytics are ranked by recent ship velocity. Browse the "brulee alternatives" section above for the current picks, or visit /alternatives/brulee for the full list with editorial commentary on each.
Top bundle alternatives in Analytics are ranked by recent ship velocity. Browse the "bundle alternatives" section above for the current picks, or visit /alternatives/bundle for the full list with editorial commentary on each.