Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit e865b33

Browse files
authored
API: Update lib.function_base namespace (#24538)
[skip ci]
1 parent 866f378 commit e865b33

17 files changed

+65
-112
lines changed

numpy/__init__.py

Lines changed: 25 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -183,30 +183,27 @@
183183

184184
from . import lib
185185
from .lib import (
186-
DataSource, angle, append, apply_along_axis, apply_over_axes,
187-
array_split, asarray_chkfinite, average, bartlett,
188-
bincount, blackman, broadcast_arrays, broadcast_shapes,
186+
DataSource, apply_along_axis, apply_over_axes,
187+
array_split, broadcast_arrays, broadcast_shapes,
189188
broadcast_to, byte_bounds, c_, column_stack, common_type,
190-
copy, corrcoef, cov, delete, diag, diag_indices,
191-
diag_indices_from, diagflat, diff, digitize, dsplit, dstack,
192-
ediff1d, emath, expand_dims, extract, eye, fill_diagonal, fix,
193-
flip, fliplr, flipud, fromregex, get_array_wrap, genfromtxt,
194-
get_include, gradient, hamming, hanning, histogram2d,
195-
hsplit, i0, imag, in1d,
196-
index_exp, info, insert, interp, intersect1d, iscomplex,
189+
diag, diag_indices,
190+
diag_indices_from, diagflat, dsplit, dstack,
191+
ediff1d, emath, expand_dims, eye, fill_diagonal, fix,
192+
fliplr, flipud, fromregex, get_array_wrap, genfromtxt,
193+
get_include, histogram2d,
194+
hsplit, imag, in1d, index_exp, info, intersect1d, iscomplex,
197195
iscomplexobj, isin, isneginf, isreal, isrealobj,
198-
iterable, ix_, kaiser, kron, load, loadtxt, mask_indices,
199-
median, meshgrid, mgrid, mintypecode, nan_to_num,
200-
ndenumerate, ndindex, ogrid, packbits, pad,
201-
percentile, piecewise, place, poly, poly1d, polyadd, polyder,
196+
ix_, kron, load, loadtxt, mask_indices,
197+
mgrid, mintypecode, nan_to_num, ndenumerate, ndindex, ogrid,
198+
packbits, pad, poly, poly1d, polyadd, polyder,
202199
polydiv, polyfit, polyint, polymul, polysub, polyval,
203-
put_along_axis, quantile, r_, ravel_multi_index, real, real_if_close,
204-
roots, rot90, row_stack, s_, save, savetxt, savez, savez_compressed,
205-
select, setdiff1d, setxor1d, show_runtime, sinc, sort_complex, split,
206-
take_along_axis, tile, trapz, tri, tril,
200+
put_along_axis, r_, ravel_multi_index, real, real_if_close,
201+
roots, row_stack, s_, save, savetxt, savez, savez_compressed,
202+
setdiff1d, setxor1d, show_runtime, split,
203+
take_along_axis, tile, tri, tril,
207204
tril_indices, tril_indices_from, typename, union1d, unique, unpackbits,
208-
unravel_index, unwrap, vander, vectorize, vsplit, trim_zeros,
209-
triu, triu_indices, triu_indices_from, isposinf
205+
unravel_index, vander, vsplit, triu, triu_indices, triu_indices_from,
206+
isposinf
210207
)
211208
from .lib._histograms_impl import (
212209
histogram, histogram_bin_edges, histogramdd
@@ -216,6 +213,13 @@
216213
nanmedian, nanmin, nanpercentile, nanprod, nanquantile, nanstd,
217214
nansum, nanvar
218215
)
216+
from .lib._function_base_impl import (
217+
select, piecewise, trim_zeros, copy, iterable, percentile, diff,
218+
gradient, angle, unwrap, sort_complex, flip, rot90, extract, place,
219+
vectorize, asarray_chkfinite, average, bincount, digitize, cov,
220+
corrcoef, median, sinc, hamming, hanning, bartlett, blackman,
221+
kaiser, trapz, i0, meshgrid, delete, insert, append, interp, quantile
222+
)
219223
from . import matrixlib as _mat
220224
from .matrixlib import (
221225
asmatrix, bmat, matrix
@@ -278,6 +282,7 @@
278282
__numpy_submodules__ | set(core.__all__) | set(lib.__all__) |
279283
set(_mat.__all__) | set(lib._histograms_impl.__all__) |
280284
set(lib._nanfunctions_impl.__all__) |
285+
set(lib._function_base_impl.__all__) |
281286
{"show_config", "__version__"}
282287
)
283288

numpy/__init__.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -412,7 +412,7 @@ from numpy.lib.arraysetops import (
412412
isin as isin,
413413
)
414414

415-
from numpy.lib.function_base import (
415+
from numpy.lib._function_base_impl import (
416416
select as select,
417417
piecewise as piecewise,
418418
trim_zeros as trim_zeros,

numpy/_expired_attrs_2_0.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,4 +60,5 @@
6060
"recfromtxt": "Use `np.genfromtxt` instead.",
6161
"deprecate": "Raise `DeprecationWarning` instead.",
6262
"deprecate_with_doc": "Raise `DeprecationWarning` instead.",
63+
"disp": "Use your own printing function instead.",
6364
}

numpy/core/tests/test_deprecations.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -755,7 +755,7 @@ class TestLibImports(_DeprecationTestCase):
755755
def test_lib_functions_deprecation_call(self):
756756
from numpy.lib.utils import safe_eval
757757
from numpy.lib.npyio import recfromcsv, recfromtxt
758-
from numpy.lib.function_base import disp
758+
from numpy.lib._function_base_impl import disp
759759
from numpy.lib.shape_base import get_array_wrap
760760
from numpy.core.numerictypes import maximum_sctype
761761
from numpy.lib.tests.test_io import TextIO

numpy/lib/__init__.py

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,8 +21,8 @@
2121
# load module names. See https://github.com/networkx/networkx/issues/5838
2222
from . import type_check
2323
from . import index_tricks
24-
from . import function_base
2524
from . import _nanfunctions_impl
25+
from . import _function_base_impl
2626
from . import shape_base
2727
from . import stride_tricks
2828
from . import twodim_base
@@ -38,7 +38,6 @@
3838

3939
from .type_check import *
4040
from .index_tricks import *
41-
from .function_base import *
4241
from .shape_base import *
4342
from .stride_tricks import *
4443
from .twodim_base import *
@@ -52,12 +51,10 @@
5251
from .arraypad import *
5352
from ._version import *
5453
from numpy.core._multiarray_umath import tracemalloc_domain
55-
from .function_base import add_newdoc, add_docstring
5654

5755
__all__ = ['emath']
5856
__all__ += type_check.__all__
5957
__all__ += index_tricks.__all__
60-
__all__ += function_base.__all__
6158
__all__ += shape_base.__all__
6259
__all__ += stride_tricks.__all__
6360
__all__ += twodim_base.__all__

numpy/lib/__init__.pyi

Lines changed: 0 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -40,49 +40,6 @@ from numpy.lib.arrayterator import (
4040
Arrayterator as Arrayterator,
4141
)
4242

43-
from numpy.lib.function_base import (
44-
select as select,
45-
piecewise as piecewise,
46-
trim_zeros as trim_zeros,
47-
copy as copy,
48-
iterable as iterable,
49-
percentile as percentile,
50-
diff as diff,
51-
gradient as gradient,
52-
angle as angle,
53-
unwrap as unwrap,
54-
sort_complex as sort_complex,
55-
disp as disp,
56-
flip as flip,
57-
rot90 as rot90,
58-
extract as extract,
59-
place as place,
60-
vectorize as vectorize,
61-
asarray_chkfinite as asarray_chkfinite,
62-
average as average,
63-
bincount as bincount,
64-
digitize as digitize,
65-
cov as cov,
66-
corrcoef as corrcoef,
67-
median as median,
68-
sinc as sinc,
69-
hamming as hamming,
70-
hanning as hanning,
71-
bartlett as bartlett,
72-
blackman as blackman,
73-
kaiser as kaiser,
74-
trapz as trapz,
75-
i0 as i0,
76-
add_newdoc as add_newdoc,
77-
add_docstring as add_docstring,
78-
meshgrid as meshgrid,
79-
delete as delete,
80-
insert as insert,
81-
append as append,
82-
interp as interp,
83-
quantile as quantile,
84-
)
85-
8643
from numpy.lib.index_tricks import (
8744
ravel_multi_index as ravel_multi_index,
8845
unravel_index as unravel_index,
File renamed without changes.
File renamed without changes.

numpy/lib/_nanfunctions_impl.py

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,7 @@
2323
import functools
2424
import warnings
2525
import numpy as np
26-
from numpy.lib import function_base
26+
from numpy.lib import _function_base_impl as fnb
2727
from numpy.core import overrides
2828

2929

@@ -1213,9 +1213,9 @@ def nanmedian(a, axis=None, out=None, overwrite_input=False, keepdims=np._NoValu
12131213
if a.size == 0:
12141214
return np.nanmean(a, axis, out=out, keepdims=keepdims)
12151215

1216-
return function_base._ureduce(a, func=_nanmedian, keepdims=keepdims,
1217-
axis=axis, out=out,
1218-
overwrite_input=overwrite_input)
1216+
return fnb._ureduce(a, func=_nanmedian, keepdims=keepdims,
1217+
axis=axis, out=out,
1218+
overwrite_input=overwrite_input)
12191219

12201220

12211221
def _nanpercentile_dispatcher(
@@ -1368,7 +1368,7 @@ def nanpercentile(
13681368
13691369
"""
13701370
if interpolation is not None:
1371-
method = function_base._check_interpolation_as_method(
1371+
method = fnb._check_interpolation_as_method(
13721372
method, interpolation, "nanpercentile")
13731373

13741374
a = np.asanyarray(a)
@@ -1378,7 +1378,7 @@ def nanpercentile(
13781378
q = np.true_divide(q, 100.0)
13791379
# undo any decay that the ufunc performed (see gh-13105)
13801380
q = np.asanyarray(q)
1381-
if not function_base._quantile_is_valid(q):
1381+
if not fnb._quantile_is_valid(q):
13821382
raise ValueError("Percentiles must be in the range [0, 100]")
13831383
return _nanquantile_unchecked(
13841384
a, q, axis, out, overwrite_input, method, keepdims)
@@ -1531,15 +1531,15 @@ def nanquantile(
15311531
"""
15321532

15331533
if interpolation is not None:
1534-
method = function_base._check_interpolation_as_method(
1534+
method = fnb._check_interpolation_as_method(
15351535
method, interpolation, "nanquantile")
15361536

15371537
a = np.asanyarray(a)
15381538
if a.dtype.kind == "c":
15391539
raise TypeError("a must be an array of real numbers")
15401540

15411541
q = np.asanyarray(q)
1542-
if not function_base._quantile_is_valid(q):
1542+
if not fnb._quantile_is_valid(q):
15431543
raise ValueError("Quantiles must be in the range [0, 1]")
15441544
return _nanquantile_unchecked(
15451545
a, q, axis, out, overwrite_input, method, keepdims)
@@ -1559,14 +1559,14 @@ def _nanquantile_unchecked(
15591559
# so deal them upfront
15601560
if a.size == 0:
15611561
return np.nanmean(a, axis, out=out, keepdims=keepdims)
1562-
return function_base._ureduce(a,
1563-
func=_nanquantile_ureduce_func,
1564-
q=q,
1565-
keepdims=keepdims,
1566-
axis=axis,
1567-
out=out,
1568-
overwrite_input=overwrite_input,
1569-
method=method)
1562+
return fnb._ureduce(a,
1563+
func=_nanquantile_ureduce_func,
1564+
q=q,
1565+
keepdims=keepdims,
1566+
axis=axis,
1567+
out=out,
1568+
overwrite_input=overwrite_input,
1569+
method=method)
15701570

15711571

15721572
def _nanquantile_ureduce_func(a, q, axis=None, out=None, overwrite_input=False,
@@ -1604,7 +1604,7 @@ def _nanquantile_1d(arr1d, q, overwrite_input=False, method="linear"):
16041604
# convert to scalar
16051605
return np.full(q.shape, np.nan, dtype=arr1d.dtype)[()]
16061606

1607-
return function_base._quantile_unchecked(
1607+
return fnb._quantile_unchecked(
16081608
arr1d, q, overwrite_input=overwrite_input, method=method)
16091609

16101610

numpy/lib/_nanfunctions_impl.pyi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ from numpy.core.fromnumeric import (
1212
std
1313
)
1414

15-
from numpy.lib.function_base import (
15+
from numpy.lib._function_base_impl import (
1616
median,
1717
percentile,
1818
quantile,

numpy/lib/index_tricks.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,10 @@
1010
from numpy.core.numerictypes import issubdtype
1111

1212
import numpy.matrixlib as matrixlib
13-
from .function_base import diff
1413
from numpy.core.multiarray import ravel_multi_index, unravel_index
1514
from numpy.core import overrides, linspace
1615
from numpy.lib.stride_tricks import as_strided
16+
from numpy.lib._function_base_impl import diff
1717

1818

1919
array_function_dispatch = functools.partial(

numpy/lib/polynomial.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@
1818
from numpy.core import overrides
1919
from numpy.exceptions import RankWarning
2020
from numpy.lib.twodim_base import diag, vander
21-
from numpy.lib.function_base import trim_zeros
21+
from numpy.lib._function_base_impl import trim_zeros
2222
from numpy.lib.type_check import iscomplex, real, imag, mintypecode
2323
from numpy.linalg import eigvals, lstsq, inv
2424

numpy/lib/tests/test_function_base.py

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -11,21 +11,20 @@
1111
from functools import partial
1212

1313
import numpy as np
14-
from numpy import ma
14+
from numpy import (
15+
ma, angle, average, bartlett, blackman, corrcoef, cov,
16+
delete, diff, digitize, extract, flipud, gradient, hamming, hanning,
17+
i0, insert, interp, kaiser, meshgrid, piecewise, place, rot90,
18+
select, setxor1d, sinc, trapz, trim_zeros, unwrap, unique, vectorize
19+
)
1520
from numpy.exceptions import AxisError
1621
from numpy.testing import (
1722
assert_, assert_equal, assert_array_equal, assert_almost_equal,
1823
assert_array_almost_equal, assert_raises, assert_allclose, IS_PYPY,
1924
assert_warns, assert_raises_regex, suppress_warnings, HAS_REFCOUNT, IS_WASM
2025
)
21-
import numpy.lib.function_base as nfb
26+
import numpy.lib._function_base_impl as nfb
2227
from numpy.random import rand
23-
from numpy.lib import (
24-
angle, average, bartlett, blackman, corrcoef, cov,
25-
delete, diff, digitize, extract, flipud, gradient, hamming, hanning,
26-
i0, insert, interp, kaiser, meshgrid, piecewise, place, rot90,
27-
select, setxor1d, sinc, trapz, trim_zeros, unwrap, unique, vectorize
28-
)
2928
from numpy.core.numeric import normalize_axis_tuple
3029

3130

@@ -2212,14 +2211,14 @@ def test_simple(self):
22122211
a = [1, 2, 3]
22132212
b = [1, 2, np.inf]
22142213
c = [1, 2, np.nan]
2215-
np.lib.asarray_chkfinite(a)
2216-
assert_raises(ValueError, np.lib.asarray_chkfinite, b)
2217-
assert_raises(ValueError, np.lib.asarray_chkfinite, c)
2214+
np.asarray_chkfinite(a)
2215+
assert_raises(ValueError, np.asarray_chkfinite, b)
2216+
assert_raises(ValueError, np.asarray_chkfinite, c)
22182217

22192218
def test_dtype_order(self):
22202219
# Regression test for missing dtype and order arguments
22212220
a = [1, 2, 3]
2222-
a = np.lib.asarray_chkfinite(a, order='F', dtype=np.float64)
2221+
a = np.asarray_chkfinite(a, order='F', dtype=np.float64)
22232222
assert_(a.dtype == np.float64)
22242223

22252224

numpy/ma/core.py

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -32,10 +32,8 @@
3232
import numpy.core.umath as umath
3333
import numpy.core.numerictypes as ntypes
3434
from numpy.core import multiarray as mu
35-
from numpy import ndarray, amax, amin, iscomplexobj, bool_, _NoValue
36-
from numpy import array as narray
37-
from numpy.lib.function_base import angle
38-
from numpy import expand_dims
35+
from numpy import ndarray, amax, amin, iscomplexobj, bool_, _NoValue, angle
36+
from numpy import array as narray, expand_dims
3937
from numpy.core.numeric import normalize_axis_tuple
4038
from numpy._utils._inspect import getargspec, formatargspec
4139

@@ -1206,7 +1204,7 @@ def __call__(self, a, b, *args, **kwargs):
12061204
cosh = _MaskedUnaryOperation(umath.cosh)
12071205
tanh = _MaskedUnaryOperation(umath.tanh)
12081206
abs = absolute = _MaskedUnaryOperation(umath.absolute)
1209-
angle = _MaskedUnaryOperation(angle) # from numpy.lib.function_base
1207+
angle = _MaskedUnaryOperation(angle)
12101208
fabs = _MaskedUnaryOperation(umath.fabs)
12111209
negative = _MaskedUnaryOperation(umath.negative)
12121210
floor = _MaskedUnaryOperation(umath.floor)

numpy/ma/core.pyi

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,10 +12,7 @@ from numpy import (
1212
ones_like as ones_like,
1313
squeeze as squeeze,
1414
zeros_like as zeros_like,
15-
)
16-
17-
from numpy.lib.function_base import (
18-
angle as angle,
15+
angle as angle
1916
)
2017

2118
# TODO: Set the `bound` to something more suitable once we

numpy/ma/extras.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@
3434
from numpy import ndarray, array as nxarray
3535
from numpy.core.multiarray import normalize_axis_index
3636
from numpy.core.numeric import normalize_axis_tuple
37-
from numpy.lib.function_base import _ureduce
37+
from numpy.lib._function_base_impl import _ureduce
3838
from numpy.lib.index_tricks import AxisConcatenator
3939

4040

numpy/tests/test_public_api.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -199,7 +199,6 @@ def test_NPY_NO_EXPORT():
199199
"lib.arraypad",
200200
"lib.arraysetops",
201201
"lib.arrayterator",
202-
"lib.function_base",
203202
"lib.index_tricks",
204203
"lib.npyio",
205204
"lib.polynomial",

0 commit comments

Comments
 (0)