Published July 3, 2026
| Version rel-3.1.0
Software
Open
pymc-devs/pytensor: rel-3.1.0
Authors/Creators
- Frédéric Bastien1
- Pascal Lamblin
- abergeron
- Ricardo Vieira2
- Brandon T. Willard3
- Razvan Pascanu
- carriepl
- Olivier Breuleux
- notoraptor
- David Warde-Farley
- Roy
- James Bergstra4
- Iban Harlouchet
- Mohammed Affan
- Ramana Sundararaman
- Reyhane Askari
- maqianlie5
- Jesse Grabowski
- Suresh Panneerselvam
- Alexander Belopolsky
- ballasn
- Gijs van Tulder
- Virgile Andreani6
- Simon Lefrancois7
- Amjad Almahairi
- Hengjean
- Michael Osthege8
- Nicolas Bouchard
- khaotik
- Jeremiah Lowin9
- 1. NVIDIA
- 2. @pymc-devs @pymc-labs
- 3. .txt
- 4. kindred.ai
- 5. Northeastern University
- 6. Inria
- 7. Université de Montréal
- 8. Forschungszentrum Jülich GmbH
- 9. @PrefectHQ
Description
<!-- Release notes generated using configuration in .github/release.yml at main -->
What's Changed
Major Changes 🛠
- Drop support for Python 3.11 by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2211
- Rewrite ShapeFeature to not hold live variables by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2056
- Remove symbolic axis from join/split by @jessegrabowski in https://github.com/pymc-devs/pytensor/pull/2144
- Deprecate implicit shared-variable capture in OpFromGraph by @alessandrogentili001 in https://github.com/pymc-devs/pytensor/pull/2047
- Make inner graph Ops immutable by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2243
New Features 🎉
- Add asumption for unique indices by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2225
Bugfixes 🐛
- Fix
untilscan gradient step count with recurring outputs by @jessegrabowski in https://github.com/pymc-devs/pytensor/pull/2217 - Fix assumption bug with (1,1) eye by @jessegrabowski in https://github.com/pymc-devs/pytensor/pull/2224
- Fix ScanMerge cycle by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2226
- Fix numba blockwise layout inference by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2234
- Fix MLX variadic Elemwise crash on broadcast-shaped inputs by @cetagostini in https://github.com/pymc-devs/pytensor/pull/2235
- Make exp/log rewrites dtype-safe under cast_policy="numpy+floatX" by @maresb in https://github.com/pymc-devs/pytensor/pull/2247
- Fix MLX IncSubtensor with slice index by @cetagostini in https://github.com/pymc-devs/pytensor/pull/2240
- Keep
_make_scalar_loopupdates dtype-stable by @maresb in https://github.com/pymc-devs/pytensor/pull/2249 - Accumulate duplicate indices in MLX AdvancedIncSubtensor by @cetagostini in https://github.com/pymc-devs/pytensor/pull/2242
- Numba scan: fix invalid cross alias and inplace by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2263
Documentation 📖
- Expand documentation on broadcasting limitations by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2084
- Tiny transformer LLM example by @cetagostini in https://github.com/pymc-devs/pytensor/pull/2163
Maintenance 🔧
- Numba: Cache cython-special functions by @jessegrabowski in https://github.com/pymc-devs/pytensor/pull/2212
- Add MLX GEMV dispatch by @drbenvincent in https://github.com/pymc-devs/pytensor/pull/2214
- Add MLX GER dispatch by @drbenvincent in https://github.com/pymc-devs/pytensor/pull/2216
- Numba: Speedup RV eval by casting float parameters to float64 by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2223
- Do not recompile identical OFG in same graph by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2209
- Exclude general fusion from JAX and MLX modes by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2236
- Fix local_log_div float64 precision loss for integer-literal operands by @maresb in https://github.com/pymc-devs/pytensor/pull/2245
- Fix MLX Shape_i output type by @gaoflow in https://github.com/pymc-devs/pytensor/pull/2230
- Refactor BLAS code by @jessegrabowski in https://github.com/pymc-devs/pytensor/pull/2049
- Generalize local_sum_prod_alloc by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2198
- Fold variadic Add/Mul in JAX and PyTorch backends instead of stacking by @cetagostini in https://github.com/pymc-devs/pytensor/pull/2238
- Add gradient (pullback) to Min Op by @hermesdt in https://github.com/pymc-devs/pytensor/pull/2253
- Fix MLX Metal codegen crash on NaN scalar constants by @cetagostini in https://github.com/pymc-devs/pytensor/pull/2239
- Enforce AdvancedIncSubtensor1 runtime-broadcast check on MLX backend by @cetagostini in https://github.com/pymc-devs/pytensor/pull/2241
- Numba scan: Allow inplacing on discarded mit-mot by @ricardoV94 in https://github.com/pymc-devs/pytensor/pull/2266
New Contributors
- @drbenvincent made their first contribution in https://github.com/pymc-devs/pytensor/pull/2214
- @gaoflow made their first contribution in https://github.com/pymc-devs/pytensor/pull/2230
- @hermesdt made their first contribution in https://github.com/pymc-devs/pytensor/pull/2253
Full Changelog: https://github.com/pymc-devs/pytensor/compare/rel-3.0.5...rel-3.1.0
Files
pymc-devs/pytensor-rel-3.1.0.zip
Files
(6.3 MB)
| Name | Size | Download all |
|---|---|---|
|
md5:68f46fc17b3570d96b53df110d6845c9
|
6.3 MB | Preview Download |
Additional details
Related works
- Is supplement to
- Software: https://github.com/pymc-devs/pytensor/tree/rel-3.1.0 (URL)
Software
- Repository URL
- https://github.com/pymc-devs/pytensor