While this release carries a minor-version number increase, it is actually a major release (5.1). 5.1.0 was skipped due to a packaging issue.
What's Changed
Major Changes 🛠
- Access to external NUTS samplers (
nutpie
,blackjax
,numpyro
) with newsample()
kwarg callednuts_sampler
which often provide huge speed-ups and improved convergence by @twiecki and @ricardoV94 in #6422 - Enforce
dims
elements to be strings by @ricardoV94 in #6470 - Align DEMetropolis defaults with literature recommendations by @gbrunkhorst in #6488
- Tests are no longer part of the package by @Armavica in #6540
- Replace rvs_to_total_sizes mapping by MinibatchRandomVariables by @ricardoV94 in #6523
New Features 🎉
- Use separate argument in
CustomDist
for functions that return symbolic representations by @ricardoV94 in #6462 - Add nu parametrization to beta distribution by @alekracicot in #6344
- Preregister shapes of sampler stats by @michaelosthege in #6517
- Optional McBackend support by @michaelosthege in #6510
- Make VI (posterior) mean and std accessible as a structured xarray by @fonnesbeck in #6387
- Add mutable coords to Model by @Dhruvanshu-Joshi in #6515
- Allow Scan logprob inference of non-pure RandomVariable outputs by @ricardoV94 in #6578
- Public test utilities can now be found in
testing
module by @ricardoV94 in #6571
Bugfixes 🪲
- Fix bug in transformed scan variables by @ricardoV94 in #6573
Maintenance 🔧
- Fix some UserWarnings by @ricardoV94 in #6407
- Decouple convergence checking from
SamplerReport
by @michaelosthege in #6453 - Updated LICENSE to include AePPL license info by @fonnesbeck in #6474
- Fix typo in model comparison notebook by @Mikhail-Naumov in #6480
- Add devcontainer Docker image by @maresb in #6482
- Update GitPod base image to use pymc-built image by @maresb in #6483
- Register Op as subclass of Distributions with
rv_type
defined by @ricardoV94 in #6493 - Refactoring towards
IBaseTrace
interfaces by @michaelosthege in #6475 - Fix some type issues related to retrieving stats from traces by @michaelosthege in #6504
- Move pymc/distributions/logprob.py to pymc/logprob/ by @Armavica in #6441
- Update GLM_linear.ipynb by @bsenst in #6519
- Fix plot in HyperGeometric docstring by @aleicazatti in #6513
- Build docs in simplified environment by @michaelosthege in #6537
- BetaBinomial variance is not correctly described by @soma2000-lang in #6516
- Rename
zerosum_axes
ton_zerosum_axes
by @michaelraczycki in #6522 - issue #5791, dims & cords inference from xarray by @michaelraczycki in #6514
- Fix some code lints found with ruff by @Armavica in #6545
- Add check for variables in step samplers by @michaelraczycki in #6524
- Fix two typos in documentation by @JoKeyser in #6547
- Bump PyTensor dependency by @ricardoV94 in #6531
- Updated docstring for Potential function by @Dhruvanshu-Joshi in #6559
TruncatedNormal
only acceptsmu
andsigma
as non keyword arguments by @michaelraczycki in #6568- Exclude tests from package discovery by @Armavica in #6552
New Contributors
- @Mikhail-Naumov made their first contribution in #6480
- @gbrunkhorst made their first contribution in #6488
- @dependabot made their first contribution in #6490
- @bsenst made their first contribution in #6519
- @Dhruvanshu-Joshi made their first contribution in #6515
- @aleicazatti made their first contribution in #6513
- @michaelraczycki made their first contribution in #6522
- @JoKeyser made their first contribution in #6547
Full Changelog: v5.0.2...v5.1.1