Skip to content

v0.5.0

Choose a tag to compare

@williambdean williambdean released this 05 Sep 14:34
· 21 commits to main since this release
53ed3d2

What's Changed

This release hardens the PyMC integration: widget seeding from constant model params is now more accurate, and prior sampling is cached so the panel stays stable when embedded in marimo tabs.

PyMC integration (modist.pymc)

  • More accurate constant-param seeding — widget seeding now constant-folds each RV op-input with pymc's own rewriting (constant_fold), so broadcasts, casts, stacked lists, and Gamma's rate→scale transform all resolve to the exact user-facing value. Per-family _op_param_order pins the true op-input order (e.g. StudentT is (nu, mu, sigma)), and Gamma's reciprocal(beta) is descended to recover the exact rate under pymc ≥ 6 and pymc 5.
  • Prior-sample caching across tab switches — ModelPriors.draw and sample_prior_predictive now share a single-entry cache keyed by draw count + input values. A re-run with unchanged widgets returns the same draws/DataTree instead of re-sampling. This keeps the panel stable when embedded in marimo tabs: switching tabs remounts the anywidgets, which re-emit their values and re-run dependent cells — but identical values no longer trigger a fresh sampler run. Dragging a prior (or passing overrides) changes the key and produces a fresh sample.

Demos

  • Added a pymc prior-predictive demo and updated demos/regression.py.

New Contributors

No new contributors this release.

Full Changelog: v0.4.0...v0.5.0