Changelog
### 2.1.2
```
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](https://github.com/numpy/numpy/pull/27333): MAINT: prepare 2.1.x for further development
- [27400](https://github.com/numpy/numpy/pull/27400): BUG: apply critical sections around populating the dispatch cache
- [27406](https://github.com/numpy/numpy/pull/27406): BUG: Stub out get_build_msvc_version if distutils.msvccompiler\...
- [27416](https://github.com/numpy/numpy/pull/27416): BUILD: fix missing include for std::ptrdiff_t for C++23 language\...
- [27433](https://github.com/numpy/numpy/pull/27433): BLD: pin setuptools to avoid breaking numpy.distutils
- [27437](https://github.com/numpy/numpy/pull/27437): BUG: Allow unsigned shift argument for np.roll
- [27439](https://github.com/numpy/numpy/pull/27439): BUG: Disable SVE VQSort
- [27471](https://github.com/numpy/numpy/pull/27471): BUG: rfftn axis bug
- [27479](https://github.com/numpy/numpy/pull/27479): BUG: Fix extra decref of PyArray_UInt8DType.
- [27480](https://github.com/numpy/numpy/pull/27480): CI: use PyPI not scientific-python-nightly-wheels for CI doc\...
- [27481](https://github.com/numpy/numpy/pull/27481): MAINT: Check for SVE support on demand
- [27484](https://github.com/numpy/numpy/pull/27484): BUG: initialize the promotion state to be weak
- [27501](https://github.com/numpy/numpy/pull/27501): MAINT: Bump pypa/cibuildwheel from 2.20.0 to 2.21.2
- [27506](https://github.com/numpy/numpy/pull/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
```
### 2.1.1
```
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](https://github.com/numpy/numpy/pull/27236): REL: Prepare for the NumPy 2.1.0 release \[wheel build\]
- [27252](https://github.com/numpy/numpy/pull/27252): MAINT: prepare 2.1.x for further development
- [27259](https://github.com/numpy/numpy/pull/27259): BUG: revert unintended change in the return value of set_printoptions
- [27266](https://github.com/numpy/numpy/pull/27266): BUG: fix reference counting bug in \_\_array_interface\_\_ implementation...
- [27267](https://github.com/numpy/numpy/pull/27267): TST: Add regression test for missing descr in array-interface
- [27276](https://github.com/numpy/numpy/pull/27276): BUG: Fix #27256 and 27257
- [27278](https://github.com/numpy/numpy/pull/27278): BUG: Fix array_equal for numeric and non-numeric scalar types
- [27287](https://github.com/numpy/numpy/pull/27287): MAINT: Update maintenance/2.1.x after the 2.0.2 release
- [27303](https://github.com/numpy/numpy/pull/27303): BLD: cp311- macosx_arm64 wheels \[wheel build\]
- [27304](https://github.com/numpy/numpy/pull/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
```
### 2.1
```
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](https://github.com/numpy/numpy/issues/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](https://github.com/numpy/numpy/issues/new/choose),
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](https://github.com/numpy/numpy/issues/26157#issuecomment-2233864940))
`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](https://github.com/numpy/numpy/pull/26981))
- `numpy.reshape` and `numpy.ndarray.reshape` now support `shape` and
`copy` arguments.
([gh-26292](https://github.com/numpy/numpy/pull/26292))
- NumPy now supports DLPack v1, support for older versions will be
deprecated in the future.
([gh-26501](https://github.com/numpy/numpy/pull/26501))
- `numpy.asanyarray` now supports `copy` and `device` arguments,
matching `numpy.asarray`.
([gh-26580](https://github.com/numpy/numpy/pull/26580))
- `numpy.printoptions`, `numpy.get_printoptions`, and
`numpy.set_printoptions` now support a new option, `override_repr`,
for defining custom `repr(array)` behavior.
([gh-26611](https://github.com/numpy/numpy/pull/26611))
- `numpy.cumulative_sum` and `numpy.cumulative_prod` were added as
Array API compatible alternatives for `numpy.cumsum` and
`numpy.cumprod`. The new functions can include a fixed initial
(zeros for `sum` and ones for `prod`) in the result.
([gh-26724](https://github.com/numpy/numpy/pull/26724))
- `numpy.clip` now supports `max` and `min` keyword arguments which
are meant to replace `a_min` and `a_max`. Also, for `np.clip(a)` or
`np.clip(a, None, None)` a copy of the input array will be returned
instead of raising an error.
([gh-26724](https://github.com/numpy/numpy/pull/26724))
- `numpy.astype` now supports `device` argument.
([gh-26724](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://typing.readthedocs.io/en/latest/reference/generics.html#variance-of-generic-types)
for more information.
([gh-26081](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/26750))
The `numpy.printoptions` context manager is now thread and async-safe
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](https://github.com/numpy/numpy/pull/26846))
Type hinting `numpy.polynomial`
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](https://github.com/numpy/numpy/pull/26897))
Improved `numpy.dtypes` type hints
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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/27147))
- OpenBLAS on windows is linked without quadmath, simplifying
licensing
([gh-27147](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/26313))
- `numpy.floor`, `numpy.ceil`, and `numpy.trunc` now won\'t perform
casting to a floating dtype for integer and boolean dtype input
arrays.
([gh-26766](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/26285))
Cast-safety fixes in `copyto` and `full`
`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 to
`inf` (float32 cannot hold `1e300`) 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 the `int8_arr`.
This aligns `copyto`, `full`, and `full_like` with the correct NumPy 2
behavior.
([gh-27091](https://github.com/numpy/numpy/pull/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
```
### 2.1.0
```
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
New function `numpy.unstack`
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](https://github.com/numpy/numpy/pull/26579))
Deprecations
- The `fix_imports` keyword argument in `numpy.save` is deprecated.
Since NumPy 1.17, `numpy.save` uses a pickle protocol that no longer
supports Python 2, and ignored `fix_imports` keyword. This keyword
is kept only for backward compatibility. It is now deprecated.
([gh-26452](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/27076))
Expired deprecations
- Scalars and 0D arrays are disallowed for `numpy.nonzero` and
`numpy.ndarray.nonzero`.
([gh-26268](https://github.com/numpy/numpy/pull/26268))
- `set_string_function` internal function was removed and
`PyArray_SetStringFunction` was stubbed out.
([gh-26611](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/26842))
New `PyUFuncObject` field `process_core_dims_func`
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](https://github.com/numpy/numpy/pull/26908))
New Features
- `numpy.reshape` and `numpy.ndarray.reshape` now support `shape` and
`copy` arguments.
([gh-26292](https://github.com/numpy/numpy/pull/26292))
- NumPy now supports DLPack v1, support for older versions will be
deprecated in the future.
([gh-26501](https://github.com/numpy/numpy/pull/26501))
- `numpy.asanyarray` now supports `copy` and `device` arguments,
matching `numpy.asarray`.
([gh-26580](https://github.com/numpy/numpy/pull/26580))
- `numpy.printoptions`, `numpy.get_printoptions`, and
`numpy.set_printoptions` now support a new option, `override_repr`,
for defining custom `repr(array)` behavior.
([gh-26611](https://github.com/numpy/numpy/pull/26611))
- `numpy.cumulative_sum` and `numpy.cumulative_prod` were added as
Array API compatible alternatives for `numpy.cumsum` and
`numpy.cumprod`. The new functions can include a fixed initial
(zeros for `sum` and ones for `prod`) in the result.
([gh-26724](https://github.com/numpy/numpy/pull/26724))
- `numpy.clip` now supports `max` and `min` keyword arguments which
are meant to replace `a_min` and `a_max`. Also, for `np.clip(a)` or
`np.clip(a, None, None)` a copy of the input array will be returned
instead of raising an error.
([gh-26724](https://github.com/numpy/numpy/pull/26724))
- `numpy.astype` now supports `device` argument.
([gh-26724](https://github.com/numpy/numpy/pull/26724))
`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](https://github.com/numpy/numpy/pull/26981))
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](https://github.com/numpy/numpy/pull/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](https://typing.readthedocs.io/en/latest/reference/generics.html#variance-of-generic-types)
for more information.
([gh-26081](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/26750))
The `numpy.printoptions` context manager is now thread and async-safe
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](https://github.com/numpy/numpy/pull/26846))
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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/27147))
- OpenBLAS on windows is linked without quadmath, simplifying
licensing
([gh-27147](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/26313))
- `numpy.floor`, `numpy.ceil`, and `numpy.trunc` now won\'t perform
casting to a floating dtype for integer and boolean dtype input
arrays.
([gh-26766](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/26285))
Cast-safety fixes in `copyto` and `full`
`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 to
`inf` (float32 cannot hold `1e300`) 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 the `int8_arr`.
This aligns `copyto`, `full`, and `full_like` with the correct NumPy 2
behavior.
([gh-27091](https://github.com/numpy/numpy/pull/27091))
Checksums
MD5
8ac48250d6b96fce749fbd0fcf464ff9 numpy-2.1.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
13f92a9f7ed33d71ccfb742de0e3fec9 numpy-2.1.0rc1-cp310-cp310-macosx_11_0_arm64.whl
ba9286f6bd7a238eaead5ae2111d23a8 numpy-2.1.0rc1-cp310-cp310-macosx_14_0_arm64.whl
dc2b6c2f586090bc80268a81afec4c6f numpy-2.1.0rc1-cp310-cp310-macosx_14_0_x86_64.whl
16a13eb5dfad8008baf937026fa2db62 numpy-2.1.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c5d5697af3047b8a3dc7a5d6ca86ec86 numpy-2.1.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0e48596167a215333f277ff29ea29c45 numpy-2.1.0rc1-cp310-cp310-musllinux_1_1_x86_64.whl
381957df326f45c0fba0b64a00a043ac numpy-2.1.0rc1-cp310-cp310-musllinux_1_2_aarch64.whl
676fd27cea96af93142b4b420d9cb8af numpy-2.1.0rc1-cp310-cp310-win32.whl
b30bff4e8846c52e58fab9564b422ed2 numpy-2.1.0rc1-cp310-cp310-win_amd64.whl
4ee7c88591a445b3b5969999eeb7b0a7 numpy-2.1.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
556393087caa0bb6eec1a76dfe2cad32 numpy-2.1.0rc1-cp311-cp311-macosx_14_0_arm64.whl
4e2b2eb39fc3a6ca28048588fc6a5338 numpy-2.1.0rc1-cp311-cp311-macosx_14_0_x86_64.whl
34f5ab41c4c6a3ecbf0cc0b108a63942 numpy-2.1.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
689944e33b04a11878aecaf59611341b numpy-2.1.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5d2a53263c7daa9a3b9a89a4dc8ef3ac numpy-2.1.0rc1-cp311-cp311-musllinux_1_1_x86_64.whl
29e27f96f56d0d1b59f9b261ed6fe438 numpy-2.1.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl
f07177a3b6779e6747137e2173a545de numpy-2.1.0rc1-cp311-cp311-win32.whl
f2d1f68c8c0455cba32be4aa50f5afed numpy-2.1.0rc1-cp311-cp311-win_amd64.whl
8500240d88e6e3afc281c562af083fd7 numpy-2.1.0rc1-cp312-cp312-macosx_10_9_x86_64.whl
3280b4ad3a5ceb814d739a9c980d16d6 numpy-2.1.0rc1-cp312-cp312-macosx_11_0_arm64.whl
77a6339def5185efa262658c51d6e44e numpy-2.1.0rc1-cp312-cp312-macosx_14_0_arm64.whl
2e3a71b9ef1e60ce37949af87475f5f7 numpy-2.1.0rc1-cp312-cp312-macosx_14_0_x86_64.whl
3c1877cd6108cb502ac1df39cfec86d0 numpy-2.1.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ae1a9945726e7d970ee0b6232d5d9b4d numpy-2.1.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f1a71557d35d8b2f87f277e85c958b2b numpy-2.1.0rc1-cp312-cp312-musllinux_1_1_x86_64.whl
b1ba7049684a7d674c006325b4606dd1 numpy-2.1.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl
5944d81459d443a72346e7ea767b72a2 numpy-2.1.0rc1-cp312-cp312-win32.whl
f8b17b8f9bddb1c21844ae2475f72389 numpy-2.1.0rc1-cp312-cp312-win_amd64.whl
084ecd080c6871ed034ef69cda7573de numpy-2.1.0rc1-cp313-cp313-macosx_10_13_x86_64.whl
dbeca273db0240ca7fe395611f0c23c8 numpy-2.1.0rc1-cp313-cp313-macosx_11_0_arm64.whl
242794f34818844e0fe695ec42c62dbe numpy-2.1.0rc1-cp313-cp313-macosx_14_0_arm64.whl
3f1c04457ce363250ac5d37935172527 numpy-2.1.0rc1-cp313-cp313-macosx_14_0_x86_64.whl
2ce171281092e5f5d9f3d1ce8a615a94 numpy-2.1.0rc1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
95416f883c14a10fca22007594c94a94 numpy-2.1.0rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
36c07d317516f84cb376cc475b3ed13d numpy-2.1.0rc1-cp313-cp313-musllinux_1_1_x86_64.whl
e7c1f9c2964e4d71878a1654194452b2 numpy-2.1.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl
ea27f5a8b6dfa219b630aee52e621c8c numpy-2.1.0rc1-cp313-cp313-win32.whl
1821d7e0980f297296509090cfd9c288 numpy-2.1.0rc1-cp313-cp313-win_amd64.whl
1b7f8160179aef59822e3eb43cb8a210 numpy-2.1.0rc1-cp313-cp313t-macosx_10_13_x86_64.whl
fed8d00d6819c467ef97e0b7611624cd numpy-2.1.0rc1-cp313-cp313t-macosx_11_0_arm64.whl
f58df469b6ec5e1755b1572702b56716 numpy-2.1.0rc1-cp313-cp313t-macosx_14_0_arm64.whl
fe13066a540c68598b1180bec61e8e30 numpy-2.1.0rc1-cp313-cp313t-macosx_14_0_x86_64.whl
67d51902daf5bc9de69c6e46dfea9a64 numpy-2.1.0rc1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8409acd1916df8f8630260207a5b4eec numpy-2.1.0rc1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e64a5ccac64641cbbbd2caa652ff815a numpy-2.1.0rc1-cp313-cp313t-musllinux_1_1_x86_64.whl
488776d734d4eddc9c1540bf862106bb numpy-2.1.0rc1-cp313-cp313t-musllinux_1_2_aarch64.whl
fbc57a82683e2c9697a6992290ebe337 numpy-2.1.0rc1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
ed26d5d79acc222e107900668edcd01f numpy-2.1.0rc1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
c29f8c6a55c1ac9e5c693f63ec17f251 numpy-2.1.0rc1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4beab0a7bde06687f699e75cd04ec024 numpy-2.1.0rc1-pp310-pypy310_pp73-win_amd64.whl
88e72b72f2859ff084eb3863fac3ac20 numpy-2.1.0rc1.tar.gz
SHA256
590acae9e4b0baa895850c0edab988c329a196bacc7326f3249fa5fe7b94e5a8 numpy-2.1.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
61cf71f62033987ed49b78a19465f40fcbf6f7e94674eda21096ebde6935c2e0 numpy-2.1.0rc1-cp310-cp310-macosx_11_0_arm64.whl
0c489f6c47bbed44918c9c8036a679614920da2a45f481d0eca2ad168ca5327f numpy-2.1.0rc1-cp310-cp310-macosx_14_0_arm64.whl
4c33387be8eadc07d0834e0b9e2ead53117fe76ab2dadd37ee80d1df80be4c05 numpy-2.1.0rc1-cp310-cp310-macosx_14_0_x86_64.whl
f412923d4ce1ec29aa3cf7752598e5eb154f549cfbf62d7c6f3cc76cb25b32e0 numpy-2.1.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
06156c55771da4952a2432aa457cd96159675dcab4336f5307bff042535cb6ea numpy-2.1.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
be3ddd26a22d032914cfca5ef7db74f31adbd6c9d88a6f4e21ebd8e057d9474c numpy-2.1.0rc1-cp310-cp310-musllinux_1_1_x86_64.whl
12b38b0f3ddc1342863a6849f4fcb3f506e1d21179ebd34b7aa55a30cb50899f numpy-2.1.0rc1-cp310-cp310-musllinux_1_2_aarch64.whl
17581a2080012afe603c43005c9d050570e54683dde0d395e3edb4fa9c25f328 numpy-2.1.0rc1-cp310-cp310-win32.whl
8ee3ab33c02a0bd7d219a184c9bc43811de373551529981035673ca2a1ba7b93 numpy-2.1.0rc1-cp310-cp310-win_amd64.whl
2d3d1e61191e408a11658a64e9f9bb61741ad28c160576c95dac9df6f74713b4 numpy-2.1.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
4e08e733600647242a9046b6aff888e72fe8a846b00855e5136e7641b08d25d8 numpy-2.1.
This PR updates numpy from 1.17.2 to 2.1.2.
Changelog
### 2.1.2 ``` 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](https://github.com/numpy/numpy/pull/27333): MAINT: prepare 2.1.x for further development - [27400](https://github.com/numpy/numpy/pull/27400): BUG: apply critical sections around populating the dispatch cache - [27406](https://github.com/numpy/numpy/pull/27406): BUG: Stub out get_build_msvc_version if distutils.msvccompiler\... - [27416](https://github.com/numpy/numpy/pull/27416): BUILD: fix missing include for std::ptrdiff_t for C++23 language\... - [27433](https://github.com/numpy/numpy/pull/27433): BLD: pin setuptools to avoid breaking numpy.distutils - [27437](https://github.com/numpy/numpy/pull/27437): BUG: Allow unsigned shift argument for np.roll - [27439](https://github.com/numpy/numpy/pull/27439): BUG: Disable SVE VQSort - [27471](https://github.com/numpy/numpy/pull/27471): BUG: rfftn axis bug - [27479](https://github.com/numpy/numpy/pull/27479): BUG: Fix extra decref of PyArray_UInt8DType. - [27480](https://github.com/numpy/numpy/pull/27480): CI: use PyPI not scientific-python-nightly-wheels for CI doc\... - [27481](https://github.com/numpy/numpy/pull/27481): MAINT: Check for SVE support on demand - [27484](https://github.com/numpy/numpy/pull/27484): BUG: initialize the promotion state to be weak - [27501](https://github.com/numpy/numpy/pull/27501): MAINT: Bump pypa/cibuildwheel from 2.20.0 to 2.21.2 - [27506](https://github.com/numpy/numpy/pull/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 ``` ### 2.1.1 ``` 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](https://github.com/numpy/numpy/pull/27236): REL: Prepare for the NumPy 2.1.0 release \[wheel build\] - [27252](https://github.com/numpy/numpy/pull/27252): MAINT: prepare 2.1.x for further development - [27259](https://github.com/numpy/numpy/pull/27259): BUG: revert unintended change in the return value of set_printoptions - [27266](https://github.com/numpy/numpy/pull/27266): BUG: fix reference counting bug in \_\_array_interface\_\_ implementation... - [27267](https://github.com/numpy/numpy/pull/27267): TST: Add regression test for missing descr in array-interface - [27276](https://github.com/numpy/numpy/pull/27276): BUG: Fix #27256 and 27257 - [27278](https://github.com/numpy/numpy/pull/27278): BUG: Fix array_equal for numeric and non-numeric scalar types - [27287](https://github.com/numpy/numpy/pull/27287): MAINT: Update maintenance/2.1.x after the 2.0.2 release - [27303](https://github.com/numpy/numpy/pull/27303): BLD: cp311- macosx_arm64 wheels \[wheel build\] - [27304](https://github.com/numpy/numpy/pull/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 ``` ### 2.1 ``` 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](https://github.com/numpy/numpy/issues/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](https://github.com/numpy/numpy/issues/new/choose), 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](https://github.com/numpy/numpy/issues/26157#issuecomment-2233864940)) `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](https://github.com/numpy/numpy/pull/26981)) - `numpy.reshape` and `numpy.ndarray.reshape` now support `shape` and `copy` arguments. ([gh-26292](https://github.com/numpy/numpy/pull/26292)) - NumPy now supports DLPack v1, support for older versions will be deprecated in the future. ([gh-26501](https://github.com/numpy/numpy/pull/26501)) - `numpy.asanyarray` now supports `copy` and `device` arguments, matching `numpy.asarray`. ([gh-26580](https://github.com/numpy/numpy/pull/26580)) - `numpy.printoptions`, `numpy.get_printoptions`, and `numpy.set_printoptions` now support a new option, `override_repr`, for defining custom `repr(array)` behavior. ([gh-26611](https://github.com/numpy/numpy/pull/26611)) - `numpy.cumulative_sum` and `numpy.cumulative_prod` were added as Array API compatible alternatives for `numpy.cumsum` and `numpy.cumprod`. The new functions can include a fixed initial (zeros for `sum` and ones for `prod`) in the result. ([gh-26724](https://github.com/numpy/numpy/pull/26724)) - `numpy.clip` now supports `max` and `min` keyword arguments which are meant to replace `a_min` and `a_max`. Also, for `np.clip(a)` or `np.clip(a, None, None)` a copy of the input array will be returned instead of raising an error. ([gh-26724](https://github.com/numpy/numpy/pull/26724)) - `numpy.astype` now supports `device` argument. ([gh-26724](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://typing.readthedocs.io/en/latest/reference/generics.html#variance-of-generic-types) for more information. ([gh-26081](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/26750)) The `numpy.printoptions` context manager is now thread and async-safe 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](https://github.com/numpy/numpy/pull/26846)) Type hinting `numpy.polynomial` 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](https://github.com/numpy/numpy/pull/26897)) Improved `numpy.dtypes` type hints 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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/27147)) - OpenBLAS on windows is linked without quadmath, simplifying licensing ([gh-27147](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/26313)) - `numpy.floor`, `numpy.ceil`, and `numpy.trunc` now won\'t perform casting to a floating dtype for integer and boolean dtype input arrays. ([gh-26766](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/26285)) Cast-safety fixes in `copyto` and `full` `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 to `inf` (float32 cannot hold `1e300`) 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 the `int8_arr`. This aligns `copyto`, `full`, and `full_like` with the correct NumPy 2 behavior. ([gh-27091](https://github.com/numpy/numpy/pull/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 ``` ### 2.1.0 ``` 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 New function `numpy.unstack` 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](https://github.com/numpy/numpy/pull/26579)) Deprecations - The `fix_imports` keyword argument in `numpy.save` is deprecated. Since NumPy 1.17, `numpy.save` uses a pickle protocol that no longer supports Python 2, and ignored `fix_imports` keyword. This keyword is kept only for backward compatibility. It is now deprecated. ([gh-26452](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/27076)) Expired deprecations - Scalars and 0D arrays are disallowed for `numpy.nonzero` and `numpy.ndarray.nonzero`. ([gh-26268](https://github.com/numpy/numpy/pull/26268)) - `set_string_function` internal function was removed and `PyArray_SetStringFunction` was stubbed out. ([gh-26611](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/26842)) New `PyUFuncObject` field `process_core_dims_func` 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](https://github.com/numpy/numpy/pull/26908)) New Features - `numpy.reshape` and `numpy.ndarray.reshape` now support `shape` and `copy` arguments. ([gh-26292](https://github.com/numpy/numpy/pull/26292)) - NumPy now supports DLPack v1, support for older versions will be deprecated in the future. ([gh-26501](https://github.com/numpy/numpy/pull/26501)) - `numpy.asanyarray` now supports `copy` and `device` arguments, matching `numpy.asarray`. ([gh-26580](https://github.com/numpy/numpy/pull/26580)) - `numpy.printoptions`, `numpy.get_printoptions`, and `numpy.set_printoptions` now support a new option, `override_repr`, for defining custom `repr(array)` behavior. ([gh-26611](https://github.com/numpy/numpy/pull/26611)) - `numpy.cumulative_sum` and `numpy.cumulative_prod` were added as Array API compatible alternatives for `numpy.cumsum` and `numpy.cumprod`. The new functions can include a fixed initial (zeros for `sum` and ones for `prod`) in the result. ([gh-26724](https://github.com/numpy/numpy/pull/26724)) - `numpy.clip` now supports `max` and `min` keyword arguments which are meant to replace `a_min` and `a_max`. Also, for `np.clip(a)` or `np.clip(a, None, None)` a copy of the input array will be returned instead of raising an error. ([gh-26724](https://github.com/numpy/numpy/pull/26724)) - `numpy.astype` now supports `device` argument. ([gh-26724](https://github.com/numpy/numpy/pull/26724)) `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](https://github.com/numpy/numpy/pull/26981)) 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](https://github.com/numpy/numpy/pull/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](https://typing.readthedocs.io/en/latest/reference/generics.html#variance-of-generic-types) for more information. ([gh-26081](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/26750)) The `numpy.printoptions` context manager is now thread and async-safe 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](https://github.com/numpy/numpy/pull/26846)) 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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/27147)) - OpenBLAS on windows is linked without quadmath, simplifying licensing ([gh-27147](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/26313)) - `numpy.floor`, `numpy.ceil`, and `numpy.trunc` now won\'t perform casting to a floating dtype for integer and boolean dtype input arrays. ([gh-26766](https://github.com/numpy/numpy/pull/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](https://github.com/numpy/numpy/pull/26285)) Cast-safety fixes in `copyto` and `full` `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 to `inf` (float32 cannot hold `1e300`) 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 the `int8_arr`. This aligns `copyto`, `full`, and `full_like` with the correct NumPy 2 behavior. ([gh-27091](https://github.com/numpy/numpy/pull/27091)) Checksums MD5 8ac48250d6b96fce749fbd0fcf464ff9 numpy-2.1.0rc1-cp310-cp310-macosx_10_9_x86_64.whl 13f92a9f7ed33d71ccfb742de0e3fec9 numpy-2.1.0rc1-cp310-cp310-macosx_11_0_arm64.whl ba9286f6bd7a238eaead5ae2111d23a8 numpy-2.1.0rc1-cp310-cp310-macosx_14_0_arm64.whl dc2b6c2f586090bc80268a81afec4c6f numpy-2.1.0rc1-cp310-cp310-macosx_14_0_x86_64.whl 16a13eb5dfad8008baf937026fa2db62 numpy-2.1.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl c5d5697af3047b8a3dc7a5d6ca86ec86 numpy-2.1.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 0e48596167a215333f277ff29ea29c45 numpy-2.1.0rc1-cp310-cp310-musllinux_1_1_x86_64.whl 381957df326f45c0fba0b64a00a043ac numpy-2.1.0rc1-cp310-cp310-musllinux_1_2_aarch64.whl 676fd27cea96af93142b4b420d9cb8af numpy-2.1.0rc1-cp310-cp310-win32.whl b30bff4e8846c52e58fab9564b422ed2 numpy-2.1.0rc1-cp310-cp310-win_amd64.whl 4ee7c88591a445b3b5969999eeb7b0a7 numpy-2.1.0rc1-cp311-cp311-macosx_10_9_x86_64.whl 556393087caa0bb6eec1a76dfe2cad32 numpy-2.1.0rc1-cp311-cp311-macosx_14_0_arm64.whl 4e2b2eb39fc3a6ca28048588fc6a5338 numpy-2.1.0rc1-cp311-cp311-macosx_14_0_x86_64.whl 34f5ab41c4c6a3ecbf0cc0b108a63942 numpy-2.1.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 689944e33b04a11878aecaf59611341b numpy-2.1.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 5d2a53263c7daa9a3b9a89a4dc8ef3ac numpy-2.1.0rc1-cp311-cp311-musllinux_1_1_x86_64.whl 29e27f96f56d0d1b59f9b261ed6fe438 numpy-2.1.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl f07177a3b6779e6747137e2173a545de numpy-2.1.0rc1-cp311-cp311-win32.whl f2d1f68c8c0455cba32be4aa50f5afed numpy-2.1.0rc1-cp311-cp311-win_amd64.whl 8500240d88e6e3afc281c562af083fd7 numpy-2.1.0rc1-cp312-cp312-macosx_10_9_x86_64.whl 3280b4ad3a5ceb814d739a9c980d16d6 numpy-2.1.0rc1-cp312-cp312-macosx_11_0_arm64.whl 77a6339def5185efa262658c51d6e44e numpy-2.1.0rc1-cp312-cp312-macosx_14_0_arm64.whl 2e3a71b9ef1e60ce37949af87475f5f7 numpy-2.1.0rc1-cp312-cp312-macosx_14_0_x86_64.whl 3c1877cd6108cb502ac1df39cfec86d0 numpy-2.1.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl ae1a9945726e7d970ee0b6232d5d9b4d numpy-2.1.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl f1a71557d35d8b2f87f277e85c958b2b numpy-2.1.0rc1-cp312-cp312-musllinux_1_1_x86_64.whl b1ba7049684a7d674c006325b4606dd1 numpy-2.1.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl 5944d81459d443a72346e7ea767b72a2 numpy-2.1.0rc1-cp312-cp312-win32.whl f8b17b8f9bddb1c21844ae2475f72389 numpy-2.1.0rc1-cp312-cp312-win_amd64.whl 084ecd080c6871ed034ef69cda7573de numpy-2.1.0rc1-cp313-cp313-macosx_10_13_x86_64.whl dbeca273db0240ca7fe395611f0c23c8 numpy-2.1.0rc1-cp313-cp313-macosx_11_0_arm64.whl 242794f34818844e0fe695ec42c62dbe numpy-2.1.0rc1-cp313-cp313-macosx_14_0_arm64.whl 3f1c04457ce363250ac5d37935172527 numpy-2.1.0rc1-cp313-cp313-macosx_14_0_x86_64.whl 2ce171281092e5f5d9f3d1ce8a615a94 numpy-2.1.0rc1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 95416f883c14a10fca22007594c94a94 numpy-2.1.0rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 36c07d317516f84cb376cc475b3ed13d numpy-2.1.0rc1-cp313-cp313-musllinux_1_1_x86_64.whl e7c1f9c2964e4d71878a1654194452b2 numpy-2.1.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl ea27f5a8b6dfa219b630aee52e621c8c numpy-2.1.0rc1-cp313-cp313-win32.whl 1821d7e0980f297296509090cfd9c288 numpy-2.1.0rc1-cp313-cp313-win_amd64.whl 1b7f8160179aef59822e3eb43cb8a210 numpy-2.1.0rc1-cp313-cp313t-macosx_10_13_x86_64.whl fed8d00d6819c467ef97e0b7611624cd numpy-2.1.0rc1-cp313-cp313t-macosx_11_0_arm64.whl f58df469b6ec5e1755b1572702b56716 numpy-2.1.0rc1-cp313-cp313t-macosx_14_0_arm64.whl fe13066a540c68598b1180bec61e8e30 numpy-2.1.0rc1-cp313-cp313t-macosx_14_0_x86_64.whl 67d51902daf5bc9de69c6e46dfea9a64 numpy-2.1.0rc1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 8409acd1916df8f8630260207a5b4eec numpy-2.1.0rc1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl e64a5ccac64641cbbbd2caa652ff815a numpy-2.1.0rc1-cp313-cp313t-musllinux_1_1_x86_64.whl 488776d734d4eddc9c1540bf862106bb numpy-2.1.0rc1-cp313-cp313t-musllinux_1_2_aarch64.whl fbc57a82683e2c9697a6992290ebe337 numpy-2.1.0rc1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl ed26d5d79acc222e107900668edcd01f numpy-2.1.0rc1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl c29f8c6a55c1ac9e5c693f63ec17f251 numpy-2.1.0rc1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 4beab0a7bde06687f699e75cd04ec024 numpy-2.1.0rc1-pp310-pypy310_pp73-win_amd64.whl 88e72b72f2859ff084eb3863fac3ac20 numpy-2.1.0rc1.tar.gz SHA256 590acae9e4b0baa895850c0edab988c329a196bacc7326f3249fa5fe7b94e5a8 numpy-2.1.0rc1-cp310-cp310-macosx_10_9_x86_64.whl 61cf71f62033987ed49b78a19465f40fcbf6f7e94674eda21096ebde6935c2e0 numpy-2.1.0rc1-cp310-cp310-macosx_11_0_arm64.whl 0c489f6c47bbed44918c9c8036a679614920da2a45f481d0eca2ad168ca5327f numpy-2.1.0rc1-cp310-cp310-macosx_14_0_arm64.whl 4c33387be8eadc07d0834e0b9e2ead53117fe76ab2dadd37ee80d1df80be4c05 numpy-2.1.0rc1-cp310-cp310-macosx_14_0_x86_64.whl f412923d4ce1ec29aa3cf7752598e5eb154f549cfbf62d7c6f3cc76cb25b32e0 numpy-2.1.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 06156c55771da4952a2432aa457cd96159675dcab4336f5307bff042535cb6ea numpy-2.1.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl be3ddd26a22d032914cfca5ef7db74f31adbd6c9d88a6f4e21ebd8e057d9474c numpy-2.1.0rc1-cp310-cp310-musllinux_1_1_x86_64.whl 12b38b0f3ddc1342863a6849f4fcb3f506e1d21179ebd34b7aa55a30cb50899f numpy-2.1.0rc1-cp310-cp310-musllinux_1_2_aarch64.whl 17581a2080012afe603c43005c9d050570e54683dde0d395e3edb4fa9c25f328 numpy-2.1.0rc1-cp310-cp310-win32.whl 8ee3ab33c02a0bd7d219a184c9bc43811de373551529981035673ca2a1ba7b93 numpy-2.1.0rc1-cp310-cp310-win_amd64.whl 2d3d1e61191e408a11658a64e9f9bb61741ad28c160576c95dac9df6f74713b4 numpy-2.1.0rc1-cp311-cp311-macosx_10_9_x86_64.whl 4e08e733600647242a9046b6aff888e72fe8a846b00855e5136e7641b08d25d8 numpy-2.1.