UNCLASSIFIED - NO CUI

Skip to content

Draft: Update dependency numpy to v1.23.2

renovate requested to merge renovate/numpy-1.x into development

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

Compare Source

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 the nin=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 and transpose 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

Compare Source

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 in np.average and...
  • #​21869: DOC: mention changes to max_rows behaviour in np.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

Compare Source

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 as numpy.ma.ndenumerate. It provides an alternative to numpy.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__ to None is deprecated. It must now be a method and may wish to call super().__array_finalize__(obj) after checking for None or if the NumPy version is sufficiently new.

    (gh-20766)

  • Using axis=32 (axis=np.MAXDIMS) in many cases had the same meaning as axis=None. This is deprecated and axis=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 via tracemalloc.

    (gh-20394)

  • numpy.distutils has been deprecated, as a result of distutils 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, see distutils-status-migration{.interpreted-text role="ref"}.

    (gh-20875)

  • numpy.loadtxt will now give a DeprecationWarning when an integer dtype is requested but the value is formatted as a floating point number.

    (gh-21663)

Expired deprecations

  • The NpzFile.iteritems() and NpzFile.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 and asscalar functions have been removed.

    (gh-20414)

  • The UPDATEIFCOPY array flag has been removed together with the enum NPY_ARRAY_UPDATEIFCOPY. The associated (and deprecated) PyArray_XDECREF_ERR was also removed. These were all deprecated in 1.14. They are replaced by WRITEBACKIFCOPY, that requires calling PyArray_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] where ind = [[0, 1], [0, 1]] produced a FutureWarning 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)

New parameter ndmin added to genfromtxt

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)

New parameter equal_nan added to np.unique

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

1D np.linalg.norm preserves float input types, even for scalar results

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 delimiter 100_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)

Warning, 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

Faster np.loadtxt

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)

Faster np.where

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)

Faster np.kron

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

Compare Source

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 with no_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

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, click this checkbox.

This MR has been generated by Renovate Bot.

Merge request reports