Update dependency numpy to v2
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
numpy (changelog) | dependencies | major |
<2.0 -> <2.3
|
Release Notes
numpy/numpy (numpy)
v2.2.0
: 2.2.0 (Dec 8, 2024)
NumPy 2.2.0 Release Notes
The NumPy 2.2.0 release is quick release that brings us back into sync with the usual twice yearly release cycle. There have been an number of small cleanups, as well as work bringing the new StringDType to completion and improving support for free threaded Python. Highlights are:
- New functions
matvec
andvecmat
, see below. - Many improved annotations.
- Improved support for the new StringDType.
- Improved support for free threaded Python
- Fixes for f2py
This release supports Python versions 3.10-3.13.
Deprecations
-
_add_newdoc_ufunc
is now deprecated.ufunc.__doc__ = newdoc
should be used instead.(gh-27735)
Expired deprecations
-
bool(np.array([]))
and other empty arrays will now raise an error. Usearr.size > 0
instead to check whether an array has no elements.(gh-27160)
Compatibility notes
-
numpy.cov
now properly transposes single-row (2d array) design matrices whenrowvar=False
. Previously, single-row design matrices would return a scalar in this scenario, which is not correct, so this is a behavior change and an array of the appropriate shape will now be returned.(gh-27661)
New Features
-
New functions for matrix-vector and vector-matrix products
Two new generalized ufuncs were defined:
-
numpy.matvec
- matrix-vector product, treating the arguments as stacks of matrices and column vectors, respectively. -
numpy.vecmat
- vector-matrix product, treating the arguments as stacks of column vectors and matrices, respectively. For complex vectors, the conjugate is taken.
These add to the existing
numpy.matmul
as well as tonumpy.vecdot
, which was added in numpy 2.0.Note that
numpy.matmul
never takes a complex conjugate, also not when its left input is a vector, while bothnumpy.vecdot
andnumpy.vecmat
do take the conjugate for complex vectors on the left-hand side (which are taken to be the ones that are transposed, following the physics convention).(gh-25675)
-
-
np.complexfloating[T, T]
can now also be written asnp.complexfloating[T]
(gh-27420)
-
UFuncs now support
__dict__
attribute and allow overriding__doc__
(either directly or viaufunc.__dict__["__doc__"]
).__dict__
can be used to also override other properties, such as__module__
or__qualname__
.(gh-27735)
-
The "nbit" type parameter of
np.number
and its subtypes now defaults totyping.Any
. This way, type-checkers will infer annotations such asx: np.floating
asx: np.floating[Any]
, even in strict mode.(gh-27736)
Improvements
-
The
datetime64
andtimedelta64
hashes now correctly match the Pythons builtindatetime
andtimedelta
ones. The hashes now evaluated equal even for equal values with different time units.(gh-14622)
-
Fixed a number of issues around promotion for string ufuncs with StringDType arguments. Mixing StringDType and the fixed-width DTypes using the string ufuncs should now generate much more uniform results.
(gh-27636)
-
Improved support for empty
memmap
. Previously an emptymemmap
would fail unless a non-zerooffset
was set. Now a zero-sizememmap
is supported even ifoffset=0
. To achieve this, if amemmap
is mapped to an empty file that file is padded with a single byte.(gh-27723)
-
A regression has been fixed which allows F2PY users to expose variables to Python in modules with only assignments, and also fixes situations where multiple modules are present within a single source file.
(gh-27695)
Performance improvements and changes
-
Improved multithreaded scaling on the free-threaded build when many threads simultaneously call the same ufunc operations.
(gh-27896)
-
NumPy now uses fast-on-failure attribute lookups for protocols. This can greatly reduce overheads of function calls or array creation especially with custom Python objects. The largest improvements will be seen on Python 3.12 or newer.
(gh-27119)
-
OpenBLAS on x86_64 and i686 is built with fewer kernels. Based on benchmarking, there are 5 clusters of performance around these kernels:
PRESCOTT NEHALEM SANDYBRIDGE HASWELL SKYLAKEX
. -
OpenBLAS on windows is linked without quadmath, simplifying licensing
-
Due to a regression in OpenBLAS on windows, the performance improvements when using multiple threads for OpenBLAS 0.3.26 were reverted.
(gh-27147)
-
NumPy now indicates hugepages also for large
np.zeros
allocations on linux. Thus should generally improve performance.(gh-27808)
Changes
-
numpy.fix
now won't perform casting to a floating data-type for integer and boolean data-type input arrays.(gh-26766)
-
The type annotations of
numpy.float64
andnumpy.complex128
now reflect that they are also subtypes of the built-infloat
andcomplex
types, respectively. This update prevents static type-checkers from reporting errors in cases such as:x: float = numpy.float64(6.28) # valid z: complex = numpy.complex128(-1j) # valid
(gh-27334)
-
The
repr
of arrays large enough to be summarized (i.e., where elements are replaced with...
) now includes theshape
of the array, similar to what already was the case for arrays with zero size and non-obvious shape. With this change, the shape is always given when it cannot be inferred from the values. Note that while written asshape=...
, this argument cannot actually be passed in to thenp.array
constructor. If you encounter problems, e.g., due to failing doctests, you can use the print optionlegacy=2.1
to get the old behaviour.(gh-27482)
-
Calling
__array_wrap__
directly on NumPy arrays or scalars now does the right thing whenreturn_scalar
is passed (Added in NumPy 2). It is further safe now to call the scalar__array_wrap__
on a non-scalar result.(gh-27807)
-
Bump the musllinux CI image and wheels to 1_2 from 1_1. This is because 1_1 is end of life.
(gh-27088)
-
The NEP 50 promotion state settings are now removed. They were always meant as temporary means for testing. A warning will be given if the environment variable is set to anything but
NPY_PROMOTION_STATE=weak
while_set_promotion_state
and_get_promotion_state
are removed. In case code used_no_nep50_warning
, acontextlib.nullcontext
could be used to replace it when not available.(gh-27156)
Checksums
MD5
1b58b9e275e80364cd02dafb3f8daf35 numpy-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl
7d3773d9b665b2d7cfec0cc0b760e69e numpy-2.2.0-cp310-cp310-macosx_11_0_arm64.whl
8ef666a462d3765ccfd5288f2fdf8e08 numpy-2.2.0-cp310-cp310-macosx_14_0_arm64.whl
e4f9e3117075ffe53d7993253c774158 numpy-2.2.0-cp310-cp310-macosx_14_0_x86_64.whl
fd60e410e5db402a2d0c0cb4dd23281d numpy-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
64c083cdbd91eb8670cd72b619f3a039 numpy-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c3c75c2299f5163770e2e42f0dee5276 numpy-2.2.0-cp310-cp310-musllinux_1_2_aarch64.whl
f6ab05f787221bbaf8fb4a9778af5467 numpy-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
9b04caec124cadf90005ccdb662aad9f numpy-2.2.0-cp310-cp310-win32.whl
58934f23b6bc71fb1f984b688c1c6136 numpy-2.2.0-cp310-cp310-win_amd64.whl
769e53438154e53ba490fb4f816c083e numpy-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl
aa8060c013c04133b63780025eef4451 numpy-2.2.0-cp311-cp311-macosx_11_0_arm64.whl
72c10ef28a0ddffe6bf2495954ab82e0 numpy-2.2.0-cp311-cp311-macosx_14_0_arm64.whl
946b2510c86eb48e374e6987582c9b46 numpy-2.2.0-cp311-cp311-macosx_14_0_x86_64.whl
3f5203ae901ddd78cb298582eda07627 numpy-2.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fd14624d40100a5eb0181bf393394448 numpy-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7c86d51d89dbc5a6860d65641ea131ef numpy-2.2.0-cp311-cp311-musllinux_1_2_aarch64.whl
895c6588c74019b94fb3c740b9e9a0f5 numpy-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
1468ae1cb59a43991b199cfa6f1e5679 numpy-2.2.0-cp311-cp311-win32.whl
48a3792698a81917320b91a30c0bacf4 numpy-2.2.0-cp311-cp311-win_amd64.whl
db4377351f167d82adc66b16965d11bd numpy-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl
3f3978b5e480ed18d55b1799d9a534ff numpy-2.2.0-cp312-cp312-macosx_11_0_arm64.whl
584b4063eb66688b607f7e7bdca58011 numpy-2.2.0-cp312-cp312-macosx_14_0_arm64.whl
dfacf4ee4842d845f5e12f912ebc2055 numpy-2.2.0-cp312-cp312-macosx_14_0_x86_64.whl
2f10d9bc44635078a6222ed50c9fd0f2 numpy-2.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bb69665b4b68b7af82939132972e8261 numpy-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
92e9b03039ab737e6799dbd9d057fce2 numpy-2.2.0-cp312-cp312-musllinux_1_2_aarch64.whl
a4198f53e3906394012ab88dffff4077 numpy-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
f9cb2f38ae8272ab5eb4b209c59be45f numpy-2.2.0-cp312-cp312-win32.whl
6ffe9e1abf69bb8c4ee2e913b1badfde numpy-2.2.0-cp312-cp312-win_amd64.whl
330838b6e06481341b35f8d4b6b50bbb numpy-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl
4fb63be6d2b92acfba0c2eaedce82e06 numpy-2.2.0-cp313-cp313-macosx_11_0_arm64.whl
e4086f43f9ce29b5adf939e1b5150f03 numpy-2.2.0-cp313-cp313-macosx_14_0_arm64.whl
ba74e1f7142954127fb2aef544a6b05e numpy-2.2.0-cp313-cp313-macosx_14_0_x86_64.whl
83f51806139d5adc70a2e309d0300ad1 numpy-2.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bf9af9abb1e30521b3491f0748ba6199 numpy-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4d30c57bd7103b36a4bf7a4a9e25e10d numpy-2.2.0-cp313-cp313-musllinux_1_2_aarch64.whl
5b12557dde538f99fd87d1682638a212 numpy-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
ee7689d2ecbcbd7c883f69099bd41892 numpy-2.2.0-cp313-cp313-win32.whl
370a2b14681c6dc4af8596f62d96bb20 numpy-2.2.0-cp313-cp313-win_amd64.whl
e6fd32fb42fd89c7659e799d65c19557 numpy-2.2.0-cp313-cp313t-macosx_10_13_x86_64.whl
8e9b0579f2e22f38f57399ab18d6e651 numpy-2.2.0-cp313-cp313t-macosx_11_0_arm64.whl
71a7ee75208a633a8c36d4ed5b551c33 numpy-2.2.0-cp313-cp313t-macosx_14_0_arm64.whl
3d76dfe8c2e26dc42b97fdf086ce1fa5 numpy-2.2.0-cp313-cp313t-macosx_14_0_x86_64.whl
b70ea00b40fb7d1b5d84868d8a073afb numpy-2.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a6bc7090a4e2b1e9deabd0671c691129 numpy-2.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9789193a075e8d494851fe7955a23af7 numpy-2.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl
8c199d25bd806f737950428232b0dfa5 numpy-2.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl
1f566cfe4880ca30a591a828634da429 numpy-2.2.0-cp313-cp313t-win32.whl
eb9ea9f8fba78e7ae5b1415de1ee5c2c numpy-2.2.0-cp313-cp313t-win_amd64.whl
9fbe2640c73e4f391019db5af6e854f5 numpy-2.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
fc89986fda7ba19c7c50712f1fc1e342 numpy-2.2.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
d76c5769a3fdfb9e25b3c1a951bd021f numpy-2.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c138d726fee19ec6ba85eaa2ba9a3390 numpy-2.2.0-pp310-pypy310_pp73-win_amd64.whl
81a58d5fd26fe983162dc3cea2989b7a numpy-2.2.0.tar.gz
SHA256
1e25507d85da11ff5066269d0bd25d06e0a0f2e908415534f3e603d2a78e4ffa numpy-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl
a62eb442011776e4036af5c8b1a00b706c5bc02dc15eb5344b0c750428c94219 numpy-2.2.0-cp310-cp310-macosx_11_0_arm64.whl
b606b1aaf802e6468c2608c65ff7ece53eae1a6874b3765f69b8ceb20c5fa78e numpy-2.2.0-cp310-cp310-macosx_14_0_arm64.whl
36b2b43146f646642b425dd2027730f99bac962618ec2052932157e213a040e9 numpy-2.2.0-cp310-cp310-macosx_14_0_x86_64.whl
7fe8f3583e0607ad4e43a954e35c1748b553bfe9fdac8635c02058023277d1b3 numpy-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
122fd2fcfafdefc889c64ad99c228d5a1f9692c3a83f56c292618a59aa60ae83 numpy-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3f2f5cddeaa4424a0a118924b988746db6ffa8565e5829b1841a8a3bd73eb59a numpy-2.2.0-cp310-cp310-musllinux_1_2_aarch64.whl
7fe4bb0695fe986a9e4deec3b6857003b4cfe5c5e4aac0b95f6a658c14635e31 numpy-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
b30042fe92dbd79f1ba7f6898fada10bdaad1847c44f2dff9a16147e00a93661 numpy-2.2.0-cp310-cp310-win32.whl
54dc1d6d66f8d37843ed281773c7174f03bf7ad826523f73435deb88ba60d2d4 numpy-2.2.0-cp310-cp310-win_amd64.whl
9874bc2ff574c40ab7a5cbb7464bf9b045d617e36754a7bc93f933d52bd9ffc6 numpy-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl
0da8495970f6b101ddd0c38ace92edea30e7e12b9a926b57f5fabb1ecc25bb90 numpy-2.2.0-cp311-cp311-macosx_11_0_arm64.whl
0557eebc699c1c34cccdd8c3778c9294e8196df27d713706895edc6f57d29608 numpy-2.2.0-cp311-cp311-macosx_14_0_arm64.whl
3579eaeb5e07f3ded59298ce22b65f877a86ba8e9fe701f5576c99bb17c283da numpy-2.2.0-cp311-cp311-macosx_14_0_x86_64.whl
40deb10198bbaa531509aad0cd2f9fadb26c8b94070831e2208e7df543562b74 numpy-2.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c2aed8fcf8abc3020d6a9ccb31dbc9e7d7819c56a348cc88fd44be269b37427e numpy-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a222d764352c773aa5ebde02dd84dba3279c81c6db2e482d62a3fa54e5ece69b numpy-2.2.0-cp311-cp311-musllinux_1_2_aarch64.whl
4e58666988605e251d42c2818c7d3d8991555381be26399303053b58a5bbf30d numpy-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
4723a50e1523e1de4fccd1b9a6dcea750c2102461e9a02b2ac55ffeae09a4410 numpy-2.2.0-cp311-cp311-win32.whl
16757cf28621e43e252c560d25b15f18a2f11da94fea344bf26c599b9cf54b73 numpy-2.2.0-cp311-cp311-win_amd64.whl
cff210198bb4cae3f3c100444c5eaa573a823f05c253e7188e1362a5555235b3 numpy-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl
58b92a5828bd4d9aa0952492b7de803135038de47343b2aa3cc23f3b71a3dc4e numpy-2.2.0-cp312-cp312-macosx_11_0_arm64.whl
ebe5e59545401fbb1b24da76f006ab19734ae71e703cdb4a8b347e84a0cece67 numpy-2.2.0-cp312-cp312-macosx_14_0_arm64.whl
e2b8cd48a9942ed3f85b95ca4105c45758438c7ed28fff1e4ce3e57c3b589d8e numpy-2.2.0-cp312-cp312-macosx_14_0_x86_64.whl
57fcc997ffc0bef234b8875a54d4058afa92b0b0c4223fc1f62f24b3b5e86038 numpy-2.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
85ad7d11b309bd132d74397fcf2920933c9d1dc865487128f5c03d580f2c3d03 numpy-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cb24cca1968b21355cc6f3da1a20cd1cebd8a023e3c5b09b432444617949085a numpy-2.2.0-cp312-cp312-musllinux_1_2_aarch64.whl
0798b138c291d792f8ea40fe3768610f3c7dd2574389e37c3f26573757c8f7ef numpy-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
afe8fb968743d40435c3827632fd36c5fbde633b0423da7692e426529b1759b1 numpy-2.2.0-cp312-cp312-win32.whl
3a4199f519e57d517ebd48cb76b36c82da0360781c6a0353e64c0cac30ecaad3 numpy-2.2.0-cp312-cp312-win_amd64.whl
f8c8b141ef9699ae777c6278b52c706b653bf15d135d302754f6b2e90eb30367 numpy-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl
0f0986e917aca18f7a567b812ef7ca9391288e2acb7a4308aa9d265bd724bdae numpy-2.2.0-cp313-cp313-macosx_11_0_arm64.whl
1c92113619f7b272838b8d6702a7f8ebe5edea0df48166c47929611d0b4dea69 numpy-2.2.0-cp313-cp313-macosx_14_0_arm64.whl
5a145e956b374e72ad1dff82779177d4a3c62bc8248f41b80cb5122e68f22d13 numpy-2.2.0-cp313-cp313-macosx_14_0_x86_64.whl
18142b497d70a34b01642b9feabb70156311b326fdddd875a9981f34a369b671 numpy-2.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a7d41d1612c1a82b64697e894b75db6758d4f21c3ec069d841e60ebe54b5b571 numpy-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a98f6f20465e7618c83252c02041517bd2f7ea29be5378f09667a8f654a5918d numpy-2.2.0-cp313-cp313-musllinux_1_2_aarch64.whl
e09d40edfdb4e260cb1567d8ae770ccf3b8b7e9f0d9b5c2a9992696b30ce2742 numpy-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
3905a5fffcc23e597ee4d9fb3fcd209bd658c352657548db7316e810ca80458e numpy-2.2.0-cp313-cp313-win32.whl
a184288538e6ad699cbe6b24859206e38ce5fba28f3bcfa51c90d0502c1582b2 numpy-2.2.0-cp313-cp313-win_amd64.whl
7832f9e8eb00be32f15fdfb9a981d6955ea9adc8574c521d48710171b6c55e95 numpy-2.2.0-cp313-cp313t-macosx_10_13_x86_64.whl
f0dd071b95bbca244f4cb7f70b77d2ff3aaaba7fa16dc41f58d14854a6204e6c numpy-2.2.0-cp313-cp313t-macosx_11_0_arm64.whl
b0b227dcff8cdc3efbce66d4e50891f04d0a387cce282fe1e66199146a6a8fca numpy-2.2.0-cp313-cp313t-macosx_14_0_arm64.whl
6ab153263a7c5ccaf6dfe7e53447b74f77789f28ecb278c3b5d49db7ece10d6d numpy-2.2.0-cp313-cp313t-macosx_14_0_x86_64.whl
e500aba968a48e9019e42c0c199b7ec0696a97fa69037bea163b55398e390529 numpy-2.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
440cfb3db4c5029775803794f8638fbdbf71ec702caf32735f53b008e1eaece3 numpy-2.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a55dc7a7f0b6198b07ec0cd445fbb98b05234e8b00c5ac4874a63372ba98d4ab numpy-2.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl
4bddbaa30d78c86329b26bd6aaaea06b1e47444da99eddac7bf1e2fab717bd72 numpy-2.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl
30bf971c12e4365153afb31fc73f441d4da157153f3400b82db32d04de1e4066 numpy-2.2.0-cp313-cp313t-win32.whl
d35717333b39d1b6bb8433fa758a55f1081543de527171543a2b710551d40881 numpy-2.2.0-cp313-cp313t-win_amd64.whl
e12c6c1ce84628c52d6367863773f7c8c8241be554e8b79686e91a43f1733773 numpy-2.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
b6207dc8fb3c8cb5668e885cef9ec7f70189bec4e276f0ff70d5aa078d32c88e numpy-2.2.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
a50aeff71d0f97b6450d33940c7181b08be1441c6c193e678211bff11aa725e7 numpy-2.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
df12a1f99b99f569a7c2ae59aa2d31724e8d835fc7f33e14f4792e3071d11221 numpy-2.2.0-pp310-pypy310_pp73-win_amd64.whl
140dd80ff8981a583a60980be1a655068f8adebf7a45a06a6858c873fcdcd4a0 numpy-2.2.0.tar.gz
v2.1.3
: 2.1.3 (Nov 2, 2024)
NumPy 2.1.3 Release Notes
NumPy 2.1.3 is a maintenance release that fixes bugs and regressions discovered after the 2.1.2 release. This release also adds support for free threaded Python 3.13 on Windows.
The Python versions supported by this release are 3.10-3.13.
Improvements
-
Fixed a number of issues around promotion for string ufuncs with StringDType arguments. Mixing StringDType and the fixed-width DTypes using the string ufuncs should now generate much more uniform results.
(gh-27636)
Changes
-
numpy.fix
now won't perform casting to a floating data-type for integer and boolean data-type input arrays.(gh-26766)
Contributors
A total of 15 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- Abhishek Kumar +
- Austin +
- Benjamin A. Beasley +
- Charles Harris
- Christian Lorentzen
- Marcel Telka +
- Matti Picus
- Michael Davidsaver +
- Nathan Goldbaum
- Peter Hawkins
- Raghuveer Devulapalli
- Ralf Gommers
- Sebastian Berg
- dependabot[bot]
- kp2pml30 +
Pull requests merged
A total of 21 pull requests were merged for this release.
- #27512: MAINT: prepare 2.1.x for further development
- #27537: MAINT: Bump actions/cache from 4.0.2 to 4.1.1
- #27538: MAINT: Bump pypa/cibuildwheel from 2.21.2 to 2.21.3
- #27539: MAINT: MSVC does not support #warning directive
- #27543: BUG: Fix user dtype can-cast with python scalar during promotion
-
#27561: DEV: bump
python
to 3.12 in environment.yml - #27562: BLD: update vendored Meson to 1.5.2
- #27563: BUG: weighted quantile for some zero weights (#27549)
- #27565: MAINT: Use miniforge for macos conda test.
- #27566: BUILD: satisfy gcc-13 pendantic errors
- #27569: BUG: handle possible error for PyTraceMallocTrack
- #27570: BLD: start building Windows free-threaded wheels [wheel build]
- #27571: BUILD: vendor tempita from Cython
- #27574: BUG: Fix warning "differs in levels of indirection" in npy_atomic.h...
- #27592: MAINT: Update Highway to latest
- #27593: BUG: Adjust numpy.i for SWIG 4.3 compatibility
- #27616: BUG: Fix Linux QEMU CI workflow
- #27668: BLD: Do not set __STDC_VERSION__ to zero during build
- #27669: ENH: fix wasm32 runtime type error in numpy._core
- #27672: BUG: Fix a reference count leak in npy_find_descr_for_scalar.
- #27673: BUG: fixes for StringDType/unicode promoters
Checksums
MD5
3f2f22827dd321ae86b5ab4fa888d0db numpy-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl
13da2761d1abe71731a2806537369115 numpy-2.1.3-cp310-cp310-macosx_11_0_arm64.whl
5aef4a78b69cd90d0f6fff8f88817991 numpy-2.1.3-cp310-cp310-macosx_14_0_arm64.whl
12da7f09cd5707634878f85845c9de10 numpy-2.1.3-cp310-cp310-macosx_14_0_x86_64.whl
5b999693362815b56855533469aea0ca numpy-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8c49f457127bfb4f167c91583e5167af numpy-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f31c0e80b18afc0c04cada401cbe0358 numpy-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl
2c0709812e27bcaf74d75ac8ed45614b numpy-2.1.3-cp310-cp310-musllinux_1_2_aarch64.whl
a65b28800e78942b9e60e03e96cfd0c0 numpy-2.1.3-cp310-cp310-win32.whl
d8358545732fe4ee1ecf407b06567d81 numpy-2.1.3-cp310-cp310-win_amd64.whl
34942f9a1391532e2c3168043c0021d5 numpy-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl
0d69ec06e303b5112788db68a8fdde1b numpy-2.1.3-cp311-cp311-macosx_11_0_arm64.whl
da1988c8d3a9db5947a2bd51290b8b95 numpy-2.1.3-cp311-cp311-macosx_14_0_arm64.whl
b5eba73c2abaf5a81535f4b1034fe8d2 numpy-2.1.3-cp311-cp311-macosx_14_0_x86_64.whl
63cc090209718aa1d0f0fbd3fd03bc0b numpy-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
55f14ca7b55554d4a043369ae5f1837f numpy-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4e58e0645d81ff84c0fb75311d2a97d6 numpy-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl
30235088a5f86d1f343bfec458f6292d numpy-2.1.3-cp311-cp311-musllinux_1_2_aarch64.whl
c80a03952b2f4950f1eb9d1656413fec numpy-2.1.3-cp311-cp311-win32.whl
d8c1a5a441b89591af8f09dfa0b2d4d5 numpy-2.1.3-cp311-cp311-win_amd64.whl
2cebcea71e71e8b09a25179b240ee240 numpy-2.1.3-cp312-cp312-macosx_10_13_x86_64.whl
faf5df4bd35ca362795cda193da49591 numpy-2.1.3-cp312-cp312-macosx_11_0_arm64.whl
573f195910fc3b3e9ac5379816280f89 numpy-2.1.3-cp312-cp312-macosx_14_0_arm64.whl
900548b2acb82ed0e306943fb68de802 numpy-2.1.3-cp312-cp312-macosx_14_0_x86_64.whl
81cded28bb87c4987b1d975fe768c3a1 numpy-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2b83cb346bca97475fa5e39e704c45f1 numpy-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
06d8593cb7a2aae157e028c3d4cb3c96 numpy-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl
eea8b148a6a2fee37b87291043e00bda numpy-2.1.3-cp312-cp312-musllinux_1_2_aarch64.whl
d407b7c48457789914f28004f41d6ea2 numpy-2.1.3-cp312-cp312-win32.whl
117574ee1a645e63a6d69e20c8673665 numpy-2.1.3-cp312-cp312-win_amd64.whl
0c9ffd1f1f1e96186f30a578b85da653 numpy-2.1.3-cp313-cp313-macosx_10_13_x86_64.whl
cd430b2caf09d21680616aef5d4a439d numpy-2.1.3-cp313-cp313-macosx_11_0_arm64.whl
b431935148221b79bda9490b1d069e3c numpy-2.1.3-cp313-cp313-macosx_14_0_arm64.whl
b3ff577c78097b187bd58f20b6e88642 numpy-2.1.3-cp313-cp313-macosx_14_0_x86_64.whl
8186f86f8d94a5505e6dcebe6c056ab7 numpy-2.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2c5b2381a4a4e3d9865ccb346d44a7ed numpy-2.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
85786d12388d60b904c02eb12df55b37 numpy-2.1.3-cp313-cp313-musllinux_1_1_x86_64.whl
da68282c0418a22730643906e5dd58a1 numpy-2.1.3-cp313-cp313-musllinux_1_2_aarch64.whl
fe47e181a70d3e865e5d6a27e5fa71cd numpy-2.1.3-cp313-cp313-win32.whl
8b7f290784c95cf620e0ac1af5470f1d numpy-2.1.3-cp313-cp313-win_amd64.whl
4f0c3f8c81cb6bd43a9f1f7bef7db82d numpy-2.1.3-cp313-cp313t-macosx_10_13_x86_64.whl
133905fd003c9504fc5bb9ce71e4103b numpy-2.1.3-cp313-cp313t-macosx_11_0_arm64.whl
12fe4f265dbda251309f109cbcd46f07 numpy-2.1.3-cp313-cp313t-macosx_14_0_arm64.whl
b60e418506b969e6df2c0d600bf3c6d4 numpy-2.1.3-cp313-cp313t-macosx_14_0_x86_64.whl
c2b7160b748f4c1c483a7954e5024250 numpy-2.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8097ddb45c8c821085c19d940bcbe6de numpy-2.1.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
209f55dc1ed6da23a5ea3e11ca962308 numpy-2.1.3-cp313-cp313t-musllinux_1_1_x86_64.whl
06a1792849b601c7bdd38e39bc5cb5f1 numpy-2.1.3-cp313-cp313t-musllinux_1_2_aarch64.whl
86630bf207e8cbe6933232cb2a47a6c0 numpy-2.1.3-cp313-cp313t-win32.whl
6af9109b82c0acdcf8b0e81dc0e4c517 numpy-2.1.3-cp313-cp313t-win_amd64.whl
c7e821e086346afc0078acb237f30431 numpy-2.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
5b938b2da78b1c84044df8cdb2e8e63a numpy-2.1.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
ef251f3b6aa022b1c2fac14889d6d9d3 numpy-2.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
356c7bb6067ae0dccc4a54efc1879e74 numpy-2.1.3-pp310-pypy310_pp73-win_amd64.whl
11096358375945114577a0c82b2c6038 numpy-2.1.3.tar.gz
SHA256
c894b4305373b9c5576d7a12b473702afdf48ce5369c074ba304cc5ad8730dff numpy-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl
b47fbb433d3260adcd51eb54f92a2ffbc90a4595f8970ee00e064c644ac788f5 numpy-2.1.3-cp310-cp310-macosx_11_0_arm64.whl
825656d0743699c529c5943554d223c021ff0494ff1442152ce887ef4f7561a1 numpy-2.1.3-cp310-cp310-macosx_14_0_arm64.whl
6a4825252fcc430a182ac4dee5a505053d262c807f8a924603d411f6718b88fd numpy-2.1.3-cp310-cp310-macosx_14_0_x86_64.whl
e711e02f49e176a01d0349d82cb5f05ba4db7d5e7e0defd026328e5cfb3226d3 numpy-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
78574ac2d1a4a02421f25da9559850d59457bac82f2b8d7a44fe83a64f770098 numpy-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c7662f0e3673fe4e832fe07b65c50342ea27d989f92c80355658c7f888fcc83c numpy-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl
fa2d1337dc61c8dc417fbccf20f6d1e139896a30721b7f1e832b2bb6ef4eb6c4 numpy-2.1.3-cp310-cp310-musllinux_1_2_aarch64.whl
72dcc4a35a8515d83e76b58fdf8113a5c969ccd505c8a946759b24e3182d1f23 numpy-2.1.3-cp310-cp310-win32.whl
ecc76a9ba2911d8d37ac01de72834d8849e55473457558e12995f4cd53e778e0 numpy-2.1.3-cp310-cp310-win_amd64.whl
4d1167c53b93f1f5d8a139a742b3c6f4d429b54e74e6b57d0eff40045187b15d numpy-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl
c80e4a09b3d95b4e1cac08643f1152fa71a0a821a2d4277334c88d54b2219a41 numpy-2.1.3-cp311-cp311-macosx_11_0_arm64.whl
576a1c1d25e9e02ed7fa5477f30a127fe56debd53b8d2c89d5578f9857d03ca9 numpy-2.1.3-cp311-cp311-macosx_14_0_arm64.whl
973faafebaae4c0aaa1a1ca1ce02434554d67e628b8d805e61f874b84e136b09 numpy-2.1.3-cp311-cp311-macosx_14_0_x86_64.whl
762479be47a4863e261a840e8e01608d124ee1361e48b96916f38b119cfda04a numpy-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bc6f24b3d1ecc1eebfbf5d6051faa49af40b03be1aaa781ebdadcbc090b4539b numpy-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
17ee83a1f4fef3c94d16dc1802b998668b5419362c8a4f4e8a491de1b41cc3ee numpy-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl
15cb89f39fa6d0bdfb600ea24b250e5f1a3df23f901f51c8debaa6a5d122b2f0 numpy-2.1.3-cp311-cp311-musllinux_1_2_aarch64.whl
d9beb777a78c331580705326d2367488d5bc473b49a9bc3036c154832520aca9 numpy-2.1.3-cp311-cp311-win32.whl
d89dd2b6da69c4fff5e39c28a382199ddedc3a5be5390115608345dec660b9e2 numpy-2.1.3-cp311-cp311-win_amd64.whl
f55ba01150f52b1027829b50d70ef1dafd9821ea82905b63936668403c3b471e numpy-2.1.3-cp312-cp312-macosx_10_13_x86_64.whl
13138eadd4f4da03074851a698ffa7e405f41a0845a6b1ad135b81596e4e9958 numpy-2.1.3-cp312-cp312-macosx_11_0_arm64.whl
a6b46587b14b888e95e4a24d7b13ae91fa22386c199ee7b418f449032b2fa3b8 numpy-2.1.3-cp312-cp312-macosx_14_0_arm64.whl
0fa14563cc46422e99daef53d725d0c326e99e468a9320a240affffe87852564 numpy-2.1.3-cp312-cp312-macosx_14_0_x86_64.whl
8637dcd2caa676e475503d1f8fdb327bc495554e10838019651b76d17b98e512 numpy-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2312b2aa89e1f43ecea6da6ea9a810d06aae08321609d8dc0d0eda6d946a541b numpy-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a38c19106902bb19351b83802531fea19dee18e5b37b36454f27f11ff956f7fc numpy-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl
02135ade8b8a84011cbb67dc44e07c58f28575cf9ecf8ab304e51c05528c19f0 numpy-2.1.3-cp312-cp312-musllinux_1_2_aarch64.whl
e6988e90fcf617da2b5c78902fe8e668361b43b4fe26dbf2d7b0f8034d4cafb9 numpy-2.1.3-cp312-cp312-win32.whl
0d30c543f02e84e92c4b1f415b7c6b5326cbe45ee7882b6b77db7195fb971e3a numpy-2.1.3-cp312-cp312-win_amd64.whl
96fe52fcdb9345b7cd82ecd34547fca4321f7656d500eca497eb7ea5a926692f numpy-2.1.3-cp313-cp313-macosx_10_13_x86_64.whl
f653490b33e9c3a4c1c01d41bc2aef08f9475af51146e4a7710c450cf9761598 numpy-2.1.3-cp313-cp313-macosx_11_0_arm64.whl
dc258a761a16daa791081d026f0ed4399b582712e6fc887a95af09df10c5ca57 numpy-2.1.3-cp313-cp313-macosx_14_0_arm64.whl
016d0f6f5e77b0f0d45d77387ffa4bb89816b57c835580c3ce8e099ef830befe numpy-2.1.3-cp313-cp313-macosx_14_0_x86_64.whl
c181ba05ce8299c7aa3125c27b9c2167bca4a4445b7ce73d5febc411ca692e43 numpy-2.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5641516794ca9e5f8a4d17bb45446998c6554704d888f86df9b200e66bdcce56 numpy-2.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ea4dedd6e394a9c180b33c2c872b92f7ce0f8e7ad93e9585312b0c5a04777a4a numpy-2.1.3-cp313-cp313-musllinux_1_1_x86_64.whl
b0df3635b9c8ef48bd3be5f862cf71b0a4716fa0e702155c45067c6b711ddcef numpy-2.1.3-cp313-cp313-musllinux_1_2_aarch64.whl
50ca6aba6e163363f132b5c101ba078b8cbd3fa92c7865fd7d4d62d9779ac29f numpy-2.1.3-cp313-cp313-win32.whl
747641635d3d44bcb380d950679462fae44f54b131be347d5ec2bce47d3df9ed numpy-2.1.3-cp313-cp313-win_amd64.whl
996bb9399059c5b82f76b53ff8bb686069c05acc94656bb259b1d63d04a9506f numpy-2.1.3-cp313-cp313t-macosx_10_13_x86_64.whl
45966d859916ad02b779706bb43b954281db43e185015df6eb3323120188f9e4 numpy-2.1.3-cp313-cp313t-macosx_11_0_arm64.whl
baed7e8d7481bfe0874b566850cb0b85243e982388b7b23348c6db2ee2b2ae8e numpy-2.1.3-cp313-cp313t-macosx_14_0_arm64.whl
a9f7f672a3388133335589cfca93ed468509cb7b93ba3105fce780d04a6576a0 numpy-2.1.3-cp313-cp313t-macosx_14_0_x86_64.whl
d7aac50327da5d208db2eec22eb11e491e3fe13d22653dce51b0f4109101b408 numpy-2.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4394bc0dbd074b7f9b52024832d16e019decebf86caf909d94f6b3f77a8ee3b6 numpy-2.1.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
50d18c4358a0a8a53f12a8ba9d772ab2d460321e6a93d6064fc22443d189853f numpy-2.1.3-cp313-cp313t-musllinux_1_1_x86_64.whl
14e253bd43fc6b37af4921b10f6add6925878a42a0c5fe83daee390bca80bc17 numpy-2.1.3-cp313-cp313t-musllinux_1_2_aarch64.whl
08788d27a5fd867a663f6fc753fd7c3ad7e92747efc73c53bca2f19f8bc06f48 numpy-2.1.3-cp313-cp313t-win32.whl
2564fbdf2b99b3f815f2107c1bbc93e2de8ee655a69c261363a1172a79a257d4 numpy-2.1.3-cp313-cp313t-win_amd64.whl
4f2015dfe437dfebbfce7c85c7b53d81ba49e71ba7eadbf1df40c915af75979f numpy-2.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
3522b0dfe983a575e6a9ab3a4a4dfe156c3e428468ff08ce582b9bb6bd1d71d4 numpy-2.1.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
c006b607a865b07cd981ccb218a04fc86b600411d83d6fc261357f1c0966755d numpy-2.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e14e26956e6f1696070788252dcdff11b4aca4c3e8bd166e0df1bb8f315a67cb numpy-2.1.3-pp310-pypy310_pp73-win_amd64.whl
aa08e04e08aaf974d4458def539dece0d28146d866a39da5639596f4921fd761 numpy-2.1.3.tar.gz
v2.1.2
: 2.1.2 (Oct 5, 2024)
NumPy 2.1.2 Release Notes
NumPy 2.1.2 is a maintenance release that fixes bugs and regressions discovered after the 2.1.1 release.
The Python versions supported by this release are 3.10-3.13.
Contributors
A total of 11 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- Charles Harris
- Chris Sidebottom
- Ishan Koradia +
- João Eiras +
- Katie Rust +
- Marten van Kerkwijk
- Matti Picus
- Nathan Goldbaum
- Peter Hawkins
- Pieter Eendebak
- Slava Gorloff +
Pull requests merged
A total of 14 pull requests were merged for this release.
- #27333: MAINT: prepare 2.1.x for further development
- #27400: BUG: apply critical sections around populating the dispatch cache
- #27406: BUG: Stub out get_build_msvc_version if distutils.msvccompiler...
- #27416: BUILD: fix missing include for std::ptrdiff_t for C++23 language...
- #27433: BLD: pin setuptools to avoid breaking numpy.distutils
- #27437: BUG: Allow unsigned shift argument for np.roll
- #27439: BUG: Disable SVE VQSort
- #27471: BUG: rfftn axis bug
- #27479: BUG: Fix extra decref of PyArray_UInt8DType.
- #27480: CI: use PyPI not scientific-python-nightly-wheels for CI doc...
- #27481: MAINT: Check for SVE support on demand
- #27484: BUG: initialize the promotion state to be weak
- #27501: MAINT: Bump pypa/cibuildwheel from 2.20.0 to 2.21.2
- #27506: BUG: avoid segfault on bad arguments in ndarray.__array_function__
Checksums
MD5
4aae28b7919b126485c1aaccee37a6ba numpy-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl
172614423a82ef73d8752ad8a59cbafc numpy-2.1.2-cp310-cp310-macosx_11_0_arm64.whl
5ee5e7a8a892cbe96ee228ca5fe7546b numpy-2.1.2-cp310-cp310-macosx_14_0_arm64.whl
9ce6f9222dfabd32e66b883f1fe015aa numpy-2.1.2-cp310-cp310-macosx_14_0_x86_64.whl
291da8bfeb7c9a3491ec35ecb2596335 numpy-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9317d9b049f09c0193f074a6458cf79b numpy-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1f2c121533715d8b099d6498e4498f81 numpy-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl
2834df46e2cb2e81cbe4fd1ce9b96b4b numpy-2.1.2-cp310-cp310-musllinux_1_2_aarch64.whl
cbc3ae2c176324fe2a9c04ec0aff181f numpy-2.1.2-cp310-cp310-win32.whl
e4d74f9d188dc3fe7a65adf8c01e98cc numpy-2.1.2-cp310-cp310-win_amd64.whl
cbcece9c21ed1daf60f3729a37b32266 numpy-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl
0e62474993ff6faca9c467f68cc16ceb numpy-2.1.2-cp311-cp311-macosx_11_0_arm64.whl
8747e85e09b2000a0af5a8226740dc92 numpy-2.1.2-cp311-cp311-macosx_14_0_arm64.whl
34e7f3591ce81926518a36c92038a056 numpy-2.1.2-cp311-cp311-macosx_14_0_x86_64.whl
0ec3e617161b42d643aaa4b8d3e477f5 numpy-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e2a6a419b4672bfb4f3f6a98c0e575bb numpy-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8c14b4d03fc8672e43eddd3ede89be09 numpy-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl
dc183e12b24317bf210fb093da598d29 numpy-2.1.2-cp311-cp311-musllinux_1_2_aarch64.whl
4918f2c32ca3be20c7c5d8551e649757 numpy-2.1.2-cp311-cp311-win32.whl
a8991919b6fae3c7a77c260f60a5e2e2 numpy-2.1.2-cp311-cp311-win_amd64.whl
879f307d16f9222c49508be5ea6491fc numpy-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl
fe9dfac7bee0cff178737e1706aee61a numpy-2.1.2-cp312-cp312-macosx_11_0_arm64.whl
1f0c671db3294f4df8bffedc41a2e37f numpy-2.1.2-cp312-cp312-macosx_14_0_arm64.whl
d131c4bd6ba29b05a5b7fa74e87a0506 numpy-2.1.2-cp312-cp312-macosx_14_0_x86_64.whl
8f9cca33590be334d44cc026a3716966 numpy-2.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3692a9290dd430e56e1b15387c25b7af numpy-2.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3549439284dbb1a05785b535c3de60d9 numpy-2.1.2-cp312-cp312-musllinux_1_1_x86_64.whl
b9934410f20505e5c4b70974cd8fdc26 numpy-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl
96759e3380e4893b9b88d5d498d856b2 numpy-2.1.2-cp312-cp312-win32.whl
f94c7405ed72a136e374ab82400fefdc numpy-2.1.2-cp312-cp312-win_amd64.whl
2ea775cb4da02f39edf3089af60bddd5 numpy-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl
354d0970154dd002573f4291e0e9de76 numpy-2.1.2-cp313-cp313-macosx_11_0_arm64.whl
bbfee75640b337e12f894d0b54727d66 numpy-2.1.2-cp313-cp313-macosx_14_0_arm64.whl
a443fff50571df87f687ad55c9060d25 numpy-2.1.2-cp313-cp313-macosx_14_0_x86_64.whl
9f8cd7de5b5aa5ad8ba52608a4b0a3b8 numpy-2.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c198fe3deaa77fb94d15284b4e26b875 numpy-2.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0a59171c983fc2d8ea599bdf382c3d6a numpy-2.1.2-cp313-cp313-musllinux_1_1_x86_64.whl
5ba974cd59fb8c9fc94787c754a5f636 numpy-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl
93d5c642606fe8abeff0e6db31ebe88f numpy-2.1.2-cp313-cp313-win32.whl
f6455bb4311ddde071a5ea2e14016003 numpy-2.1.2-cp313-cp313-win_amd64.whl
d2a21857c924d4b1b3c8ae8a9e9b9bb4 numpy-2.1.2-cp313-cp313t-macosx_10_13_x86_64.whl
cd6afcbd05835255750a2fba6012c565 numpy-2.1.2-cp313-cp313t-macosx_11_0_arm64.whl
d2fab663ea84f1cfe13dfc00dae74fb6 numpy-2.1.2-cp313-cp313t-macosx_14_0_arm64.whl
9477b923000d63617324c487a4ce0e28 numpy-2.1.2-cp313-cp313t-macosx_14_0_x86_64.whl
84b621a2c9a8c077bc9c471abd2b3933 numpy-2.1.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b1c341c7192d03e8f0f5e7c4b9b6f894 numpy-2.1.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b59750ea55cf274854f64109bf67a112 numpy-2.1.2-cp313-cp313t-musllinux_1_1_x86_64.whl
33f4d63f81ad85c1ea873197f2189d89 numpy-2.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl
f26a9ac42953c84c94f8203b2dbc61c0 numpy-2.1.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
e7cf2857582d507dfa3e8644dd3562a6 numpy-2.1.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
9e3d44cb302c629c00fde8f25809b04d numpy-2.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3f97ee2d9962cf9d84624f725bdd2a8f numpy-2.1.2-pp310-pypy310_pp73-win_amd64.whl
3d92e07d34f60dbac6b82a0982a98757 numpy-2.1.2.tar.gz
SHA256
30d53720b726ec36a7f88dc873f0eec8447fbc93d93a8f079dfac2629598d6ee numpy-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl
e8d3ca0a72dd8846eb6f7dfe8f19088060fcb76931ed592d29128e0219652884 numpy-2.1.2-cp310-cp310-macosx_11_0_arm64.whl
fc44e3c68ff00fd991b59092a54350e6e4911152682b4782f68070985aa9e648 numpy-2.1.2-cp310-cp310-macosx_14_0_arm64.whl
7c1c60328bd964b53f8b835df69ae8198659e2b9302ff9ebb7de4e5a5994db3d numpy-2.1.2-cp310-cp310-macosx_14_0_x86_64.whl
6cdb606a7478f9ad91c6283e238544451e3a95f30fb5467fbf715964341a8a86 numpy-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d666cb72687559689e9906197e3bec7b736764df6a2e58ee265e360663e9baf7 numpy-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c6eef7a2dbd0abfb0d9eaf78b73017dbfd0b54051102ff4e6a7b2980d5ac1a03 numpy-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl
12edb90831ff481f7ef5f6bc6431a9d74dc0e5ff401559a71e5e4611d4f2d466 numpy-2.1.2-cp310-cp310-musllinux_1_2_aarch64.whl
a65acfdb9c6ebb8368490dbafe83c03c7e277b37e6857f0caeadbbc56e12f4fb numpy-2.1.2-cp310-cp310-win32.whl
860ec6e63e2c5c2ee5e9121808145c7bf86c96cca9ad396c0bd3e0f2798ccbe2 numpy-2.1.2-cp310-cp310-win_amd64.whl
b42a1a511c81cc78cbc4539675713bbcf9d9c3913386243ceff0e9429ca892fe numpy-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl
faa88bc527d0f097abdc2c663cddf37c05a1c2f113716601555249805cf573f1 numpy-2.1.2-cp311-cp311-macosx_11_0_arm64.whl
c82af4b2ddd2ee72d1fc0c6695048d457e00b3582ccde72d8a1c991b808bb20f numpy-2.1.2-cp311-cp311-macosx_14_0_arm64.whl
13602b3174432a35b16c4cfb5de9a12d229727c3dd47a6ce35111f2ebdf66ff4 numpy-2.1.2-cp311-cp311-macosx_14_0_x86_64.whl
1ebec5fd716c5a5b3d8dfcc439be82a8407b7b24b230d0ad28a81b61c2f4659a numpy-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e2b49c3c0804e8ecb05d59af8386ec2f74877f7ca8fd9c1e00be2672e4d399b1 numpy-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2cbba4b30bf31ddbe97f1c7205ef976909a93a66bb1583e983adbd155ba72ac2 numpy-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl
8e00ea6fc82e8a804433d3e9cedaa1051a1422cb6e443011590c14d2dea59146 numpy-2.1.2-cp311-cp311-musllinux_1_2_aarch64.whl
5006b13a06e0b38d561fab5ccc37581f23c9511879be7693bd33c7cd15ca227c numpy-2.1.2-cp311-cp311-win32.whl
f1eb068ead09f4994dec71c24b2844f1e4e4e013b9629f812f292f04bd1510d9 numpy-2.1.2-cp311-cp311-win_amd64.whl
d7bf0a4f9f15b32b5ba53147369e94296f5fffb783db5aacc1be15b4bf72f43b numpy-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl
b1d0fcae4f0949f215d4632be684a539859b295e2d0cb14f78ec231915d644db numpy-2.1.2-cp312-cp312-macosx_11_0_arm64.whl
f751ed0a2f250541e19dfca9f1eafa31a392c71c832b6bb9e113b10d050cb0f1 numpy-2.1.2-cp312-cp312-macosx_14_0_arm64.whl
bd33f82e95ba7ad632bc57837ee99dba3d7e006536200c4e9124089e1bf42426 numpy-2.1.2-cp312-cp312-macosx_14_0_x86_64.whl
1b8cde4f11f0a975d1fd59373b32e2f5a562ade7cde4f85b7137f3de8fbb29a0 numpy-2.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6d95f286b8244b3649b477ac066c6906fbb2905f8ac19b170e2175d3d799f4df numpy-2.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ab4754d432e3ac42d33a269c8567413bdb541689b02d93788af4131018cbf366 numpy-2.1.2-cp312-cp312-musllinux_1_1_x86_64.whl
e585c8ae871fd38ac50598f4763d73ec5497b0de9a0ab4ef5b69f01c6a046142 numpy-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl
9c6c754df29ce6a89ed23afb25550d1c2d5fdb9901d9c67a16e0b16eaf7e2550 numpy-2.1.2-cp312-cp312-win32.whl
456e3b11cb79ac9946c822a56346ec80275eaf2950314b249b512896c0d2505e numpy-2.1.2-cp312-cp312-win_amd64.whl
a84498e0d0a1174f2b3ed769b67b656aa5460c92c9554039e11f20a05650f00d numpy-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl
4d6ec0d4222e8ffdab1744da2560f07856421b367928026fb540e1945f2eeeaf numpy-2.1.2-cp313-cp313-macosx_11_0_arm64.whl
259ec80d54999cc34cd1eb8ded513cb053c3bf4829152a2e00de2371bd406f5e numpy-2.1.2-cp313-cp313-macosx_14_0_arm64.whl
675c741d4739af2dc20cd6c6a5c4b7355c728167845e3c6b0e824e4e5d36a6c3 numpy-2.1.2-cp313-cp313-macosx_14_0_x86_64.whl
05b2d4e667895cc55e3ff2b56077e4c8a5604361fc21a042845ea3ad67465aa8 numpy-2.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
43cca367bf94a14aca50b89e9bc2061683116cfe864e56740e083392f533ce7a numpy-2.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
76322dcdb16fccf2ac56f99048af32259dcc488d9b7e25b51e5eca5147a3fb98 numpy-2.1.2-cp313-cp313-musllinux_1_1_x86_64.whl
32e16a03138cabe0cb28e1007ee82264296ac0983714094380b408097a418cfe numpy-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl
242b39d00e4944431a3cd2db2f5377e15b5785920421993770cddb89992c3f3a numpy-2.1.2-cp313-cp313-win32.whl
f2ded8d9b6f68cc26f8425eda5d3877b47343e68ca23d0d0846f4d312ecaa445 numpy-2.1.2-cp313-cp313-win_amd64.whl
2ffef621c14ebb0188a8633348504a35c13680d6da93ab5cb86f4e54b7e922b5 numpy-2.1.2-cp313-cp313t-macosx_10_13_x86_64.whl
ad369ed238b1959dfbade9018a740fb9392c5ac4f9b5173f420bd4f37ba1f7a0 numpy-2.1.2-cp313-cp313t-macosx_11_0_arm64.whl
d82075752f40c0ddf57e6e02673a17f6cb0f8eb3f587f63ca1eaab5594da5b17 numpy-2.1.2-cp313-cp313t-macosx_14_0_arm64.whl
1600068c262af1ca9580a527d43dc9d959b0b1d8e56f8a05d830eea39b7c8af6 numpy-2.1.2-cp313-cp313t-macosx_14_0_x86_64.whl
a26ae94658d3ba3781d5e103ac07a876b3e9b29db53f68ed7df432fd033358a8 numpy-2.1.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
13311c2db4c5f7609b462bc0f43d3c465424d25c626d95040f073e30f7570e35 numpy-2.1.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2abbf905a0b568706391ec6fa15161fad0fb5d8b68d73c461b3c1bab6064dd62 numpy-2.1.2-cp313-cp313t-musllinux_1_1_x86_64.whl
ef444c57d664d35cac4e18c298c47d7b504c66b17c2ea91312e979fcfbdfb08a numpy-2.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl
bdd407c40483463898b84490770199d5714dcc9dd9b792f6c6caccc523c00952 numpy-2.1.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
da65fb46d4cbb75cb417cddf6ba5e7582eb7bb0b47db4b99c9fe5787ce5d91f5 numpy-2.1.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
1c193d0b0238638e6fc5f10f1b074a6993cb13b0b431f64079a509d63d3aa8b7 numpy-2.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a7d80b2e904faa63068ead63107189164ca443b42dd1930299e0d1cb041cec2e numpy-2.1.2-pp310-pypy310_pp73-win_amd64.whl
13532a088217fa624c99b843eeb54640de23b3414b14aa66d023805eb731066c numpy-2.1.2.tar.gz
v2.1.1
: 2.1.1 (Sep 3, 2024)
NumPy 2.1.1 Release Notes
NumPy 2.1.1 is a maintenance release that fixes bugs and regressions discovered after the 2.1.0 release.
The Python versions supported by this release are 3.10-3.13.
Contributors
A total of 7 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- Andrew Nelson
- Charles Harris
- Mateusz Sokół
- Maximilian Weigand +
- Nathan Goldbaum
- Pieter Eendebak
- Sebastian Berg
Pull requests merged
A total of 10 pull requests were merged for this release.
- #27236: REL: Prepare for the NumPy 2.1.0 release [wheel build]
- #27252: MAINT: prepare 2.1.x for further development
- #27259: BUG: revert unintended change in the return value of set_printoptions
- #27266: BUG: fix reference counting bug in __array_interface__ implementation...
- #27267: TST: Add regression test for missing descr in array-interface
- #27276: BUG: Fix #27256 and #27257
- #27278: BUG: Fix array_equal for numeric and non-numeric scalar types
- #27287: MAINT: Update maintenance/2.1.x after the 2.0.2 release
- #27303: BLD: cp311- macosx_arm64 wheels [wheel build]
- #27304: BUG: f2py: better handle filtering of public/private subroutines
Checksums
MD5
3053a97400db800b7377749e691eb39e numpy-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl
84b752a2220dce7c96ff89eef4f4aec3 numpy-2.1.1-cp310-cp310-macosx_11_0_arm64.whl
47ed4f704a64261f07ca24ef2e674524 numpy-2.1.1-cp310-cp310-macosx_14_0_arm64.whl
b8a45caa870aee980c298053cf064d28 numpy-2.1.1-cp310-cp310-macosx_14_0_x86_64.whl
e097ad5eee572b791b4a25eedad6df4a numpy-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ae502c99315884cda7f0236a07c035c4 numpy-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
841a859d975c55090c0b60b72aab93a3 numpy-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl
d51be2b17f5b87aac64ab80fdfafc85e numpy-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl
1f8249bd725397c6233fe6a0e8ad18b1 numpy-2.1.1-cp310-cp310-win32.whl
d38d6f06589c1ec104a6a31ff6035781 numpy-2.1.1-cp310-cp310-win_amd64.whl
6a18fe3029aae00986975250313bf16f numpy-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl
5b0b3aa01fbd0b5a8b0f354bb878351e numpy-2.1.1-cp311-cp311-macosx_11_0_arm64.whl
1c492dad399abe7b97274b4c6c12ae53 numpy-2.1.1-cp311-cp311-macosx_14_0_arm64.whl
4d55d91e71b62eb5fa6561c606524f60 numpy-2.1.1-cp311-cp311-macosx_14_0_x86_64.whl
88e99ecd063c178f25bc08d20792a9bf numpy-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f3c8b0e4fb059b9219e8ec86d9fda861 numpy-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
df632b5fed7eb78d39e7194d2475c19b numpy-2.1.1-cp311-cp311-musllinux_1_1_x86_64.whl
65499daccdb178d26e322d9f359cf146 numpy-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl
eb97327fd7aa6027e2409d0dcca1129a numpy-2.1.1-cp311-cp311-win32.whl
9e4b05b38cbff22c2bdfead528b9d2bc numpy-2.1.1-cp311-cp311-win_amd64.whl
6b8a359bb865b5c624fd9ffc848393e1 numpy-2.1.1-cp312-cp312-macosx_10_9_x86_64.whl
eaf8dce312efa2b0f17ad46612fb1681 numpy-2.1.1-cp312-cp312-macosx_11_0_arm64.whl
c861ff048b336284fe7c0791b1a6b0b4 numpy-2.1.1-cp312-cp312-macosx_14_0_arm64.whl
7e1befccfe729dc5d6c450a5fb6b801c numpy-2.1.1-cp312-cp312-macosx_14_0_x86_64.whl
ea0a401ef653a167221987a10cbef260 numpy-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
97326ac792d26f2e536a519c82f2d6bc numpy-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fdd2a82232c03d11bbc7cec0a8e01ab0 numpy-2.1.1-cp312-cp312-musllinux_1_1_x86_64.whl
0d6716e9a7b2c0d6e5ace9c01b9bca01 numpy-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl
ba589ed2a79c88187c3b8574ae72a1c7 numpy-2.1.1-cp312-cp312-win32.whl
806ca7c1e2a2013b786edbb619f6da47 numpy-2.1.1-cp312-cp312-win_amd64.whl
647665353e5af5884df4e51610990c22 numpy-2.1.1-cp313-cp313-macosx_10_13_x86_64.whl
bfd3b3c5c4616ef99d917bd94d39114a numpy-2.1.1-cp313-cp313-macosx_11_0_arm64.whl
cb989095f9c74e3b32250a984390faeb numpy-2.1.1-cp313-cp313-macosx_14_0_arm64.whl
55ad7548e58f61b9a4f91749e36d237f numpy-2.1.1-cp313-cp313-macosx_14_0_x86_64.whl
5bc73d67dd1032524bfd36ef877b09e4 numpy-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c7dfb09db8284cb75296f708c3f77ea3 numpy-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7cf90ce1b844a97aeea1a5b8c71fb49b numpy-2.1.1-cp313-cp313-musllinux_1_1_x86_64.whl
6ec8baeac5f979a3b98017679d457bbc numpy-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl
1f198cb5210c76faae81359a83d58230 numpy-2.1.1-cp313-cp313-win32.whl
1766258213ad41f7e36f2209ee6d2a30 numpy-2.1.1-cp313-cp313-win_amd64.whl
f0a7a0456308dbeb739ad886f1632f16 numpy-2.1.1-cp313-cp313t-macosx_10_13_x86_64.whl
302c9cf7b4aa695974500ee1935a92c9 numpy-2.1.1-cp313-cp313t-macosx_11_0_arm64.whl
f4aa7d784992abb9bd9fe9db09c01c06 numpy-2.1.1-cp313-cp313t-macosx_14_0_arm64.whl
3bb4ae9906499609769f1774438149a5 numpy-2.1.1-cp313-cp313t-macosx_14_0_x86_64.whl
ff6b9e1993d3d540074736014b1d13af numpy-2.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
749489c091ee9c00abf1ad1ef822c3ca numpy-2.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
32d2daf4064031f365ced5036757ad8b numpy-2.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl
603dfe4ef56c01e1fc0dcc9d5e3090ed numpy-2.1.1-cp313-cp313t-musllinux_1_2_aarch64.whl
70fa2d3b78633bb6061c90e17364f27f numpy-2.1.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
9a430be5d14b689ed051eccc540dfbdc numpy-2.1.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
7291ff124e471d32c03464da18ff108d numpy-2.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e56ce141724af119c7c647a8705827a5 numpy-2.1.1-pp310-pypy310_pp73-win_amd64.whl
f63b4750618bfa5490f10cae37fde998 numpy-2.1.1.tar.gz
SHA256
c8a0e34993b510fc19b9a2ce7f31cb8e94ecf6e924a40c0c9dd4f62d0aac47d9 numpy-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl
7dd86dfaf7c900c0bbdcb8b16e2f6ddf1eb1fe39c6c8cca6e94844ed3152a8fd numpy-2.1.1-cp310-cp310-macosx_11_0_arm64.whl
5889dd24f03ca5a5b1e8a90a33b5a0846d8977565e4ae003a63d22ecddf6782f numpy-2.1.1-cp310-cp310-macosx_14_0_arm64.whl
59ca673ad11d4b84ceb385290ed0ebe60266e356641428c845b39cd9df6713ab numpy-2.1.1-cp310-cp310-macosx_14_0_x86_64.whl
13ce49a34c44b6de5241f0b38b07e44c1b2dcacd9e36c30f9c2fcb1bb5135db7 numpy-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
913cc1d311060b1d409e609947fa1b9753701dac96e6581b58afc36b7ee35af6 numpy-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
caf5d284ddea7462c32b8d4a6b8af030b6c9fd5332afb70e7414d7fdded4bfd0 numpy-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl
57eb525e7c2a8fdee02d731f647146ff54ea8c973364f3b850069ffb42799647 numpy-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl
9a8e06c7a980869ea67bbf551283bbed2856915f0a792dc32dd0f9dd2fb56728 numpy-2.1.1-cp310-cp310-win32.whl
d10c39947a2d351d6d466b4ae83dad4c37cd6c3cdd6d5d0fa797da56f710a6ae numpy-2.1.1-cp310-cp310-win_amd64.whl
0d07841fd284718feffe7dd17a63a2e6c78679b2d386d3e82f44f0108c905550 numpy-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl
b5613cfeb1adfe791e8e681128f5f49f22f3fcaa942255a6124d58ca59d9528f numpy-2.1.1-cp311-cp311-macosx_11_0_arm64.whl
0b8cc2715a84b7c3b161f9ebbd942740aaed913584cae9cdc7f8ad5ad41943d0 numpy-2.1.1-cp311-cp311-macosx_14_0_arm64.whl
b49742cdb85f1f81e4dc1b39dcf328244f4d8d1ded95dea725b316bd2cf18c95 numpy-2.1.1-cp311-cp311-macosx_14_0_x86_64.whl
e8d5f8a8e3bc87334f025194c6193e408903d21ebaeb10952264943a985066ca numpy-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d51fc141ddbe3f919e91a096ec739f49d686df8af254b2053ba21a910ae518bf numpy-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
98ce7fb5b8063cfdd86596b9c762bf2b5e35a2cdd7e967494ab78a1fa7f8b86e numpy-2.1.1-cp311-cp311-musllinux_1_1_x86_64.whl
24c2ad697bd8593887b019817ddd9974a7f429c14a5469d7fad413f28340a6d2 numpy-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl
397bc5ce62d3fb73f304bec332171535c187e0643e176a6e9421a6e3eacef06d numpy-2.1.1-cp311-cp311-win32.whl
ae8ce252404cdd4de56dcfce8b11eac3c594a9c16c231d081fb705cf23bd4d9e numpy-2.1.1-cp311-cp311-win_amd64.whl
7c803b7934a7f59563db459292e6aa078bb38b7ab1446ca38dd138646a38203e numpy-2.1.1-cp312-cp312-macosx_10_9_x86_64.whl
6435c48250c12f001920f0751fe50c0348f5f240852cfddc5e2f97e007544cbe numpy-2.1.1-cp312-cp312-macosx_11_0_arm64.whl
3269c9eb8745e8d975980b3a7411a98976824e1fdef11f0aacf76147f662b15f numpy-2.1.1-cp312-cp312-macosx_14_0_arm64.whl
fac6e277a41163d27dfab5f4ec1f7a83fac94e170665a4a50191b545721c6521 numpy-2.1.1-cp312-cp312-macosx_14_0_x86_64.whl
fcd8f556cdc8cfe35e70efb92463082b7f43dd7e547eb071ffc36abc0ca4699b numpy-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d2b9cd92c8f8e7b313b80e93cedc12c0112088541dcedd9197b5dee3738c1201 numpy-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
afd9c680df4de71cd58582b51e88a61feed4abcc7530bcd3d48483f20fc76f2a numpy-2.1.1-cp312-cp312-musllinux_1_1_x86_64.whl
8661c94e3aad18e1ea17a11f60f843a4933ccaf1a25a7c6a9182af70610b2313 numpy-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl
950802d17a33c07cba7fd7c3dcfa7d64705509206be1606f196d179e539111ed numpy-2.1.1-cp312-cp312-win32.whl
3fc5eabfc720db95d68e6646e88f8b399bfedd235994016351b1d9e062c4b270 numpy-2.1.1-cp312-cp312-win_amd64.whl
046356b19d7ad1890c751b99acad5e82dc4a02232013bd9a9a712fddf8eb60f5 numpy-2.1.1-cp313-cp313-macosx_10_13_x86_64.whl
6e5a9cb2be39350ae6c8f79410744e80154df658d5bea06e06e0ac5bb75480d5 numpy-2.1.1-cp313-cp313-macosx_11_0_arm64.whl
d4c57b68c8ef5e1ebf47238e99bf27657511ec3f071c465f6b1bccbef12d4136 numpy-2.1.1-cp313-cp313-macosx_14_0_arm64.whl
8ae0fd135e0b157365ac7cc31fff27f07a5572bdfc38f9c2d43b2aff416cc8b0 numpy-2.1.1-cp313-cp313-macosx_14_0_x86_64.whl
981707f6b31b59c0c24bcda52e5605f9701cb46da4b86c2e8023656ad3e833cb numpy-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2ca4b53e1e0b279142113b8c5eb7d7a877e967c306edc34f3b58e9be12fda8df numpy-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e097507396c0be4e547ff15b13dc3866f45f3680f789c1a1301b07dadd3fbc78 numpy-2.1.1-cp313-cp313-musllinux_1_1_x86_64.whl
f7506387e191fe8cdb267f912469a3cccc538ab108471291636a96a54e599556 numpy-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl
251105b7c42abe40e3a689881e1793370cc9724ad50d64b30b358bbb3a97553b numpy-2.1.1-cp313-cp313-win32.whl
f212d4f46b67ff604d11fff7cc62d36b3e8714edf68e44e9760e19be38c03eb0 numpy-2.1.1-cp313-cp313-win_amd64.whl
920b0911bb2e4414c50e55bd658baeb78281a47feeb064ab40c2b66ecba85553 numpy-2.1.1-cp313-cp313t-macosx_10_13_x86_64.whl
bab7c09454460a487e631ffc0c42057e3d8f2a9ddccd1e60c7bb8ed774992480 numpy-2.1.1-cp313-cp313t-macosx_11_0_arm64.whl
cea427d1350f3fd0d2818ce7350095c1a2ee33e30961d2f0fef48576ddbbe90f numpy-2.1.1-cp313-cp313t-macosx_14_0_arm64.whl
e30356d530528a42eeba51420ae8bf6c6c09559051887196599d96ee5f536468 numpy-2.1.1-cp313-cp313t-macosx_14_0_x86_64.whl
e8dfa9e94fc127c40979c3eacbae1e61fda4fe71d84869cc129e2721973231ef numpy-2.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
910b47a6d0635ec1bd53b88f86120a52bf56dcc27b51f18c7b4a2e2224c29f0f numpy-2.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
13cc11c00000848702322af4de0147ced365c81d66053a67c2e962a485b3717c numpy-2.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl
53e27293b3a2b661c03f79aa51c3987492bd4641ef933e366e0f9f6c9bf257ec numpy-2.1.1-cp313-cp313t-musllinux_1_2_aarch64.whl
7be6a07520b88214ea85d8ac8b7d6d8a1839b0b5cb87412ac9f49fa934eb15d5 numpy-2.1.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
52ac2e48f5ad847cd43c4755520a2317f3380213493b9d8a4c5e37f3b87df504 numpy-2.1.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
50a95ca3560a6058d6ea91d4629a83a897ee27c00630aed9d933dff191f170cd numpy-2.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
99f4a9ee60eed1385a86e82288971a51e71df052ed0b2900ed30bc840c0f2e39 numpy-2.1.1-pp310-pypy310_pp73-win_amd64.whl
d0cf7d55b1051387807405b3898efafa862997b4cba8aa5dbe657be794afeafd numpy-2.1.1.tar.gz
v2.1.0
: 2.1.0 (Aug 18, 2024)
NumPy 2.1.0 Release Notes
NumPy 2.1.0 provides support for the upcoming Python 3.13 release and drops support for Python 3.9. In addition to the usual bug fixes and updated Python support, it helps get us back into our usual release cycle after the extended development of 2.0. The highlights for this release are:
- Support for the array-api 2023.12 standard.
- Support for Python 3.13.
- Preliminary support for free threaded Python 3.13.
Python versions 3.10-3.13 are supported in this release.
New functions
numpy.unstack
New function A new function np.unstack(array, axis=...)
was added, which splits an
array into a tuple of arrays along an axis. It serves as the inverse of
[numpy.stack]{.title-ref}.
(gh-26579)
Deprecations
-
The
fix_imports
keyword argument innumpy.save
is deprecated. Since NumPy 1.17,numpy.save
uses a pickle protocol that no longer supports Python 2, and ignoredfix_imports
keyword. This keyword is kept only for backward compatibility. It is now deprecated.(gh-26452)
-
Passing non-integer inputs as the first argument of [bincount]{.title-ref} is now deprecated, because such inputs are silently cast to integers with no warning about loss of precision.
(gh-27076)
Expired deprecations
-
Scalars and 0D arrays are disallowed for
numpy.nonzero
andnumpy.ndarray.nonzero
.(gh-26268)
-
set_string_function
internal function was removed andPyArray_SetStringFunction
was stubbed out.(gh-26611)
C API changes
API symbols now hidden but customizable
NumPy now defaults to hide the API symbols it adds to allow all NumPy API usage. This means that by default you cannot dynamically fetch the NumPy API from another library (this was never possible on windows).
If you are experiencing linking errors related to PyArray_API
or
PyArray_RUNTIME_VERSION
, you can define the NPY_API_SYMBOL_ATTRIBUTE
to opt-out of this change.
If you are experiencing problems due to an upstream header including
NumPy, the solution is to make sure you
#include "numpy/ndarrayobject.h"
before their header and import NumPy
yourself based on including-the-c-api
.
(gh-26103)
Many shims removed from npy_3kcompat.h
Many of the old shims and helper functions were removed from
npy_3kcompat.h
. If you find yourself in need of these, vendor the
previous version of the file into your codebase.
(gh-26842)
PyUFuncObject
field process_core_dims_func
New The field process_core_dims_func
was added to the structure
PyUFuncObject
. For generalized ufuncs, this field can be set to a
function of type PyUFunc_ProcessCoreDimsFunc
that will be called when
the ufunc is called. It allows the ufunc author to check that core
dimensions satisfy additional constraints, and to set output core
dimension sizes if they have not been provided.
(gh-26908)
New Features
Preliminary Support for Free-Threaded CPython 3.13
CPython 3.13 will be available as an experimental free-threaded build. See https://py-free-threading.github.io, PEP 703 and the CPython 3.13 release notes for more detail about free-threaded Python.
NumPy 2.1 has preliminary support for the free-threaded build of CPython 3.13. This support was enabled by fixing a number of C thread-safety issues in NumPy. Before NumPy 2.1, NumPy used a large number of C global static variables to store runtime caches and other state. We have either refactored to avoid the need for global state, converted the global state to thread-local state, or added locking.
Support for free-threaded Python does not mean that NumPy is thread
safe. Read-only shared access to ndarray should be safe. NumPy exposes
shared mutable state and we have not added any locking to the array
object itself to serialize access to shared state. Care must be taken in
user code to avoid races if you would like to mutate the same array in
multiple threads. It is certainly possible to crash NumPy by mutating an
array simultaneously in multiple threads, for example by calling a ufunc
and the resize
method simultaneously. For now our guidance is:
"don't do that". In the future we would like to provide stronger
guarantees.
Object arrays in particular need special care, since the GIL previously provided locking for object array access and no longer does. See Issue #27199 for more information about object arrays in the free-threaded build.
If you are interested in free-threaded Python, for example because you have a multiprocessing-based workflow that you are interested in running with Python threads, we encourage testing and experimentation.
If you run into problems that you suspect are because of NumPy, please open an issue, checking first if the bug also occurs in the "regular" non-free-threaded CPython 3.13 build. Many threading bugs can also occur in code that releases the GIL; disabling the GIL only makes it easier to hit threading bugs.
(gh-26157)
f2py
can generate freethreading-compatible C extensions
Pass --freethreading-compatible
to the f2py CLI tool to produce a C
extension marked as compatible with the free threading CPython
interpreter. Doing so prevents the interpreter from re-enabling the GIL
at runtime when it imports the C extension. Note that f2py
does not
analyze fortran code for thread safety, so you must verify that the
wrapped fortran code is thread safe before marking the extension as
compatible.
(gh-26981)
-
numpy.reshape
andnumpy.ndarray.reshape
now supportshape
andcopy
arguments.(gh-26292)
-
NumPy now supports DLPack v1, support for older versions will be deprecated in the future.
(gh-26501)
-
numpy.asanyarray
now supportscopy
anddevice
arguments, matchingnumpy.asarray
.(gh-26580)
-
numpy.printoptions
,numpy.get_printoptions
, andnumpy.set_printoptions
now support a new option,override_repr
, for defining customrepr(array)
behavior.(gh-26611)
-
numpy.cumulative_sum
andnumpy.cumulative_prod
were added as Array API compatible alternatives fornumpy.cumsum
andnumpy.cumprod
. The new functions can include a fixed initial (zeros forsum
and ones forprod
) in the result.(gh-26724)
-
numpy.clip
now supportsmax
andmin
keyword arguments which are meant to replacea_min
anda_max
. Also, fornp.clip(a)
ornp.clip(a, None, None)
a copy of the input array will be returned instead of raising an error.(gh-26724)
-
numpy.astype
now supportsdevice
argument.(gh-26724)
Improvements
histogram
auto-binning now returns bin sizes >=1 for integer input data
For integer input data, bin sizes smaller than 1 result in spurious
empty bins. This is now avoided when the number of bins is computed
using one of the algorithms provided by histogram_bin_edges
.
(gh-12150)
ndarray
shape-type parameter is now covariant and bound to tuple[int, ...]
Static typing for ndarray
is a long-term effort that continues with
this change. It is a generic type with type parameters for the shape and
the data type. Previously, the shape type parameter could be any value.
This change restricts it to a tuple of ints, as one would expect from
using ndarray.shape
. Further, the shape-type parameter has been
changed from invariant to covariant. This change also applies to the
subtypes of ndarray
, e.g. numpy.ma.MaskedArray
. See the
typing docs
for more information.
(gh-26081)
np.quantile
with method closest_observation
chooses nearest even order statistic
This changes the definition of nearest for border cases from the nearest odd order statistic to nearest even order statistic. The numpy implementation now matches other reference implementations.
(gh-26656)
lapack_lite
is now thread safe
NumPy provides a minimal low-performance version of LAPACK named
lapack_lite
that can be used if no BLAS/LAPACK system is detected at
build time.
Until now, lapack_lite
was not thread safe. Single-threaded use cases
did not hit any issues, but running linear algebra operations in
multiple threads could lead to errors, incorrect results, or segfaults
due to data races.
We have added a global lock, serializing access to lapack_lite
in
multiple threads.
(gh-26750)
numpy.printoptions
context manager is now thread and async-safe
The In prior versions of NumPy, the printoptions were defined using a
combination of Python and C global variables. We have refactored so the
state is stored in a python ContextVar
, making the context manager
thread and async-safe.
(gh-26846)
numpy.polynomial
Type hinting Starting from the 2.1 release, PEP 484 type annotations have been
included for the functions and convenience classes in numpy.polynomial
and its sub-packages.
(gh-26897)
numpy.dtypes
type hints
Improved The type annotations for numpy.dtypes
are now a better reflection of
the runtime: The numpy.dtype
type-aliases have been replaced with
specialized dtype
subtypes, and the previously missing annotations
for numpy.dtypes.StringDType
have been added.
(gh-27008)
Performance improvements and changes
-
numpy.save
now uses pickle protocol version 4 for saving arrays with object dtype, which allows for pickle objects larger than 4GB and improves saving speed by about 5% for large arrays.(gh-26388)
-
OpenBLAS on x86_64 and i686 is built with fewer kernels. Based on benchmarking, there are 5 clusters of performance around these kernels:
PRESCOTT NEHALEM SANDYBRIDGE HASWELL SKYLAKEX
.(gh-27147)
-
OpenBLAS on windows is linked without quadmath, simplifying licensing
(gh-27147)
-
Due to a regression in OpenBLAS on windows, the performance improvements when using multiple threads for OpenBLAS 0.3.26 were reverted.
(gh-27147)
ma.cov
and ma.corrcoef
are now significantly faster
The private function has been refactored along with ma.cov
and
ma.corrcoef
. They are now significantly faster, particularly on large,
masked arrays.
(gh-26285)
Changes
-
As
numpy.vecdot
is now a ufunc it has a less precise signature. This is due to the limitations of ufunc's typing stub.(gh-26313)
-
numpy.floor
,numpy.ceil
, andnumpy.trunc
now won't perform casting to a floating dtype for integer and boolean dtype input arrays.(gh-26766)
ma.corrcoef
may return a slightly different result
A pairwise observation approach is currently used in ma.corrcoef
to
calculate the standard deviations for each pair of variables. This has
been changed as it is being used to normalise the covariance, estimated
using ma.cov
, which does not consider the observations for each
variable in a pairwise manner, rendering it unnecessary. The
normalisation has been replaced by the more appropriate standard
deviation for each variable, which significantly reduces the wall time,
but will return slightly different estimates of the correlation
coefficients in cases where the observations between a pair of variables
are not aligned. However, it will return the same estimates in all other
cases, including returning the same correlation matrix as corrcoef
when using a masked array with no masked values.
(gh-26285)
copyto
and full
Cast-safety fixes in copyto
now uses NEP 50 correctly and applies this to its cast safety.
Python integer to NumPy integer casts and Python float to NumPy float
casts are now considered "safe" even if assignment may fail or
precision may be lost. This means the following examples change
slightly:
-
np.copyto(int8_arr, 1000)
previously performed an unsafe/same-kind cast of the Python integer. It will now always raise, to achieve an unsafe cast you must pass an array or NumPy scalar. -
np.copyto(uint8_arr, 1000, casting="safe")
will raise an OverflowError rather than a TypeError due to same-kind casting. -
np.copyto(float32_arr, 1e300, casting="safe")
will overflow toinf
(float32 cannot hold1e300
) rather raising a TypeError.
Further, only the dtype is used when assigning NumPy scalars (or 0-d arrays), meaning that the following behaves differently:
-
np.copyto(float32_arr, np.float64(3.0), casting="safe")
raises. -
np.coptyo(int8_arr, np.int64(100), casting="safe")
raises. Previously, NumPy checked whether the 100 fits theint8_arr
.
This aligns copyto
, full
, and full_like
with the correct NumPy 2
behavior.
(gh-27091)
Checksums
MD5
2323404663c0b2a86362319d7526eb80 numpy-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl
3d4bca8d05eb1eba859e77ff8f91d843 numpy-2.1.0-cp310-cp310-macosx_11_0_arm64.whl
9bd065f147dbf3f2d59ab57bff4f0074 numpy-2.1.0-cp310-cp310-macosx_14_0_arm64.whl
47d177533511901cd6bf77f72cbd3d6e numpy-2.1.0-cp310-cp310-macosx_14_0_x86_64.whl
530b7f38f64216f1322b39bc50f36c0c numpy-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d2a3161a10811a675a29a63e25636d83 numpy-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4e9fb20b080f7931791da71708740b83 numpy-2.1.0-cp310-cp310-musllinux_1_1_x86_64.whl
776eb610795d63217980a36eb23bf268 numpy-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl
8328b9e2afa4013aaf3e4963349445e2 numpy-2.1.0-cp310-cp310-win32.whl
e3184b9979192c8d7b80deb2af16d6bb numpy-2.1.0-cp310-cp310-win_amd64.whl
54571aef9d9081e35bebef10f8d64e75 numpy-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl
841dac2386c1da870a384b64cd31e32b numpy-2.1.0-cp311-cp311-macosx_14_0_arm64.whl
0fe85239ebe336d2baaddcb0ed001dc7 numpy-2.1.0-cp311-cp311-macosx_14_0_x86_64.whl
772a55a6c46f7b643af4640c2ca68d70 numpy-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
64fefbc527229521cf2a516b778b8aa7 numpy-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5cdb3d262d8c513b0f08cd1b6ba48512 numpy-2.1.0-cp311-cp311-musllinux_1_1_x86_64.whl
16140f5de42e87d84b80c350fd014893 numpy-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl
5e37df534d167af1966e099e0be9d94a numpy-2.1.0-cp311-cp311-win32.whl
ee443aa000621bed8bb2d6a94afd89b5 numpy-2.1.0-cp311-cp311-win_amd64.whl
d8c911fc34a8dad4ed821036563b5758 numpy-2.1.0-cp312-cp312-macosx_10_9_x86_64.whl
ec25d637c43ae8229052e62a4f40f2d2 numpy-2.1.0-cp312-cp312-macosx_11_0_arm64.whl
67c7abca3d0339f17a8543abc0e7bf11 numpy-2.1.0-cp312-cp312-macosx_14_0_arm64.whl
0d36ec6a64cbef1d727eb608a236ad2c numpy-2.1.0-cp312-cp312-macosx_14_0_x86_64.whl
0eedab574a3b75ec237be910e9717153 numpy-2.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
73dd2a5d0c85007bf5fdb4b7f66b8451 numpy-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
94fb0cfbc647a34177c766570fad752b numpy-2.1.0-cp312-cp312-musllinux_1_1_x86_64.whl
de3efbbcd792a1f82d0e3e175ea02ca9 numpy-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl
9a63ebbfb3c4c6eba77ef0723a5dc86f numpy-2.1.0-cp312-cp312-win32.whl
c68bc27545ac68c54935a1d0278b18f6 numpy-2.1.0-cp312-cp312-win_amd64.whl
f2795bb974af42e2723e32af9b14b66d numpy-2.1.0-cp313-cp313-macosx_10_13_x86_64.whl
2f7426b06a332ea7a20159f3c06d67d1 numpy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl
fcef18e031fc8588227023bac55d9636 numpy-2.1.0-cp313-cp313-macosx_14_0_arm64.whl
cbb5ca4dc798ea397344c93a2549e73e numpy-2.1.0-cp313-cp313-macosx_14_0_x86_64.whl
573213bea3a67452a310355adc7c6aa1 numpy-2.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
24f8c8a1235aeaedb8f154a984b3c78b numpy-2.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b2ef762c0ebb02b58a339c1e38f032b2 numpy-2.1.0-cp313-cp313-musllinux_1_1_x86_64.whl
50e68cbfeb330aff607969c30251632d numpy-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl
21228342cd1b4ff8c7ec1aea45c07186 numpy-2.1.0-cp313-cp313-win32.whl
8d234b05f0c4faf7b9884a1f0f19c23d numpy-2.1.0-cp313-cp313-win_amd64.whl
e0c19ca29fa8e8e051107cd36b978f05 numpy-2.1.0-cp313-cp313t-macosx_10_13_x86_64.whl
98756f2ff9adc2cf374c28db77e28312 numpy-2.1.0-cp313-cp313t-macosx_11_0_arm64.whl
69786349d1f392dc6ac3fe00271e941b numpy-2.1.0-cp313-cp313t-macosx_14_0_arm64.whl
4d1481bcb17aaebfc785e005455da223 numpy-2.1.0-cp313-cp313t-macosx_14_0_x86_64.whl
1d403eda14369ab023d5ae1c15dce25c numpy-2.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
cdeece2cd6508eeee5a4c3150b58ec59 numpy-2.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
85347b754d8324c508f7aeb7de243feb numpy-2.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl
6ff18d36d0940de6c1cc962a61b44bd5 numpy-2.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl
2f7d60a99c236a8f909bd86b8ed1e3a4 numpy-2.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
dc610133d9f09e5b3d396859e75c5593 numpy-2.1.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
6a2883ee5b16ab5c031037cc63c20e9b numpy-2.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c914ba2fe3fcdcd04c8fe6a8374ea5fb numpy-2.1.0-pp310-pypy310_pp73-win_amd64.whl
4cb2230ffa1cc41329ae29bd69ee08de numpy-2.1.0.tar.gz
SHA256
6326ab99b52fafdcdeccf602d6286191a79fe2fda0ae90573c5814cd2b0bc1b8 numpy-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl
0937e54c09f7a9a68da6889362ddd2ff584c02d015ec92672c099b61555f8911 numpy-2.1.0-cp310-cp310-macosx_11_0_arm64.whl
30014b234f07b5fec20f4146f69e13cfb1e33ee9a18a1879a0142fbb00d47673 numpy-2.1.0-cp310-cp310-macosx_14_0_arm64.whl
899da829b362ade41e1e7eccad2cf274035e1cb36ba73034946fccd4afd8606b numpy-2.1.0-cp310-cp310-macosx_14_0_x86_64.whl
08801848a40aea24ce16c2ecde3b756f9ad756586fb2d13210939eb69b023f5b numpy-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
398049e237d1aae53d82a416dade04defed1a47f87d18d5bd615b6e7d7e41d1f numpy-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0abb3916a35d9090088a748636b2c06dc9a6542f99cd476979fb156a18192b84 numpy-2.1.0-cp310-cp310-musllinux_1_1_x86_64.whl
10e2350aea18d04832319aac0f887d5fcec1b36abd485d14f173e3e900b83e33 numpy-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl
f6b26e6c3b98adb648243670fddc8cab6ae17473f9dc58c51574af3e64d61211 numpy-2.1.0-cp310-cp310-win32.whl
f505264735ee074250a9c78247ee8618292091d9d1fcc023290e9ac67e8f1afa numpy-2.1.0-cp310-cp310-win_amd64.whl
76368c788ccb4f4782cf9c842b316140142b4cbf22ff8db82724e82fe1205dce numpy-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl
f8e93a01a35be08d31ae33021e5268f157a2d60ebd643cfc15de6ab8e4722eb1 numpy-2.1.0-cp311-cp311-macosx_14_0_arm64.whl
9523f8b46485db6939bd069b28b642fec86c30909cea90ef550373787f79530e numpy-2.1.0-cp311-cp311-macosx_14_0_x86_64.whl
54139e0eb219f52f60656d163cbe67c31ede51d13236c950145473504fa208cb numpy-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f5ebbf9fbdabed208d4ecd2e1dfd2c0741af2f876e7ae522c2537d404ca895c3 numpy-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
378cb4f24c7d93066ee4103204f73ed046eb88f9ad5bb2275bb9fa0f6a02bd36 numpy-2.1.0-cp311-cp311-musllinux_1_1_x86_64.whl
d8f699a709120b220dfe173f79c73cb2a2cab2c0b88dd59d7b49407d032b8ebd numpy-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl
ffbd6faeb190aaf2b5e9024bac9622d2ee549b7ec89ef3a9373fa35313d44e0e numpy-2.1.0-cp311-cp311-win32.whl
0af3a5987f59d9c529c022c8c2a64805b339b7ef506509fba7d0556649b9714b numpy-2.1.0-cp311-cp311-win_amd64.whl
fe76d75b345dc045acdbc006adcb197cc680754afd6c259de60d358d60c93736 numpy-2.1.0-cp312-cp312-macosx_10_9_x86_64.whl
f358ea9e47eb3c2d6eba121ab512dfff38a88db719c38d1e67349af210bc7529 numpy-2.1.0-cp312-cp312-macosx_11_0_arm64.whl
dd94ce596bda40a9618324547cfaaf6650b1a24f5390350142499aa4e34e53d1 numpy-2.1.0-cp312-cp312-macosx_14_0_arm64.whl
b47c551c6724960479cefd7353656498b86e7232429e3a41ab83be4da1b109e8 numpy-2.1.0-cp312-cp312-macosx_14_0_x86_64.whl
a0756a179afa766ad7cb6f036de622e8a8f16ffdd55aa31f296c870b5679d745 numpy-2.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
24003ba8ff22ea29a8c306e61d316ac74111cebf942afbf692df65509a05f111 numpy-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b34fa5e3b5d6dc7e0a4243fa0f81367027cb6f4a7215a17852979634b5544ee0 numpy-2.1.0-cp312-cp312-musllinux_1_1_x86_64.whl
c4f982715e65036c34897eb598d64aef15150c447be2cfc6643ec7a11af06574 numpy-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl
c4cd94dfefbefec3f8b544f61286584292d740e6e9d4677769bc76b8f41deb02 numpy-2.1.0-cp312-cp312-win32.whl
a0cdef204199278f5c461a0bed6ed2e052998276e6d8ab2963d5b5c39a0500bc numpy-2.1.0-cp312-cp312-win_amd64.whl
8ab81ccd753859ab89e67199b9da62c543850f819993761c1e94a75a814ed667 numpy-2.1.0-cp313-cp313-macosx_10_13_x86_64.whl
442596f01913656d579309edcd179a2a2f9977d9a14ff41d042475280fc7f34e numpy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl
848c6b5cad9898e4b9ef251b6f934fa34630371f2e916261070a4eb9092ffd33 numpy-2.1.0-cp313-cp313-macosx_14_0_arm64.whl
54c6a63e9d81efe64bfb7bcb0ec64332a87d0b87575f6009c8ba67ea6374770b numpy-2.1.0-cp313-cp313-macosx_14_0_x86_64.whl
652e92fc409e278abdd61e9505649e3938f6d04ce7ef1953f2ec598a50e7c195 numpy-2.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0ab32eb9170bf8ffcbb14f11613f4a0b108d3ffee0832457c5d4808233ba8977 numpy-2.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8fb49a0ba4d8f41198ae2d52118b050fd34dace4b8f3fb0ee34e23eb4ae775b1 numpy-2.1.0-cp313-cp313-musllinux_1_1_x86_64.whl
44e44973262dc3ae79e9063a1284a73e09d01b894b534a769732ccd46c28cc62 numpy-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl
ab83adc099ec62e044b1fbb3a05499fa1e99f6d53a1dde102b2d85eff66ed324 numpy-2.1.0-cp313-cp313-win32.whl
de844aaa4815b78f6023832590d77da0e3b6805c644c33ce94a1e449f16d6ab5 numpy-2.1.0-cp313-cp313-win_amd64.whl
343e3e152bf5a087511cd325e3b7ecfd5b92d369e80e74c12cd87826e263ec06 numpy-2.1.0-cp313-cp313t-macosx_10_13_x86_64.whl
f07fa2f15dabe91259828ce7d71b5ca9e2eb7c8c26baa822c825ce43552f4883 numpy-2.1.0-cp313-cp313t-macosx_11_0_arm64.whl
5474dad8c86ee9ba9bb776f4b99ef2d41b3b8f4e0d199d4f7304728ed34d0300 numpy-2.1.0-cp313-cp313t-macosx_14_0_arm64.whl
1f817c71683fd1bb5cff1529a1d085a57f02ccd2ebc5cd2c566f9a01118e3b7d numpy-2.1.0-cp313-cp313t-macosx_14_0_x86_64.whl
3a3336fbfa0d38d3deacd3fe7f3d07e13597f29c13abf4d15c3b6dc2291cbbdd numpy-2.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7a894c51fd8c4e834f00ac742abad73fc485df1062f1b875661a3c1e1fb1c2f6 numpy-2.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9156ca1f79fc4acc226696e95bfcc2b486f165a6a59ebe22b2c1f82ab190384a numpy-2.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl
624884b572dff8ca8f60fab591413f077471de64e376b17d291b19f56504b2bb numpy-2.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl
15ef8b2177eeb7e37dd5ef4016f30b7659c57c2c0b57a779f1d537ff33a72c7b numpy-2.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
e5f0642cdf4636198a4990de7a71b693d824c56a757862230454629cf62e323d numpy-2.1.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
f15976718c004466406342789f31b6673776360f3b1e3c575f25302d7e789575 numpy-2.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6c1de77ded79fef664d5098a66810d4d27ca0224e9051906e634b3f7ead134c2 numpy-2.1.0-pp310-pypy310_pp73-win_amd64.whl
7dc90da0081f7e1da49ec4e398ede6a8e9cc4f5ebe5f9e06b443ed889ee9aaa2 numpy-2.1.0.tar.gz
v2.0.2
: NumPy 2.0.2 release (Aug 26, 2024)
NumPy 2.0.2 Release Notes
NumPy 2.0.2 is a maintenance release that fixes bugs and regressions discovered after the 2.0.1 release.
The Python versions supported by this release are 3.9-3.12.
Contributors
A total of 13 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- Bruno Oliveira +
- Charles Harris
- Chris Sidebottom
- Christian Heimes +
- Christopher Sidebottom
- Mateusz Sokół
- Matti Picus
- Nathan Goldbaum
- Pieter Eendebak
- Raghuveer Devulapalli
- Ralf Gommers
- Sebastian Berg
- Yair Chuchem +
Pull requests merged
A total of 19 pull requests were merged for this release.
- #27000: REL: Prepare for the NumPy 2.0.1 release [wheel build]
- #27001: MAINT: prepare 2.0.x for further development
- #27021: BUG: cfuncs.py: fix crash when sys.stderr is not available
-
#27022: DOC: Fix migration note for
alltrue
andsometrue
- #27061: BUG: use proper input and output descriptor in array_assign_subscript...
- #27073: BUG: Mirror VQSORT_ENABLED logic in Quicksort
- #27074: BUG: Bump Highway to latest master
- #27077: BUG: Off by one in memory overlap check
-
#27122: BUG: Use the new
npyv_loadable_stride_
functions for ldexp and... - #27126: BUG: Bump Highway to latest
- #27128: BUG: add missing error handling in public_dtype_api.c
- #27129: BUG: fix another cast setup in array_assign_subscript
- #27130: BUG: Fix building NumPy in FIPS mode
- #27131: BLD: update vendored Meson for cross-compilation patches
- #27146: MAINT: Scipy openblas 0.3.27.44.4
-
#27151: BUG: Do not accidentally store dtype metadata in
np.save
- #27195: REV: Revert undef I and document it
- #27213: BUG: Fix NPY_RAVEL_AXIS on backwards compatible NumPy 2 builds
- #27279: BUG: Fix array_equal for numeric and non-numeric scalar types
Checksums
MD5
ae4bc199b56d20305984b7465d6fbdf1 numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl
ecce0a682c2ccaaa14500b87ffb69f63 numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl
a94f34bec8a62dab95ce9883a87a82a6 numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl
a0a26dadf73264d31b7a6952b816d7c8 numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl
972f4366651a1a2ef00f630595104d15 numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6cffef937fe67a3879abefd3d2c40fb8 numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3717a5deda20f465720717a1a7a293a6 numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl
e31136ecc97bb76b3cb7e86bfc9471ac numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl
9703a02ca6b63ca53f83660d089f4294 numpy-2.0.2-cp310-cp310-win32.whl
12c097ef2c7492282a5514b5c4b68784 numpy-2.0.2-cp310-cp310-win_amd64.whl
f11d11bfa3aaf371d2e7fa0160e3208b numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl
86fc67666fc6e27740fde7dacb19c484 numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl
5fd12e0dd7162ea9599c49bbb6e6730e numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl
a40f473db729ea10ae401ce71899120a numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl
36ea96e0be954896597543d726157eda numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
cfa726b6d5445687020fc4d4f7191e42 numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
dfb9a7b7fe218e931b0dfb885a8250d6 numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl
d8bf100186e6cd1b2f27eb617ba9e581 numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl
4fe937eba0fc4d28a65c0ba571c809fc numpy-2.0.2-cp311-cp311-win32.whl
a9a0f8e1bc4d825272514896e3b17f15 numpy-2.0.2-cp311-cp311-win_amd64.whl
5ef80ec3b2db487d89c590eb301a7aa4 numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl
1bb398d93422bb9baf63c958ed1aa492 numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl
cc8d990a1ad3f4d66d0143ea709ccc99 numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl
4fee57e854bc3e9a267e865740438d53 numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl
c2c18eef5118607c0b023f6267ee9774 numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2928ed26d7153a488bfb126424d86c8f numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e32167073981b0a1a419aaaec741773e numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl
80a10803a3122472c1bf6c4617d0d1c5 numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl
39724e27a003b6ce9b1bcbf251e50b4b numpy-2.0.2-cp312-cp312-win32.whl
8319d0b3d23285d4698cbece73b23fde numpy-2.0.2-cp312-cp312-win_amd64.whl
da0f655880bbcb53094816b77cd493d1 numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl
47347c028f6ccf47d6a22724111fc96f numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl
26a5c8dec993258522fcef84ef0c040e numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl
fe447af86983ef2262e605a941bd46af numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl
96477b8563e6d4e2db710f4915a4c5e0 numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4e8255cdff60de62944aed1f4235ff68 numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
05d8465b87ca983eee044b66bc725391 numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl
dcf448ef80720bae7de6724f92499754 numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl
71557f67f24d39db709cc4ccb85ae5b5 numpy-2.0.2-cp39-cp39-win32.whl
f5dc31c5530037c4d1d990696b1d041c numpy-2.0.2-cp39-cp39-win_amd64.whl
a8f814da1a4509724346c14cd838b5dc numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
918f072481d014229dd5f0f5ba75306f numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
fcbe2e38506fbbbeda509a89063563d3 numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b99eff795ca26f8a513aace76a45a356 numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl
d517a3be706295c4a4c8f75f5ee7b261 numpy-2.0.2.tar.gz
SHA256
51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl
f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04 numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl
8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66 numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl
becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl
2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318 numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8 numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl
d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326 numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl
984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97 numpy-2.0.2-cp310-cp310-win32.whl
c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131 numpy-2.0.2-cp310-cp310-win_amd64.whl
49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448 numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl
11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195 numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl
807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57 numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl
8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl
a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669 numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951 numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9 numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl
c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15 numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl
a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4 numpy-2.0.2-cp311-cp311-win32.whl
286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc numpy-2.0.2-cp311-cp311-win_amd64.whl
df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl
8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl
9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl
a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl
c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692 numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl
ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl
671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5 numpy-2.0.2-cp312-cp312-win32.whl
cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a numpy-2.0.2-cp312-cp312-win_amd64.whl
9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl
423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl
2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl
97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729 numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl
1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1 numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl
9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl
905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa numpy-2.0.2-cp39-cp39-win32.whl
a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73 numpy-2.0.2-cp39-cp39-win_amd64.whl
7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8 numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4 numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385 numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl
883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78 numpy-2.0.2.tar.gz
v2.0.1
NumPy 2.0.1 Release Notes
NumPy 2.0.1 is a maintenance release that fixes bugs and regressions discovered after the 2.0.0 release. NumPy 2.0.1 is the last planned release in the 2.0.x series, 2.1.0rc1 should be out shortly.
The Python versions supported by this release are 3.9-3.12.
NOTE: Do not use the GitHub generated "Source code" files listed in the "Assets", they are garbage.
Improvements
np.quantile
with method closest_observation
chooses nearest even order statistic
This changes the definition of nearest for border cases from the nearest odd order statistic to nearest even order statistic. The numpy implementation now matches other reference implementations.
(gh-26656)
Contributors
A total of 15 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- @vahidmech +
- Alex Herbert +
- Charles Harris
- Giovanni Del Monte +
- Leo Singer
- Lysandros Nikolaou
- Matti Picus
- Nathan Goldbaum
- Patrick J. Roddy +
- Raghuveer Devulapalli
- Ralf Gommers
- Rostan Tabet +
- Sebastian Berg
- Tyler Reddy
- Yannik Wicke +
Pull requests merged
A total of 24 pull requests were merged for this release.
- #26711: MAINT: prepare 2.0.x for further development
-
#26792: TYP: fix incorrect import in
ma/extras.pyi
stub -
#26793: DOC: Mention '1.25' legacy printing mode in
set_printoptions
- #26794: DOC: Remove mention of NaN and NAN aliases from constants
- #26821: BLD: Fix x86-simd-sort build failure on openBSD
- #26822: BUG: Ensure output order follows input in numpy.fft
- #26823: TYP: fix missing sys import in numeric.pyi
- #26832: DOC: remove hack to override _add_newdocs_scalars
- #26835: BUG: avoid side-effect of 'include complex.h'
-
#26836: BUG: fix max_rows and chunked string/datetime reading in
loadtxt
- #26837: BUG: fix PyArray_ImportNumPyAPI under -Werror=strict-prototypes
- #26856: DOC: Update some documentation
- #26868: BUG: fancy indexing copy
-
#26869: BUG: Mismatched allocation domains in
PyArray_FillWithScalar
- #26870: BUG: Handle --f77flags and --f90flags for meson [wheel build]
- #26887: BUG: Fix new DTypes and new string promotion when signature is...
- #26888: BUG: remove numpy.f2py from excludedimports
- #26959: BUG: Quantile closest_observation to round to nearest even order
- #26960: BUG: Fix off-by-one error in amount of characters in strip
- #26961: API: Partially revert unique with return_inverse
- #26962: BUG,MAINT: Fix utf-8 character stripping memory access
- #26963: BUG: Fix out-of-bound minimum offset for in1d table method
- #26971: BUG: fix f2py tests to work with v2 API
- #26995: BUG: Add object cast to avoid warning with limited API
Checksums
MD5
a3e7d0f361ee7302448cae3c10844dd3 numpy-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl
cff8546b69e43ae7b5050f05bdc25df2 numpy-2.0.1-cp310-cp310-macosx_11_0_arm64.whl
1713d23342528f4f8f4027970f010068 numpy-2.0.1-cp310-cp310-macosx_14_0_arm64.whl
20020d28606ea58f986a262daa6018f1 numpy-2.0.1-cp310-cp310-macosx_14_0_x86_64.whl
db22154ea943a707917aebc79e449bc5 numpy-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fe86cd85f240216f64eb076a62a229d2 numpy-2.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e0ca08f85150af3cc6050d64e8c0bd27 numpy-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl
b76f432906f62e31f0e09c41f3f08b4c numpy-2.0.1-cp310-cp310-musllinux_1_2_aarch64.whl
28e8109e4ef524fa5c272d6faec870ae numpy-2.0.1-cp310-cp310-win32.whl
874beffaefdc73da42300ce691c2419c numpy-2.0.1-cp310-cp310-win_amd64.whl
7bbe029f650c924e952da117842d456d numpy-2.0.1-cp311-cp311-macosx_10_9_x86_64.whl
6d3d6ae26c520e93cef7f11ba3951f57 numpy-2.0.1-cp311-cp311-macosx_11_0_arm64.whl
de6082d719437eb7468ae31c407c503e numpy-2.0.1-cp311-cp311-macosx_14_0_arm64.whl
d15a8d95661f8a1dfcc4eb089f9b46e8 numpy-2.0.1-cp311-cp311-macosx_14_0_x86_64.whl
c181105e074ee575ccf2c992e40f947a numpy-2.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
00d22b299343fcdc78fbb0716ead6243 numpy-2.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d9c4f49dbedb3f3d0158f00db459bd25 numpy-2.0.1-cp311-cp311-musllinux_1_1_x86_64.whl
63caa03e0625327ad3a756e01c83a6ca numpy-2.0.1-cp311-cp311-musllinux_1_2_aarch64.whl
99d01d768a115d448ca2b4680de15191 numpy-2.0.1-cp311-cp311-win32.whl
8d1a31eccc8b9f077312095b11f62cb2 numpy-2.0.1-cp311-cp311-win_amd64.whl
6cc86f7761a33941d8c1c552186e774b numpy-2.0.1-cp312-cp312-macosx_10_9_x86_64.whl
67c48f352afff5f41108f1b9561d1d5c numpy-2.0.1-cp312-cp312-macosx_11_0_arm64.whl
1068d4eadcac6a869e0e457853b7e611 numpy-2.0.1-cp312-cp312-macosx_14_0_arm64.whl
dfb667450315fddcf84381fc8ef16892 numpy-2.0.1-cp312-cp312-macosx_14_0_x86_64.whl
69822bbbbb65d8a7d00ae32b435f61cc numpy-2.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
883ed6c41395fb2def6cc0d64dcb817f numpy-2.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4b1e9fd464821a7d1de3a8ddf911311e numpy-2.0.1-cp312-cp312-musllinux_1_1_x86_64.whl
79e6557f40b8ed8f5973b404d98eab3d numpy-2.0.1-cp312-cp312-musllinux_1_2_aarch64.whl
85596f15d4cf85c2f78b4cc12c2cad1e numpy-2.0.1-cp312-cp312-win32.whl
487c7c2944306f62b3770576ce903a91 numpy-2.0.1-cp312-cp312-win_amd64.whl
491093641afa21e65d6e629eb70571fc numpy-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl
5008b16c20f3d7e5a0c7764712f8908e numpy-2.0.1-cp39-cp39-macosx_11_0_arm64.whl
14633b898f863ea797c40ba1cf226c29 numpy-2.0.1-cp39-cp39-macosx_14_0_arm64.whl
9054ecb69d21b364e59e94aab24247cb numpy-2.0.1-cp39-cp39-macosx_14_0_x86_64.whl
be028cf4bb691921943939de17593dd7 numpy-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9c440ad02ff0a954f696637de37aab2d numpy-2.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
27aec0d286eabe26d8e9149f4572dba1 numpy-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl
b02eda82ee511ee27185c8a4073ea35c numpy-2.0.1-cp39-cp39-musllinux_1_2_aarch64.whl
cf579b902325e023b2dc444692eb5991 numpy-2.0.1-cp39-cp39-win32.whl
302c8c3118a5f55d9ef35ed8e517f6b1 numpy-2.0.1-cp39-cp39-win_amd64.whl
34c17fe980accfb76c6f348f85b3cfef numpy-2.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
02676eb84379b0a223288d6fd9d76942 numpy-2.0.1-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
b5300e6fe110bf69e1a8901c5c09e3f8 numpy-2.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
204a3ea7fb851e08d166c74f73f9b8a3 numpy-2.0.1-pp39-pypy39_pp73-win_amd64.whl
5df3c50fc124c3167404d396115898d0 numpy-2.0.1.tar.gz
SHA256
0fbb536eac80e27a2793ffd787895242b7f18ef792563d742c2d673bfcb75134 numpy-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl
69ff563d43c69b1baba77af455dd0a839df8d25e8590e79c90fcbe1499ebde42 numpy-2.0.1-cp310-cp310-macosx_11_0_arm64.whl
1b902ce0e0a5bb7704556a217c4f63a7974f8f43e090aff03fcf262e0b135e02 numpy-2.0.1-cp310-cp310-macosx_14_0_arm64.whl
f1659887361a7151f89e79b276ed8dff3d75877df906328f14d8bb40bb4f5101 numpy-2.0.1-cp310-cp310-macosx_14_0_x86_64.whl
4658c398d65d1b25e1760de3157011a80375da861709abd7cef3bad65d6543f9 numpy-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4127d4303b9ac9f94ca0441138acead39928938660ca58329fe156f84b9f3015 numpy-2.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e5eeca8067ad04bc8a2a8731183d51d7cbaac66d86085d5f4766ee6bf19c7f87 numpy-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl
9adbd9bb520c866e1bfd7e10e1880a1f7749f1f6e5017686a5fbb9b72cf69f82 numpy-2.0.1-cp310-cp310-musllinux_1_2_aarch64.whl
7b9853803278db3bdcc6cd5beca37815b133e9e77ff3d4733c247414e78eb8d1 numpy-2.0.1-cp310-cp310-win32.whl
81b0893a39bc5b865b8bf89e9ad7807e16717f19868e9d234bdaf9b1f1393868 numpy-2.0.1-cp310-cp310-win_amd64.whl
75b4e316c5902d8163ef9d423b1c3f2f6252226d1aa5cd8a0a03a7d01ffc6268 numpy-2.0.1-cp311-cp311-macosx_10_9_x86_64.whl
6e4eeb6eb2fced786e32e6d8df9e755ce5be920d17f7ce00bc38fcde8ccdbf9e numpy-2.0.1-cp311-cp311-macosx_11_0_arm64.whl
a1e01dcaab205fbece13c1410253a9eea1b1c9b61d237b6fa59bcc46e8e89343 numpy-2.0.1-cp311-cp311-macosx_14_0_arm64.whl
a8fc2de81ad835d999113ddf87d1ea2b0f4704cbd947c948d2f5513deafe5a7b numpy-2.0.1-cp311-cp311-macosx_14_0_x86_64.whl
5a3d94942c331dd4e0e1147f7a8699a4aa47dffc11bf8a1523c12af8b2e91bbe numpy-2.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
15eb4eca47d36ec3f78cde0a3a2ee24cf05ca7396ef808dda2c0ddad7c2bde67 numpy-2.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b83e16a5511d1b1f8a88cbabb1a6f6a499f82c062a4251892d9ad5d609863fb7 numpy-2.0.1-cp311-cp311-musllinux_1_1_x86_64.whl
1f87fec1f9bc1efd23f4227becff04bd0e979e23ca50cc92ec88b38489db3b55 numpy-2.0.1-cp311-cp311-musllinux_1_2_aarch64.whl
36d3a9405fd7c511804dc56fc32974fa5533bdeb3cd1604d6b8ff1d292b819c4 numpy-2.0.1-cp311-cp311-win32.whl
08458fbf403bff5e2b45f08eda195d4b0c9b35682311da5a5a0a0925b11b9bd8 numpy-2.0.1-cp311-cp311-win_amd64.whl
6bf4e6f4a2a2e26655717a1983ef6324f2664d7011f6ef7482e8c0b3d51e82ac numpy-2.0.1-cp312-cp312-macosx_10_9_x86_64.whl
7d6fddc5fe258d3328cd8e3d7d3e02234c5d70e01ebe377a6ab92adb14039cb4 numpy-2.0.1-cp312-cp312-macosx_11_0_arm64.whl
5daab361be6ddeb299a918a7c0864fa8618af66019138263247af405018b04e1 numpy-2.0.1-cp312-cp312-macosx_14_0_arm64.whl
ea2326a4dca88e4a274ba3a4405eb6c6467d3ffbd8c7d38632502eaae3820587 numpy-2.0.1-cp312-cp312-macosx_14_0_x86_64.whl
529af13c5f4b7a932fb0e1911d3a75da204eff023ee5e0e79c1751564221a5c8 numpy-2.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6790654cb13eab303d8402354fabd47472b24635700f631f041bd0b65e37298a numpy-2.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cbab9fc9c391700e3e1287666dfd82d8666d10e69a6c4a09ab97574c0b7ee0a7 numpy-2.0.1-cp312-cp312-musllinux_1_1_x86_64.whl
99d0d92a5e3613c33a5f01db206a33f8fdf3d71f2912b0de1739894668b7a93b numpy-2.0.1-cp312-cp312-musllinux_1_2_aarch64.whl
173a00b9995f73b79eb0191129f2455f1e34c203f559dd118636858cc452a1bf numpy-2.0.1-cp312-cp312-win32.whl
bb2124fdc6e62baae159ebcfa368708867eb56806804d005860b6007388df171 numpy-2.0.1-cp312-cp312-win_amd64.whl
bfc085b28d62ff4009364e7ca34b80a9a080cbd97c2c0630bb5f7f770dae9414 numpy-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl
8fae4ebbf95a179c1156fab0b142b74e4ba4204c87bde8d3d8b6f9c34c5825ef numpy-2.0.1-cp39-cp39-macosx_11_0_arm64.whl
72dc22e9ec8f6eaa206deb1b1355eb2e253899d7347f5e2fae5f0af613741d06 numpy-2.0.1-cp39-cp39-macosx_14_0_arm64.whl
ec87f5f8aca726117a1c9b7083e7656a9d0d606eec7299cc067bb83d26f16e0c numpy-2.0.1-cp39-cp39-macosx_14_0_x86_64.whl
1f682ea61a88479d9498bf2091fdcd722b090724b08b31d63e022adc063bad59 numpy-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8efc84f01c1cd7e34b3fb310183e72fcdf55293ee736d679b6d35b35d80bba26 numpy-2.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3fdabe3e2a52bc4eff8dc7a5044342f8bd9f11ef0934fcd3289a788c0eb10018 numpy-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl
24a0e1befbfa14615b49ba9659d3d8818a0f4d8a1c5822af8696706fbda7310c numpy-2.0.1-cp39-cp39-musllinux_1_2_aarch64.whl
f9cf5ea551aec449206954b075db819f52adc1638d46a6738253a712d553c7b4 numpy-2.0.1-cp39-cp39-win32.whl
e9e81fa9017eaa416c056e5d9e71be93d05e2c3c2ab308d23307a8bc4443c368 numpy-2.0.1-cp39-cp39-win_amd64.whl
61728fba1e464f789b11deb78a57805c70b2ed02343560456190d0501ba37b0f numpy-2.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
12f5d865d60fb9734e60a60f1d5afa6d962d8d4467c120a1c0cda6eb2964437d numpy-2.0.1-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
eacf3291e263d5a67d8c1a581a8ebbcfd6447204ef58828caf69a5e3e8c75990 numpy-2.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2c3a346ae20cfd80b6cfd3e60dc179963ef2ea58da5ec074fd3d9e7a1e7ba97f numpy-2.0.1-pp39-pypy39_pp73-win_amd64.whl
485b87235796410c3519a699cfe1faab097e509e90ebb05dcd098db2ae87e7b3 numpy-2.0.1.tar.gz
v2.0.0
NumPy 2.0.0 Release Notes
NumPy 2.0.0 is the first major release since 2006. It is the result of 11 months of development since the last feature release and is the work of 212 contributors spread over 1078 pull requests. It contains a large number of exciting new features as well as changes to both the Python and C APIs.
This major release includes breaking changes that could not happen in a regular minor (feature) release - including an ABI break, changes to type promotion rules, and API changes which may not have been emitting deprecation warnings in 1.26.x. Key documents related to how to adapt to changes in NumPy 2.0, in addition to these release notes, include:
- The numpy-2-migration-guide
- The Numpy 2.0-specific advice in for downstream package authors
Highlights
Highlights of this release include:
- New features:
- A new variable-length string dtype,
numpy.dtypes.StringDType
and a newnumpy.strings
namespace with performant ufuncs for string operations, - Support for
float32
andlongdouble
in allnumpy.fft
functions, - Support for the array API standard in the main
numpy
namespace.
- A new variable-length string dtype,
- Performance improvements:
- Sorting functions
sort
,argsort
,partition
,argpartition
have been accelerated through the use of the Intel x86-simd-sort and Google Highway libraries, and may see large (hardware-specific) speedups, - macOS Accelerate support and binary wheels for macOS >=14, with significant performance improvements for linear algebra operations on macOS, and wheels that are about 3 times smaller,
-
numpy.char
fixed-length string operations have been accelerated by implementing ufuncs that also supportnumpy.dtypes.StringDType
in addition to the fixed-length string dtypes, - A new tracing and introspection API,
numpy.lib.introspect.opt_func_info
, to determine which hardware-specific kernels are available and will be dispatched to. -
numpy.save
now uses pickle protocol version 4 for saving arrays with object dtype, which allows for pickle objects larger than 4GB and improves saving speed by about 5% for large arrays.
- Sorting functions
- Python API improvements:
- A clear split between public and private API, with a new module structure and each public function now available in a single place.
- Many removals of non-recommended functions and aliases. This
should make it easier to learn and use NumPy. The number of
objects in the main namespace decreased by ~10% and in
numpy.lib
by ~80%. -
Canonical dtype names and a new
numpy.isdtype` introspection function,
- C API improvements:
- A new public C API for creating custom dtypes,
- Many outdated functions and macros removed, and private internals hidden to ease future extensibility,
- New, easier to use, initialization functions:
PyArray_ImportNumPyAPI
andPyUFunc_ImportUFuncAPI
.
- Improved behavior:
- Improvements to type promotion behavior was changed by adopting NEP 50. This fixes many user surprises about promotions which previously often depended on data values of input arrays rather than only their dtypes. Please see the NEP and the numpy-2-migration-guide for details as this change can lead to changes in output dtypes and lower precision results for mixed-dtype operations.
- The default integer type on Windows is now
int64
rather thanint32
, matching the behavior on other platforms, - The maximum number of array dimensions is changed from 32 to 64
- Documentation:
- The reference guide navigation was significantly improved, and there is now documentation on NumPy's module structure,
- The building from source documentation was completely rewritten,
Furthermore there are many changes to NumPy internals, including continuing to migrate code from C to C++, that will make it easier to improve and maintain NumPy in the future.
The "no free lunch" theorem dictates that there is a price to pay for all these API and behavior improvements and better future extensibility. This price is:
-
Backwards compatibility. There are a significant number of breaking changes to both the Python and C APIs. In the majority of cases, there are clear error messages that will inform the user how to adapt their code. However, there are also changes in behavior for which it was not possible to give such an error message - these cases are all covered in the Deprecation and Compatibility sections below, and in the numpy-2-migration-guide.
Note that there is a
ruff
mode to auto-fix many things in Python code. -
Breaking changes to the NumPy ABI. As a result, binaries of packages that use the NumPy C API and were built against a NumPy 1.xx release will not work with NumPy 2.0. On import, such packages will see an
ImportError
with a message about binary incompatibility.It is possible to build binaries against NumPy 2.0 that will work at runtime with both NumPy 2.0 and 1.x. See numpy-2-abi-handling for more details.
All downstream packages that depend on the NumPy ABI are advised to do a new release built against NumPy 2.0 and verify that that release works with both 2.0 and 1.26 - ideally in the period between 2.0.0rc1 (which will be ABI-stable) and the final 2.0.0 release to avoid problems for their users.
The Python versions supported by this release are 3.9-3.12.
NumPy 2.0 Python API removals
-
np.geterrobj
,np.seterrobj
and the related ufunc keyword argumentextobj=
have been removed. The preferred replacement for all of these is using the context managerwith np.errstate():
.(gh-23922)
-
np.cast
has been removed. The literal replacement fornp.cast[dtype](arg)
isnp.asarray(arg, dtype=dtype)
. -
np.source
has been removed. The preferred replacement isinspect.getsource
. -
np.lookfor
has been removed.(gh-24144)
-
numpy.who
has been removed. As an alternative for the removed functionality, one can use a variable explorer that is available in IDEs such as Spyder or Jupyter Notebook.(gh-24321)
-
Warnings and exceptions present in
numpy.exceptions
, e.g,numpy.exceptions.ComplexWarning
,numpy.exceptions.VisibleDeprecationWarning
, are no longer exposed in the main namespace. -
Multiple niche enums, expired members and functions have been removed from the main namespace, such as:
ERR_*
,SHIFT_*
,np.fastCopyAndTranspose
,np.kernel_version
,np.numarray
,np.oldnumeric
andnp.set_numeric_ops
.(gh-24316)
-
Replaced
from ... import *
in thenumpy/__init__.py
with explicit imports. As a result, these main namespace members got removed:np.FLOATING_POINT_SUPPORT
,np.FPE_*
,np.NINF
,np.PINF
,np.NZERO
,np.PZERO
,np.CLIP
,np.WRAP
,np.WRAP
,np.RAISE
,np.BUFSIZE
,np.UFUNC_BUFSIZE_DEFAULT
,np.UFUNC_PYVALS_NAME
,np.ALLOW_THREADS
,np.MAXDIMS
,np.MAY_SHARE_EXACT
,np.MAY_SHARE_BOUNDS
,add_newdoc
,np.add_docstring
andnp.add_newdoc_ufunc
.(gh-24357)
-
Alias
np.float_
has been removed. Usenp.float64
instead. -
Alias
np.complex_
has been removed. Usenp.complex128
instead. -
Alias
np.longfloat
has been removed. Usenp.longdouble
instead. -
Alias
np.singlecomplex
has been removed. Usenp.complex64
instead. -
Alias
np.cfloat
has been removed. Usenp.complex128
instead. -
Alias
np.longcomplex
has been removed. Usenp.clongdouble
instead. -
Alias
np.clongfloat
has been removed. Usenp.clongdouble
instead. -
Alias
np.string_
has been removed. Usenp.bytes_
instead. -
Alias
np.unicode_
has been removed. Usenp.str_
instead. -
Alias
np.Inf
has been removed. Usenp.inf
instead. -
Alias
np.Infinity
has been removed. Usenp.inf
instead. -
Alias
np.NaN
has been removed. Usenp.nan
instead. -
Alias
np.infty
has been removed. Usenp.inf
instead. -
Alias
np.mat
has been removed. Usenp.asmatrix
instead. -
np.issubclass_
has been removed. Use theissubclass
builtin instead. -
np.asfarray
has been removed. Usenp.asarray
with a proper dtype instead. -
np.set_string_function
has been removed. Usenp.set_printoptions
instead with a formatter for custom printing of NumPy objects. -
np.tracemalloc_domain
is now only available fromnp.lib
. -
np.recfromcsv
andrecfromtxt
are now only available fromnp.lib.npyio
. -
np.issctype
,np.maximum_sctype
,np.obj2sctype
,np.sctype2char
,np.sctypes
,np.issubsctype
were all removed from the main namespace without replacement, as they where niche members. -
Deprecated
np.deprecate
andnp.deprecate_with_doc
has been removed from the main namespace. UseDeprecationWarning
instead. -
Deprecated
np.safe_eval
has been removed from the main namespace. Useast.literal_eval
instead.(gh-24376)
-
np.find_common_type
has been removed. Usenumpy.promote_types
ornumpy.result_type
instead. To achieve semantics for thescalar_types
argument, usenumpy.result_type
and pass0
,0.0
, or0j
as a Python scalar instead. -
np.round_
has been removed. Usenp.round
instead. -
np.nbytes
has been removed. Usenp.dtype(<dtype>).itemsize
instead.(gh-24477)
-
np.compare_chararrays
has been removed from the main namespace. Usenp.char.compare_chararrays
instead. -
The
charrarray
in the main namespace has been deprecated. It can be imported without a deprecation warning fromnp.char.chararray
for now, but we are planning to fully deprecate and removechararray
in the future. -
np.format_parser
has been removed from the main namespace. Usenp.rec.format_parser
instead.(gh-24587)
-
Support for seven data type string aliases has been removed from
np.dtype
:int0
,uint0
,void0
,object0
,str0
,bytes0
andbool8
.(gh-24807)
-
The experimental
numpy.array_api
submodule has been removed. Use the mainnumpy
namespace for regular usage instead, or the separatearray-api-strict
package for the compliance testing use case for whichnumpy.array_api
was mostly used.(gh-25911)
__array_prepare__
is removed
UFuncs called __array_prepare__
before running computations for normal
ufunc calls (not generalized ufuncs, reductions, etc.). The function was
also called instead of __array_wrap__
on the results of some linear
algebra functions.
It is now removed. If you use it, migrate to __array_ufunc__
or rely
on __array_wrap__
which is called with a context in all cases,
although only after the result array is filled. In those code paths,
__array_wrap__
will now be passed a base class, rather than a subclass
array.
(gh-25105)
Deprecations
-
np.compat
has been deprecated, as Python 2 is no longer supported. -
numpy.int8
and similar classes will no longer support conversion of out of bounds python integers to integer arrays. For example, conversion of 255 to int8 will not return -1.numpy.iinfo(dtype)
can be used to check the machine limits for data types. For example,np.iinfo(np.uint16)
returns min = 0 and max = 65535.np.array(value).astype(dtype)
will give the desired result. -
np.safe_eval
has been deprecated.ast.literal_eval
should be used instead.(gh-23830)
-
np.recfromcsv
,np.recfromtxt
,np.disp
,np.get_array_wrap
,np.maximum_sctype
,np.deprecate
andnp.deprecate_with_doc
have been deprecated.(gh-24154)
-
np.trapz
has been deprecated. Usenp.trapezoid
or ascipy.integrate
function instead. -
np.in1d
has been deprecated. Usenp.isin
instead. -
Alias
np.row_stack
has been deprecated. Usenp.vstack
directly.(gh-24445)
-
__array_wrap__
is now passedarr, context, return_scalar
and support for implementations not accepting all three are deprecated. Its signature should be__array_wrap__(self, arr, context=None, return_scalar=False)
(gh-25409)
-
Arrays of 2-dimensional vectors for
np.cross
have been deprecated. Use arrays of 3-dimensional vectors instead.(gh-24818)
-
np.dtype("a")
alias fornp.dtype(np.bytes_)
was deprecated. Usenp.dtype("S")
alias instead.(gh-24854)
-
Use of keyword arguments
x
andy
with functionsassert_array_equal
andassert_array_almost_equal
has been deprecated. Pass the first two arguments as positional arguments instead.(gh-24978)
numpy.fft
deprecations for n-D transforms with None values in arguments
Using fftn
, ifftn
, rfftn
, irfftn
, fft2
, ifft2
, rfft2
or
irfft2
with the s
parameter set to a value that is not None
and
the axes
parameter set to None
has been deprecated, in line with the
array API standard. To retain current behaviour, pass a sequence [0,
..., k-1] to axes
for an array of dimension k.
Furthermore, passing an array to s
which contains None
values is
deprecated as the parameter is documented to accept a sequence of
integers in both the NumPy docs and the array API specification. To use
the default behaviour of the corresponding 1-D transform, pass the value
matching the default for its n
parameter. To use the default behaviour
for every axis, the s
argument can be omitted.
(gh-25495)
np.linalg.lstsq
now defaults to a new rcond
value
numpy.linalg.lstsq
now uses the new rcond value of the
machine precision times max(M, N)
. Previously, the machine precision
was used but a FutureWarning was given to notify that this change will
happen eventually. That old behavior can still be achieved by passing
rcond=-1
.
(gh-25721)
Expired deprecations
-
The
np.core.umath_tests
submodule has been removed from the public API. (Deprecated in NumPy 1.15)(gh-23809)
-
The
PyDataMem_SetEventHook
deprecation has expired and it is removed. Usetracemalloc
and thenp.lib.tracemalloc_domain
domain. (Deprecated in NumPy 1.23)(gh-23921)
-
The deprecation of
set_numeric_ops
and the C functionsPyArray_SetNumericOps
andPyArray_GetNumericOps
has been expired and the functions removed. (Deprecated in NumPy 1.16)(gh-23998)
-
The
fasttake
,fastclip
, andfastputmask
ArrFuncs
deprecation is now finalized. -
The deprecated function
fastCopyAndTranspose
and its C counterpart are now removed. -
The deprecation of
PyArray_ScalarFromObject
is now finalized.(gh-24312)
-
np.msort
has been removed. For a replacement,np.sort(a, axis=0)
should be used instead.(gh-24494)
-
np.dtype(("f8", 1)
will now return a shape 1 subarray dtype rather than a non-subarray one.(gh-25761)
-
Assigning to the
.data
attribute of an ndarray is disallowed and will raise. -
np.binary_repr(a, width)
will raise if width is too small. -
Using
NPY_CHAR
inPyArray_DescrFromType()
will raise, useNPY_STRING
NPY_UNICODE
, orNPY_VSTRING
instead.(gh-25794)
Compatibility notes
loadtxt
and genfromtxt
default encoding changed
loadtxt
and genfromtxt
now both default to encoding=None
which may
mainly modify how converters
work. These will now be passed str
rather than bytes
. Pass the encoding explicitly to always get the new
or old behavior. For genfromtxt
the change also means that returned
values will now be unicode strings rather than bytes.
(gh-25158)
f2py
compatibility notes
-
f2py
will no longer accept ambiguous-m
and.pyf
CLI combinations. When more than one.pyf
file is passed, an error is raised. When both-m
and a.pyf
is passed, a warning is emitted and the-m
provided name is ignored.(gh-25181)
-
The
f2py.compile()
helper has been removed because it leaked memory, has been marked as experimental for several years now, and was implemented as a thinsubprocess.run
wrapper. It was also one of the test bottlenecks. See gh-25122 for the full rationale. It also used severalnp.distutils
features which are too fragile to be ported to work withmeson
. -
Users are urged to replace calls to
f2py.compile
with calls tosubprocess.run("python", "-m", "numpy.f2py",...
instead, and to use environment variables to interact withmeson
. Native files are also an option.(gh-25193)
Minor changes in behavior of sorting functions
Due to algorithmic changes and use of SIMD code, sorting functions with
methods that aren't stable may return slightly different results in
2.0.0 compared to 1.26.x. This includes the default method of
numpy.argsort
and numpy.argpartition
.
np.solve
Removed ambiguity when broadcasting in The broadcasting rules for np.solve(a, b)
were ambiguous when b
had
1 fewer dimensions than a
. This has been resolved in a
backward-incompatible way and is now compliant with the Array API. The
old behaviour can be reconstructed by using
np.solve(a, b[..., None])[..., 0]
.
(gh-25914)
Polynomial
Modified representation for The representation method for
numpy.polynomial.polynomial.Polynomial
was updated to
include the domain in the representation. The plain text and latex
representations are now consistent. For example the output of
str(np.polynomial.Polynomial([1, 1], domain=[.1, .2]))
used to be
1.0 + 1.0 x
, but now is 1.0 + 1.0 (-3.0000000000000004 + 20.0 x)
.
(gh-21760)
C API changes
-
The
PyArray_CGT
,PyArray_CLT
,PyArray_CGE
,PyArray_CLE
,PyArray_CEQ
,PyArray_CNE
macros have been removed. -
PyArray_MIN
andPyArray_MAX
have been moved fromndarraytypes.h
tonpy_math.h
.(gh-24258)
-
A C API for working with
numpy.dtypes.StringDType
arrays has been exposed. This includes functions for acquiring and releasing mutexes which lock access to the string data, as well as packing and unpacking UTF-8 bytestreams from array entries. -
NPY_NTYPES
has been renamed toNPY_NTYPES_LEGACY
as it does not include new NumPy built-in DTypes. In particular the new string DType will likely not work correctly with code that handles legacy DTypes.(gh-25347)
-
The C-API now only exports the static inline function versions of the array accessors (previously this depended on using "deprecated API"). While we discourage it, the struct fields can still be used directly.
(gh-25789)
-
NumPy now defines
PyArray_Pack
to set an individual memory address. UnlikePyArray_SETITEM
this function is equivalent to setting an individual array item and does not require a NumPy array input.(gh-25954)
-
The
->f
slot has been removed fromPyArray_Descr
. If you use this slot, replace accessing it withPyDataType_GetArrFuncs
(see its documentation and thenumpy-2-migration-guide
). In some cases using other functions likePyArray_GETITEM
may be an alternatives. -
PyArray_GETITEM
andPyArray_SETITEM
now require the import of the NumPy API table to be used and are no longer defined inndarraytypes.h
.(gh-25812)
-
Due to runtime dependencies, the definition for functionality accessing the dtype flags was moved from
numpy/ndarraytypes.h
and is only available after includingnumpy/ndarrayobject.h
as it requiresimport_array()
. This includesPyDataType_FLAGCHK
,PyDataType_REFCHK
andNPY_BEGIN_THREADS_DESCR
. -
The dtype flags on
PyArray_Descr
must now be accessed through thePyDataType_FLAGS
inline function to be compatible with both 1.x and 2.x. This function is defined innpy_2_compat.h
to allow backporting. Most or all users should usePyDataType_FLAGCHK
which is available on 1.x and does not require backporting. Cython users should use Cython 3. Otherwise access will go through Python unless they usePyDataType_FLAGCHK
instead.(gh-25816)
Datetime functionality exposed in the C API and Cython bindings
The functions NpyDatetime_ConvertDatetime64ToDatetimeStruct
,
NpyDatetime_ConvertDatetimeStructToDatetime64
,
NpyDatetime_ConvertPyDateTimeToDatetimeStruct
,
NpyDatetime_GetDatetimeISO8601StrLen
,
NpyDatetime_MakeISO8601Datetime
, and
NpyDatetime_ParseISO8601Datetime
have been added to the C API to
facilitate converting between strings, Python datetimes, and NumPy
datetimes in external libraries.
(gh-21199)
Const correctness for the generalized ufunc C API
The NumPy C API's functions for constructing generalized ufuncs
(PyUFunc_FromFuncAndData
, PyUFunc_FromFuncAndDataAndSignature
,
PyUFunc_FromFuncAndDataAndSignatureAndIdentity
) take types
and
data
arguments that are not modified by NumPy's internals. Like the
name
and doc
arguments, third-party Python extension modules are
likely to supply these arguments from static constants. The types
and
data
arguments are now const-correct: they are declared as
const char *types
and void *const *data
, respectively. C code should
not be affected, but C++ code may be.
(gh-23847)
NPY_MAXDIMS
and NPY_MAXARGS
, NPY_RAVEL_AXIS
introduced
Larger NPY_MAXDIMS
is now 64, you may want to review its use. This is usually
used in a stack allocation, where the increase should be safe. However,
we do encourage generally to remove any use of NPY_MAXDIMS
and
NPY_MAXARGS
to eventually allow removing the constraint completely.
For the conversion helper and C-API functions mirroring Python ones such as
take
, NPY_MAXDIMS
was used to mean axis=None
. Such usage must be replaced
with NPY_RAVEL_AXIS
. See also migration_maxdims
.
(gh-25149)
NPY_MAXARGS
not constant and PyArrayMultiIterObject
size change
Since NPY_MAXARGS
was increased, it is now a runtime constant and not
compile-time constant anymore. We expect almost no users to notice this.
But if used for stack allocations it now must be replaced with a custom
constant using NPY_MAXARGS
as an additional runtime check.
The sizeof(PyArrayMultiIterObject)
no longer includes the full size of
the object. We expect nobody to notice this change. It was necessary to
avoid issues with Cython.
(gh-25271)
Required changes for custom legacy user dtypes
In order to improve our DTypes it is unfortunately necessary to break
the ABI, which requires some changes for dtypes registered with
PyArray_RegisterDataType
. Please see the documentation of
PyArray_RegisterDataType
for how to adapt your code and achieve
compatibility with both 1.x and 2.x.
(gh-25792)
New Public DType API
The C implementation of the NEP 42 DType API is now public. While the
DType API has shipped in NumPy for a few versions, it was only usable in
sessions with a special environment variable set. It is now possible to
write custom DTypes outside of NumPy using the new DType API and the
normal import_array()
mechanism for importing the numpy C API.
See dtype-api
for more details about the API. As always with a new feature,
please report any bugs you run into implementing or using a new DType. It is
likely that downstream C code that works with dtypes will need to be updated to
work correctly with new DTypes.
(gh-25754)
New C-API import functions
We have now added PyArray_ImportNumPyAPI
and PyUFunc_ImportUFuncAPI
as static inline functions to import the NumPy C-API tables. The new
functions have two advantages over import_array
and import_ufunc
:
- They check whether the import was already performed and are light-weight if not, allowing to add them judiciously (although this is not preferable in most cases).
- The old mechanisms were macros rather than functions which included
a
return
statement.
The PyArray_ImportNumPyAPI()
function is included in npy_2_compat.h
for simpler backporting.
(gh-25866)
Structured dtype information access through functions
The dtype structures fields c_metadata
, names
, fields
, and
subarray
must now be accessed through new functions following the same
names, such as PyDataType_NAMES
. Direct access of the fields is not
valid as they do not exist for all PyArray_Descr
instances. The
metadata
field is kept, but the macro version should also be
preferred.
(gh-25802)
elsize
and alignment
access
Descriptor Unless compiling only with NumPy 2 support, the elsize
and aligment
fields must now be accessed via PyDataType_ELSIZE
,
PyDataType_SET_ELSIZE
, and PyDataType_ALIGNMENT
. In cases where the
descriptor is attached to an array, we advise using PyArray_ITEMSIZE
as it exists on all NumPy versions. Please see
migration_c_descr
for more information.
(gh-25943)
NumPy 2.0 C API removals
-
npy_interrupt.h
and the corresponding macros likeNPY_SIGINT_ON
have been removed. We recommend queryingPyErr_CheckSignals()
orPyOS_InterruptOccurred()
periodically (these do currently require holding the GIL though). -
The
noprefix.h
header has been removed. Replace missing symbols with their prefixed counterparts (usually an addedNPY_
ornpy_
).(gh-23919)
-
PyUFunc_GetPyVals
,PyUFunc_handlefperr
, andPyUFunc_checkfperr
have been removed. If needed, a new backwards compatible function to raise floating point errors could be restored. Reason for removal: there are no known users and the functions would have madewith np.errstate()
fixes much more difficult).(gh-23922)
-
The
numpy/old_defines.h
which was part of the API deprecated since NumPy 1.7 has been removed. This removes macros of the formPyArray_CONSTANT
. The replace_old_macros.sed script may be useful to convert them to theNPY_CONSTANT
version.(gh-24011)
-
The
legacy_inner_loop_selector
member of the ufunc struct is removed to simplify improvements to the dispatching system. There are no known users overriding or directly accessing this member.(gh-24271)
-
NPY_INTPLTR
has been removed to avoid confusion (seeintp
redefinition).(gh-24888)
-
The advanced indexing
MapIter
and related API has been removed. The (truly) public part of it was not well tested and had only one known user (Theano). Making it private will simplify improvements to speed upufunc.at
, make advanced indexing more maintainable, and was important for increasing the maximum number of dimensions of arrays to 64. Please let us know if this API is important to you so we can find a solution together.(gh-25138)
-
The
NPY_MAX_ELSIZE
macro has been removed, as it only ever reflected builtin numeric types and served no internal purpose.(gh-25149)
-
PyArray_REFCNT
andNPY_REFCOUNT
are removed. UsePy_REFCNT
instead.(gh-25156)
-
PyArrayFlags_Type
andPyArray_NewFlagsObject
as well asPyArrayFlagsObject
are private now. There is no known use-case; use the Python API if needed. -
PyArray_MoveInto
,PyArray_CastTo
,PyArray_CastAnyTo
are removed usePyArray_CopyInto
and if absolutely neededPyArray_CopyAnyInto
(the latter does a flat copy). -
PyArray_FillObjectArray
is removed, its only true use was for implementingnp.empty
. Create a new empty array or usePyArray_FillWithScalar()
(decrefs existing objects). -
PyArray_CompareUCS4
andPyArray_CompareString
are removed. Use the standard C string comparison functions. -
PyArray_ISPYTHON
is removed as it is misleading, has no known use-cases, and is easy to replace. -
PyArray_FieldNames
is removed, as it is unclear what it would be useful for. It also has incorrect semantics in some possible use-cases. -
PyArray_TypestrConvert
is removed, since it seems a misnomer and unlikely to be used by anyone. If you know the size or are limited to few types, just use it explicitly, otherwise go via Python strings.(gh-25292)
-
PyDataType_GetDatetimeMetaData
is removed, it did not actually do anything since at least NumPy 1.7.(gh-25802)
-
PyArray_GetCastFunc
is removed. Note that custom legacy user dtypes can still provide a castfunc as their implementation, but any access to them is now removed. The reason for this is that NumPy never used these internally for many years. If you use simple numeric types, please just use C casts directly. In case you require an alternative, please let us know so we can create new API such asPyArray_CastBuffer()
which could use old or new cast functions depending on the NumPy version.(gh-25161)
New Features
np.add
was extended to work with unicode
and bytes
dtypes.
(gh-24858)
bitwise_count
function
A new This new function counts the number of 1-bits in a number.
numpy.bitwise_count
works on all the numpy integer types
and integer-like objects.
>>> a = np.array([2**i - 1 for i in range(16)])
>>> np.bitwise_count(a)
array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15],
dtype=uint8)
(gh-19355)
macOS Accelerate support, including the ILP64
Support for the updated Accelerate BLAS/LAPACK library, including ILP64 (64-bit integer) support, in macOS 13.3 has been added. This brings arm64 support, and significant performance improvements of up to 10x for commonly used linear algebra operations. When Accelerate is selected at build time, or if no explicit BLAS library selection is done, the 13.3+ version will automatically be used if available.
(gh-24053)
Binary wheels are also available. On macOS >=14.0, users who install NumPy from PyPI will get wheels built against Accelerate rather than OpenBLAS.
(gh-25255)
Option to use weights for quantile and percentile functions
A weights
keyword is now available for numpy.quantile
, numpy.percentile
,
numpy.nanquantile
and numpy.nanpercentile
. Only method="inverted_cdf"
supports weights.
(gh-24254)
Improved CPU optimization tracking
A new tracer mechanism is available which enables tracking of the enabled targets for each optimized function (i.e., that uses hardware-specific SIMD instructions) in the NumPy library. With this enhancement, it becomes possible to precisely monitor the enabled CPU dispatch targets for the dispatched functions.
A new function named opt_func_info
has been added to the new namespace
numpy.lib.introspect
, offering this tracing capability. This function allows
you to retrieve information about the enabled targets based on function names
and data type signatures.
(gh-24420)
f2py
A new Meson backend for f2py
in compile mode (i.e. f2py -c
) now accepts the
--backend meson
option. This is the default option for Python >=3.12.
For older Python versions, f2py
will still default to
--backend distutils
.
To support this in realistic use-cases, in compile mode f2py
takes a
--dep
flag one or many times which maps to dependency()
calls in the
meson
backend, and does nothing in the distutils
backend.
There are no changes for users of f2py
only as a code generator, i.e.
without -c
.
(gh-24532)
bind(c)
support for f2py
Both functions and subroutines can be annotated with bind(c)
. f2py
will handle both the correct type mapping, and preserve the unique label
for other C interfaces.
Note: bind(c, name = 'routine_name_other_than_fortran_routine')
is
not honored by the f2py
bindings by design, since bind(c)
with the
name
is meant to guarantee only the same name in C and Fortran, not in
Python and Fortran.
(gh-24555)
strict
option for several testing functions
A new The strict
keyword is now available for numpy.testing.assert_allclose
,
numpy.testing.assert_equal
, and numpy.testing.assert_array_less
. Setting
strict=True
will disable the broadcasting behaviour for scalars and ensure
that input arrays have the same data type.
(gh-24680, gh-24770, gh-24775)
np.core.umath.find
and np.core.umath.rfind
UFuncs
Add Add two find
and rfind
UFuncs that operate on unicode or byte
strings and are used in np.char
. They operate similar to str.find
and str.rfind
.
(gh-24868)
diagonal
and trace
for numpy.linalg
numpy.linalg.diagonal
and numpy.linalg.trace
have been added, which are
array API standard-compatible variants of numpy.diagonal
and numpy.trace
.
They differ in the default axis selection which define 2-D sub-arrays.
(gh-24887)
long
and ulong
dtypes
New numpy.long
and numpy.ulong
have been added as NumPy integers mapping to
C's long
and unsigned long
. Prior to NumPy 1.24, numpy.long
was an alias
to Python's int
.
(gh-24922)
svdvals
for numpy.linalg
numpy.linalg.svdvals
has been added. It computes singular values for (a stack
of) matrices. Executing np.svdvals(x)
is the same as calling np.svd(x, compute_uv=False, hermitian=False)
. This function is compatible with the array
API standard.
(gh-24940)
isdtype
function
A new numpy.isdtype
was added to provide a canonical way to classify NumPy's
dtypes in compliance with the array API standard.
(gh-25054)
astype
function
A new numpy.astype
was added to provide an array API standard-compatible
alternative to the numpy.ndarray.astype
method.
(gh-25079)
Array API compatible functions' aliases
13 aliases for existing functions were added to improve compatibility with the array API standard:
- Trigonometry:
acos
,acosh
,asin
,asinh
,atan
,atanh
,atan2
. - Bitwise:
bitwise_left_shift
,bitwise_invert
,bitwise_right_shift
. - Misc:
concat
,permute_dims
,pow
. - In
numpy.linalg
:tensordot
,matmul
.
(gh-25086)
unique_*
functions
New The numpy.unique_all
, numpy.unique_counts
, numpy.unique_inverse
, and
numpy.unique_values
functions have been added. They provide functionality of
numpy.unique
with different sets of flags. They are array API
standard-compatible, and because the number of arrays they return does not
depend on the values of input arguments, they are easier to target for JIT
compilation.
(gh-25088)
Matrix transpose support for ndarrays
NumPy now offers support for calculating the matrix transpose of an
array (or stack of arrays). The matrix transpose is equivalent to
swapping the last two axes of an array. Both np.ndarray
and
np.ma.MaskedArray
now expose a .mT
attribute, and there is a
matching new numpy.matrix_transpose
function.
(gh-23762)
numpy.linalg
Array API compatible functions for Six new functions and two aliases were added to improve compatibility with the Array API standard for `numpy.linalg`:
-
numpy.linalg.matrix_norm
- Computes the matrix norm of a matrix (or a stack of matrices). -
numpy.linalg.vector_norm
- Computes the vector norm of a vector (or batch of vectors). -
numpy.vecdot
- Computes the (vector) dot product of two arrays. -
numpy.linalg.vecdot
- An alias fornumpy.vecdot
. -
numpy.linalg.matrix_transpose
- An alias fornumpy.matrix_transpose
.(gh-25155)
-
numpy.linalg.outer
has been added. It computes the outer product of two vectors. It differs fromnumpy.outer
by accepting one-dimensional arrays only. This function is compatible with the array API standard.(gh-25101)
-
numpy.linalg.cross
has been added. It computes the cross product of two (arrays of) 3-dimensional vectors. It differs fromnumpy.cross
by accepting three-dimensional vectors only. This function is compatible with the array API standard.(gh-25145)
correction
argument for var
and std
A A correction
argument was added to numpy.var
and numpy.std
, which is an
array API standard compatible alternative to ddof
. As both arguments serve a
similar purpose, only one of them can be provided at the same time.
(gh-25169)
ndarray.device
and ndarray.to_device
An ndarray.device
attribute and ndarray.to_device
method were added
to numpy.ndarray
for array API standard compatibility.
Additionally, device
keyword-only arguments were added to:
numpy.asarray
, numpy.arange
, numpy.empty
, numpy.empty_like
,
numpy.eye
, numpy.full
, numpy.full_like
, numpy.linspace
, numpy.ones
,
numpy.ones_like
, numpy.zeros
, and numpy.zeros_like
.
For all these new arguments, only device="cpu"
is supported.
(gh-25233)
StringDType has been added to NumPy
We have added a new variable-width UTF-8 encoded string data type, implementing a "NumPy array of Python strings", including support for a user-provided missing data sentinel. It is intended as a drop-in replacement for arrays of Python strings and missing data sentinels using the object dtype. See NEP 55 and the documentation of stringdtype for more details.
(gh-25347)
cholesky
and pinv
New keywords for The upper
and rtol
keywords were added to
numpy.linalg.cholesky
and numpy.linalg.pinv
,
respectively, to improve array API standard compatibility.
For numpy.linalg.pinv
, if neither rcond
nor rtol
is
specified, the rcond
's default is used. We plan to deprecate and
remove rcond
in the future.
(gh-25388)
sort
, argsort
and linalg.matrix_rank
New keywords for New keyword parameters were added to improve array API standard compatibility:
-
rtol
was added tonumpy.linalg.matrix_rank
. -
stable
was added tonumpy.sort
andnumpy.argsort
.
(gh-25437)
numpy.strings
namespace for string ufuncs
New NumPy now implements some string operations as ufuncs. The old np.char
namespace is still available, and where possible the string manipulation
functions in that namespace have been updated to use the new ufuncs,
substantially improving their performance.
Where possible, we suggest updating code to use functions in
np.strings
instead of np.char
. In the future we may deprecate
np.char
in favor of np.strings
.
(gh-25463)
numpy.fft
support for different precisions and in-place calculations
The various FFT routines in numpy.fft
now do their
calculations natively in float, double, or long double precision,
depending on the input precision, instead of always calculating in
double precision. Hence, the calculation will now be less precise for
single and more precise for long double precision. The data type of the
output array will now be adjusted accordingly.
Furthermore, all FFT routines have gained an out
argument that can be
used for in-place calculations.
(gh-25536)
configtool and pkg-config support
A new numpy-config
CLI script is available that can be queried for the
NumPy version and for compile flags needed to use the NumPy C API. This
will allow build systems to better support the use of NumPy as a
dependency. Also, a numpy.pc
pkg-config file is now included with
Numpy. In order to find its location for use with PKG_CONFIG_PATH
, use
numpy-config --pkgconfigdir
.
(gh-25730)
Array API standard support in the main namespace
The main numpy
namespace now supports the array API standard. See
array-api-standard-compatibility
for
details.
(gh-25911)
Improvements
any
, all
, and the logical ufuncs.
Strings are now supported by (gh-25651)
memmap
Integer sequences as the shape argument for numpy.memmap
can now be created with any integer sequence
as the shape
argument, such as a list or numpy array of integers.
Previously, only the types of tuple and int could be used without
raising an error.
(gh-23729)
errstate
is now faster and context safe
The numpy.errstate
context manager/decorator is now faster
and safer. Previously, it was not context safe and had (rare) issues
with thread-safety.
(gh-23936)
AArch64 quicksort speed improved by using Highway's VQSort
The first introduction of the Google Highway library, using VQSort on AArch64. Execution time is improved by up to 16x in some cases, see the MR for benchmark results. Extensions to other platforms will be done in the future.
(gh-24018)
Complex types - underlying C type changes
-
The underlying C types for all of NumPy's complex types have been changed to use C99 complex types.
-
While this change does not affect the memory layout of complex types, it changes the API to be used to directly retrieve or write the real or complex part of the complex number, since direct field access (as in
c.real
orc.imag
) is no longer an option. You can now use utilities provided innumpy/npy_math.h
to do these operations, like this:npy_cdouble c; npy_csetreal(&c, 1.0); npy_csetimag(&c, 0.0); printf("%d + %di\n", npy_creal(c), npy_cimag(c));
-
To ease cross-version compatibility, equivalent macros and a compatibility layer have been added which can be used by downstream packages to continue to support both NumPy 1.x and 2.x. See
complex-numbers
for more info. -
numpy/npy_common.h
now includescomplex.h
, which means thatcomplex
is now a reserved keyword.
(gh-24085)
iso_c_binding
support and improved common blocks for f2py
Previously, users would have to define their own custom f2cmap
file to
use type mappings defined by the Fortran2003 iso_c_binding
intrinsic
module. These type maps are now natively supported by f2py
(gh-24555)
f2py
now handles common
blocks which have kind
specifications from
modules. This further expands the usability of intrinsics like
iso_fortran_env
and iso_c_binding
.
(gh-25186)
str
automatically on third argument to functions like assert_equal
Call The third argument to functions like
numpy.testing.assert_equal
now has str
called on it
automatically. This way it mimics the built-in assert
statement, where
assert_equal(a, b, obj)
works like assert a == b, obj
.
(gh-24877)
atol
/rtol
in isclose
, allclose
Support for array-like The keywords atol
and rtol
in numpy.isclose
and
numpy.allclose
now accept both scalars and arrays. An
array, if given, must broadcast to the shapes of the first two array
arguments.
(gh-24878)
Consistent failure messages in test functions
Previously, some numpy.testing
assertions printed messages
that referred to the actual and desired results as x
and y
. Now,
these values are consistently referred to as ACTUAL
and DESIRED
.
(gh-24931)
s[i] == -1
n-D FFT transforms allow The numpy.fft.fftn
, numpy.fft.ifftn
,
numpy.fft.rfftn
, numpy.fft.irfftn
,
numpy.fft.fft2
, numpy.fft.ifft2
,
numpy.fft.rfft2
and numpy.fft.irfft2
functions now use the whole input array along the axis i
if
s[i] == -1
, in line with the array API standard.
(gh-25495)
Guard PyArrayScalar_VAL and PyUnicodeScalarObject for the limited API
PyUnicodeScalarObject
holds a PyUnicodeObject
, which is not
available when using Py_LIMITED_API
. Add guards to hide it and
consequently also make the PyArrayScalar_VAL
macro hidden.
(gh-25531)
Changes
-
np.gradient()
now returns a tuple rather than a list making the return value immutable.(gh-23861)
-
Being fully context and thread-safe,
np.errstate
can only be entered once now. -
np.setbufsize
is now tied tonp.errstate()
: leaving annp.errstate
context will also reset thebufsize
.(gh-23936)
-
A new public
np.lib.array_utils
submodule has been introduced and it currently contains three functions:byte_bounds
(moved fromnp.lib.utils
),normalize_axis_tuple
andnormalize_axis_index
.(gh-24540)
-
Introduce
numpy.bool
as the new canonical name for NumPy's boolean dtype, and makenumpy.bool\_
an alias to it. Note that until NumPy 1.24,np.bool
was an alias to Python's builtinbool
. The new name helps with array API standard compatibility and is a more intuitive name.(gh-25080)
-
The
dtype.flags
value was previously stored as a signed integer. This means that the aligned dtype struct flag lead to negative flags being set (-128 rather than 128). This flag is now stored unsigned (positive). Code which checks flags manually may need to adapt. This may include code compiled with Cython 0.29.x.(gh-25816)
Representation of NumPy scalars changed
As per NEP 51, the scalar representation has been updated to include the type information to avoid confusion with Python scalars.
Scalars are now printed as np.float64(3.0)
rather than just 3.0
.
This may disrupt workflows that store representations of numbers (e.g.,
to files) making it harder to read them. They should be stored as
explicit strings, for example by using str()
or f"{scalar!s}"
. For
the time being, affected users can use
np.set_printoptions(legacy="1.25")
to get the old behavior (with
possibly a few exceptions). Documentation of downstream projects may
require larger updates, if code snippets are tested. We are working on
tooling for
doctest-plus
to facilitate updates.
(gh-22449)
Truthiness of NumPy strings changed
NumPy strings previously were inconsistent about how they defined if the
string is True
or False
and the definition did not match the one
used by Python. Strings are now considered True
when they are
non-empty and False
when they are empty. This changes the following
distinct cases:
- Casts from string to boolean were previously roughly equivalent to
string_array.astype(np.int64).astype(bool)
, meaning that only valid integers could be cast. Now a string of"0"
will be consideredTrue
since it is not empty. If you need the old behavior, you may use the above step (casting to integer first) orstring_array == "0"
(if the input is only ever0
or1
). To get the new result on old NumPy versions usestring_array != ""
. -
np.nonzero(string_array)
previously ignored whitespace so that a string only containing whitespace was consideredFalse
. Whitespace is now consideredTrue
.
This change does not affect np.loadtxt
, np.fromstring
, or
np.genfromtxt
. The first two still use the integer definition, while
genfromtxt
continues to match for "true"
(ignoring case). However,
if np.bool_
is used as a converter the result will change.
The change does affect np.fromregex
as it uses direct assignments.
(gh-23871)
mean
keyword was added to var and std function
A Often when the standard deviation is needed the mean is also needed. The
same holds for the variance and the mean. Until now the mean is then
calculated twice, the change introduced here for the numpy.var
and
numpy.std
functions allows for passing in a precalculated mean as an keyword
argument. See the docstrings for details and an example illustrating the
speed-up.
(gh-24126)
Remove datetime64 deprecation warning when constructing with timezone
The numpy.datetime64
method now issues a UserWarning rather than a
DeprecationWarning whenever a timezone is included in the datetime string that
is provided.
(gh-24193)
Default integer dtype is now 64-bit on 64-bit Windows
The default NumPy integer is now 64-bit on all 64-bit systems as the
historic 32-bit default on Windows was a common source of issues. Most
users should not notice this. The main issues may occur with code
interfacing with libraries written in a compiled language like C. For
more information see migration_windows_int64
.
(gh-24224)
numpy.core
to numpy._core
Renamed Accessing numpy.core
now emits a DeprecationWarning. In practice we
have found that most downstream usage of numpy.core
was to access
functionality that is available in the main numpy
namespace. If for
some reason you are using functionality in numpy.core
that is not
available in the main numpy
namespace, this means you are likely using
private NumPy internals. You can still access these internals via
numpy._core
without a deprecation warning but we do not provide any
backward compatibility guarantees for NumPy internals. Please open an
issue if you think a mistake was made and something needs to be made
public.
(gh-24634)
The "relaxed strides" debug build option, which was previously enabled
through the NPY_RELAXED_STRIDES_DEBUG
environment variable or the
-Drelaxed-strides-debug
config-settings flag has been removed.
(gh-24717)
np.intp
/np.uintp
(almost never a change)
Redefinition of Due to the actual use of these types almost always matching the use of
size_t
/Py_ssize_t
this is now the definition in C. Previously, it
matched intptr_t
and uintptr_t
which would often have been subtly
incorrect. This has no effect on the vast majority of machines since the
size of these types only differ on extremely niche platforms.
However, it means that:
- Pointers may not necessarily fit into an
intp
typed array anymore. Thep
andP
character codes can still be used, however. - Creating
intptr_t
oruintptr_t
typed arrays in C remains possible in a cross-platform way viaPyArray_DescrFromType('p')
. - The new character codes
nN
were introduced. - It is now correct to use the Python C-API functions when parsing to
npy_intp
typed arguments.
(gh-24888)
numpy.fft.helper
made private
numpy.fft.helper
was renamed to numpy.fft._helper
to indicate that
it is a private submodule. All public functions exported by it should be
accessed from numpy.fft
.
(gh-24945)
numpy.linalg.linalg
made private
numpy.linalg.linalg
was renamed to numpy.linalg._linalg
to indicate
that it is a private submodule. All public functions exported by it
should be accessed from numpy.linalg
.
(gh-24946)
axis=None
Out-of-bound axis not the same as In some cases axis=32
or for concatenate any large value was the same
as axis=None
. Except for concatenate
this was deprecate. Any out of
bound axis value will now error, make sure to use axis=None
.
(gh-25149)
copy
keyword meaning for array
and asarray
constructors
New Now numpy.array
and numpy.asarray
support
three values for copy
parameter:
-
None
- A copy will only be made if it is necessary. -
True
- Always make a copy. -
False
- Never make a copy. If a copy is required aValueError
is raised.
The meaning of False
changed as it now raises an exception if a copy
is needed.
(gh-25168)
__array__
special method now takes a copy
keyword argument.
The NumPy will pass copy
to the __array__
special method in situations
where it would be set to a non-default value (e.g. in a call to
np.asarray(some_object, copy=False)
). Currently, if an unexpected
keyword argument error is raised after this, NumPy will print a warning
and re-try without the copy
keyword argument. Implementations of
objects implementing the __array__
protocol should accept a copy
keyword argument with the same meaning as when passed to
numpy.array
or numpy.asarray
.
(gh-25168)
numpy.dtype
with strings with commas
Cleanup of initialization of The interpretation of strings with commas is changed slightly, in that a
trailing comma will now always create a structured dtype. E.g., where
previously np.dtype("i")
and np.dtype("i,")
were treated as
identical, now np.dtype("i,")
will create a structured dtype, with a
single field. This is analogous to np.dtype("i,i")
creating a
structured dtype with two fields, and makes the behaviour consistent
with that expected of tuples.
At the same time, the use of single number surrounded by parenthesis to
indicate a sub-array shape, like in np.dtype("(2)i,")
, is deprecated.
Instead; one should use np.dtype("(2,)i")
or np.dtype("2i")
.
Eventually, using a number in parentheses will raise an exception, like
is the case for initializations without a comma, like
np.dtype("(2)i")
.
(gh-25434)
Change in how complex sign is calculated
Following the array API standard, the complex sign is now calculated as
z / |z|
(instead of the rather less logical case where the sign of the
real part was taken, unless the real part was zero, in which case the
sign of the imaginary part was returned). Like for real numbers, zero is
returned if z==0
.
(gh-25441)
Return types of functions that returned a list of arrays
Functions that returned a list of ndarrays have been changed to return a
tuple of ndarrays instead. Returning tuples consistently whenever a
sequence of arrays is returned makes it easier for JIT compilers like
Numba, as well as for static type checkers in some cases, to support
these functions. Changed functions are: numpy.atleast_1d
, numpy.atleast_2d
,
numpy.atleast_3d
, numpy.broadcast_arrays
, numpy.meshgrid
,
numpy.ogrid
, numpy.histogramdd
.
np.unique
return_inverse
shape for multi-dimensional inputs
When multi-dimensional inputs are passed to np.unique
with
return_inverse=True
, the unique_inverse
output is now shaped such
that the input can be reconstructed directly using
np.take(unique, unique_inverse)
when axis=None
, and
np.take_along_axis(unique, unique_inverse, axis=axis)
otherwise.
any
and all
return booleans for object arrays
The any
and all
functions and methods now return booleans also for
object arrays. Previously, they did a reduction which behaved like the
Python or
and and
operators which evaluates to one of the arguments.
You can use np.logical_or.reduce
and np.logical_and.reduce
to
achieve the previous behavior.
(gh-25712)
np.can_cast
cannot be called on Python int, float, or complex
np.can_cast
cannot be called with Python int, float, or complex
instances anymore. This is because NEP 50 means that the result of
can_cast
must not depend on the value passed in. Unfortunately, for
Python scalars whether a cast should be considered "same_kind"
or
"safe"
may depend on the context and value so that this is currently
not implemented. In some cases, this means you may have to add a
specific path for: if type(obj) in (int, float, complex): ...
.
(gh-26393)
Checksums
MD5
fcda027f9735771088e607161c913094 numpy-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl
1c381a5af3e6b945c6937ab3c6e2de09 numpy-2.0.0-cp310-cp310-macosx_11_0_arm64.whl
6258de3c0599f8e3674e11898f2dd71c numpy-2.0.0-cp310-cp310-macosx_14_0_arm64.whl
aa4d28b404566dc9f5c34a31c6cd7b23 numpy-2.0.0-cp310-cp310-macosx_14_0_x86_64.whl
6b83ba81bdc750ef9924e3dc6f7c93be numpy-2.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3d129fe67d99e0aad451742abb963ffa numpy-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
24a060577965bd2a573ed87cbd207b4c numpy-2.0.0-cp310-cp310-musllinux_1_1_x86_64.whl
b00832f558669aacf855c4f5e9cf31d1 numpy-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl
cfe7420d294c583b90cfe07b730136dc numpy-2.0.0-cp310-cp310-win32.whl
cff9da6b9fe5ad3b05dd3526dff00ac2 numpy-2.0.0-cp310-cp310-win_amd64.whl
f390e03564df5ea37a97ac10cf0cbb00 numpy-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl
a006b081decba286a321de67a1abe246 numpy-2.0.0-cp311-cp311-macosx_11_0_arm64.whl
6aea3e8589e33349b8170524af5a2e44 numpy-2.0.0-cp311-cp311-macosx_14_0_arm64.whl
eea8146c5dc2a306333bfea1f01f7a37 numpy-2.0.0-cp311-cp311-macosx_14_0_x86_64.whl
e96c2af477c970c8ff50ecb5d1cf754f numpy-2.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d065256e02a1d410d0db2577bb8fd9a4 numpy-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
98c570b79459342c219590c5af38d527 numpy-2.0.0-cp311-cp311-musllinux_1_1_x86_64.whl
dc435751cb926f53a9fc457f35146527 numpy-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl
aaa4b435d29022ceacb4e3dcbd43d11a numpy-2.0.0-cp311-cp311-win32.whl
9ff8be4f581d86b2f181fe905491b19b numpy-2.0.0-cp311-cp311-win_amd64.whl
1c9519c5e6a0c5a99715e51ac3b7c932 numpy-2.0.0-cp312-cp312-macosx_10_9_x86_64.whl
b0f26e8728523d716f5165953b35244f numpy-2.0.0-cp312-cp312-macosx_11_0_arm64.whl
029703d0ff0e96c603c91f611926ef17 numpy-2.0.0-cp312-cp312-macosx_14_0_arm64.whl
2231ecbb380c70ddf462e9671d06612c numpy-2.0.0-cp312-cp312-macosx_14_0_x86_64.whl
4153b50c1a3647ca58f1084fcaf3e4c6 numpy-2.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
82cba3915234f8018fd754ffc45e95b0 numpy-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
249047dd7255a5fcf5c45614ba211e10 numpy-2.0.0-cp312-cp312-musllinux_1_1_x86_64.whl
f7581ebfe0c9d4ae4f3b6ea09c19eea7 numpy-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl
8a0dbcd919d1d959f1846a00ebb05162 numpy-2.0.0-cp312-cp312-win32.whl
22aabdfd85ed34f02a7cdacff399c5d9 numpy-2.0.0-cp312-cp312-win_amd64.whl
1fce84122c393e05b69e2ec53ecd1137 numpy-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl
81e4c1152274d85813bf14814ad4d359 numpy-2.0.0-cp39-cp39-macosx_11_0_arm64.whl
5eab1a2b427b590d2bc9d8ecd330fc21 numpy-2.0.0-cp39-cp39-macosx_14_0_arm64.whl
ab967929693baf2d2bfb00c53413ad2b numpy-2.0.0-cp39-cp39-macosx_14_0_x86_64.whl
85d2971cd78800663766f46ba312d356 numpy-2.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7e831fcf9cff5317429786a3bd123671 numpy-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
03a6426ca86ad53567e3ef61bc766013 numpy-2.0.0-cp39-cp39-musllinux_1_1_x86_64.whl
b30af2d2b99468538f45e6769f9fee2b numpy-2.0.0-cp39-cp39-musllinux_1_2_aarch64.whl
cc9a8db8d131fb5a387e2c1342ab0065 numpy-2.0.0-cp39-cp39-win32.whl
9843951308fa31c5e36c4c6a0b090308 numpy-2.0.0-cp39-cp39-win_amd64.whl
5021eb5e225bff3e05a38a565daf8852 numpy-2.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
99186fe49ac7931d3e92e8993c2faa92 numpy-2.0.0-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
c39f0ab6e07d42708550899951b852b8 numpy-2.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cbf151633948e90c93dd988777750961 numpy-2.0.0-pp39-pypy39_pp73-win_amd64.whl
a180aaba9982c6e15da6db62dab5eb4e numpy-2.0.0.tar.gz
SHA256
04494f6ec467ccb5369d1808570ae55f6ed9b5809d7f035059000a37b8d7e86f numpy-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl
2635dbd200c2d6faf2ef9a0d04f0ecc6b13b3cad54f7c67c61155138835515d2 numpy-2.0.0-cp310-cp310-macosx_11_0_arm64.whl
0a43f0974d501842866cc83471bdb0116ba0dffdbaac33ec05e6afed5b615238 numpy-2.0.0-cp310-cp310-macosx_14_0_arm64.whl
8d83bb187fb647643bd56e1ae43f273c7f4dbcdf94550d7938cfc32566756514 numpy-2.0.0-cp310-cp310-macosx_14_0_x86_64.whl
79e843d186c8fb1b102bef3e2bc35ef81160ffef3194646a7fdd6a73c6b97196 numpy-2.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6d7696c615765091cc5093f76fd1fa069870304beaccfd58b5dcc69e55ef49c1 numpy-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b4c76e3d4c56f145d41b7b6751255feefae92edbc9a61e1758a98204200f30fc numpy-2.0.0-cp310-cp310-musllinux_1_1_x86_64.whl
acd3a644e4807e73b4e1867b769fbf1ce8c5d80e7caaef0d90dcdc640dfc9787 numpy-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl
cee6cc0584f71adefe2c908856ccc98702baf95ff80092e4ca46061538a2ba98 numpy-2.0.0-cp310-cp310-win32.whl
ed08d2703b5972ec736451b818c2eb9da80d66c3e84aed1deeb0c345fefe461b numpy-2.0.0-cp310-cp310-win_amd64.whl
ad0c86f3455fbd0de6c31a3056eb822fc939f81b1618f10ff3406971893b62a5 numpy-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl
e7f387600d424f91576af20518334df3d97bc76a300a755f9a8d6e4f5cadd289 numpy-2.0.0-cp311-cp311-macosx_11_0_arm64.whl
34f003cb88b1ba38cb9a9a4a3161c1604973d7f9d5552c38bc2f04f829536609 numpy-2.0.0-cp311-cp311-macosx_14_0_arm64.whl
b6f6a8f45d0313db07d6d1d37bd0b112f887e1369758a5419c0370ba915b3871 numpy-2.0.0-cp311-cp311-macosx_14_0_x86_64.whl
5f64641b42b2429f56ee08b4f427a4d2daf916ec59686061de751a55aafa22e4 numpy-2.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a7039a136017eaa92c1848152827e1424701532ca8e8967fe480fe1569dae581 numpy-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
46e161722e0f619749d1cd892167039015b2c2817296104487cd03ed4a955995 numpy-2.0.0-cp311-cp311-musllinux_1_1_x86_64.whl
0e50842b2295ba8414c8c1d9d957083d5dfe9e16828b37de883f51fc53c4016f numpy-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl
2ce46fd0b8a0c947ae047d222f7136fc4d55538741373107574271bc00e20e8f numpy-2.0.0-cp311-cp311-win32.whl
fbd6acc766814ea6443628f4e6751d0da6593dae29c08c0b2606164db026970c numpy-2.0.0-cp311-cp311-win_amd64.whl
354f373279768fa5a584bac997de6a6c9bc535c482592d7a813bb0c09be6c76f numpy-2.0.0-cp312-cp312-macosx_10_9_x86_64.whl
4d2f62e55a4cd9c58c1d9a1c9edaedcd857a73cb6fda875bf79093f9d9086f85 numpy-2.0.0-cp312-cp312-macosx_11_0_arm64.whl
1e72728e7501a450288fc8e1f9ebc73d90cfd4671ebbd631f3e7857c39bd16f2 numpy-2.0.0-cp312-cp312-macosx_14_0_arm64.whl
84554fc53daa8f6abf8e8a66e076aff6ece62de68523d9f665f32d2fc50fd66e numpy-2.0.0-cp312-cp312-macosx_14_0_x86_64.whl
c73aafd1afca80afecb22718f8700b40ac7cab927b8abab3c3e337d70e10e5a2 numpy-2.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
49d9f7d256fbc804391a7f72d4a617302b1afac1112fac19b6c6cec63fe7fe8a numpy-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0ec84b9ba0654f3b962802edc91424331f423dcf5d5f926676e0150789cb3d95 numpy-2.0.0-cp312-cp312-musllinux_1_1_x86_64.whl
feff59f27338135776f6d4e2ec7aeeac5d5f7a08a83e80869121ef8164b74af9 numpy-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl
c5a59996dc61835133b56a32ebe4ef3740ea5bc19b3983ac60cc32be5a665d54 numpy-2.0.0-cp312-cp312-win32.whl
a356364941fb0593bb899a1076b92dfa2029f6f5b8ba88a14fd0984aaf76d0df numpy-2.0.0-cp312-cp312-win_amd64.whl
e61155fae27570692ad1d327e81c6cf27d535a5d7ef97648a17d922224b216de numpy-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl
4554eb96f0fd263041baf16cf0881b3f5dafae7a59b1049acb9540c4d57bc8cb numpy-2.0.0-cp39-cp39-macosx_11_0_arm64.whl
903703372d46bce88b6920a0cd86c3ad82dae2dbef157b5fc01b70ea1cfc430f numpy-2.0.0-cp39-cp39-macosx_14_0_arm64.whl
3e8e01233d57639b2e30966c63d36fcea099d17c53bf424d77f088b0f4babd86 numpy-2.0.0-cp39-cp39-macosx_14_0_x86_64.whl
1cde1753efe513705a0c6d28f5884e22bdc30438bf0085c5c486cdaff40cd67a numpy-2.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
821eedb7165ead9eebdb569986968b541f9908979c2da8a4967ecac4439bae3d numpy-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9a1712c015831da583b21c5bfe15e8684137097969c6d22e8316ba66b5baabe4 numpy-2.0.0-cp39-cp39-musllinux_1_1_x86_64.whl
9c27f0946a3536403efb0e1c28def1ae6730a72cd0d5878db38824855e3afc44 numpy-2.0.0-cp39-cp39-musllinux_1_2_aarch64.whl
63b92c512d9dbcc37f9d81b123dec99fdb318ba38c8059afc78086fe73820275 numpy-2.0.0-cp39-cp39-win32.whl
3f6bed7f840d44c08ebdb73b1825282b801799e325bcbdfa6bc5c370e5aecc65 numpy-2.0.0-cp39-cp39-win_amd64.whl
9416a5c2e92ace094e9f0082c5fd473502c91651fb896bc17690d6fc475128d6 numpy-2.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
17067d097ed036636fa79f6a869ac26df7db1ba22039d962422506640314933a numpy-2.0.0-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
38ecb5b0582cd125f67a629072fed6f83562d9dd04d7e03256c9829bdec027ad numpy-2.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cef04d068f5fb0518a77857953193b6bb94809a806bd0a14983a8f12ada060c9 numpy-2.0.0-pp39-pypy39_pp73-win_amd64.whl
cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864 numpy-2.0.0.tar.gz
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot.