Draft: Update dependency numpy to v1.23.2
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
numpy (source) | ironbank-pypi | minor |
1.22.3 -> 1.23.2
|
Release Notes
numpy/numpy
v1.23.2
NumPy 1.23.2 Release Notes
NumPy 1.23.2 is a maintenance release that fixes bugs discovered after the 1.23.1 release. Notable features are:
- Typing changes needed for Python 3.11
- Wheels for Python 3.11.0rc1
The Python versions supported for this release are 3.8-3.11.
Contributors
A total of 9 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- Alexander Grund +
- Bas van Beek
- Charles Harris
- Jon Cusick +
- Matti Picus
- Michael Osthege +
- Pal Barta +
- Ross Barnowski
- Sebastian Berg
Pull requests merged
A total of 15 pull requests were merged for this release.
-
#22030: ENH: Add
__array_ufunc__
typing support to thenin=1
ufuncs -
#22031: MAINT, TYP: Fix
np.angle
dtype-overloads -
#22032: MAINT: Do not let
_GenericAlias
wrap the underlying classes'... -
#22033: TYP,MAINT: Allow
einsum
subscripts to be passed via integer... -
#22034: MAINT,TYP: Add object-overloads for the
np.generic
rich comparisons -
#22035: MAINT,TYP: Allow the
squeeze
andtranspose
method to... - #22036: BUG: Fix subarray to object cast ownership details
-
#22037: BUG: Use
Popen
to silently invoke f77 -v - #22038: BUG: Avoid errors on NULL during deepcopy
- #22039: DOC: Add versionchanged for converter callable behavior.
- #22057: MAINT: Quiet the anaconda uploads.
- #22078: ENH: reorder includes for testing on top of system installations...
- #22106: TST: fix test_linear_interpolation_formula_symmetric
- #22107: BUG: Fix skip condition for test_loss_of_precision[complex256]
- #22115: BLD: Build python3.11.0rc1 wheels.
Checksums
MD5
fe1e3480ea8c417c8f7b05f543c1448d numpy-1.23.2-cp310-cp310-macosx_10_9_x86_64.whl
0ab14b1afd0a55a374ca69b3b39cab3c numpy-1.23.2-cp310-cp310-macosx_11_0_arm64.whl
df059e5405bfe75c0ac77b01abbdb237 numpy-1.23.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4ed412c4c078e96edf11ca3b11eef76b numpy-1.23.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0caad53d9a5e3c5e8cd29f19a9f0c014 numpy-1.23.2-cp310-cp310-win32.whl
01e508b8b4f591daff128da1cfde8e1f numpy-1.23.2-cp310-cp310-win_amd64.whl
8ecdb7e2a87255878b748550d91cfbe0 numpy-1.23.2-cp311-cp311-macosx_10_9_x86_64.whl
e3004aae46cec9e234f78eaf473272e0 numpy-1.23.2-cp311-cp311-macosx_11_0_arm64.whl
ec23c73caf581867d5ca9255b802f144 numpy-1.23.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9b8389f528fe113247954248f0b78ce1 numpy-1.23.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a54b136daa2fbb483909f08eecbfa3c5 numpy-1.23.2-cp311-cp311-win32.whl
ead32e141857c5ef33b1a6cd88aefc0f numpy-1.23.2-cp311-cp311-win_amd64.whl
df1f18e52d0a2840d101fdc9c2c6af84 numpy-1.23.2-cp38-cp38-macosx_10_9_x86_64.whl
04c986880bb24fac2f44face75eab914 numpy-1.23.2-cp38-cp38-macosx_11_0_arm64.whl
edeba58edb214390112810f7ead903a8 numpy-1.23.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c26ea699d94d7f1009c976c66cc4def3 numpy-1.23.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c246a78b09f8893d998d449dcab0fac3 numpy-1.23.2-cp38-cp38-win32.whl
b5c5a2f961402259e301c49b8b05de55 numpy-1.23.2-cp38-cp38-win_amd64.whl
d156dfae94d33eeff7fb9c6e5187e049 numpy-1.23.2-cp39-cp39-macosx_10_9_x86_64.whl
7f2ad7867c577eab925a31de76486765 numpy-1.23.2-cp39-cp39-macosx_11_0_arm64.whl
76262a8e5d7a4d945446467467300a10 numpy-1.23.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8ee105f4574d61a2d494418b55f63fcb numpy-1.23.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2b7c79cae66023f8e716150223201981 numpy-1.23.2-cp39-cp39-win32.whl
d7af57dd070ccb165f3893412eb602e3 numpy-1.23.2-cp39-cp39-win_amd64.whl
355a231dbd87a0f2125cc23eb8f97075 numpy-1.23.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
4ab13c35056f67981d03f9ceec41db42 numpy-1.23.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3a6f1e1256ee9be10d8cdf6be578fe52 numpy-1.23.2-pp38-pypy38_pp73-win_amd64.whl
9bf2a361509797de14ceee607387fe0f numpy-1.23.2.tar.gz
SHA256
e603ca1fb47b913942f3e660a15e55a9ebca906857edfea476ae5f0fe9b457d5 numpy-1.23.2-cp310-cp310-macosx_10_9_x86_64.whl
633679a472934b1c20a12ed0c9a6c9eb167fbb4cb89031939bfd03dd9dbc62b8 numpy-1.23.2-cp310-cp310-macosx_11_0_arm64.whl
17e5226674f6ea79e14e3b91bfbc153fdf3ac13f5cc54ee7bc8fdbe820a32da0 numpy-1.23.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bdc02c0235b261925102b1bd586579b7158e9d0d07ecb61148a1799214a4afd5 numpy-1.23.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
df28dda02c9328e122661f399f7655cdcbcf22ea42daa3650a26bce08a187450 numpy-1.23.2-cp310-cp310-win32.whl
8ebf7e194b89bc66b78475bd3624d92980fca4e5bb86dda08d677d786fefc414 numpy-1.23.2-cp310-cp310-win_amd64.whl
dc76bca1ca98f4b122114435f83f1fcf3c0fe48e4e6f660e07996abf2f53903c numpy-1.23.2-cp311-cp311-macosx_10_9_x86_64.whl
ecfdd68d334a6b97472ed032b5b37a30d8217c097acfff15e8452c710e775524 numpy-1.23.2-cp311-cp311-macosx_11_0_arm64.whl
5593f67e66dea4e237f5af998d31a43e447786b2154ba1ad833676c788f37cde numpy-1.23.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ac987b35df8c2a2eab495ee206658117e9ce867acf3ccb376a19e83070e69418 numpy-1.23.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d98addfd3c8728ee8b2c49126f3c44c703e2b005d4a95998e2167af176a9e722 numpy-1.23.2-cp311-cp311-win32.whl
8ecb818231afe5f0f568c81f12ce50f2b828ff2b27487520d85eb44c71313b9e numpy-1.23.2-cp311-cp311-win_amd64.whl
909c56c4d4341ec8315291a105169d8aae732cfb4c250fbc375a1efb7a844f8f numpy-1.23.2-cp38-cp38-macosx_10_9_x86_64.whl
8247f01c4721479e482cc2f9f7d973f3f47810cbc8c65e38fd1bbd3141cc9842 numpy-1.23.2-cp38-cp38-macosx_11_0_arm64.whl
b8b97a8a87cadcd3f94659b4ef6ec056261fa1e1c3317f4193ac231d4df70215 numpy-1.23.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bd5b7ccae24e3d8501ee5563e82febc1771e73bd268eef82a1e8d2b4d556ae66 numpy-1.23.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9b83d48e464f393d46e8dd8171687394d39bc5abfe2978896b77dc2604e8635d numpy-1.23.2-cp38-cp38-win32.whl
dec198619b7dbd6db58603cd256e092bcadef22a796f778bf87f8592b468441d numpy-1.23.2-cp38-cp38-win_amd64.whl
4f41f5bf20d9a521f8cab3a34557cd77b6f205ab2116651f12959714494268b0 numpy-1.23.2-cp39-cp39-macosx_10_9_x86_64.whl
806cc25d5c43e240db709875e947076b2826f47c2c340a5a2f36da5bb10c58d6 numpy-1.23.2-cp39-cp39-macosx_11_0_arm64.whl
8f9d84a24889ebb4c641a9b99e54adb8cab50972f0166a3abc14c3b93163f074 numpy-1.23.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c403c81bb8ffb1c993d0165a11493fd4bf1353d258f6997b3ee288b0a48fce77 numpy-1.23.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cf8c6aed12a935abf2e290860af8e77b26a042eb7f2582ff83dc7ed5f963340c numpy-1.23.2-cp39-cp39-win32.whl
5e28cd64624dc2354a349152599e55308eb6ca95a13ce6a7d5679ebff2962913 numpy-1.23.2-cp39-cp39-win_amd64.whl
806970e69106556d1dd200e26647e9bee5e2b3f1814f9da104a943e8d548ca38 numpy-1.23.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
2bd879d3ca4b6f39b7770829f73278b7c5e248c91d538aab1e506c628353e47f numpy-1.23.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
be6b350dfbc7f708d9d853663772a9310783ea58f6035eec649fb9c4371b5389 numpy-1.23.2-pp38-pypy38_pp73-win_amd64.whl
b78d00e48261fbbd04aa0d7427cf78d18401ee0abd89c7559bbf422e5b1c7d01 numpy-1.23.2.tar.gz
v1.23.1
NumPy 1.23.1 Release Notes
The NumPy 1.23.1 is a maintenance release that fixes bugs discovered after the 1.23.0 release. Notable fixes are:
- Fix searchsorted for float16 NaNs
- Fix compilation on Apple M1
- Fix KeyError in crackfortran operator support (Slycot)
The Python version supported for this release are 3.8-3.10.
Contributors
A total of 7 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- Charles Harris
- Matthias Koeppe +
- Pranab Das +
- Rohit Goswami
- Sebastian Berg
- Serge Guelton
- Srimukh Sripada +
Pull requests merged
A total of 8 pull requests were merged for this release.
- #21866: BUG: Fix discovered MachAr (still used within valgrind)
- #21867: BUG: Handle NaNs correctly for float16 during sorting
-
#21868: BUG: Use
keepdims
during normalization innp.average
and... -
#21869: DOC: mention changes to
max_rows
behaviour innp.loadtxt
- #21870: BUG: Reject non integer array-likes with size 1 in delete
- #21949: BLD: Make can_link_svml return False for 32bit builds on x86_64
- #21951: BUG: Reorder extern "C" to only apply to function declarations...
- #21952: BUG: Fix KeyError in crackfortran operator support
Checksums
MD5
79f0d8c114f282b834b49209d6955f98 numpy-1.23.1-cp310-cp310-macosx_10_9_x86_64.whl
42a89a88ef26b768e8933ce46b1cc2bd numpy-1.23.1-cp310-cp310-macosx_11_0_arm64.whl
1c1d68b3483eaf99b9a3583c8ac8bf47 numpy-1.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9d3e9f7f9b3dce6cf15209e4f25f346e numpy-1.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a9afb7c34b48d08fc50427ae6516b42d numpy-1.23.1-cp310-cp310-win32.whl
a0e02823883bdfcec49309e108f65e13 numpy-1.23.1-cp310-cp310-win_amd64.whl
f40cdf4ec7bb0cf31a90a4fa294323c2 numpy-1.23.1-cp38-cp38-macosx_10_9_x86_64.whl
80115a959f0fe30d6c401b2650a61c70 numpy-1.23.1-cp38-cp38-macosx_11_0_arm64.whl
1cf199b3a93960c4f269853a56a8d8eb numpy-1.23.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
aa6f0f192312c79cd770c2c395e9982a numpy-1.23.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d07bee0ea3142a96cb5e4e16aca273ca numpy-1.23.1-cp38-cp38-win32.whl
02d0734ae8ad5e18a40c6c6de18486a0 numpy-1.23.1-cp38-cp38-win_amd64.whl
e1ca14acd7d83bc74bdf6ab0bb4bd195 numpy-1.23.1-cp39-cp39-macosx_10_9_x86_64.whl
c9152c62b2f31e742e24bfdc97b28666 numpy-1.23.1-cp39-cp39-macosx_11_0_arm64.whl
05b0b37c92f7a7e7c01afac0a5322b40 numpy-1.23.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d9810bb71a0ef9837e87ea5c44fcab5e numpy-1.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4255577f857e838f7a94e3a614ddc5eb numpy-1.23.1-cp39-cp39-win32.whl
787486e3cd87b98024ffe1c969c4db7a numpy-1.23.1-cp39-cp39-win_amd64.whl
5c7b2d1471b1b9ec6ff1cb3fe1f8ac14 numpy-1.23.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
40d5b2ff869707b0d97325ce44631135 numpy-1.23.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
44ce1e07927cc09415df9898857792da numpy-1.23.1-pp38-pypy38_pp73-win_amd64.whl
4f8636a9c1a77ca0fb923ba55378891f numpy-1.23.1.tar.gz
SHA256
b15c3f1ed08df4980e02cc79ee058b788a3d0bef2fb3c9ca90bb8cbd5b8a3a04 numpy-1.23.1-cp310-cp310-macosx_10_9_x86_64.whl
9ce242162015b7e88092dccd0e854548c0926b75c7924a3495e02c6067aba1f5 numpy-1.23.1-cp310-cp310-macosx_11_0_arm64.whl
e0d7447679ae9a7124385ccf0ea990bb85bb869cef217e2ea6c844b6a6855073 numpy-1.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3119daed207e9410eaf57dcf9591fdc68045f60483d94956bee0bfdcba790953 numpy-1.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3ab67966c8d45d55a2bdf40701536af6443763907086c0a6d1232688e27e5447 numpy-1.23.1-cp310-cp310-win32.whl
1865fdf51446839ca3fffaab172461f2b781163f6f395f1aed256b1ddc253622 numpy-1.23.1-cp310-cp310-win_amd64.whl
aeba539285dcf0a1ba755945865ec61240ede5432df41d6e29fab305f4384db2 numpy-1.23.1-cp38-cp38-macosx_10_9_x86_64.whl
7e8229f3687cdadba2c4faef39204feb51ef7c1a9b669247d49a24f3e2e1617c numpy-1.23.1-cp38-cp38-macosx_11_0_arm64.whl
68b69f52e6545af010b76516f5daaef6173e73353e3295c5cb9f96c35d755641 numpy-1.23.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
1408c3527a74a0209c781ac82bde2182b0f0bf54dea6e6a363fe0cc4488a7ce7 numpy-1.23.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
47f10ab202fe4d8495ff484b5561c65dd59177949ca07975663f4494f7269e3e numpy-1.23.1-cp38-cp38-win32.whl
37e5ebebb0eb54c5b4a9b04e6f3018e16b8ef257d26c8945925ba8105008e645 numpy-1.23.1-cp38-cp38-win_amd64.whl
173f28921b15d341afadf6c3898a34f20a0569e4ad5435297ba262ee8941e77b numpy-1.23.1-cp39-cp39-macosx_10_9_x86_64.whl
876f60de09734fbcb4e27a97c9a286b51284df1326b1ac5f1bf0ad3678236b22 numpy-1.23.1-cp39-cp39-macosx_11_0_arm64.whl
35590b9c33c0f1c9732b3231bb6a72d1e4f77872390c47d50a615686ae7ed3fd numpy-1.23.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a35c4e64dfca659fe4d0f1421fc0f05b8ed1ca8c46fb73d9e5a7f175f85696bb numpy-1.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c2f91f88230042a130ceb1b496932aa717dcbd665350beb821534c5c7e15881c numpy-1.23.1-cp39-cp39-win32.whl
37ece2bd095e9781a7156852e43d18044fd0d742934833335599c583618181b9 numpy-1.23.1-cp39-cp39-win_amd64.whl
8002574a6b46ac3b5739a003b5233376aeac5163e5dcd43dd7ad062f3e186129 numpy-1.23.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
5d732d17b8a9061540a10fda5bfeabca5785700ab5469a5e9b93aca5e2d3a5fb numpy-1.23.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
55df0f7483b822855af67e38fb3a526e787adf189383b4934305565d71c4b148 numpy-1.23.1-pp38-pypy38_pp73-win_amd64.whl
d748ef349bfef2e1194b59da37ed5a29c19ea8d7e6342019921ba2ba4fd8b624 numpy-1.23.1.tar.gz
v1.23.0
NumPy 1.23.0 Release Notes
The NumPy 1.23.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, clarify the documentation, and expire old deprecations. The highlights are:
- Implementation of
loadtxt
in C, greatly improving its performance. - Exposing DLPack at the Python level for easy data exchange.
- Changes to the promotion and comparisons of structured dtypes.
- Improvements to f2py.
See below for the details,
New functions
-
A masked array specialization of
ndenumerate
is now available asnumpy.ma.ndenumerate
. It provides an alternative tonumpy.ndenumerate
and skips masked values by default.(gh-20020)
-
numpy.from_dlpack
has been added to allow easy exchange of data using the DLPack protocol. It accepts Python objects that implement the__dlpack__
and__dlpack_device__
methods and returns a ndarray object which is generally the view of the data of the input object.(gh-21145)
Deprecations
-
Setting
__array_finalize__
toNone
is deprecated. It must now be a method and may wish to callsuper().__array_finalize__(obj)
after checking forNone
or if the NumPy version is sufficiently new.(gh-20766)
-
Using
axis=32
(axis=np.MAXDIMS
) in many cases had the same meaning asaxis=None
. This is deprecated andaxis=None
must be used instead.(gh-20920)
-
The hook function
PyDataMem_SetEventHook
has been deprecated and the demonstration of its use in tool/allocation_tracking has been removed. The ability to track allocations is now built-in to python viatracemalloc
.(gh-20394)
-
numpy.distutils
has been deprecated, as a result ofdistutils
itself being deprecated. It will not be present in NumPy for Python >= 3.12, and will be removed completely 2 years after the release of Python 3.12 For more details, seedistutils-status-migration
{.interpreted-text role="ref"}.(gh-20875)
-
numpy.loadtxt
will now give aDeprecationWarning
when an integerdtype
is requested but the value is formatted as a floating point number.(gh-21663)
Expired deprecations
-
The
NpzFile.iteritems()
andNpzFile.iterkeys()
methods have been removed as part of the continued removal of Python 2 compatibility. This concludes the deprecation from 1.15.(gh-16830)
-
The
alen
andasscalar
functions have been removed.(gh-20414)
-
The
UPDATEIFCOPY
array flag has been removed together with the enumNPY_ARRAY_UPDATEIFCOPY
. The associated (and deprecated)PyArray_XDECREF_ERR
was also removed. These were all deprecated in 1.14. They are replaced byWRITEBACKIFCOPY
, that requires callingPyArray_ResoveWritebackIfCopy
before the array is deallocated.(gh-20589)
-
Exceptions will be raised during array-like creation. When an object raised an exception during access of the special attributes
__array__
or__array_interface__
, this exception was usually ignored. This behaviour was deprecated in 1.21, and the exception will now be raised.(gh-20835)
-
Multidimensional indexing with non-tuple values is not allowed. Previously, code such as
arr[ind]
whereind = [[0, 1], [0, 1]]
produced aFutureWarning
and was interpreted as a multidimensional index (i.e.,arr[tuple(ind)]
). Now this example is treated like an array index over a single dimension (arr[array(ind)]
). Multidimensional indexing with anything but a tuple was deprecated in NumPy 1.15.(gh-21029)
-
Changing to a dtype of different size in F-contiguous arrays is no longer permitted. Deprecated since Numpy 1.11.0. See below for an extended explanation of the effects of this change.
(gh-20722)
New Features
crackfortran has support for operator and assignment overloading
crackfortran
parser now understands operator and assignment
definitions in a module. They are added in the body
list of the module
which contains a new key implementedby
listing the names of the
subroutines or functions implementing the operator or assignment.
(gh-15006)
f2py supports reading access type attributes from derived type statements
As a result, one does not need to use public
or private
statements
to specify derived type access properties.
(gh-15844)
ndmin
added to genfromtxt
New parameter This parameter behaves the same as ndmin
from numpy.loadtxt
.
(gh-20500)
np.loadtxt
now supports quote character and single converter function
numpy.loadtxt
now supports an additional quotechar
keyword argument
which is not set by default. Using quotechar='"'
will read quoted
fields as used by the Excel CSV dialect.
Further, it is now possible to pass a single callable rather than a
dictionary for the converters
argument.
(gh-20580)
Changing to dtype of a different size now requires contiguity of only the last axis
Previously, viewing an array with a dtype of a different item size required that the entire array be C-contiguous. This limitation would unnecessarily force the user to make contiguous copies of non-contiguous arrays before being able to change the dtype.
This change affects not only ndarray.view
, but other construction
mechanisms, including the discouraged direct assignment to
ndarray.dtype
.
This change expires the deprecation regarding the viewing of F-contiguous arrays, described elsewhere in the release notes.
(gh-20722)
Deterministic output files for F2PY
For F77 inputs, f2py
will generate modname-f2pywrappers.f
unconditionally, though these may be empty. For free-form inputs,
modname-f2pywrappers.f
, modname-f2pywrappers2.f90
will both be
generated unconditionally, and may be empty. This allows writing generic
output rules in cmake
or meson
and other build systems. Older
behavior can be restored by passing --skip-empty-wrappers
to f2py
.
f2py-meson
{.interpreted-text role="ref"} details usage.
(gh-21187)
keepdims
parameter for average
The parameter keepdims
was added to the functions numpy.average
and
numpy.ma.average
. The parameter has the same meaning as it does in
reduction functions such as numpy.sum
or numpy.mean
.
(gh-21485)
equal_nan
added to np.unique
New parameter np.unique
was changed in 1.21 to treat all NaN
values as equal and
return a single NaN
. Setting equal_nan=False
will restore pre-1.21
behavior to treat NaNs
as unique. Defaults to True
.
(gh-21623)
Compatibility notes
np.linalg.norm
preserves float input types, even for scalar results
1D Previously, this would promote to float64
when the ord
argument was
not one of the explicitly listed values, e.g. ord=3
:
>>> f32 = np.float32([1, 2])
>>> np.linalg.norm(f32, 2).dtype
dtype('float32')
>>> np.linalg.norm(f32, 3)
dtype('float64') # numpy 1.22
dtype('float32') # numpy 1.23
This change affects only float32
and float16
vectors with ord
other than -Inf
, 0
, 1
, 2
, and Inf
.
(gh-17709)
Changes to structured (void) dtype promotion and comparisons
In general, NumPy now defines correct, but slightly limited, promotion for structured dtypes by promoting the subtypes of each field instead of raising an exception:
>>> np.result_type(np.dtype("i,i"), np.dtype("i,d"))
dtype([('f0', '<i4'), ('f1', '<f8')])
For promotion matching field names, order, and titles are enforced,
however padding is ignored. Promotion involving structured dtypes now
always ensures native byte-order for all fields (which may change the
result of np.concatenate
) and ensures that the result will be
"packed", i.e. all fields are ordered contiguously and padding is
removed. See
structured_dtype_comparison_and_promotion
{.interpreted-text
role="ref"} for further details.
The repr
of aligned structures will now never print the long form
including offsets
and itemsize
unless the structure includes padding
not guaranteed by align=True
.
In alignment with the above changes to the promotion logic, the casting safety has been updated:
-
"equiv"
enforces matching names and titles. The itemsize is allowed to differ due to padding. -
"safe"
allows mismatching field names and titles - The cast safety is limited by the cast safety of each included field.
- The order of fields is used to decide cast safety of each individual field. Previously, the field names were used and only unsafe casts were possible when names mismatched.
The main important change here is that name mismatches are now considered "safe" casts.
(gh-19226)
NPY_RELAXED_STRIDES_CHECKING
has been removed
NumPy cannot be compiled with NPY_RELAXED_STRIDES_CHECKING=0
anymore.
Relaxed strides have been the default for many years and the option was
initially introduced to allow a smoother transition.
(gh-20220)
np.loadtxt
has recieved several changes
The row counting of numpy.loadtxt
was fixed. loadtxt
ignores fully
empty lines in the file, but counted them towards max_rows
. When
max_rows
is used and the file contains empty lines, these will now not
be counted. Previously, it was possible that the result contained fewer
than max_rows
rows even though more data was available to be read. If
the old behaviour is required, itertools.islice
may be used:
import itertools
lines = itertools.islice(open("file"), 0, max_rows)
result = np.loadtxt(lines, ...)
While generally much faster and improved, numpy.loadtxt
may now fail
to converter certain strings to numbers that were previously
successfully read. The most important cases for this are:
- Parsing floating point values such as
1.0
into integers is now deprecated. - Parsing hexadecimal floats such as
0x3p3
will fail - An
_
was previously accepted as a thousands delimiter100_000
. This will now result in an error.
If you experience these limitations, they can all be worked around by
passing appropriate converters=
. NumPy now supports passing a single
converter to be used for all columns to make this more convenient. For
example, converters=float.fromhex
can read hexadecimal float numbers
and converters=int
will be able to read 100_000
.
Further, the error messages have been generally improved. However, this
means that error types may differ. In particularly, a ValueError
is
now always raised when parsing of a single entry fails.
(gh-20580)
Improvements
ndarray.__array_finalize__
is now callable
This means subclasses can now use super().__array_finalize__(obj)
without worrying whether ndarray
is their superclass or not. The
actual call remains a no-op.
(gh-20766)
Add support for VSX4/Power10
With VSX4/Power10 enablement, the new instructions available in Power ISA 3.1 can be used to accelerate some NumPy operations, e.g., floor_divide, modulo, etc.
(gh-20821)
np.fromiter
now accepts objects and subarrays
The numpy.fromiter
function now supports object and subarray dtypes.
Please see he function documentation for examples.
(gh-20993)
Math C library feature detection now uses correct signatures
Compiling is preceded by a detection phase to determine whether the
underlying libc supports certain math operations. Previously this code
did not respect the proper signatures. Fixing this enables compilation
for the wasm-ld
backend (compilation for web assembly) and reduces the
number of warnings.
(gh-21154)
np.kron
now maintains subclass information
np.kron
maintains subclass information now such as masked arrays while
computing the Kronecker product of the inputs
>>> x = ma.array([[1, 2], [3, 4]], mask=[[0, 1], [1, 0]])
>>> np.kron(x,x)
masked_array(
data=[[1, --, --, --],
[--, 4, --, --],
[--, --, 4, --],
[--, --, --, 16]],
mask=[[False, True, True, True],
[ True, False, True, True],
[ True, True, False, True],
[ True, True, True, False]],
fill_value=999999)
np.kron
output now follows ufunc
ordering (multiply
) to determine
the output class type
>>> class myarr(np.ndarray):
>>> __array_priority__ = -1
>>> a = np.ones([2, 2])
>>> ma = myarray(a.shape, a.dtype, a.data)
>>> type(np.kron(a, ma)) == np.ndarray
False # Before it was True
>>> type(np.kron(a, ma)) == myarr
True
(gh-21262)
Performance improvements and changes
np.loadtxt
Faster numpy.loadtxt
is now generally much faster than previously as most of
it is now implemented in C.
(gh-20580)
Faster reduction operators
Reduction operations like numpy.sum
, numpy.prod
, numpy.add.reduce
,
numpy.logical_and.reduce
on contiguous integer-based arrays are now
much faster.
(gh-21001)
np.where
Faster numpy.where
is now much faster than previously on unpredictable/random
input data.
(gh-21130)
Faster operations on NumPy scalars
Many operations on NumPy scalars are now significantly faster, although
rare operations (e.g. with 0-D arrays rather than scalars) may be slower
in some cases. However, even with these improvements users who want the
best performance for their scalars, may want to convert a known NumPy
scalar into a Python one using scalar.item()
.
(gh-21188)
np.kron
Faster numpy.kron
is about 80% faster as the product is now computed using
broadcasting.
(gh-21354)
Checksums
MD5
21839aaeab3088e685d7c8d0e1856a23 numpy-1.23.0-cp310-cp310-macosx_10_9_x86_64.whl
e657684ea521c50de0197aabfb44e78d numpy-1.23.0-cp310-cp310-macosx_11_0_arm64.whl
219017660861fdec59b852630e3fef2a numpy-1.23.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
03c3df83b8327910482a7d24ebe9213b numpy-1.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b8f06ce4054acc147845a9643bd36082 numpy-1.23.0-cp310-cp310-win32.whl
877322db5a62634eef4e351db99a070d numpy-1.23.0-cp310-cp310-win_amd64.whl
7bb54f95e74306eff733466b6343695f numpy-1.23.0-cp38-cp38-macosx_10_9_x86_64.whl
5514a0030e5cf065e916950737d6d129 numpy-1.23.0-cp38-cp38-macosx_11_0_arm64.whl
22d43465791814fe50e03ded430bd80c numpy-1.23.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
771a1f7e488327645bac5b54dd2f6286 numpy-1.23.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
449bfa2d55aff3e722d2fc85a7549620 numpy-1.23.0-cp38-cp38-win32.whl
60c7d27cf92dadb6d206df6e65b1032f numpy-1.23.0-cp38-cp38-win_amd64.whl
dc2a5c5d2223f7b45a45f7f760d0f2db numpy-1.23.0-cp39-cp39-macosx_10_9_x86_64.whl
ba5729353c3521ed7ee72c796e77a546 numpy-1.23.0-cp39-cp39-macosx_11_0_arm64.whl
06d5cd49de096482944dead2eb92d783 numpy-1.23.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6ff50a994f6006349b5f1415e4da6f45 numpy-1.23.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
49185f219512403ef23d43d6f2adbefd numpy-1.23.0-cp39-cp39-win32.whl
ff126a84dcf91700f9ca13ff606d109f numpy-1.23.0-cp39-cp39-win_amd64.whl
e1462428487dc599cdffb723dec642c4 numpy-1.23.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
fef1d20265135737fbc0f91ca4441990 numpy-1.23.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4f8142288202a32c682d01921d6c2c78 numpy-1.23.0-pp38-pypy38_pp73-win_amd64.whl
513e4241d06b8fae5732cd049cdf3b57 numpy-1.23.0.tar.gz
SHA256
58bfd40eb478f54ff7a5710dd61c8097e169bc36cc68333d00a9bcd8def53b38 numpy-1.23.0-cp310-cp310-macosx_10_9_x86_64.whl
196cd074c3f97c4121601790955f915187736f9cf458d3ee1f1b46aff2b1ade0 numpy-1.23.0-cp310-cp310-macosx_11_0_arm64.whl
f1d88ef79e0a7fa631bb2c3dda1ea46b32b1fe614e10fedd611d3d5398447f2f numpy-1.23.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d54b3b828d618a19779a84c3ad952e96e2c2311b16384e973e671aa5be1f6187 numpy-1.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2b2da66582f3a69c8ce25ed7921dcd8010d05e59ac8d89d126a299be60421171 numpy-1.23.0-cp310-cp310-win32.whl
97a76604d9b0e79f59baeca16593c711fddb44936e40310f78bfef79ee9a835f numpy-1.23.0-cp310-cp310-win_amd64.whl
d8cc87bed09de55477dba9da370c1679bd534df9baa171dd01accbb09687dac3 numpy-1.23.0-cp38-cp38-macosx_10_9_x86_64.whl
f0f18804df7370571fb65db9b98bf1378172bd4e962482b857e612d1fec0f53e numpy-1.23.0-cp38-cp38-macosx_11_0_arm64.whl
ac86f407873b952679f5f9e6c0612687e51547af0e14ddea1eedfcb22466babd numpy-1.23.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ae8adff4172692ce56233db04b7ce5792186f179c415c37d539c25de7298d25d numpy-1.23.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fe8b9683eb26d2c4d5db32cd29b38fdcf8381324ab48313b5b69088e0e355379 numpy-1.23.0-cp38-cp38-win32.whl
5043bcd71fcc458dfb8a0fc5509bbc979da0131b9d08e3d5f50fb0bbb36f169a numpy-1.23.0-cp38-cp38-win_amd64.whl
1c29b44905af288b3919803aceb6ec7fec77406d8b08aaa2e8b9e63d0fe2f160 numpy-1.23.0-cp39-cp39-macosx_10_9_x86_64.whl
98e8e0d8d69ff4d3fa63e6c61e8cfe2d03c29b16b58dbef1f9baa175bbed7860 numpy-1.23.0-cp39-cp39-macosx_11_0_arm64.whl
79a506cacf2be3a74ead5467aee97b81fca00c9c4c8b3ba16dbab488cd99ba10 numpy-1.23.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
092f5e6025813e64ad6d1b52b519165d08c730d099c114a9247c9bb635a2a450 numpy-1.23.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d6ca8dabe696c2785d0c8c9b0d8a9b6e5fdbe4f922bde70d57fa1a2848134f95 numpy-1.23.0-cp39-cp39-win32.whl
fc431493df245f3c627c0c05c2bd134535e7929dbe2e602b80e42bf52ff760bc numpy-1.23.0-cp39-cp39-win_amd64.whl
f9c3fc2adf67762c9fe1849c859942d23f8d3e0bee7b5ed3d4a9c3eeb50a2f07 numpy-1.23.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
d0d2094e8f4d760500394d77b383a1b06d3663e8892cdf5df3c592f55f3bff66 numpy-1.23.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
94b170b4fa0168cd6be4becf37cb5b127bd12a795123984385b8cd4aca9857e5 numpy-1.23.0-pp38-pypy38_pp73-win_amd64.whl
bd3fa4fe2e38533d5336e1272fc4e765cabbbde144309ccee8675509d5cd7b05 numpy-1.23.0.tar.gz
v1.22.4
NumPy 1.22.4 Release Notes
NumPy 1.22.4 is a maintenance release that fixes bugs discovered after the 1.22.3 release. In addition, the wheels for this release are built using the recently released Cython 0.29.30, which should fix the reported problems with debugging.
The Python versions supported for this release are 3.8-3.10. Note that the Mac wheels are now based on OS X 10.15 rather than 10.6 that was used in previous NumPy release cycles.
Contributors
A total of 12 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- Alexander Shadchin
- Bas van Beek
- Charles Harris
- Hood Chatham
- Jarrod Millman
- John-Mark Gurney +
- Junyan Ou +
- Mariusz Felisiak +
- Ross Barnowski
- Sebastian Berg
- Serge Guelton
- Stefan van der Walt
Pull requests merged
A total of 22 pull requests were merged for this release.
-
#21191: TYP, BUG: Fix
np.lib.stride_tricks
re-exported under the... - #21192: TST: Bump mypy from 0.931 to 0.940
-
#21243: MAINT: Explicitly re-export the types in
numpy._typing
- #21245: MAINT: Specify sphinx, numpydoc versions for CI doc builds
- #21275: BUG: Fix typos
- #21277: ENH, BLD: Fix math feature detection for wasm
- #21350: MAINT: Fix failing simd and cygwin tests.
- #21438: MAINT: Fix failing Python 3.8 32-bit Windows test.
- #21444: BUG: add linux guard per #21386
- #21445: BUG: Allow legacy dtypes to cast to datetime again
- #21446: BUG: Make mmap handling safer in frombuffer
- #21447: BUG: Stop using PyBytesObject.ob_shash deprecated in Python 3.11.
- #21448: ENH: Introduce numpy.core.setup_common.NPY_CXX_FLAGS
- #21472: BUG: Ensure compile errors are raised correclty
- #21473: BUG: Fix segmentation fault
- #21474: MAINT: Update doc requirements
-
#21475: MAINT: Mark
npy_memchr
withno_sanitize("alignment")
on clang - #21512: DOC: Proposal - make the doc landing page cards more similar...
- #21525: MAINT: Update Cython version to 0.29.30.
- #21536: BUG: Fix GCC error during build configuration
- #21541: REL: Prepare for the NumPy 1.22.4 release.
- #21547: MAINT: Skip tests that fail on PyPy.
Checksums
MD5
a19351fd3dc0b3bbc733495ed18b8f24 numpy-1.22.4-cp310-cp310-macosx_10_14_x86_64.whl
0730f9e196f70ad89f246bf95ccf05d5 numpy-1.22.4-cp310-cp310-macosx_10_15_x86_64.whl
63c74e5395a2b31d8adc5b1aa0c62471 numpy-1.22.4-cp310-cp310-macosx_11_0_arm64.whl
f99778023770c12f896768c90f7712e5 numpy-1.22.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
757d68b0cdb4e28ffce8574b6a2f3c5e numpy-1.22.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
50becf2e048e54dc5227dfe8378aae1e numpy-1.22.4-cp310-cp310-win32.whl
79dfdc29a4730e44d6df33dbea5b35b0 numpy-1.22.4-cp310-cp310-win_amd64.whl
8fd8f04d71ead55c2773d1b46668ca67 numpy-1.22.4-cp38-cp38-macosx_10_15_x86_64.whl
41a7c6240081010824cc0d5c02900fe6 numpy-1.22.4-cp38-cp38-macosx_11_0_arm64.whl
6bc066d3f61da3304c82d92f3f900a4f numpy-1.22.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
86d959605c66ccba11c6504f25fff0d7 numpy-1.22.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ae0405894c065349a511e4575b919e2a numpy-1.22.4-cp38-cp38-win32.whl
c9a731d08081396b7a1b66977734d2ac numpy-1.22.4-cp38-cp38-win_amd64.whl
4d9b97d74799e5fc48860f0b4a3b255a numpy-1.22.4-cp39-cp39-macosx_10_14_x86_64.whl
c99fa7e04cb7cc23f1713f2023b4e489 numpy-1.22.4-cp39-cp39-macosx_10_15_x86_64.whl
dda3815df12b8a99c6c3069f69997521 numpy-1.22.4-cp39-cp39-macosx_11_0_arm64.whl
9b7c5b39d5611d92b66eb545d44b25db numpy-1.22.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
90fc45eaf8b8c4fac3f3ebd105a5a856 numpy-1.22.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9562153d4a83d773c20eb626cbd65cde numpy-1.22.4-cp39-cp39-win32.whl
711b23acce54a18ce74fc80f48f48062 numpy-1.22.4-cp39-cp39-win_amd64.whl
ab803b24ea557452e828adba1b986af3 numpy-1.22.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
09b3a41ea0b9bc20bd1691cf88f0b0d3 numpy-1.22.4.tar.gz
b44849506fbb54cdef9dbb435b2b1987 numpy-1.22.4.zip
SHA256
ba9ead61dfb5d971d77b6c131a9dbee62294a932bf6a356e48c75ae684e635b3 numpy-1.22.4-cp310-cp310-macosx_10_14_x86_64.whl
1ce7ab2053e36c0a71e7a13a7475bd3b1f54750b4b433adc96313e127b870887 numpy-1.22.4-cp310-cp310-macosx_10_15_x86_64.whl
7228ad13744f63575b3a972d7ee4fd61815b2879998e70930d4ccf9ec721dce0 numpy-1.22.4-cp310-cp310-macosx_11_0_arm64.whl
43a8ca7391b626b4c4fe20aefe79fec683279e31e7c79716863b4b25021e0e74 numpy-1.22.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a911e317e8c826ea632205e63ed8507e0dc877dcdc49744584dfc363df9ca08c numpy-1.22.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9ce7df0abeabe7fbd8ccbf343dc0db72f68549856b863ae3dd580255d009648e numpy-1.22.4-cp310-cp310-win32.whl
3e1ffa4748168e1cc8d3cde93f006fe92b5421396221a02f2274aab6ac83b077 numpy-1.22.4-cp310-cp310-win_amd64.whl
59d55e634968b8f77d3fd674a3cf0b96e85147cd6556ec64ade018f27e9479e1 numpy-1.22.4-cp38-cp38-macosx_10_15_x86_64.whl
c1d937820db6e43bec43e8d016b9b3165dcb42892ea9f106c70fb13d430ffe72 numpy-1.22.4-cp38-cp38-macosx_11_0_arm64.whl
d4c5d5eb2ec8da0b4f50c9a843393971f31f1d60be87e0fb0917a49133d257d6 numpy-1.22.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
64f56fc53a2d18b1924abd15745e30d82a5782b2cab3429aceecc6875bd5add0 numpy-1.22.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fb7a980c81dd932381f8228a426df8aeb70d59bbcda2af075b627bbc50207cba numpy-1.22.4-cp38-cp38-win32.whl
e96d7f3096a36c8754207ab89d4b3282ba7b49ea140e4973591852c77d09eb76 numpy-1.22.4-cp38-cp38-win_amd64.whl
4c6036521f11a731ce0648f10c18ae66d7143865f19f7299943c985cdc95afb5 numpy-1.22.4-cp39-cp39-macosx_10_14_x86_64.whl
b89bf9b94b3d624e7bb480344e91f68c1c6c75f026ed6755955117de00917a7c numpy-1.22.4-cp39-cp39-macosx_10_15_x86_64.whl
2d487e06ecbf1dc2f18e7efce82ded4f705f4bd0cd02677ffccfb39e5c284c7e numpy-1.22.4-cp39-cp39-macosx_11_0_arm64.whl
f3eb268dbd5cfaffd9448113539e44e2dd1c5ca9ce25576f7c04a5453edc26fa numpy-1.22.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
37431a77ceb9307c28382c9773da9f306435135fae6b80b62a11c53cfedd8802 numpy-1.22.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cc7f00008eb7d3f2489fca6f334ec19ca63e31371be28fd5dad955b16ec285bd numpy-1.22.4-cp39-cp39-win32.whl
f0725df166cf4785c0bc4cbfb320203182b1ecd30fee6e541c8752a92df6aa32 numpy-1.22.4-cp39-cp39-win_amd64.whl
0791fbd1e43bf74b3502133207e378901272f3c156c4df4954cad833b1380207 numpy-1.22.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b4308198d0e41efaa108e57d69973398439c7299a9d551680cdd603cf6d20709 numpy-1.22.4.tar.gz
425b390e4619f58d8526b3dcf656dde069133ae5c240229821f01b5f44ea07af numpy-1.22.4.zip
Configuration
-
If you want to rebase/retry this MR, click this checkbox.
This MR has been generated by Renovate Bot.