tidyr
tidyr replaced separate() with a family that says what it does.
A side-by-side editorial comparison of performance and Hex — release velocity, themes, recent moves, and the top alternatives to consider.
| Feature | performance | Hex |
|---|---|---|
| Sector | Analytics | Analytics |
| Velocity score | 0.0 | 6.3 |
| Sparks · 30d | 0 | 1 |
| Top themes | r-language, model-diagnostics, bayesian, easystats | agents, cli, mcp, model-routing |
| Last editorial update | 1h ago | 1d ago |
| Website | Visit → | — |
performance keeps adding ways to check a model you have already fitted.
performance is at 0.17.1, which added check_priors() for prior predictive checks on Bayesian models and gave check_overdispersion(), check_model() and check_predictions() arguments to control residual type and plot range. The releases before it are a similar mix: a -2LL criterion column in test_likelihoodratio(), Bayesian predictive checks routed through modelbased, and in 0.16.0 a set of breaking renames including RMSA to the correct RMSR.
Hex is moving its agent out of the notebook and onto programmable surfaces.
Hex ships a fortnightly digest, and the through-line across the last ten is agent reach. The agent now runs from a CLI and API, appears inside Codex, acts as an MCP client against the user's own apps, can search the web, and can see the generative apps it builds. Alongside that, the model layer has become a customer-facing control: a picker, an admin-set default, Auto with visible attribution, and a rotating roster including Fable 5, Kimi K2.7, Claude Opus 5 and GPT-5.6.
performance is at 0.17.1, which added check_priors() for prior predictive checks on Bayesian models and gave check_overdispersion(), check_model() and check_predictions() arguments to control residual type and plot range. The releases before it are a similar mix: a -2LL criterion column in test_likelihoodratio(), Bayesian predictive checks routed through modelbased, and in 0.16.0 a set of breaking renames including RMSA to the correct RMSR.
Two consistent habits. Diagnostics keep gaining arguments to narrow what is examined — ppc_range, x_limits, maximum_dots, show_ci — which reads as a package being used on models large and awkward enough that the defaults stopped working. And simulated residuals via DHARMa keep displacing standard ones as the basis for the checks themselves.
With check_priors() newly added and Bayesian predictive checks now routed through modelbased, the next release most likely extends the Bayesian diagnostic set rather than reworking the frequentist checks.
Hex ships a fortnightly digest, and the through-line across the last ten is agent reach. The agent now runs from a CLI and API, appears inside Codex, acts as an MCP client against the user's own apps, can search the web, and can see the generative apps it builds. Alongside that, the model layer has become a customer-facing control: a picker, an admin-set default, Auto with visible attribution, and a rotating roster including Fable 5, Kimi K2.7, Claude Opus 5 and GPT-5.6.
Hex is positioning the agent as a component other systems call rather than a feature users visit. Governance is being built out in parallel — spend limits, credit usage controls, enterprise role-request controls, signed embedding — which is the pattern of a product preparing for programmatic usage it does not directly supervise. The generative-app surface is drifting the same way, from generated output toward editable, brandable, embeddable artifacts.
Expect the CLI and API surface to deepen before the notebook UI gains much, with more of Context Studio and app management reachable programmatically, and expect the spend and role controls to keep pace as headless usage grows.
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 performance or Hex.
tidyr replaced separate() with a family that says what it does.
modeltime built conformal intervals in, then went quiet on features.
CmdStanPy is clearing deprecations ahead of a 2.0 it keeps announcing.
DoWhy adds one estimation method a year and keeps its identification edge.
OpenHouse is hardening the seams where table policies and jobs quietly fail.
silx 3.0 moved its default Qt binding to PySide6 — a migration for everyone embedding it.
See all performance alternatives → · See all Hex alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. Hex 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. Hex 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 performance alternatives in Analytics are ranked by recent ship velocity. Browse the "performance alternatives" section above for the current picks, or visit /alternatives/easystats-performance for the full list with editorial commentary on each.
Top Hex alternatives in Analytics are ranked by recent ship velocity. Browse the "Hex alternatives" section above for the current picks, or visit /alternatives/hex for the full list with editorial commentary on each.