Releases: pymc-devs/pymc
Releases · pymc-devs/pymc
v6.0.1
What's Changed
New Features 🎉
- Add Poisson and NegativeBinomial to pymc.dims by @williambdean in #8305
Bugfixes 🪲
- Eagerly clean rv shape references introduced by maybe_resize by @ricardoV94 in #8302
- Fix marimo progress bar issues by @ricardoV94 in #8298
New Contributors
Full Changelog: v6.0.0...v6.0.1
v6.0.0
What's Changed
See the announcement post for an overview of what's new in PyMC 6.0.
Major Changes 🛠
- Depend on PyTensor 3.0 major release by @ricardoV94 in #8199
- Default backend is now numba
- set
pytensor.config.linker = "cvm"to return to the old default.
- set
- Several imports have changed location and already deprecated functions were removed
- Low level changes that shouldn't impact most users:
- Autodiff L_op and R_op methods are now deprecated in favor of pull_back and push_forward
test_valuemachinery is deprecated- low-level random API changed
- Default backend is now numba
- PyMC is now safely
pip install-able - Make nutpie the default nuts sampler (if installed) by @ricardoV94 in #8248
pip install pymc[nutpie]is now available
- Use arviz 1.0 by @aloctavodia in #8019
- arviz.InferenceData replaced by xarray.DataTree
- plot_trace replaced by plot_trace_dist (although plot_rank_dist is recommended instead)
- default credible interval changed from 0.94 highest-density interval to 0.89 equal-tailed interval
- InferenceData.extend replaced by DataTree.update
- See the full migration guide for more details
- Allow samplers to choose default number of tuning steps by @ricardoV94 in #8289
- Default pymc nuts sampler remains at 1000 tuning steps. Nutpie defaults to 400. Set tune explicitly to control it.
- Change
sample_posterior_predictiveAPI wrt to volatility by @ricardoV94 in #8209- Introduce
sample_varsandfreeze_varsargument to explicitly control which variables are resampled and which are reused from trace - Variables that are deemed "volatile" because they depend on data that has changed or variables being sampled will issue a warning instead of being resampled by default. Users should assign these variables to either
sample_varsorfreeze_varsto suppress the warning. var_nameshas no effect on sampling semantics and only controls what variables are saved in the trace.- See docstrings for detailed examples.
- Introduce
- Remove deprecated samples argument in sample_prior_predictive by @williambdean in #8204
- Remove experimental warning from dims module by @ricardoV94 in #8137
- Remove several functions and objects from PyMC root namespace by @ricardoV94 in #6973
New Features 🎉
- Richer textual representation: show Data variables, fold constants, and use semantic separators by @drbenvincent in #8205
- Add Model.table() method by @fonnesbeck in #8254
- Implement correct unconstraining transform for LKJCorr by @johncant in #7380
- Implement unconstraining transform for Wishart by @ricardoV94 in #8246
- Add logccdf to LogNormal distribution by @vybhav72954 in #8166
- Apply PyMC brand theme to Model.display mermaid diagram by @williambdean in #8294
Bugfixes 🪲
- Validate coordinate and variables don't have the same names by @Chirag3841 in #8093
Documentation 📖
- compile_pymc -> compile by @williambdean in #8168
- docs: fix RST in Model.debug docstring numbered list by @anevolbap in #8281
- Updated pymc overview notebook to v6 by @fonnesbeck in #8284
- Improve HalfFlat class docstring by @KRYSTALM7 in #8211
Maintenance 🔧
- Support blackjax 1.5 progress bars by @zaxtax in #8241
- VI Approximation's sample method uses model contexts by @zaxtax in #7940
- Log external sampler and variables by @ricardoV94 in #8275
- Speedup PyMC import by @ricardoV94 in #8276
compute_log_prior: make subsequent arguments keyword only by @vkverma9534 in #8123
New Contributors
- @vkverma9534 made their first contribution in #8123
- @drbenvincent made their first contribution in #8205
- @vybhav72954 made their first contribution in #8166
- @johncant made their first contribution in #7380
- @KRYSTALM7 made their first contribution in #8211
- @MukundaKatta made their first contribution in #8251
- @anevolbap made their first contribution in #8281
Full Changelog: v5.28.0...v6.0.0
v5.28.5
What's Changed
Bugfixes 🪲
- Delay attaching ShapeFeature to logprob rewrites by @ricardoV94 in #8274
Maintenance 🔧
- Reject variable names with
/by @Chirag3841 in #8256
Full Changelog: v5.28.4...v5.28.5
v5.28.4
What's Changed
Maintenance 🔧
- Throttle marimo progress bars by @ricardoV94 in #8242
Full Changelog: v5.28.3...v5.28.4
v5.28.3
What's Changed
Bugfixes 🪲
- Fix off-by-one progress bar bugs by @jessegrabowski in #8201
- Fix crash in vectorize_over_posterior when using ZeroSumNormal distributions by @Chirag3841 in #8220
Maintenance 🔧
- Clean up marimo progress bar by @fonnesbeck in #8184
New Contributors
- @Chirag3841 made their first contribution in #8220
Full Changelog: v5.28.2...v5.28.3
v5.28.2
What's Changed
Bugfixes 🪲
- Fix broadcast check on log_jac_det by @velochy in #8174
- Remove
tunestat from steps and fix non-discarding of tuning draws from trace by @eclipse1605 in #8015
Maintenance 🔧
- Stream progress bar to stderr by @williambdean in #8117
- Emit scalar
DEMetropolis"scaling" stat by @michaelosthege in #8178 - Fix Wishart incompatibility with newer scipy by @ricardoV94 in #8179
- Better
str_reprfor models with dims variables by @ricardoV94 in #8170
Full Changelog: v5.28.1...v5.28.2
v5.28.1
What's Changed
New Features 🎉
- Implement dims.Censored by @ricardoV94 in #8133
Maintenance 🔧
- str_repr: Accept non tensor-variables by @ricardoV94 in #8124
- Pin upper bound arviz by @aloctavodia in #8125
compute_log_prior: make subsequent arguments keyword only by @vkverma9534 in #8123- Fix logp shape of transformed ZeroSumNormal and dims.ZeroSumNormal with batch sigma by @ricardoV94 in #8136
New Contributors
- @vkverma9534 made their first contribution in #8123
Full Changelog: v5.28.0...v5.28.1
v5.28.0
What's Changed
New Features 🎉
- observe(sum) for Normal via rewrite to equivalent NormalRV by @eclipse1605 in #8067
- Implement dims.Weibull by @ricardoV94 in #8081
- Support logcdf, logccdf and icdf for dim RVs by @ricardoV94 in #8083
- SMC Multiprocessing and Progress Bar Refactor by @jessegrabowski in #8047
Maintenance 🔧
- add action yml to populate issue by @williambdean in #7807
- Broadcast probability functions with value and size by @ricardoV94 in #8105
dims.DatacreatesXTensorSharedVariablesby @ricardoV94 in #8096
Full Changelog: v5.27.1...v5.28.0
v5.27.1
What's Changed
New Features 🎉
- Added
quietargument tosample()to suppress all output. by @fonnesbeck in #8023 - Implement
logccdfhelper for numerically stable log survival function by @maresb in #7996 - Add logprob support for leaky-ReLU switch transforms by @eclipse1605 in #7995
- Allow constant branches in logprob of switch/join/make_vector by @eclipse1605 in #8008
- Implement Uniform and TruncatedNormal dims distributions by @ricardoV94 in #8065
Documentation 📖
- Add Docstrings for pymc.dims.distributions.scalar by @MSK-005 in #8041
- Update links and remove reference to pymc 4 by @aloctavodia in #8068
Maintenance 🔧
- Fix NaN gradients in Hurdle distributions for continuous components by @pirzada-ahmadfaraz in #8057
- Only use threadpool_limits when start method is not fork by @fonnesbeck in #8044
- Adapt progress bars for use in marimo by @fonnesbeck in #8055
- Clarify dims error message to reference as_xtensor by @AdishreeB in #8066
- Updated pymc.distributions.transforms docstring by @Cassiebastress in #8028
New Contributors
- @jyotihotwani25 made their first contribution in #8031
- @eclipse1605 made their first contribution in #7995
- @pirzada-ahmadfaraz made their first contribution in #8057
- @MSK-005 made their first contribution in #8041
- @AdishreeB made their first contribution in #8066
- @Jiya873 made their first contribution in #8006
- @Cassiebastress made their first contribution in #8028
Full Changelog: v5.27.0...v5.27.1
v5.27.0
What's Changed
Major Changes 🛠
- Bump PyTensor dependency and support Python 3.14 by @ricardoV94 in #8010
- Replace VarName with built-in str by @osyuksel in #7855
New Features 🎉
- Automatically derive icdf for negative power transforms by @ricardoV94 in #7956
- Added icdf for HalfStudentT by @dalai444 in #7919
- Add ICDF for the Kumaraswamy distribution by @gokuld in #6642
- Add power_spectral_density to RatQuad covariance kernel for HSGP support by @fonnesbeck in #7973
- Adding Dirichlet and SimplexTransform to pymc.dims by @zaxtax in #7921
Bugfixes 🪲
- Fix
independent_rvsdetermination invectorize_over_posteriorby @lucianopaz in #7890
Documentation 📖
- Remove
MutableDataby @sotagg in #7900 - Use correct coords in
Modeldocstring by @williambdean in #7970 - Clarify ZeroSumNormal covariance documentation by @swarnaliiiiii in #7988
- Readme updates by @OriolAbril in #7941
Maintenance 🔧
- Add support for sample_stats group in
pymc.testing.mock_sampleby @williambdean in #7887 - Fix print name of
LogitNormalandDiscreteWeibullby @aloctavodia in #7935 - Change
s/drawstos/drawby @premshaw04 in #7953 - Import math module in root by @williambdean in #7965
New Contributors
- @Copilot made their first contribution in #7928
- @sotagg made their first contribution in #7900
- @premshaw04 made their first contribution in #7953
- @dalai444 made their first contribution in #7919
- @immortal71 made their first contribution in #7962
- @swarnaliiiiii made their first contribution in #7988
Full Changelog: v5.26.1...v5.27.0