tfevents
tfevents logs TensorBoard events from R, and this release only changes who maintains it.
A side-by-side editorial comparison of btw and ellmer — release velocity, themes, recent moves, and the top alternatives to consider.
btw is turning into an agentic R harness that no longer needs you to be in R
btw assembles context about an R session — packages, documentation, files, data frames — and hands it to an LLM through ellmer, with btw_app() as a chat interface. Over the last year it has grown well past context assembly: LLMs can document, check, test and measure coverage of a package, read CLAUDE.md and AGENTS.md as project context, fetch skills from packages or GitHub, and inspect the source of any installed namespace. Much of this is now reachable from a terminal CLI rather than only from an R prompt.
ellmer stopped being a chat wrapper and started shipping the parts production LLM code needs
ellmer is R's provider-agnostic LLM client, covering Anthropic, OpenAI, Gemini, Bedrock, Databricks, Snowflake, Ollama, Groq and more behind one Chat object with structured output, tool calling and streaming. The last year moved it well past request plumbing: API keys are now fetched through a credentials function rather than stored in the object, provider-native web search and fetch are first-class tools, and every call emits OpenTelemetry spans when a tracer is active. Releases land roughly every six to ten weeks with meaningful content each time.
btw assembles context about an R session — packages, documentation, files, data frames — and hands it to an LLM through ellmer, with btw_app() as a chat interface. Over the last year it has grown well past context assembly: LLMs can document, check, test and measure coverage of a package, read CLAUDE.md and AGENTS.md as project context, fetch skills from packages or GitHub, and inspect the source of any installed namespace. Much of this is now reachable from a terminal CLI rather than only from an R prompt.
The direction is from describing a session to operating on it, and from inside R to outside it. Each release adds either a tool group that lets a model do something (document, check, test, cover; read namespace source; fetch skill resources) or a CLI command that removes the need to start R first. The 1.2.0 tool renaming — session becoming sessioninfo, search becoming cran, files_read_text_file becoming files_read — reads as the naming cleanup you do when you expect a lot more tools to follow.
The CLI has been absorbing one tool family per release (skills, then pkg desc and pkg src) while the R-side tool groups stay ahead of it, so the next releases likely continue exposing existing tool groups as terminal commands rather than adding new capabilities.
ellmer is R's provider-agnostic LLM client, covering Anthropic, OpenAI, Gemini, Bedrock, Databricks, Snowflake, Ollama, Groq and more behind one Chat object with structured output, tool calling and streaming. The last year moved it well past request plumbing: API keys are now fetched through a credentials function rather than stored in the object, provider-native web search and fetch are first-class tools, and every call emits OpenTelemetry spans when a tracer is active. Releases land roughly every six to ten weeks with meaningful content each time.
The arc runs from breadth to depth. Early releases raced to add providers; recent ones assume you already picked one and are trying to run it in production — tracing with the gen_ai semantic conventions, prompt caching on by default, parallel and batch chat graduating out of experimental with configurable error handling, and truncated or filtered responses raising warnings instead of passing silently. The credentials rework and automatic key redaction on save show the same instinct applied to secrets.
Batch processing has been picking up one provider per release — Gemini and Groq most recently — so the next releases likely continue filling in batch and built-in-tool coverage across the provider list rather than adding new provider integrations.
Other ai-assistants 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 btw or ellmer.
tfevents logs TensorBoard events from R, and this release only changes who maintains it.
safetensors for R changes hands with no code change to show for it.
torchdatasets ships custodial work as mlverse gathers its torch satellites under one maintainer.
A curated catalogue of published hyperparameter search spaces, now reaching deep neural networks
Hyperband tuning for mlr3, now built on an asynchronous backend it treats as mandatory
LibreChat's agents stop being fire-and-forget: you can now interrupt, steer, and answer them mid-run.
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — r — within ai-assistants. btw and ellmer are shipping at a similar cadence (velocity 2.5 vs 2.5, 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. btw and ellmer are shipping at a similar cadence (velocity 2.5 vs 2.5, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other ai-assistants products to evaluate alongside.
Top btw alternatives in ai-assistants are ranked by recent ship velocity. Browse the "btw alternatives" section above for the current picks, or visit /alternatives/btw-r for the full list with editorial commentary on each.
Top ellmer alternatives in ai-assistants are ranked by recent ship velocity. Browse the "ellmer alternatives" section above for the current picks, or visit /alternatives/ellmer-r for the full list with editorial commentary on each.