Skip to content

Commit e67c075

Browse files
authored
Merge pull request #1656 from scipy/1.18/spatial/deprecations
🗑️ `spatial`: deprecate `minkowski_distance[_p]` and `distance_matrix`
2 parents 64640f6 + 0a3080d commit e67c075

2 files changed

Lines changed: 13 additions & 7 deletions

File tree

scipy-stubs/spatial/_kdtree.pyi

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
from typing import Final, Generic, Self, SupportsIndex, overload, override
2-
from typing_extensions import TypeVar
2+
from typing_extensions import TypeVar, deprecated
33

44
import numpy as np
55
import optype.numpy as onp
@@ -106,22 +106,28 @@ class KDTree(cKDTree[_BoxSizeT_co, _BoxSizeDataT_co], Generic[_BoxSizeT_co, _Box
106106
) -> tuple[float, np.intp] | tuple[onp.ArrayND[np.float64], onp.ArrayND[np.intp]]: ...
107107

108108
@overload
109+
@deprecated("This function is deprecated in favor of `scipy.spatial.distance.minkowski` and will be removed in SciPy 1.20.0.")
109110
def minkowski_distance_p(x: onp.ToFloatND, y: onp.ToFloatND, p: float = 2.0) -> onp.ArrayND[np.float64]: ...
110111
@overload
112+
@deprecated("This function is deprecated in favor of `scipy.spatial.distance.minkowski` and will be removed in SciPy 1.20.0.")
111113
def minkowski_distance_p(x: onp.ToComplexND, y: onp.ToComplexND, p: float = 2.0) -> onp.ArrayND[np.float64 | np.complex128]: ...
112114

113115
#
114116
@overload
117+
@deprecated("This function is deprecated in favor of `scipy.spatial.distance.minkowski` and will be removed in SciPy 1.20.0.")
115118
def minkowski_distance(x: onp.ToFloatND, y: onp.ToFloatND, p: float = 2.0) -> onp.ArrayND[np.float64]: ...
116119
@overload
120+
@deprecated("This function is deprecated in favor of `scipy.spatial.distance.minkowski` and will be removed in SciPy 1.20.0.")
117121
def minkowski_distance(x: onp.ToComplexND, y: onp.ToComplexND, p: float = 2.0) -> onp.ArrayND[np.float64 | np.complex128]: ...
118122

119123
#
120124
@overload
125+
@deprecated("This function is deprecated in favor of `scipy.spatial.distance.cdist` and will be removed in SciPy 1.20.0.")
121126
def distance_matrix(
122127
x: onp.ToFloatND, y: onp.ToFloatND, p: float = 2.0, threshold: int = 1_000_000
123128
) -> onp.Array2D[np.float64]: ...
124129
@overload
130+
@deprecated("This function is deprecated in favor of `scipy.spatial.distance.cdist` and will be removed in SciPy 1.20.0.")
125131
def distance_matrix(
126132
x: onp.ToComplexND, y: onp.ToComplexND, p: float = 2.0, threshold: int = 1_000_000
127133
) -> onp.Array2D[np.float64 | np.complex128]: ...

tests/spatial/test__kdtree.pyi

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -135,17 +135,17 @@ assert_type(_tree.sparse_distance_matrix(_tree, max_distance=1.0, output_type="n
135135
###
136136
# minkowski_distance_p
137137

138-
assert_type(minkowski_distance_p(_f64_1d, _f64_1d), onp.ArrayND[np.float64])
139-
assert_type(minkowski_distance_p(_c128_1d, _c128_1d), onp.ArrayND[np.float64 | np.complex128])
138+
assert_type(minkowski_distance_p(_f64_1d, _f64_1d), onp.ArrayND[np.float64]) # pyright:ignore[reportDeprecated] # pyrefly:ignore[deprecated]
139+
assert_type(minkowski_distance_p(_c128_1d, _c128_1d), onp.ArrayND[np.float64 | np.complex128]) # pyright:ignore[reportDeprecated] # pyrefly:ignore[deprecated]
140140

141141
###
142142
# minkowski_distance
143143

144-
assert_type(minkowski_distance(_f64_1d, _f64_1d), onp.ArrayND[np.float64])
145-
assert_type(minkowski_distance(_c128_1d, _c128_1d), onp.ArrayND[np.float64 | np.complex128])
144+
assert_type(minkowski_distance(_f64_1d, _f64_1d), onp.ArrayND[np.float64]) # pyright:ignore[reportDeprecated] # pyrefly:ignore[deprecated]
145+
assert_type(minkowski_distance(_c128_1d, _c128_1d), onp.ArrayND[np.float64 | np.complex128]) # pyright:ignore[reportDeprecated] # pyrefly:ignore[deprecated]
146146

147147
###
148148
# distance_matrix
149149

150-
assert_type(distance_matrix(_f64_2d, _f64_2d), onp.Array2D[np.float64])
151-
assert_type(distance_matrix(_c128_2d, _c128_2d), onp.Array2D[np.float64 | np.complex128])
150+
assert_type(distance_matrix(_f64_2d, _f64_2d), onp.Array2D[np.float64]) # pyright:ignore[reportDeprecated] # pyrefly:ignore[deprecated]
151+
assert_type(distance_matrix(_c128_2d, _c128_2d), onp.Array2D[np.float64 | np.complex128]) # pyright:ignore[reportDeprecated] # pyrefly:ignore[deprecated]

0 commit comments

Comments
 (0)