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