dowhy
DoWhy adds one estimation method a year and keeps its identification edge.
A side-by-side editorial comparison of shiny and silx — release velocity, themes, recent moves, and the top alternatives to consider.
Shiny made reactive apps observable, then gave them a way to tear themselves down
Version 1.12.0 added OpenTelemetry support through the {otel} package, emitting spans for session start and end, reactive updates and individual reactive expressions, with collection depth set by an option or environment variable. The releases since have refined it - scoped collection controls in 1.12.1, cleaner stack traces in 1.13.0 - while 1.14.0 turned to lifecycle, adding session$destroy() on module proxies and a non-blocking startApp() for driving apps programmatically.
silx 3.0 moved its default Qt binding to PySide6 — a migration for everyone embedding it.
silx releases a couple of times a year and reached 3.0.0 in April 2026, which raised the Python floor to 3.10 and switched the default Qt binding to PySide6. The same release reworked the viewer's data views: 3D scatter support, dedicated RGB(A) image views, the composite ImageView split into Plot2dView and ComplexImageView, and NXdata stacks displayed as images. 3.1.0 has since added asinh axis scaling, the twilight colormaps, and dark-theme icons.
Version 1.12.0 added OpenTelemetry support through the {otel} package, emitting spans for session start and end, reactive updates and individual reactive expressions, with collection depth set by an option or environment variable. The releases since have refined it - scoped collection controls in 1.12.1, cleaner stack traces in 1.13.0 - while 1.14.0 turned to lifecycle, adding session$destroy() on module proxies and a non-blocking startApp() for driving apps programmatically.
The framework is addressing the two things that make Shiny apps hard to run in production: you could not see inside the reactive graph, and you could not reliably dispose of parts of it. Tracing answers the first; scoped destruction of module session proxies answers the second. Both are aimed at long-lived, dynamically composed apps rather than at the single-file demo.
Expect the OpenTelemetry attribute names to settle once the deprecated spellings are dropped, and more of the reactive lifecycle to gain explicit teardown hooks now that session$destroy() has established the pattern. Editor integration is a likely area for follow-up after the Ark breakpoint support.
silx releases a couple of times a year and reached 3.0.0 in April 2026, which raised the Python floor to 3.10 and switched the default Qt binding to PySide6. The same release reworked the viewer's data views: 3D scatter support, dedicated RGB(A) image views, the composite ImageView split into Plot2dView and ComplexImageView, and NXdata stacks displayed as images. 3.1.0 has since added asinh axis scaling, the twilight colormaps, and dark-theme icons.
The project is doing a generational refresh of its GUI layer: modern Qt binding, modules broken out of the composite widgets that had accumulated responsibilities, and the theming work that a desktop application needs to look current. Underneath, the recurring fixes are about HDF5 behavior in real facility environments — file locking, NFS refresh, Windows display paths — which is where a synchrotron toolkit actually gets stressed. Feature growth is concentrated in silx view rather than the library API.
Expect the 3.1.x line to keep filling in plotting options and theming, with the PySide6 default flushing out binding-specific bugs from downstream applications over the next few 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 shiny or silx.
DoWhy adds one estimation method a year and keeps its identification edge.
OpenHouse is hardening the seams where table policies and jobs quietly fail.
statsmodels ships only what the ecosystem breaks — six releases, no new statistics.
StatsBase.jl is in caretaker mode — correctness fixes in, dependency bumps out.
Iris ships steadily on a two-a-year cadence, but its feed publishes only pointers.
ggplot2 swapped its object system out from under a decade of downstream code
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
They serve adjacent needs but don't currently overlap on shipped themes. silx 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. silx 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 shiny alternatives in Analytics are ranked by recent ship velocity. Browse the "shiny alternatives" section above for the current picks, or visit /alternatives/r-shiny for the full list with editorial commentary on each.
Top silx alternatives in Analytics are ranked by recent ship velocity. Browse the "silx alternatives" section above for the current picks, or visit /alternatives/silx for the full list with editorial commentary on each.