Skip to content

SciPy 2.0: ideas for changes & cleanups

Lucas Colley edited this page Apr 27, 2024 · 2 revisions

Note: there are currently no plans for a SciPy 2.0 release, this is just a wish list for things that seem not justified to do in a 1.x release. Please feel free to add items.

Larger items:

  • Removing all the compatibility shims for private APIs (see #14360 and others, e.g. #14919)
  • Possibly making changes to the return types for non-numpy-array input (i.e., not coercing with np.asarray by default)
  • Removing scipy.misc
  • Removing scipy.stats.mstats
  • Removing other used-but-questionable functionality, such as signal.cwt and other wavelet and spline functionality in signal
  • Decide on the fate of control-related parts of signal, in particular ltisys, either retire them or commit to an overhaul with possible breakage.
  • Consider removing spmatrix now that we have sparray?
  • API redesign of the statistical distribution.
  • Orthography choice for parameters named lambda.
  • Orthography choice for seeding. rng, seed, random_state, etc.
  • Remove scipy.fftpack??

Individual APIs that are clumsy, bad practice, or would need backwards incompatible changes for some reason and we'd prefer not to have in a minor release:

  • The output dtype for ndimage functions is a union of ndarray, a np.dtype instance, or a string specifier for a dtype (e.g., 'f'). Such unions are poor practice, and a problem for using type annotations, dispatching, etc. Consider standardizing to a single type of input for the output keyword here.