silx
silx 3.0 moved its default Qt binding to PySide6 — a migration for everyone embedding it.
A side-by-side editorial comparison of OpenHouse and shiny — release velocity, themes, recent moves, and the top alternatives to consider.
OpenHouse is hardening the seams where table policies and jobs quietly fail.
OpenHouse ships continuously — five releases in the twelve days covered here — with each tag carrying a single merged pull request. The substantive recent work sits in two areas: table governance, where CREATE OR REPLACE AS SELECT was silently dropping retention, replication, history and PII column tags, and operability, where the DataLoader gained a typed exception hierarchy with per-request IDs and the scheduler gained targeted log tokens. Table feature toggles also picked up self-service overrides that let table owners opt in to a feature the server has not ramped.
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.
OpenHouse ships continuously — five releases in the twelve days covered here — with each tag carrying a single merged pull request. The substantive recent work sits in two areas: table governance, where CREATE OR REPLACE AS SELECT was silently dropping retention, replication, history and PII column tags, and operability, where the DataLoader gained a typed exception hierarchy with per-request IDs and the scheduler gained targeted log tokens. Table feature toggles also picked up self-service overrides that let table owners opt in to a feature the server has not ramped.
The project is at the stage where correctness at the edges matters more than new surface: policies surviving a replace, auth failures not being retried as if they were transient, scheduler decisions being greppable in production logs. The observability work is explicitly phased, with OTEL gauges and DLQ counters deferred to a later step, so instrumentation is being staged rather than dropped in at once. The pattern of one PR per release tag means the feed reads as a commit log and the meaningful changes have to be picked out of dependency bumps.
Phase 2 of the jobs observability plan — OTEL gauges, a heartbeat sampler, and dead-letter-queue counters — is named in the notes as deferred and is the most likely next substantive change.
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.
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 OpenHouse or shiny.
silx 3.0 moved its default Qt binding to PySide6 — a migration for everyone embedding it.
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
GeoPandas bet everything on shapely 2 and Pyogrio, and is now paying down pandas 3
See all OpenHouse alternatives → · See all shiny alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — observability — within Analytics. OpenHouse is currently shipping more aggressively (velocity 5.0 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. OpenHouse is currently shipping more aggressively (velocity 5.0 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 OpenHouse alternatives in Analytics are ranked by recent ship velocity. Browse the "OpenHouse alternatives" section above for the current picks, or visit /alternatives/openhouse for the full list with editorial commentary on each.
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.