v1.16.1.0
This is the first scipy-stubs release that officially supports SciPy 1.16.1. In these last 4 weeks of hard work, we've made many improvements to the accuracy and correctness of many annotations, and improved compatibility with older NumPy versions.
If you encounter any regressions or other issues, please report them at https://github.com/scipy/scipy-stubs/issues.
This release requires Python 3.11-3.14, NumPy 1.25.2 or greater, and optype 0.13.1 or greater.
What's Changed
π½οΈ SciPy 1.16.1 Changes
β¨ Improvements
- π·οΈ 
linalg: stub more of the internal scipy machinery by @jorenham in #710 - β¨ 
linalg: support sparse arrays inclarkson_woodruff_transformby @jorenham in #711 - β¨ stub 
scipy._cyutilityby @jorenham in #712 - π·οΈ 
_lib: stub_ccallback_cand_array_api[_compat_vendor]by @jorenham in #713 - π·οΈ 
cluster: stub internal cython submodules by @jorenham in #714 - π·οΈ 
integrate: stubintegrate._rules.*(private api) by @jorenham in #715 - π·οΈ 
integrate: stub the remaining private C-extension modules by @jorenham in #716 - π·οΈ 
interpolate: stub the remaining private C- and cython modules by @jorenham in #717 - π·οΈ 
io.matlab: stub private cython modules by @jorenham in #718 - π·οΈ 
sparse: added stubs for all formats inkronandkronsumby @JulVandenBroeck in #719 - π·οΈ 
ndimage: stub the remaining private modules by @jorenham in #720 - π·οΈ 
optimize: stub the remaining private modules by @jorenham in #722 - π·οΈ 
signal: stub the remaining private modules by @jorenham in #723 - π·οΈ 
sparse: stub the remaining private modules by @jorenham in #724 - π·οΈ 
spatial: stub the remaining private modules by @jorenham in #725 - π·οΈ 
special: stub the remaining private modules by @jorenham in #726 - π·οΈ 
stats: stub the remaining private modules by @jorenham in #727 - β¨ 
stats: improved[differential_]entropyannotations by @jorenham in #738 - β¨ 
stats: improvedCovariancegeneric type parameter inference by @jorenham in #739 - β¨ 
ndimage: improvedfourier_*annotations by @jorenham in #740 - β¨ 
linalg: improved basicsolve*annotations by @jorenham in #741 - β¨ 
linalg: improvedinvannotations by @jorenham in #743 - β¨ 
linalg: improveddetannotations by @jorenham in #744 - π§βπ» vscode tasks for basedpyright, mypy, and stubtest by @jorenham in #754
 - β¨ 
linalg: improvedeighreturn type inference for float64 by @jorenham in #755 - π·οΈ 
sparse: overhauled stubs fordiags_array,eye_array, and their matrix equivalents by @JulVandenBroeck in #733 - β¨ 
integrate: improve theodeintsignature by @jorenham in #763 - β¨ 
integrate: improvedsolve_ivpannotations by @jorenham in #765 - β¨ 
signal: improved convolution and correlation functions by @jorenham in #767 - β¨ 
signal: improvedfilterfunction annotations by @jorenham in #768 - Add 
hstackandvstackoverloads for different sparse formats by @JulVandenBroeck in #774 
π Fixes
- π 
sparse.linalg: allow passing arrays toexpm_multiplyby @jorenham in #708 - π 
sparse.linalg: fix severalLinearOperatorissues by @jorenham in #709 - π·οΈ 
sparse: improved init stubs of sparse arrays with shape as positional argument. by @JulVandenBroeck in #704 - π 
sparse: csc array/matrix constructor fixes by @jorenham in #753 - π©Ή fix missing type arguments on 
numpy<2.3by @jorenham in #779 - π¨ 
fftpack: fix stubtest error onnumpy<2by @jorenham in #786 - β
 fix failing type-tests on 
numpy==2.2.*by @jorenham in #787 - β
 fix failing type-tests on 
numpy==2.1.*by @jorenham in #788 - β
 fix failing type-tests on 
numpy<2.1by @jorenham in #789 - π fix CI numpy testing matrix by @jorenham in #778
 - π 
interpolate: Fix incorrect return type formake_lsq_splineby @elael in #776 - π©Ή 
optimize: fix compatibility issues withABCPolyBaseonnumpy==2.1by @jorenham in #780 - π©Ή fix compatibility issues with 
np.[c]longdoubleonnumpy<2.2by @jorenham in #781 - ποΈ 
special.comb: remove expired@deprecatednon-integerexact=Trueoverloads by @jorenham in #793 
π Documentation
- add a "who's using scipy-stubs" section to the readme by @jorenham in #732
 - add 
scanpyas dependent project by @jorenham in #747 CONTRIBUTING.mdfixes by @jorenham in #760- add xarray, radioactivedecay, neurogym, and foamlib to the list of dependents by @jorenham in #772
 
β¬οΈ Dependencies
- bump 
ruffto0.12.2by @jorenham in #707 - basedpyright 1.30.0 (pyright 1.1.403) by @jorenham in #734
 - bump 
mypyto1.17.0by @jorenham in #746 - upgrade 
optypeto0.12.0by @jorenham in #750 - bump 
basedpyrightto1.31.0by @jorenham in #751 - bump 
ruffto0.12.3by @jorenham in #752 - bump 
ruffto0.12.4by @jorenham in #757 - bump 
setup-uvtov6.4.0by @jorenham in #758 - Bump astral-sh/setup-uv from 6.4.0 to 6.4.1 in the actions group by @dependabot[bot] in #759
 - bump 
optypeto0.12.2by @jorenham in #761 - Bump astral-sh/setup-uv from 6.4.1 to 6.4.3 in the actions group by @dependabot[bot] in #770
 - numpy 2.3.2 and ruff 0.12.5 by @jorenham in #771
 - numpy 2.3.2 and ruff 0.12.5 by @jorenham in #771
 - bump 
ruffto0.12.7by @jorenham in #790 - bump 
mypyto1.17.1by @jorenham in #794 
Other Changes
- π prepare for further development by @jorenham in #701
 - π¨ dev script for listing all (private) unstubbed modules by @jorenham in #706
 - π¨ use 88 as max line length for 
scipts/*.pyby @jorenham in #721 - π pin CI action version tags by @jorenham in #728
 - β»οΈ always use 
optype.numpy.compatfor abstract scalar types by @jorenham in #730 - β»οΈ reduce reliance on "fake" 
*._typingmodules by @jorenham in #731 - β»οΈ explicit 
onp.AnyFloat64DType | Noneby @jorenham in #735 - π¨ workaround for path-dependent pyright bug by shuffling disjoint overloads by @jorenham in #745
 - π¨ 
linalg: simplified_decomp_svdtype aliases by @jorenham in #749 - π€ correct TypeVarTuple naming in copilot instructions by @jorenham in #764
 - π΄ work around false positive 
overload-overlapmypy errors onnumpy>=2.2by @jorenham in #782 - π€‘ work around false positive 
reportOverlappingOverloadpyright errors onnumpy<2.1by @jorenham in #783 - π΄ 
special: work around false positiveoverload-overlapmypy errors onnumpy<2.1by @jorenham in #785 - π explicit 
license-filesby @jorenham in #795 - π§± 
uv_buildby @jorenham in #796 
π New Contributors
- @JulVandenBroeck made their first contribution in #704
 - @elael made their first contribution in #776
 
Full Changelog: v1.16.0.2...v1.16.1.0