Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

💥 SciPy 1.15.0 support tracker #250

Closed
jorenham opened this issue Dec 2, 2024 · 3 comments · Fixed by #360
Closed

💥 SciPy 1.15.0 support tracker #250

jorenham opened this issue Dec 2, 2024 · 3 comments · Fixed by #360
Assignees
Milestone

Comments

@jorenham
Copy link
Owner

jorenham commented Dec 2, 2024

https://github.com/scipy/scipy/releases/tag/v1.15.0rc1

Stubtest errors

These are currently ignored in a dedicated "allowlist":

https://github.com/jorenham/scipy-stubs/blob/master/.mypyignore-todo

Once this isn't needed anymore; scipy-stubs can be considered to be compatible with scipy 1.15.0[rc1]

Release schedule

gantt
    title SciPy 1.15 Release Schedule
    axisFormat %Y-%m-%d

    branch 1.15.x                   : milestone, m1, 2024-12-06, 4m
    release 1.15.0rc1               : 2024-12-09, 25d
    release 1.15.0rc2 (if needed)   : 2024-12-20, 14d
    release 1.15.0                  : milestone, m2, 2025-01-03, 4m
Loading

Checklist

These are the changes that are relevant to scipy-stubs. All of these are required for the scipy-stubs 1.15.0.0 release.

  • _lib - #331
    • _array_api.* - a bunch of new exported members
    • _util.{Generator,Seed}Type
    • _docscrape.{ObjDoc,get_doc_object}
    • ♻️ _array_api.Array[Like] - moved out of if TYPE_CHECKING
    • _docscrape.{header,indent}
  • cluster - #334
    • ♻️ hierarchy.ClusterNode.__init__ - dist param default changed from 0 to 0.0
    • 🎲 vq.kmeans[2]
  • constants - #330
    • ♻️ _codata.parse_constants_{2002to2014,2018toXXXX} - new exact_func param
    • _codata.exact_values
    • _codata.{epsilon,mu}0
  • differentiate (#258) - #329
    • derivative
    • jacobian
    • hessian
  • fft - #336
    • _basic_backend.complex_funcs
  • fftpack - #336
    • ♻️ _cache - default changed from {} to threading.local()
  • integrate - #337
    • lebedev_rule
    • nsum
    • cubature
    • tanhsinh
    • ♻️ cumulative_trapezoid - require initial: {0, None}
    • ♻️ simpson - x param is now postitional- or keyword
    • AccuracyWarning - see scipy/scipy#22094
    • quadrature, romberg
  • interpolate - #338
    • AAA
    • FloaterHormannInterpolator
    • make_spl[p]rep
    • generate_knots
    • _interpnd.* - renamed interpnd.pyx -> _interpnd.pyx
    • interpnd.* - renamed interpnd.pyx -> _interpnd.pyx
    • ♻️ {Akima1D, Pchip}Interpolator - disallow complex input
    • ♻️ BSpline.integrate - always return array
    • ♻️ make_lsq_spline - new method: {"qr", "nowm-eq"} kwarg
    • ♻️ NdBSpline.{k, t} - attrs changed into props
    • 🎲 BarycentricInterpolator, barycentric_interpolate
  • io - #341
    • matlab.varmats_from_mat - public re-export from io.matlab._mio5
    • ♻️ hb_read - new spmatrix: bool kwarg
    • ♻️ loadmat - new spmatrix: bool kwarg
    • ♻️ mmread - new spmatrix: bool kwarg
    • ♻️ _idl.AttrDict - init param changed to None as default
    • ♻️ _mmio.MMFile.read - new spmatrix: bool kwarg
    • arff._arffread.basic_stats
    • arff._arffread.print_attribute
    • arff._arffread.test_weka
  • linalg - #344
    • lapack.{lantr, {sy,he}trs, {tr,gt}con}
    • ♻️ orthogonal_procrustes - accept complex input
    • ♻️ null_space - new params:
      • overwrite_a
      • check_finite
      • lapack_driver
    • ♻️ solve - assume_a accepts more literal strings:
      • [tri]diagonal
      • banded
      • {upper,lower} triangular
      • sym[metric]
      • her[mitian]
      • pos[itive definite]
      • gen[eral]
    • ♻️ _special_matrices - batching of >2-d input
      • circulant
      • companion
      • convolution_matrix
      • fiedler[_companion]
      • leslie
    • ♻️ _matfuncs_expm.pade_UV_calc - change to (Am, m: int) -> int
    • 🗑️ toeplitz - >1-d input (currently raveled, will "batch" in 1.17+)
    • 🗑️ kron
    • 🗑️ interpolative.{rand,seed}
    • 🎲 clarkson_woodruff_transform
    • 🎲 _sketches.cwt_matrix
    • 🎲 interpolative.interp_decomp
    • 🎲 interpolative.svd
    • 🎲 interpolative.estimate_spectral_norm[_diff]
    • 🎲 interpolative.estimate_rank
  • misc (🗑️) - #328
    • ❌ everything (but keep an empty __init__)
  • ndimage - #346
    • ♻️ correlate, convolve, laplace - new axes param
    • ♻️ generic_{laplace, gradient_magnitude,filter} - new axes param
    • ♻️ gaussian_{laplace, gradient_magnitude} - new axes param hosts~
  • optimize - #347
    • elementwise.{bracket, find}_{root, minimum}
    • HessianUpdateStrategy.__matmul__
    • ♻️ differential_evolution - accepts map-like callable for workers
    • ♻️ _trustregion_constr.{BarrierSubproblem, tr_interior_point} - new required finite_diff_bounds arg
    • 🎲 basinhopping
    • 🎲 differential_evolution
    • 🎲 dual_annealing
    • 🎲 check_grad
    • 🎲 quadratic_assignment
  • signal - #348
    • envelope
    • freqz_sos (previously sosfreqz)
    • ♻️ sosfreqz - now an alias of freqz_sos
    • ♻️ chirp - accept complex input
    • ♻️ lombscargle
      • add weights param
      • add floating_mean param
      • change normalize param
    • 🗑️ correlate, convolve, choose_conv_method - object_ and longdouble input
    • 🗑️ lfilter, sosfilt - object_ and longdouble input
    • cmplx_sort
    • daub, qmf, cascade, morlet[2], ricker, cwt
    • _spectral (pythran module)
  • sparse - #349
    • coo_{array,matrix}.tensordot(other, axes=2)
    • safely_cast_index_arrays, get_index_dtype
    • linalg.{spbandwidth, is_sptriangular}
    • ♻️ linalg.* - support sparray
    • ♻️ csgraph.* - support sparray
    • ♻️ csgraph.min_weight_full_bipartite_matching - arg biadjacency_matrix changed to biadjacency
    • ♻️ _base._spbase.__init__ - maxprint is now keyword-only
    • ♻️ coo_array - support >=1-D data
    • ♻️ sp{array,matrix} - disallow float16 and other incompatible dtypes
    • ♻️ sp{array,matrix}.count_nonzero - new axis arg
    • ♻️ [arg]{min,max} - new explicit param
    • ♻️ _sputils.{check_shape,isshape} - arg allow_1d changed to allow_nd
    • 🎲 rand[om[_array]]
    • 🎲 linalg.svds
  • spatial - #350
    • ♻️ Rotation.concatenate - accept a bare Rotation object and returns a copy
    • 🗑️ distance.{cosine, correlation} - deprecate complex input
    • 🗑️ distance.{kulczynski1, sokalmichener} - will be removed in 1.17
    • 🎲 distance.directed_hausdorff
    • 🎲 transform.Rotation.random
  • special - #351
    • _spherical_bessel.{spherical_kn_reflection, use_reflection} (private, but no __all__)
    • softplus
    • legendre_p[_all]
    • assoc_legendre_p[_all]
    • sph_legendre_p[_all]
    • sph_harm_y[_all]
    • ♻️ factorial[{2, k}]} - accept complex input when extend: {"complex"}
    • ♻️ factorial - disallow non-integer input if exact: {True}
    • ♻️ factorialk - default to exact=False
    • ♻️ zeta - to support complex
    • ♻️ gdtrib - GPU support for cupy's ElementwiseKernel
    • 🗑️ lpn, lpmn, clpmn (see also scipy#22160)
    • 🗑️ sph_harm - #369
    • btdtr[i]
  • stats - #353
    • ➕ new distribution infrastructure (#260) - #360
      • Normal
      • Uniform
      • Mixture
      • make_distribution
      • exp, log
      • abs
      • truncate
      • order_statistic
    • lmoment (🎖️)
    • chatterjeexi
    • dpareto_lognorm, landau, normal_inverse_gamma, poisson_binom (distrs)
    • ♻️ chi2_contingency, ttest_ind, fisher_exact - new method kw-only param
    • ♻️ ttest_ind - all params except a and b are keyword-only
    • ♻️ chisquare - new sum_check kw-only param
    • ♻️ wilcoxon - accept method="asymptotic"
    • ♻️ fisher_exact - 2-d tables with shapes other than (2,2)
    • rvs_ratio_uniforms
    • sampling (unannounced breaking change?)
    • 🗑️ find_repeats
    • 🗑️ trapz
    • 🗑️ linregress - deprecate single-argument usage
    • 🗑️ ttest_ind - deprecate random_state and permutations
    • 🎲 {Bootstrap,Permutation}Method
    • 🎲 bootstrap, permutation_test
    • 🎲 goodness_of_fit
    • 🎲 dunnett
    • 🎲 sobol_indices
    • 🎲 qmc.* - all classes that consume random numbers
  • version - #345

Sources:

Legend

  • ➕ - added, exposed, or renamed to this (i.e. did not exist before)
  • ♻️ - changed
  • 🗑️ - deprecate (usually until 1.17)
  • ❌ - remove (pending deprecation or private rename)
  • 🎲 - add SPEC 7 rng parameter (🎲 SPEC-7 API changes for 1.15.0 #257)
@jorenham jorenham added this to the 1.15.0.* milestone Dec 2, 2024
@jorenham jorenham pinned this issue Dec 2, 2024
@jorenham jorenham added topic: upstream release SciPy releases and removed scipy.* labels Dec 2, 2024
@jorenham jorenham changed the title SciPy 1.15 checklist SciPy 1.15.0 Dec 4, 2024
@tylerjereddy
Copy link

Looks very organized! In case it isn't obvious, I may be slightly delayed on the exact days for branching and RC1.

@jorenham
Copy link
Owner Author

jorenham commented Dec 4, 2024

Looks very organized!

Thanks :)

In case it isn't obvious, I may be slightly delayed on the exact days for branching and RC1.

No problem!
I'll try my best to sync the scipy-stubs 1.15.0.0 with the scipy 1.15.9 one as much as possible. And I expect that the RC window of 4 weeks should be more than enough for that 👌🏻.

@jorenham
Copy link
Owner Author

everything appears to be valid with 1.15.0rc2 now, too 👌🏻

@jorenham jorenham unpinned this issue Dec 24, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants