Recent Releases of numpy
numpy - v2.3.2 (Jul 24, 2025)
NumPy 2.3.2 Release Notes
The NumPy 2.3.2 release is a patch release with a number of bug fixes and maintenance updates. The highlights are:
- Wheels for Python 3.14.0rc1
- PyPy updated to the latest stable release
- OpenBLAS updated to 0.3.30
This release supports Python versions 3.11-3.14
Contributors
A total of 9 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- !DWesl
- Charles Harris
- Joren Hammudoglu
- Maanas Arora
- Marco Edward Gorelli
- Matti Picus
- Nathan Goldbaum
- Sebastian Berg
- kostayScr +
Pull requests merged
A total of 16 pull requests were merged for this release.
- #29256: MAINT: Prepare 2.3.x for further development
- #29283: TYP: Work around a mypy issue with bool arrays (#29248)
- #29284: BUG: fix fencepost error in StringDType internals
- #29287: BUG: handle case in mapiter where descriptors might get replaced...
- #29350: BUG: Fix shape error path in array-interface
- #29412: BUG: Allow reading non-npy files in npz and add test
- #29413: TST: Avoid uninitialized values in test (#29341)
- #29414: BUG: Fix reference leakage for output arrays in reduction functions
- #29415: BUG: fix casting issue in center, ljust, rjust, and zfill (#29369)
- #29416: TYP: Fix overloads in
np.char.arrayandnp.char.asarray... - #29417: BUG: Any dtype should call
squareonarr \*\* 2(#29392) - #29424: MAINT: use a stable pypy release in CI
- #29425: MAINT: Support python 314rc1
- #29429: MAINT: Update highway to match main.
- #29430: BLD: use github to build macos-arm64 wheels with OpenBLAS and...
- #29437: BUG: fix datetime/timedelta hash memory leak (#29411)
Checksums
MD5
e35c637ea9fba77eabfdf70e26eaa16d numpy-2.3.2-cp311-cp311-macosx_10_9_x86_64.whl
3dede42d11c843cfacff422f65a80e47 numpy-2.3.2-cp311-cp311-macosx_11_0_arm64.whl
f5c485a43210eb3541b254c8c9d6ac9e numpy-2.3.2-cp311-cp311-macosx_14_0_arm64.whl
658950eb37e19b42920635ee60830a1d numpy-2.3.2-cp311-cp311-macosx_14_0_x86_64.whl
9a864a280798829cc522521bc5d9c7e2 numpy-2.3.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
085e1ff7746d327a1320672ab86966c3 numpy-2.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
6acefa06c38bc616352b76174d4f19d2 numpy-2.3.2-cp311-cp311-musllinux_1_2_aarch64.whl
4dd3469970dbfba60dad41b9923c5a5a numpy-2.3.2-cp311-cp311-musllinux_1_2_x86_64.whl
ad090139b8b872a9157b92c840566c5e numpy-2.3.2-cp311-cp311-win32.whl
09b023f808432e60633e36a13630dc13 numpy-2.3.2-cp311-cp311-win_amd64.whl
c80f2a1c4c829ccb6745a6d0803b7177 numpy-2.3.2-cp311-cp311-win_arm64.whl
307fc28e0c630dbc5a6ff4051ee9ec6c numpy-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl
4af1ffb81bdec235aef1b9bdf7c1566d numpy-2.3.2-cp312-cp312-macosx_11_0_arm64.whl
8003e8df1badaffee163a603bf05656b numpy-2.3.2-cp312-cp312-macosx_14_0_arm64.whl
e703fab1c371fd27389401caa34a5cbd numpy-2.3.2-cp312-cp312-macosx_14_0_x86_64.whl
5fdc228f15ec5de78b89c7aa4c137019 numpy-2.3.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
f3bc10b89911c09777c4c5d9752f35b0 numpy-2.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
5d0128aa0f6aa3a5122364a727a72eba numpy-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl
ef392070c44709321d7f87ab15bbd674 numpy-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl
909e05dcd1164cc02d5fccc1cc6c9ca6 numpy-2.3.2-cp312-cp312-win32.whl
3ba0b657682fc54d9433b4d7244c9264 numpy-2.3.2-cp312-cp312-win_amd64.whl
05755e8c591b1ac2fff05a06d76ac414 numpy-2.3.2-cp312-cp312-win_arm64.whl
c1e323fa1986bc99ae96c46126a30f93 numpy-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl
9a89327ef3550581017ea6e2a47c1a8e numpy-2.3.2-cp313-cp313-macosx_11_0_arm64.whl
3c7236116911c5c19de0091d7ac81f65 numpy-2.3.2-cp313-cp313-macosx_14_0_arm64.whl
1809c7adafae6492741864cf4dda7d1e numpy-2.3.2-cp313-cp313-macosx_14_0_x86_64.whl
ee68f94ec5f9c0c7f9423d7329bc085e numpy-2.3.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
24c4e95f0a615356787e2920378e5c6f numpy-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
5c53a2c915d177b7c305c0386ba21b43 numpy-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl
c4607ea441320a0078d942ca21ef2411 numpy-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl
09f2fdeb35d952751ba269ca5fa77e7a numpy-2.3.2-cp313-cp313-win32.whl
47a7326544ce192df844b3e9750c7704 numpy-2.3.2-cp313-cp313-win_amd64.whl
9b5adab8ee4eb97ccf90d73d63671db4 numpy-2.3.2-cp313-cp313-win_arm64.whl
7169baf4160b9a75790650cef23a73e1 numpy-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl
0338f2a78981d84d84e5f693ed6112d5 numpy-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl
b0c1c28add9716f7cee433d53fb43067 numpy-2.3.2-cp313-cp313t-macosx_14_0_arm64.whl
d2d8d43c535184095550420169858b90 numpy-2.3.2-cp313-cp313t-macosx_14_0_x86_64.whl
745bb6930958f4d7980cd705621abc25 numpy-2.3.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
96412f8c9687d468e260aacdfb9cca02 numpy-2.3.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
11ce971fe997bf5c0784516db85891ff numpy-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl
e71ba272e9db74bc753ca056e76fdf5b numpy-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl
82feb6822f2cf04a9edf38cf7f7d4806 numpy-2.3.2-cp313-cp313t-win32.whl
c6c8a1a2e94a9fc2dad9d161a6666e54 numpy-2.3.2-cp313-cp313t-win_amd64.whl
29e65f132c4a916214a0e82bca214717 numpy-2.3.2-cp313-cp313t-win_arm64.whl
2b99d343001495b182027843bf2148b2 numpy-2.3.2-cp314-cp314-macosx_10_13_x86_64.whl
40d04ac18cd9db3c380224d3d5607770 numpy-2.3.2-cp314-cp314-macosx_11_0_arm64.whl
871631874c6839719d1c1b3ad81835cd numpy-2.3.2-cp314-cp314-macosx_14_0_arm64.whl
4d4098888f19de85dd18646c2f955cd2 numpy-2.3.2-cp314-cp314-macosx_14_0_x86_64.whl
813e47e3c07cd28bf0458a1e513d6619 numpy-2.3.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
1fe080566baca813e6ac4635011a408a numpy-2.3.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
bd44ab38b53a4b5b6130b6f01ffaf5fa numpy-2.3.2-cp314-cp314-musllinux_1_2_aarch64.whl
f2fda217bec39ede344b42fef2cbd9e5 numpy-2.3.2-cp314-cp314-musllinux_1_2_x86_64.whl
c02218de0d0666769c91513eafaf251f numpy-2.3.2-cp314-cp314-win32.whl
d419eb806a6f5debb366d4bcf0f5bde0 numpy-2.3.2-cp314-cp314-win_amd64.whl
851529ffdf2b0d4b66eb1ac99c24da3e numpy-2.3.2-cp314-cp314-win_arm64.whl
2306e8b73fcd2d46116c6a95034e4d3a numpy-2.3.2-cp314-cp314t-macosx_10_13_x86_64.whl
b4d4ce3339cb9f0b0f2b339db803f39c numpy-2.3.2-cp314-cp314t-macosx_11_0_arm64.whl
6ae336ac461d5d89811c8a236b442842 numpy-2.3.2-cp314-cp314t-macosx_14_0_arm64.whl
351f35dd00bfb35e6cad2447a14c7cdf numpy-2.3.2-cp314-cp314t-macosx_14_0_x86_64.whl
0e0b26b34024f24a5f59809a1778ace0 numpy-2.3.2-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
bc77a7f5826bb0a38154d31d8444abb7 numpy-2.3.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
cd1e335e2a8437339475db12ee30f26d numpy-2.3.2-cp314-cp314t-musllinux_1_2_aarch64.whl
5c8093e713bd7e5f8512458d53fefeed numpy-2.3.2-cp314-cp314t-musllinux_1_2_x86_64.whl
66125a7e4e311fc2dedfa8c25ee577f2 numpy-2.3.2-cp314-cp314t-win32.whl
97713f41a5d4a08e8ed3d629d07678d3 numpy-2.3.2-cp314-cp314t-win_amd64.whl
848c4c409b643c2b42c431f51b310095 numpy-2.3.2-cp314-cp314t-win_arm64.whl
e240eed2fc098f7a0ae9813abead8a05 numpy-2.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
7e46ebe46530596019ae6b5db8a7a564 numpy-2.3.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl
82077182e608a0d366eba700902463b5 numpy-2.3.2-pp311-pypy311_pp73-macosx_14_0_arm64.whl
67db17064907cd22a74676b50de1ab6d numpy-2.3.2-pp311-pypy311_pp73-macosx_14_0_x86_64.whl
6d59903ecd732d53dd230ca59cdc2c34 numpy-2.3.2-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
baae8d6875e1de409ffef875896c4b4f numpy-2.3.2-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
5d92d6c39f2f0b28149ed15437b13cf7 numpy-2.3.2-pp311-pypy311_pp73-win_amd64.whl
f8d3d3b3ecd2b6e98889e88f6bbdc1a3 numpy-2.3.2.tar.gz
SHA256
852ae5bed3478b92f093e30f785c98e0cb62fa0a939ed057c31716e18a7a22b9 numpy-2.3.2-cp311-cp311-macosx_10_9_x86_64.whl
7a0e27186e781a69959d0230dd9909b5e26024f8da10683bd6344baea1885168 numpy-2.3.2-cp311-cp311-macosx_11_0_arm64.whl
f0a1a8476ad77a228e41619af2fa9505cf69df928e9aaa165746584ea17fed2b numpy-2.3.2-cp311-cp311-macosx_14_0_arm64.whl
cbc95b3813920145032412f7e33d12080f11dc776262df1712e1638207dde9e8 numpy-2.3.2-cp311-cp311-macosx_14_0_x86_64.whl
f75018be4980a7324edc5930fe39aa391d5734531b1926968605416ff58c332d numpy-2.3.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
20b8200721840f5621b7bd03f8dcd78de33ec522fc40dc2641aa09537df010c3 numpy-2.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
1f91e5c028504660d606340a084db4b216567ded1056ea2b4be4f9d10b67197f numpy-2.3.2-cp311-cp311-musllinux_1_2_aarch64.whl
fb1752a3bb9a3ad2d6b090b88a9a0ae1cd6f004ef95f75825e2f382c183b2097 numpy-2.3.2-cp311-cp311-musllinux_1_2_x86_64.whl
4ae6863868aaee2f57503c7a5052b3a2807cf7a3914475e637a0ecd366ced220 numpy-2.3.2-cp311-cp311-win32.whl
240259d6564f1c65424bcd10f435145a7644a65a6811cfc3201c4a429ba79170 numpy-2.3.2-cp311-cp311-win_amd64.whl
4209f874d45f921bde2cff1ffcd8a3695f545ad2ffbef6d3d3c6768162efab89 numpy-2.3.2-cp311-cp311-win_arm64.whl
bc3186bea41fae9d8e90c2b4fb5f0a1f5a690682da79b92574d63f56b529080b numpy-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl
2f4f0215edb189048a3c03bd5b19345bdfa7b45a7a6f72ae5945d2a28272727f numpy-2.3.2-cp312-cp312-macosx_11_0_arm64.whl
8b1224a734cd509f70816455c3cffe13a4f599b1bf7130f913ba0e2c0b2006c0 numpy-2.3.2-cp312-cp312-macosx_14_0_arm64.whl
3dcf02866b977a38ba3ec10215220609ab9667378a9e2150615673f3ffd6c73b numpy-2.3.2-cp312-cp312-macosx_14_0_x86_64.whl
572d5512df5470f50ada8d1972c5f1082d9a0b7aa5944db8084077570cf98370 numpy-2.3.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
8145dd6d10df13c559d1e4314df29695613575183fa2e2d11fac4c208c8a1f73 numpy-2.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
103ea7063fa624af04a791c39f97070bf93b96d7af7eb23530cd087dc8dbe9dc numpy-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl
fc927d7f289d14f5e037be917539620603294454130b6de200091e23d27dc9be numpy-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl
d95f59afe7f808c103be692175008bab926b59309ade3e6d25009e9a171f7036 numpy-2.3.2-cp312-cp312-win32.whl
9e196ade2400c0c737d93465327d1ae7c06c7cb8a1756121ebf54b06ca183c7f numpy-2.3.2-cp312-cp312-win_amd64.whl
ee807923782faaf60d0d7331f5e86da7d5e3079e28b291973c545476c2b00d07 numpy-2.3.2-cp312-cp312-win_arm64.whl
c8d9727f5316a256425892b043736d63e89ed15bbfe6556c5ff4d9d4448ff3b3 numpy-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl
efc81393f25f14d11c9d161e46e6ee348637c0a1e8a54bf9dedc472a3fae993b numpy-2.3.2-cp313-cp313-macosx_11_0_arm64.whl
dd937f088a2df683cbb79dda9a772b62a3e5a8a7e76690612c2737f38c6ef1b6 numpy-2.3.2-cp313-cp313-macosx_14_0_arm64.whl
11e58218c0c46c80509186e460d79fbdc9ca1eb8d8aee39d8f2dc768eb781089 numpy-2.3.2-cp313-cp313-macosx_14_0_x86_64.whl
5ad4ebcb683a1f99f4f392cc522ee20a18b2bb12a2c1c42c3d48d5a1adc9d3d2 numpy-2.3.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
938065908d1d869c7d75d8ec45f735a034771c6ea07088867f713d1cd3bbbe4f numpy-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
66459dccc65d8ec98cc7df61307b64bf9e08101f9598755d42d8ae65d9a7a6ee numpy-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl
a7af9ed2aa9ec5950daf05bb11abc4076a108bd3c7db9aa7251d5f107079b6a6 numpy-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl
906a30249315f9c8e17b085cc5f87d3f369b35fedd0051d4a84686967bdbbd0b numpy-2.3.2-cp313-cp313-win32.whl
c63d95dc9d67b676e9108fe0d2182987ccb0f11933c1e8959f42fa0da8d4fa56 numpy-2.3.2-cp313-cp313-win_amd64.whl
b05a89f2fb84d21235f93de47129dd4f11c16f64c87c33f5e284e6a3a54e43f2 numpy-2.3.2-cp313-cp313-win_arm64.whl
4e6ecfeddfa83b02318f4d84acf15fbdbf9ded18e46989a15a8b6995dfbf85ab numpy-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl
508b0eada3eded10a3b55725b40806a4b855961040180028f52580c4729916a2 numpy-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl
754d6755d9a7588bdc6ac47dc4ee97867271b17cee39cb87aef079574366db0a numpy-2.3.2-cp313-cp313t-macosx_14_0_arm64.whl
a9f66e7d2b2d7712410d3bc5684149040ef5f19856f20277cd17ea83e5006286 numpy-2.3.2-cp313-cp313t-macosx_14_0_x86_64.whl
de6ea4e5a65d5a90c7d286ddff2b87f3f4ad61faa3db8dabe936b34c2275b6f8 numpy-2.3.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
a3ef07ec8cbc8fc9e369c8dcd52019510c12da4de81367d8b20bc692aa07573a numpy-2.3.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
27c9f90e7481275c7800dc9c24b7cc40ace3fdb970ae4d21eaff983a32f70c91 numpy-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl
07b62978075b67eee4065b166d000d457c82a1efe726cce608b9db9dd66a73a5 numpy-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl
c771cfac34a4f2c0de8e8c97312d07d64fd8f8ed45bc9f5726a7e947270152b5 numpy-2.3.2-cp313-cp313t-win32.whl
72dbebb2dcc8305c431b2836bcc66af967df91be793d63a24e3d9b741374c450 numpy-2.3.2-cp313-cp313t-win_amd64.whl
72c6df2267e926a6d5286b0a6d556ebe49eae261062059317837fda12ddf0c1a numpy-2.3.2-cp313-cp313t-win_arm64.whl
448a66d052d0cf14ce9865d159bfc403282c9bc7bb2a31b03cc18b651eca8b1a numpy-2.3.2-cp314-cp314-macosx_10_13_x86_64.whl
546aaf78e81b4081b2eba1d105c3b34064783027a06b3ab20b6eba21fb64132b numpy-2.3.2-cp314-cp314-macosx_11_0_arm64.whl
87c930d52f45df092f7578889711a0768094debf73cfcde105e2d66954358125 numpy-2.3.2-cp314-cp314-macosx_14_0_arm64.whl
8dc082ea901a62edb8f59713c6a7e28a85daddcb67454c839de57656478f5b19 numpy-2.3.2-cp314-cp314-macosx_14_0_x86_64.whl
af58de8745f7fa9ca1c0c7c943616c6fe28e75d0c81f5c295810e3c83b5be92f numpy-2.3.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
fed5527c4cf10f16c6d0b6bee1f89958bccb0ad2522c8cadc2efd318bcd545f5 numpy-2.3.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
095737ed986e00393ec18ec0b21b47c22889ae4b0cd2d5e88342e08b01141f58 numpy-2.3.2-cp314-cp314-musllinux_1_2_aarch64.whl
b5e40e80299607f597e1a8a247ff8d71d79c5b52baa11cc1cce30aa92d2da6e0 numpy-2.3.2-cp314-cp314-musllinux_1_2_x86_64.whl
7d6e390423cc1f76e1b8108c9b6889d20a7a1f59d9a60cac4a050fa734d6c1e2 numpy-2.3.2-cp314-cp314-win32.whl
b9d0878b21e3918d76d2209c924ebb272340da1fb51abc00f986c258cd5e957b numpy-2.3.2-cp314-cp314-win_amd64.whl
2738534837c6a1d0c39340a190177d7d66fdf432894f469728da901f8f6dc910 numpy-2.3.2-cp314-cp314-win_arm64.whl
4d002ecf7c9b53240be3bb69d80f86ddbd34078bae04d87be81c1f58466f264e numpy-2.3.2-cp314-cp314t-macosx_10_13_x86_64.whl
293b2192c6bcce487dbc6326de5853787f870aeb6c43f8f9c6496db5b1781e45 numpy-2.3.2-cp314-cp314t-macosx_11_0_arm64.whl
0a4f2021a6da53a0d580d6ef5db29947025ae8b35b3250141805ea9a32bbe86b numpy-2.3.2-cp314-cp314t-macosx_14_0_arm64.whl
9c144440db4bf3bb6372d2c3e49834cc0ff7bb4c24975ab33e01199e645416f2 numpy-2.3.2-cp314-cp314t-macosx_14_0_x86_64.whl
f92d6c2a8535dc4fe4419562294ff957f83a16ebdec66df0805e473ffaad8bd0 numpy-2.3.2-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
cefc2219baa48e468e3db7e706305fcd0c095534a192a08f31e98d83a7d45fb0 numpy-2.3.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
76c3e9501ceb50b2ff3824c3589d5d1ab4ac857b0ee3f8f49629d0de55ecf7c2 numpy-2.3.2-cp314-cp314t-musllinux_1_2_aarch64.whl
122bf5ed9a0221b3419672493878ba4967121514b1d7d4656a7580cd11dddcbf numpy-2.3.2-cp314-cp314t-musllinux_1_2_x86_64.whl
6f1ae3dcb840edccc45af496f312528c15b1f79ac318169d094e85e4bb35fdf1 numpy-2.3.2-cp314-cp314t-win32.whl
087ffc25890d89a43536f75c5fe8770922008758e8eeeef61733957041ed2f9b numpy-2.3.2-cp314-cp314t-win_amd64.whl
092aeb3449833ea9c0bf0089d70c29ae480685dd2377ec9cdbbb620257f84631 numpy-2.3.2-cp314-cp314t-win_arm64.whl
14a91ebac98813a49bc6aa1a0dfc09513dcec1d97eaf31ca21a87221a1cdcb15 numpy-2.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
71669b5daae692189540cffc4c439468d35a3f84f0c88b078ecd94337f6cb0ec numpy-2.3.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl
69779198d9caee6e547adb933941ed7520f896fd9656834c300bdf4dd8642712 numpy-2.3.2-pp311-pypy311_pp73-macosx_14_0_arm64.whl
2c3271cc4097beb5a60f010bcc1cc204b300bb3eafb4399376418a83a1c6373c numpy-2.3.2-pp311-pypy311_pp73-macosx_14_0_x86_64.whl
8446acd11fe3dc1830568c941d44449fd5cb83068e5c70bd5a470d323d448296 numpy-2.3.2-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
aa098a5ab53fa407fded5870865c6275a5cd4101cfdef8d6fafc48286a96e981 numpy-2.3.2-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
6936aff90dda378c09bea075af0d9c675fe3a977a9d2402f95a87f440f59f619 numpy-2.3.2-pp311-pypy311_pp73-win_amd64.whl
e0486a11ec30cdecb53f184d496d1c6a20786c81e55e41640270130056f8ee48 numpy-2.3.2.tar.gz
- Python
Published by charris 10 months ago
numpy - v2.3.1 (Jun 21, 2025)
NumPy 2.3.1 Release Notes
The NumPy 2.3.1 release is a patch release with several bug fixes, annotation improvements, and better support for OpenBSD. Highlights are:
- Fix bug in
matmulfor non-contiguous out kwarg parameter - Fix for Accelerate runtime warnings on M4 hardware
- Fix new in NumPy 2.3.0
np.vectorizecasting errors - Improved support of cpu features for FreeBSD and OpenBSD
This release supports Python versions 3.11-3.13, Python 3.14 will be supported when it is released.
Contributors
A total of 9 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Brad Smith +
- Charles Harris
- Developer-Ecosystem-Engineering
- François Rozet
- Joren Hammudoglu
- Matti Picus
- Mugundan Selvanayagam
- Nathan Goldbaum
- Sebastian Berg
Pull requests merged
A total of 12 pull requests were merged for this release.
- #29140: MAINT: Prepare 2.3.x for further development
- #29191: BUG: fix matmul with transposed out arg (#29179)
- #29192: TYP: Backport typing fixes and improvements.
- #29205: BUG: Revert
np.vectorizecasting to legacy behavior (#29196) - #29222: TYP: Backport typing fixes
- #29233: BUG: avoid negating unsigned integers in resize implementation...
- #29234: TST: Fix test that uses uninitialized memory (#29232)
- #29235: BUG: Address interaction between SME and FPSR (#29223)
- #29237: BUG: Enforce integer limitation in concatenate (#29231)
- #29238: CI: Add support for building NumPy with LLVM for Win-ARM64
- #29241: ENH: Detect CPU features on OpenBSD ARM and PowerPC64
- #29242: ENH: Detect CPU features on FreeBSD / OpenBSD RISC-V64.
Checksums
MD5
c353ac75ea083594a6cb674b5f943d83 numpy-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl
fdb5454e372d399cf570868ea7e2b192 numpy-2.3.1-cp311-cp311-macosx_11_0_arm64.whl
dc0f17823bb1826519d6974c2b95fa90 numpy-2.3.1-cp311-cp311-macosx_14_0_arm64.whl
7e3118fe383af697a8868ba191b9eac0 numpy-2.3.1-cp311-cp311-macosx_14_0_x86_64.whl
705aafad1250aa3e41502c5710a26ed5 numpy-2.3.1-cp311-cp311-manylinux_2_28_aarch64.whl
003d6268344577b804205098e11cdaa0 numpy-2.3.1-cp311-cp311-manylinux_2_28_x86_64.whl
7d0c0fd11c573c510a25dd7513e4ae0a numpy-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl
d99f993ef05966ead99df736df18b521 numpy-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl
96933cac225fb8b60a9cc2c0efa14d36 numpy-2.3.1-cp311-cp311-win32.whl
f777712419f3dd586ac294ddce84b274 numpy-2.3.1-cp311-cp311-win_amd64.whl
1fe2615669de5c271a48b99356fa3528 numpy-2.3.1-cp311-cp311-win_arm64.whl
fccca48846d41d38966cc75395787f79 numpy-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl
fa389e78db43f3c2841ce127c1205422 numpy-2.3.1-cp312-cp312-macosx_11_0_arm64.whl
2554944d786abd284db4a699d4edfe1e numpy-2.3.1-cp312-cp312-macosx_14_0_arm64.whl
7fec491834803a8ffa3765ef3d03cea5 numpy-2.3.1-cp312-cp312-macosx_14_0_x86_64.whl
7c2d8b4412f12b9b02e98349fb5cd760 numpy-2.3.1-cp312-cp312-manylinux_2_28_aarch64.whl
94dcc636a2f2478666d820e21fc91682 numpy-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl
404128939d89d1ea26be105fb03b5028 numpy-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl
e89d8d460060e8315c3ba68b2b649db0 numpy-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl
a767bd10267ad6baef9655fb08db3fd3 numpy-2.3.1-cp312-cp312-win32.whl
f753b957fcb7f06f043cf9c6114f294c numpy-2.3.1-cp312-cp312-win_amd64.whl
58ffa7c69587f9bf8f6025794fec7f63 numpy-2.3.1-cp312-cp312-win_arm64.whl
22a2a9a568dd0866b288ad8bd8bb3e90 numpy-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl
5e1593fcc8bb3447e995622f2dca017b numpy-2.3.1-cp313-cp313-macosx_11_0_arm64.whl
894d56072db9358e0096538710a1a8ce numpy-2.3.1-cp313-cp313-macosx_14_0_arm64.whl
593cb311f5170cbcfcefb587cdcc70bb numpy-2.3.1-cp313-cp313-macosx_14_0_x86_64.whl
22935447e75acda4075c57b332c0236a numpy-2.3.1-cp313-cp313-manylinux_2_28_aarch64.whl
5aa2040f947204e15e95ec87461a7e91 numpy-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl
6516337f0347974fada21a23a818be64 numpy-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl
ec956eb37b874b1ec52d6ffccda6ef65 numpy-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl
0aaed62cb1bae9c1b1a44d1a4eda2db7 numpy-2.3.1-cp313-cp313-win32.whl
57829996fc12f649547f0258443bbb20 numpy-2.3.1-cp313-cp313-win_amd64.whl
a0d0dd68bbf0ab378142b2daff0a8e06 numpy-2.3.1-cp313-cp313-win_arm64.whl
b22dc66970a8017e4d0ce83ef8c938af numpy-2.3.1-cp313-cp313t-macosx_10_13_x86_64.whl
93c17afb38cf8fd876ca2bd9ea7e9612 numpy-2.3.1-cp313-cp313t-macosx_11_0_arm64.whl
283064dabb434f3dbc1a5e2514b9cb29 numpy-2.3.1-cp313-cp313t-macosx_14_0_arm64.whl
5b8c778033c98b4a0ce6e5bfc7625f05 numpy-2.3.1-cp313-cp313t-macosx_14_0_x86_64.whl
2340bd78962f194bcdbee6531d954acc numpy-2.3.1-cp313-cp313t-manylinux_2_28_aarch64.whl
43a92ad37dc68d719bdeeeb65b3f4d2f numpy-2.3.1-cp313-cp313t-manylinux_2_28_x86_64.whl
eb110c4aa0d73558187397ddfba179ad numpy-2.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl
1f7f0076411ed4afa9c4553eb06564cb numpy-2.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl
30f30dde6f806070b2164e48a632a350 numpy-2.3.1-cp313-cp313t-win32.whl
2375e2f2a5b75c5f5c908af6bb85d639 numpy-2.3.1-cp313-cp313t-win_amd64.whl
b421530a87bb8e9e3d4dc34c75d5d953 numpy-2.3.1-cp313-cp313t-win_arm64.whl
b1bc3cbf9cd407964b2bb25dfe86ca3d numpy-2.3.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
4c2e234eb4f346f362d6e6c620fa7a56 numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_arm64.whl
98ec3c19a365d0ae926113bb349e323b numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_x86_64.whl
e0c7bcd526cde46489d5a8f12e06cc77 numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
41f535aa1f1acaf3d8a32a462a4cd4c8 numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
2abf906a6688c98693045cbbc655d5b7 numpy-2.3.1-pp311-pypy311_pp73-win_amd64.whl
886559a4c541298b37245e389ce8bf10 numpy-2.3.1.tar.gz
SHA256
6ea9e48336a402551f52cd8f593343699003d2353daa4b72ce8d34f66b722070 numpy-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl
5ccb7336eaf0e77c1635b232c141846493a588ec9ea777a7c24d7166bb8533ae numpy-2.3.1-cp311-cp311-macosx_11_0_arm64.whl
0bb3a4a61e1d327e035275d2a993c96fa786e4913aa089843e6a2d9dd205c66a numpy-2.3.1-cp311-cp311-macosx_14_0_arm64.whl
e344eb79dab01f1e838ebb67aab09965fb271d6da6b00adda26328ac27d4a66e numpy-2.3.1-cp311-cp311-macosx_14_0_x86_64.whl
467db865b392168ceb1ef1ffa6f5a86e62468c43e0cfb4ab6da667ede10e58db numpy-2.3.1-cp311-cp311-manylinux_2_28_aarch64.whl
afed2ce4a84f6b0fc6c1ce734ff368cbf5a5e24e8954a338f3bdffa0718adffb numpy-2.3.1-cp311-cp311-manylinux_2_28_x86_64.whl
0025048b3c1557a20bc80d06fdeb8cc7fc193721484cca82b2cfa072fec71a93 numpy-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl
a5ee121b60aa509679b682819c602579e1df14a5b07fe95671c8849aad8f2115 numpy-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl
a8b740f5579ae4585831b3cf0e3b0425c667274f82a484866d2adf9570539369 numpy-2.3.1-cp311-cp311-win32.whl
d4580adadc53311b163444f877e0789f1c8861e2698f6b2a4ca852fda154f3ff numpy-2.3.1-cp311-cp311-win_amd64.whl
ec0bdafa906f95adc9a0c6f26a4871fa753f25caaa0e032578a30457bff0af6a numpy-2.3.1-cp311-cp311-win_arm64.whl
2959d8f268f3d8ee402b04a9ec4bb7604555aeacf78b360dc4ec27f1d508177d numpy-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl
762e0c0c6b56bdedfef9a8e1d4538556438288c4276901ea008ae44091954e29 numpy-2.3.1-cp312-cp312-macosx_11_0_arm64.whl
867ef172a0976aaa1f1d1b63cf2090de8b636a7674607d514505fb7276ab08fc numpy-2.3.1-cp312-cp312-macosx_14_0_arm64.whl
4e602e1b8682c2b833af89ba641ad4176053aaa50f5cacda1a27004352dde943 numpy-2.3.1-cp312-cp312-macosx_14_0_x86_64.whl
8e333040d069eba1652fb08962ec5b76af7f2c7bce1df7e1418c8055cf776f25 numpy-2.3.1-cp312-cp312-manylinux_2_28_aarch64.whl
e7cbf5a5eafd8d230a3ce356d892512185230e4781a361229bd902ff403bc660 numpy-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl
5f1b8f26d1086835f442286c1d9b64bb3974b0b1e41bb105358fd07d20872952 numpy-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl
ee8340cb48c9b7a5899d1149eece41ca535513a9698098edbade2a8e7a84da77 numpy-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl
e772dda20a6002ef7061713dc1e2585bc1b534e7909b2030b5a46dae8ff077ab numpy-2.3.1-cp312-cp312-win32.whl
cfecc7822543abdea6de08758091da655ea2210b8ffa1faf116b940693d3df76 numpy-2.3.1-cp312-cp312-win_amd64.whl
7be91b2239af2658653c5bb6f1b8bccafaf08226a258caf78ce44710a0160d30 numpy-2.3.1-cp312-cp312-win_arm64.whl
25a1992b0a3fdcdaec9f552ef10d8103186f5397ab45e2d25f8ac51b1a6b97e8 numpy-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl
7dea630156d39b02a63c18f508f85010230409db5b2927ba59c8ba4ab3e8272e numpy-2.3.1-cp313-cp313-macosx_11_0_arm64.whl
bada6058dd886061f10ea15f230ccf7dfff40572e99fef440a4a857c8728c9c0 numpy-2.3.1-cp313-cp313-macosx_14_0_arm64.whl
a894f3816eb17b29e4783e5873f92faf55b710c2519e5c351767c51f79d8526d numpy-2.3.1-cp313-cp313-macosx_14_0_x86_64.whl
18703df6c4a4fee55fd3d6e5a253d01c5d33a295409b03fda0c86b3ca2ff41a1 numpy-2.3.1-cp313-cp313-manylinux_2_28_aarch64.whl
5902660491bd7a48b2ec16c23ccb9124b8abfd9583c5fdfa123fe6b421e03de1 numpy-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl
36890eb9e9d2081137bd78d29050ba63b8dab95dff7912eadf1185e80074b2a0 numpy-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl
a780033466159c2270531e2b8ac063704592a0bc62ec4a1b991c7c40705eb0e8 numpy-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl
39bff12c076812595c3a306f22bfe49919c5513aa1e0e70fac756a0be7c2a2b8 numpy-2.3.1-cp313-cp313-win32.whl
8d5ee6eec45f08ce507a6570e06f2f879b374a552087a4179ea7838edbcbfa42 numpy-2.3.1-cp313-cp313-win_amd64.whl
0c4d9e0a8368db90f93bd192bfa771ace63137c3488d198ee21dfb8e7771916e numpy-2.3.1-cp313-cp313-win_arm64.whl
b0b5397374f32ec0649dd98c652a1798192042e715df918c20672c62fb52d4b8 numpy-2.3.1-cp313-cp313t-macosx_10_13_x86_64.whl
c5bdf2015ccfcee8253fb8be695516ac4457c743473a43290fd36eba6a1777eb numpy-2.3.1-cp313-cp313t-macosx_11_0_arm64.whl
d70f20df7f08b90a2062c1f07737dd340adccf2068d0f1b9b3d56e2038979fee numpy-2.3.1-cp313-cp313t-macosx_14_0_arm64.whl
2fb86b7e58f9ac50e1e9dd1290154107e47d1eef23a0ae9145ded06ea606f992 numpy-2.3.1-cp313-cp313t-macosx_14_0_x86_64.whl
23ab05b2d241f76cb883ce8b9a93a680752fbfcbd51c50eff0b88b979e471d8c numpy-2.3.1-cp313-cp313t-manylinux_2_28_aarch64.whl
ce2ce9e5de4703a673e705183f64fd5da5bf36e7beddcb63a25ee2286e71ca48 numpy-2.3.1-cp313-cp313t-manylinux_2_28_x86_64.whl
c4913079974eeb5c16ccfd2b1f09354b8fed7e0d6f2cab933104a09a6419b1ee numpy-2.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl
010ce9b4f00d5c036053ca684c77441f2f2c934fd23bee058b4d6f196efd8280 numpy-2.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl
6269b9edfe32912584ec496d91b00b6d34282ca1d07eb10e82dfc780907d6c2e numpy-2.3.1-cp313-cp313t-win32.whl
2a809637460e88a113e186e87f228d74ae2852a2e0c44de275263376f17b5bdc numpy-2.3.1-cp313-cp313t-win_amd64.whl
eccb9a159db9aed60800187bc47a6d3451553f0e1b08b068d8b277ddfbb9b244 numpy-2.3.1-cp313-cp313t-win_arm64.whl
ad506d4b09e684394c42c966ec1527f6ebc25da7f4da4b1b056606ffe446b8a3 numpy-2.3.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
ebb8603d45bc86bbd5edb0d63e52c5fd9e7945d3a503b77e486bd88dde67a19b numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_arm64.whl
15aa4c392ac396e2ad3d0a2680c0f0dee420f9fed14eef09bdb9450ee6dcb7b7 numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_x86_64.whl
c6e0bf9d1a2f50d2b65a7cf56db37c095af17b59f6c132396f7c6d5dd76484df numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
eabd7e8740d494ce2b4ea0ff05afa1b7b291e978c0ae075487c51e8bd93c0c68 numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
e610832418a2bc09d974cc9fecebfa51e9532d6190223bc5ef6a7402ebf3b5cb numpy-2.3.1-pp311-pypy311_pp73-win_amd64.whl
1ec9ae20a4226da374362cca3c62cd753faf2f951440b0e3b98e93c235441d2b numpy-2.3.1.tar.gz
- Python
Published by charris 12 months ago
numpy - v2.3.0 (June 7, 2025)
NumPy 2.3.0 Release Notes
The NumPy 2.3.0 release continues the work to improve free threaded Python support and annotations together with the usual set of bug fixes. It is unusual in the number of expired deprecations, code modernizations, and style cleanups. The latter may not be visible to users, but is important for code maintenance over the long term. Note that we have also upgraded from manylinux2014 to manylinux228.
Users running on a Mac having an M4 cpu might see various warnings about invalid values and such. The warnings are a known problem with Accelerate. They are annoying, but otherwise harmless. Apple promises to fix them.
This release supports Python versions 3.11-3.13, Python 3.14 will be supported when it is released.
Highlights
- Interactive examples in the NumPy documentation.
- Building NumPy with OpenMP Parallelization.
- Preliminary support for Windows on ARM.
- Improved support for free threaded Python.
- Improved annotations.
New functions
New function numpy.strings.slice
The new function numpy.strings.slice was added, which implements fast
native slicing of string arrays. It supports the full slicing API
including negative slice offsets and steps.
(gh-27789)
Deprecations
The
numpy.typing.mypy_pluginhas been deprecated in favor of platform-agnostic static type inference. Please removenumpy.typing.mypy_pluginfrom thepluginssection of your mypy configuration. If this change results in new errors being reported, kindly open an issue.(gh-28129)
The
numpy.typing.NBitBasetype has been deprecated and will be removed in a future version.This type was previously intended to be used as a generic upper bound for type-parameters, for example:
``` python import numpy as np import numpy.typing as npt
def fNT: npt.NBitBase -> np.floating[NT]: ... ```
But in NumPy 2.2.0,
float64andcomplex128were changed to concrete subtypes, causing static type-checkers to rejectx: np.float64 = f(np.complex128(42j)).So instead, the better approach is to use
typing.overload:``` python import numpy as np from typing import overload
@overload def f(x: np.complex64) -> np.float32: ... @overload def f(x: np.complex128) -> np.float64: ... @overload def f(x: np.clongdouble) -> np.longdouble: ... ```
(gh-28884)
Expired deprecations
Remove deprecated macros like
NPY_OWNDATAfrom Cython interfaces in favor ofNPY_ARRAY_OWNDATA(deprecated since 1.7)(gh-28254)
Remove
numpy/npy_1_7_deprecated_api.hand C macros likeNPY_OWNDATAin favor ofNPY_ARRAY_OWNDATA(deprecated since 1.7)(gh-28254)
Remove alias
generate_divbyzero_errortonpy_set_floatstatus_divbyzeroandgenerate_overflow_errortonpy_set_floatstatus_overflow(deprecated since 1.10)(gh-28254)
Remove
np.tostring(deprecated since 1.19)(gh-28254)
Raise on
np.conjugateof non-numeric types (deprecated since 1.13)(gh-28254)
Raise when using
np.bincount(...minlength=None), use 0 instead (deprecated since 1.14)(gh-28254)
Passing
shape=Noneto functions with a non-optional shape argument errors, use()instead (deprecated since 1.20)(gh-28254)
Inexact matches for
modeandsearchsideraise (deprecated since 1.20)(gh-28254)
Setting
__array_finalize__ = Noneerrors (deprecated since 1.23)(gh-28254)
np.fromfileandnp.fromstringerror on bad data, previously they would guess (deprecated since 1.18)(gh-28254)
datetime64andtimedelta64construction with a tuple no longer accepts aneventvalue, either use a two-tuple of (unit, num) or a 4-tuple of (unit, num, den, 1) (deprecated since 1.14)(gh-28254)
When constructing a
dtypefrom a class with adtypeattribute, that attribute must be a dtype-instance rather than a thing that can be parsed as a dtype instance (deprecated in 1.19). At some point the whole construct of using a dtype attribute will be deprecated (see #25306)(gh-28254)
Passing booleans as partition index errors (deprecated since 1.23)
(gh-28254)
Out-of-bounds indexes error even on empty arrays (deprecated since 1.20)
(gh-28254)
np.tostringhas been removed, usetobytesinstead (deprecated since 1.19)(gh-28254)
Disallow make a non-writeable array writeable for arrays with a base that do not own their data (deprecated since 1.17)
(gh-28254)
concatenate()withaxis=Noneusessame-kindcasting by default, notunsafe(deprecated since 1.20)(gh-28254)
Unpickling a scalar with object dtype errors (deprecated since 1.20)
(gh-28254)
The binary mode of
fromstringnow errors, usefrombufferinstead (deprecated since 1.14)(gh-28254)
Converting
np.inexactornp.floatingto a dtype errors (deprecated since 1.19)(gh-28254)
Converting
np.complex,np.integer,np.signedinteger,np.unsignedinteger,np.genericto a dtype errors (deprecated since 1.19)(gh-28254)
The Python built-in
rounderrors for complex scalars. Usenp.roundorscalar.roundinstead (deprecated since 1.19)(gh-28254)
\'np.bool\' scalars can no longer be interpreted as an index (deprecated since 1.19)
(gh-28254)
Parsing an integer via a float string is no longer supported. (deprecated since 1.23) To avoid this error you can
- make sure the original data is stored as integers.
- use the
converters=floatkeyword argument. - Use
np.loadtxt(...).astype(np.int64)
(gh-28254)
The use of a length 1 tuple for the ufunc
signatureerrors. Usedtypeor fill the tuple withNone(deprecated since 1.19)(gh-28254)
Special handling of matrix is in np.outer is removed. Convert to a ndarray via
matrix.A(deprecated since 1.20)(gh-28254)
Removed the
np.compatpackage source code (removed in 2.0)(gh-28961)
C API changes
NpyIter_GetTransferFlagsis now available to check if the iterator needs the Python API or if casts may cause floating point errors (FPE). FPEs can for example be set when castingfloat64(1e300)tofloat32(overflow to infinity) or a NaN to an integer (invalid value).(gh-27883)
NpyIternow has no limit on the number of operands it supports.(gh-28080)
New NpyIter_GetTransferFlags and NpyIter_IterationNeedsAPI change
NumPy now has the new NpyIter_GetTransferFlags function as a more
precise way checking of iterator/buffering needs. I.e. whether the
Python API/GIL is required or floating point errors may occur. This
function is also faster if you already know your needs without
buffering.
The NpyIter_IterationNeedsAPI function now performs all the checks
that were previously performed at setup time. While it was never
necessary to call it multiple times, doing so will now have a larger
cost.
(gh-27998)
New Features
The type parameter of
np.dtypenow defaults totyping.Any. This way, static type-checkers will inferdtype: np.dtypeasdtype: np.dtype[Any], without reporting an error.(gh-28669)
Static type-checkers now interpret:
-
_: np.ndarrayas_: npt.NDArray[typing.Any]. -
_: np.flatiteras_: np.flatiter[np.ndarray].
This is because their type parameters now have default values.
(gh-28940)
-
NumPy now registers its pkg-config paths with the pkgconf PyPI package
The pkgconf PyPI package provides an interface for projects like NumPy to register their own paths to be added to the pkg-config search path. This means that when using pkgconf from PyPI, NumPy will be discoverable without needing for any custom environment configuration.
[!NOTE] This only applies when using the pkgconf package from PyPI, or put another way, this only applies when installing pkgconf via a Python package manager.
If you are using
pkg-configorpkgconfprovided by your system, or any other source that does not use the pkgconf-pypi project, the NumPy pkg-config directory will not be automatically added to the search path. In these situations, you might want to usenumpy-config.
(gh-28214)
Allow out=... in ufuncs to ensure array result
NumPy has the sometimes difficult behavior that it currently usually
returns scalars rather than 0-D arrays (even if the inputs were 0-D
arrays). This is especially problematic for non-numerical dtypes (e.g.
object).
For ufuncs (i.e. most simple math functions) it is now possible to use
out=... (literally `...`, e.g. out=Ellipsis) which is identical
in behavior to out not being passed, but will ensure a non-scalar
return. This spelling is borrowed from arr1d[0, ...] where the ...
also ensures a non-scalar return.
Other functions with an out= kwarg should gain support eventually.
Downstream libraries that interoperate via __array_ufunc__ or
__array_function__ may need to adapt to support this.
(gh-28576)
Building NumPy with OpenMP Parallelization
NumPy now supports OpenMP parallel processing capabilities when built
with the -Denable_openmp=true Meson build flag. This feature is
disabled by default. When enabled, np.sort and np.argsort functions
can utilize OpenMP for parallel thread execution, improving performance
for these operations.
(gh-28619)
Interactive examples in the NumPy documentation
The NumPy documentation includes a number of examples that can now be run interactively in your browser using WebAssembly and Pyodide.
Please note that the examples are currently experimental in nature and may not work as expected for all methods in the public API.
(gh-26745)
Improvements
Scalar comparisons between non-comparable dtypes such as
np.array(1) == np.array('s')now return a NumPy bool instead of a Python bool.(gh-27288)
np.nditernow has no limit on the number of supported operands (C-integer).(gh-28080)
No-copy pickling is now supported for any array that can be transposed to a C-contiguous array.
(gh-28105)
The
__repr__for user-defined dtypes now prefers the__name__of the custom dtype over a more generic name constructed from itskindanditemsize.(gh-28250)
np.dotnow reports floating point exceptions.(gh-28442)
np.dtypes.StringDTypeis now a generic type which accepts a type argument forna_objectthat defaults totyping.Never. For example,StringDType(na_object=None)returns aStringDType[None], andStringDType()returns aStringDType[typing.Never].(gh-28856)
Added warnings to np.isclose
Added warning messages if at least one of atol or rtol are either
np.nan or np.inf within np.isclose.
- Warnings follow the user\'s
np.seterrsettings
(gh-28205)
Performance improvements and changes
Performance improvements to np.unique
np.unique now tries to use a hash table to find unique values instead
of sorting values before finding unique values. This is limited to
certain dtypes for now, and the function is now faster for those dtypes.
The function now also exposes a sorted parameter to allow returning
unique values as they were found, instead of sorting them afterwards.
(gh-26018)
Performance improvements to np.sort and np.argsort
np.sort and np.argsort functions now can leverage OpenMP for
parallel thread execution, resulting in up to 3.5x speedups on x86
architectures with AVX2 or AVX-512 instructions. This opt-in feature
requires NumPy to be built with the -Denableopenmp Meson flag. Users
can control the number of threads used by setting the OMPNUM_THREADS
environment variable.
(gh-28619)
Performance improvements for np.float16 casts
Earlier, floating point casts to and from np.float16 types were
emulated in software on all platforms.
Now, on ARM devices that support Neon float16 intrinsics (such as recent Apple Silicon), the native float16 path is used to achieve the best performance.
(gh-28769)
Changes
The vector norm
ord=infand the matrix normsord={1, 2, inf, 'nuc'}now always returns zero for empty arrays. Empty arrays have at least one axis of size zero. This affectsnp.linalg.norm,np.linalg.vector_norm, andnp.linalg.matrix_norm. Previously, NumPy would raises errors or return zero depending on the shape of the array.(gh-28343)
A spelling error in the error message returned when converting a string to a float with the method
np.format_float_positionalhas been fixed.(gh-28569)
NumPy\'s
__array_api_version__was upgraded from2023.12to2024.12.numpy.count_nonzeroforaxis=None(default) now returns a NumPy scalar instead of a Python integer.The parameter
axisinnumpy.take_along_axisfunction has now a default value of-1.(gh-28615)
Printing of
np.float16andnp.float32scalars and arrays have been improved by adjusting the transition to scientific notation based on the floating point precision. A new legacynp.printoptionsmode'2.2'has been added for backwards compatibility.(gh-28703)
Multiplication between a string and integer now raises OverflowError instead of MemoryError if the result of the multiplication would create a string that is too large to be represented. This follows Python\'s behavior.
(gh-29060)
unique_values may return unsorted data
The relatively new function (added in NumPy 2.0) unique_values may now
return unsorted results. Just as unique_counts and unique_all these
never guaranteed a sorted result, however, the result was sorted until
now. In cases where these do return a sorted result, this may change in
future releases to improve performance.
(gh-26018)
Changes to the main iterator and potential numerical changes
The main iterator, used in math functions and via np.nditer from
Python and NpyIter in C, now behaves differently for some buffered
iterations. This means that:
- The buffer size used will often be smaller than the maximum buffer
sized allowed by the
buffersizeparameter. - The \"growinner\" flag is now honored with buffered reductions when no operand requires buffering.
For np.sum() such changes in buffersize may slightly change numerical
results of floating point operations. Users who use \"growinner\" for
custom reductions could notice changes in precision (for example, in
NumPy we removed it from einsum to avoid most precision changes and
improve precision for some 64bit floating point inputs).
(gh-27883)
The minimum supported GCC version is now 9.3.0
The minimum supported version was updated from 8.4.0 to 9.3.0, primarily in order to reduce the chance of platform-specific bugs in old GCC versions from causing issues.
(gh-28102)
Changes to automatic bin selection in numpy.histogram
The automatic bin selection algorithm in numpy.histogram has been
modified to avoid out-of-memory errors for samples with low variation.
For full control over the selected bins the user can use set the bin
or range parameters of numpy.histogram.
(gh-28426)
Build manylinux228 wheels
Wheels for linux systems will use the manylinux_2_28 tag (instead of
the manylinux2014 tag), which means dropping support for
redhat7/centos7, amazonlinux2, debian9, ubuntu18.04, and other
pre-glibc2.28 operating system versions, as per the PEP 600 support
table.
(gh-28436)
Remove use of -Wl,-ld_classic on macOS
Remove use of -Wl,-ld_classic on macOS. This hack is no longer needed by Spack, and results in libraries that cannot link to other libraries built with ld (new).
(gh-28713)
Re-enable overriding functions in the numpy.strings
Re-enable overriding functions in the numpy.strings module.
(gh-28741)
Checksums
MD5
cf552b6b6390343c24bf60365950c91c numpy-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl
d3c377f49f84b36297cfc2fc30c6a288 numpy-2.3.0-cp311-cp311-macosx_11_0_arm64.whl
4e12cd2aea876c09fdc3aaac2d0f4bac numpy-2.3.0-cp311-cp311-macosx_14_0_arm64.whl
a33af1d4e1f0ee5ed82d7933c5df9f84 numpy-2.3.0-cp311-cp311-macosx_14_0_x86_64.whl
cd5cf04cb8b40e65aac8264c7bf3d7c9 numpy-2.3.0-cp311-cp311-manylinux_2_28_aarch64.whl
6a45424beb8f4f23e7b2b853bc18aefa numpy-2.3.0-cp311-cp311-manylinux_2_28_x86_64.whl
2dc1c1d1b9deb8c0626af68c0c00660a numpy-2.3.0-cp311-cp311-musllinux_1_2_aarch64.whl
9ff8ea227afce090dea3b4dac4653fa6 numpy-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
a1e9e40a20187e1f5ae2f8ba165e291b numpy-2.3.0-cp311-cp311-win32.whl
819e4ac62a3449c79818ff5aa0e6b276 numpy-2.3.0-cp311-cp311-win_amd64.whl
347260edfd35535b15b8133280793080 numpy-2.3.0-cp311-cp311-win_arm64.whl
9c1ad46e637b876a0535de60f5b604bc numpy-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl
5b656fbed339bcac1af6de73b15e5dba numpy-2.3.0-cp312-cp312-macosx_11_0_arm64.whl
5b86d6d0cab79d0cd381bb2e912e7e23 numpy-2.3.0-cp312-cp312-macosx_14_0_arm64.whl
ea83ef5cd00d5e42bb745eee1ee0ad3f numpy-2.3.0-cp312-cp312-macosx_14_0_x86_64.whl
15a5f57cb51d3d957c1b387c4bc54830 numpy-2.3.0-cp312-cp312-manylinux_2_28_aarch64.whl
b5fa92d1093dab4c3ca0622c29c4a241 numpy-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl
666cad26086ee212047e5ea0e8906480 numpy-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl
6263705622ca89ccadc6f458effde281 numpy-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
bf1bf83eca701ff70351c2d7b308e181 numpy-2.3.0-cp312-cp312-win32.whl
0707b427c1102bb904994289e1555c3d numpy-2.3.0-cp312-cp312-win_amd64.whl
097bd498f8333d383db61105044906dc numpy-2.3.0-cp312-cp312-win_arm64.whl
54eb5fa0444ff5dd078bb1aa30d9533f numpy-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl
004b4c3650562bd851e31fb925863acb numpy-2.3.0-cp313-cp313-macosx_11_0_arm64.whl
cd4e31304e51cc5dacd355730be25e4e numpy-2.3.0-cp313-cp313-macosx_14_0_arm64.whl
0ed70aa071f35060ee68d6ab407159e5 numpy-2.3.0-cp313-cp313-macosx_14_0_x86_64.whl
a89b304bbb52268b233ab9652fee8142 numpy-2.3.0-cp313-cp313-manylinux_2_28_aarch64.whl
4b55cf791be482e8d8e5aaba0c10b6f2 numpy-2.3.0-cp313-cp313-manylinux_2_28_x86_64.whl
d3a1b81da2f2cba4743d1ee5385cb4d6 numpy-2.3.0-cp313-cp313-musllinux_1_2_aarch64.whl
fcaacdedcd8cfec7a6cb430fba7a5553 numpy-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
7d0deec2ad395fda48b80be59612db22 numpy-2.3.0-cp313-cp313-win32.whl
7386a22b0ef219ba043f6e085933dbd6 numpy-2.3.0-cp313-cp313-win_amd64.whl
f4559038276d0e2bfb19601484d4cdff numpy-2.3.0-cp313-cp313-win_arm64.whl
6c586985db2e888876aa96ceaf99ee66 numpy-2.3.0-cp313-cp313t-macosx_10_13_x86_64.whl
9726de30cce2b36940225a7ea086c824 numpy-2.3.0-cp313-cp313t-macosx_11_0_arm64.whl
ea021092cbb7b1e7d0984dc774bb288d numpy-2.3.0-cp313-cp313t-macosx_14_0_arm64.whl
6f8261bc789eed1d3f6f7ea9ff3c2a2c numpy-2.3.0-cp313-cp313t-macosx_14_0_x86_64.whl
ab624ddc1425d44412541aad1f012fd9 numpy-2.3.0-cp313-cp313t-manylinux_2_28_aarch64.whl
af55bc7a8f46ec8d413eb1fbe2c200e9 numpy-2.3.0-cp313-cp313t-manylinux_2_28_x86_64.whl
830eecf7c372aa0d7d746ad031ff0ba1 numpy-2.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl
28870039fde4fec369185e185bf0077e numpy-2.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl
4510373c08383787c263a4b5a21a24ef numpy-2.3.0-cp313-cp313t-win32.whl
de883c4313f4dc984045a51b8edb4084 numpy-2.3.0-cp313-cp313t-win_amd64.whl
334f5c275a6aad46e5f46436572d3dc1 numpy-2.3.0-cp313-cp313t-win_arm64.whl
05b86d4a21a832e20e4ebdc6febf298d numpy-2.3.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
4589038edf55f085252f194e880d7454 numpy-2.3.0-pp311-pypy311_pp73-macosx_14_0_arm64.whl
7d8f0554035717dc396de7d77c696377 numpy-2.3.0-pp311-pypy311_pp73-macosx_14_0_x86_64.whl
c0cb89f0dca94446e6aa472ec6874c22 numpy-2.3.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
14e43315dea5eddffe888986e47d8584 numpy-2.3.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
e3688182f8551c3c99b559c1696d41dc numpy-2.3.0-pp311-pypy311_pp73-win_amd64.whl
19a5470a37d066bd3e9385918d7760e7 numpy-2.3.0.tar.gz
SHA256
c3c9fdde0fa18afa1099d6257eb82890ea4f3102847e692193b54e00312a9ae9 numpy-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl
46d16f72c2192da7b83984aa5455baee640e33a9f1e61e656f29adf55e406c2b numpy-2.3.0-cp311-cp311-macosx_11_0_arm64.whl
a0be278be9307c4ab06b788f2a077f05e180aea817b3e41cebbd5aaf7bd85ed3 numpy-2.3.0-cp311-cp311-macosx_14_0_arm64.whl
99224862d1412d2562248d4710126355d3a8db7672170a39d6909ac47687a8a4 numpy-2.3.0-cp311-cp311-macosx_14_0_x86_64.whl
2393a914db64b0ead0ab80c962e42d09d5f385802006a6c87835acb1f58adb96 numpy-2.3.0-cp311-cp311-manylinux_2_28_aarch64.whl
7729c8008d55e80784bd113787ce876ca117185c579c0d626f59b87d433ea779 numpy-2.3.0-cp311-cp311-manylinux_2_28_x86_64.whl
06d4fb37a8d383b769281714897420c5cc3545c79dc427df57fc9b852ee0bf58 numpy-2.3.0-cp311-cp311-musllinux_1_2_aarch64.whl
c39ec392b5db5088259c68250e342612db82dc80ce044cf16496cf14cf6bc6f8 numpy-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
ee9d3ee70d62827bc91f3ea5eee33153212c41f639918550ac0475e3588da59f numpy-2.3.0-cp311-cp311-win32.whl
43c55b6a860b0eb44d42341438b03513cf3879cb3617afb749ad49307e164edd numpy-2.3.0-cp311-cp311-win_amd64.whl
2e6a1409eee0cb0316cb64640a49a49ca44deb1a537e6b1121dc7c458a1299a8 numpy-2.3.0-cp311-cp311-win_arm64.whl
389b85335838155a9076e9ad7f8fdba0827496ec2d2dc32ce69ce7898bde03ba numpy-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl
9498f60cd6bb8238d8eaf468a3d5bb031d34cd12556af53510f05fcf581c1b7e numpy-2.3.0-cp312-cp312-macosx_11_0_arm64.whl
622a65d40d8eb427d8e722fd410ac3ad4958002f109230bc714fa551044ebae2 numpy-2.3.0-cp312-cp312-macosx_14_0_arm64.whl
b9446d9d8505aadadb686d51d838f2b6688c9e85636a0c3abaeb55ed54756459 numpy-2.3.0-cp312-cp312-macosx_14_0_x86_64.whl
50080245365d75137a2bf46151e975de63146ae6d79f7e6bd5c0e85c9931d06a numpy-2.3.0-cp312-cp312-manylinux_2_28_aarch64.whl
c24bb4113c66936eeaa0dc1e47c74770453d34f46ee07ae4efd853a2ed1ad10a numpy-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl
4d8d294287fdf685281e671886c6dcdf0291a7c19db3e5cb4178d07ccf6ecc67 numpy-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl
6295f81f093b7f5769d1728a6bd8bf7466de2adfa771ede944ce6711382b89dc numpy-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
e6648078bdd974ef5d15cecc31b0c410e2e24178a6e10bf511e0557eed0f2570 numpy-2.3.0-cp312-cp312-win32.whl
0898c67a58cdaaf29994bc0e2c65230fd4de0ac40afaf1584ed0b02cd74c6fdd numpy-2.3.0-cp312-cp312-win_amd64.whl
bd8df082b6c4695753ad6193018c05aac465d634834dca47a3ae06d4bb22d9ea numpy-2.3.0-cp312-cp312-win_arm64.whl
5754ab5595bfa2c2387d241296e0381c21f44a4b90a776c3c1d39eede13a746a numpy-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl
d11fa02f77752d8099573d64e5fe33de3229b6632036ec08f7080f46b6649959 numpy-2.3.0-cp313-cp313-macosx_11_0_arm64.whl
aba48d17e87688a765ab1cd557882052f238e2f36545dfa8e29e6a91aef77afe numpy-2.3.0-cp313-cp313-macosx_14_0_arm64.whl
4dc58865623023b63b10d52f18abaac3729346a7a46a778381e0e3af4b7f3beb numpy-2.3.0-cp313-cp313-macosx_14_0_x86_64.whl
df470d376f54e052c76517393fa443758fefcdd634645bc9c1f84eafc67087f0 numpy-2.3.0-cp313-cp313-manylinux_2_28_aarch64.whl
87717eb24d4a8a64683b7a4e91ace04e2f5c7c77872f823f02a94feee186168f numpy-2.3.0-cp313-cp313-manylinux_2_28_x86_64.whl
d8fa264d56882b59dcb5ea4d6ab6f31d0c58a57b41aec605848b6eb2ef4a43e8 numpy-2.3.0-cp313-cp313-musllinux_1_2_aarch64.whl
e651756066a0eaf900916497e20e02fe1ae544187cb0fe88de981671ee7f6270 numpy-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
e43c3cce3b6ae5f94696669ff2a6eafd9a6b9332008bafa4117af70f4b88be6f numpy-2.3.0-cp313-cp313-win32.whl
81ae0bf2564cf475f94be4a27ef7bcf8af0c3e28da46770fc904da9abd5279b5 numpy-2.3.0-cp313-cp313-win_amd64.whl
c8738baa52505fa6e82778580b23f945e3578412554d937093eac9205e845e6e numpy-2.3.0-cp313-cp313-win_arm64.whl
39b27d8b38942a647f048b675f134dd5a567f95bfff481f9109ec308515c51d8 numpy-2.3.0-cp313-cp313t-macosx_10_13_x86_64.whl
0eba4a1ea88f9a6f30f56fdafdeb8da3774349eacddab9581a21234b8535d3d3 numpy-2.3.0-cp313-cp313t-macosx_11_0_arm64.whl
b0f1f11d0a1da54927436505a5a7670b154eac27f5672afc389661013dfe3d4f numpy-2.3.0-cp313-cp313t-macosx_14_0_arm64.whl
690d0a5b60a47e1f9dcec7b77750a4854c0d690e9058b7bef3106e3ae9117808 numpy-2.3.0-cp313-cp313t-macosx_14_0_x86_64.whl
8b51ead2b258284458e570942137155978583e407babc22e3d0ed7af33ce06f8 numpy-2.3.0-cp313-cp313t-manylinux_2_28_aarch64.whl
aaf81c7b82c73bd9b45e79cfb9476cb9c29e937494bfe9092c26aece812818ad numpy-2.3.0-cp313-cp313t-manylinux_2_28_x86_64.whl
f420033a20b4f6a2a11f585f93c843ac40686a7c3fa514060a97d9de93e5e72b numpy-2.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl
d344ca32ab482bcf8735d8f95091ad081f97120546f3d250240868430ce52555 numpy-2.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl
48a2e8eaf76364c32a1feaa60d6925eaf32ed7a040183b807e02674305beef61 numpy-2.3.0-cp313-cp313t-win32.whl
ba17f93a94e503551f154de210e4d50c5e3ee20f7e7a1b5f6ce3f22d419b93bb numpy-2.3.0-cp313-cp313t-win_amd64.whl
f14e016d9409680959691c109be98c436c6249eaf7f118b424679793607b5944 numpy-2.3.0-cp313-cp313t-win_arm64.whl
80b46117c7359de8167cc00a2c7d823bdd505e8c7727ae0871025a86d668283b numpy-2.3.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
5814a0f43e70c061f47abd5857d120179609ddc32a613138cbb6c4e9e2dbdda5 numpy-2.3.0-pp311-pypy311_pp73-macosx_14_0_arm64.whl
ef6c1e88fd6b81ac6d215ed71dc8cd027e54d4bf1d2682d362449097156267a2 numpy-2.3.0-pp311-pypy311_pp73-macosx_14_0_x86_64.whl
33a5a12a45bb82d9997e2c0b12adae97507ad7c347546190a18ff14c28bbca12 numpy-2.3.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
54dfc8681c1906d239e95ab1508d0a533c4a9505e52ee2d71a5472b04437ef97 numpy-2.3.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
e017a8a251ff4d18d71f139e28bdc7c31edba7a507f72b1414ed902cbe48c74d numpy-2.3.0-pp311-pypy311_pp73-win_amd64.whl
581f87f9e9e9db2cba2141400e160e9dd644ee248788d6f90636eeb8fd9260a6 numpy-2.3.0.tar.gz
- Python
Published by charris 12 months ago
numpy - v2.3.0rc1 (May 25, 2025)
NumPy 2.3.0 Release Notes
The NumPy 2.3.0 release continues the work to improve free threaded Python support and annotations together with the usual set of bug fixes. It is unusual in the number of expired deprecations and the number of code modernizations and style cleanups. The latter may not be visible to users, but is important for code maintenance over the long term. Note that we have also upgraded from manylinux2014 to manylinux228.
There are known test failures in the rc1 release involving MyPy and PyPy. The cause of both has been determined and fixes will be applied before the final release. The current Windows on ARM wheels also lack OpenBLAS, but they should suffice for initial downstream testing. OpenBLAS will be incorporated in those wheels when it becomes available.
This release supports Python versions 3.11-3.13, Python 3.14 will be supported when it is released.
Highlights
- Interactive examples in the NumPy documentation.
- Building NumPy with OpenMP Parallelization.
- Preliminary support for Windows on ARM.
- Improved support for free threaded Python.
- Improved annotations.
New functions
New function numpy.strings.slice
The new function numpy.strings.slice was added, which implements fast
native slicing of string arrays. It supports the full slicing API
including negative slice offsets and steps.
(gh-27789)
Deprecations
The
numpy.typing.mypy_pluginhas been deprecated in favor of platform-agnostic static type inference. Please removenumpy.typing.mypy_pluginfrom thepluginssection of your mypy configuration. If this change results in new errors being reported, kindly open an issue.(gh-28129)
The
numpy.typing.NBitBasetype has been deprecated and will be removed in a future version.This type was previously intended to be used as a generic upper bound for type-parameters, for example:
``` python import numpy as np import numpy.typing as npt
def fNT: npt.NBitBase -> np.floating[NT]: ... ```
But in NumPy 2.2.0,
float64andcomplex128were changed to concrete subtypes, causing static type-checkers to rejectx: np.float64 = f(np.complex128(42j)).So instead, the better approach is to use
typing.overload:``` python import numpy as np from typing import overload
@overload def f(x: np.complex64) -> np.float32: ... @overload def f(x: np.complex128) -> np.float64: ... @overload def f(x: np.clongdouble) -> np.longdouble: ... ```
(gh-28884)
Expired deprecations
Remove deprecated macros like
NPY_OWNDATAfrom Cython interfaces in favor ofNPY_ARRAY_OWNDATA(deprecated since 1.7)(gh-28254)
Remove
numpy/npy_1_7_deprecated_api.hand C macros likeNPY_OWNDATAin favor ofNPY_ARRAY_OWNDATA(deprecated since 1.7)(gh-28254)
Remove alias
generate_divbyzero_errortonpy_set_floatstatus_divbyzeroandgenerate_overflow_errortonpy_set_floatstatus_overflow(deprecated since 1.10)(gh-28254)
Remove
np.tostring(deprecated since 1.19)(gh-28254)
Raise on
np.conjugateof non-numeric types (deprecated since 1.13)(gh-28254)
Raise when using
np.bincount(...minlength=None), use 0 instead (deprecated since 1.14)(gh-28254)
Passing
shape=Noneto functions with a non-optional shape argument errors, use()instead (deprecated since 1.20)(gh-28254)
Inexact matches for
modeandsearchsideraise (deprecated since 1.20)(gh-28254)
Setting
__array_finalize__ = Noneerrors (deprecated since 1.23)(gh-28254)
np.fromfileandnp.fromstringerror on bad data, previously they would guess (deprecated since 1.18)(gh-28254)
datetime64andtimedelta64construction with a tuple no longer accepts aneventvalue, either use a two-tuple of (unit, num) or a 4-tuple of (unit, num, den, 1) (deprecated since 1.14)(gh-28254)
When constructing a
dtypefrom a class with adtypeattribute, that attribute must be a dtype-instance rather than a thing that can be parsed as a dtype instance (deprecated in 1.19). At some point the whole construct of using a dtype attribute will be deprecated (see #25306)(gh-28254)
Passing booleans as partition index errors (deprecated since 1.23)
(gh-28254)
Out-of-bounds indexes error even on empty arrays (deprecated since 1.20)
(gh-28254)
np.tostringhas been removed, usetobytesinstead (deprecated since 1.19)(gh-28254)
Disallow make a non-writeable array writeable for arrays with a base that do not own their data (deprecated since 1.17)
(gh-28254)
concatenate()withaxis=Noneusessame-kindcasting by default, notunsafe(deprecated since 1.20)(gh-28254)
Unpickling a scalar with object dtype errors (deprecated since 1.20)
(gh-28254)
The binary mode of
fromstringnow errors, usefrombufferinstead (deprecated since 1.14)(gh-28254)
Converting
np.inexactornp.floatingto a dtype errors (deprecated since 1.19)(gh-28254)
Converting
np.complex,np.integer,np.signedinteger,np.unsignedinteger,np.genericto a dtype errors (deprecated since 1.19)(gh-28254)
The Python built-in
rounderrors for complex scalars. Usenp.roundorscalar.roundinstead (deprecated since 1.19)(gh-28254)
\'np.bool\' scalars can no longer be interpreted as an index (deprecated since 1.19)
(gh-28254)
Parsing an integer via a float string is no longer supported. (deprecated since 1.23) To avoid this error you can
- make sure the original data is stored as integers.
- use the
converters=floatkeyword argument. - Use
np.loadtxt(...).astype(np.int64)
(gh-28254)
The use of a length 1 tuple for the ufunc
signatureerrors. Usedtypeor fill the tuple withNone(deprecated since 1.19)(gh-28254)
Special handling of matrix is in np.outer is removed. Convert to a ndarray via
matrix.A(deprecated since 1.20)(gh-28254)
Removed the
np.compatpackage source code (removed in 2.0)(gh-28961)
C API changes
NpyIter_GetTransferFlagsis now available to check if the iterator needs the Python API or if casts may cause floating point errors (FPE). FPEs can for example be set when castingfloat64(1e300)tofloat32(overflow to infinity) or a NaN to an integer (invalid value).(gh-27883)
NpyIternow has no limit on the number of operands it supports.(gh-28080)
New NpyIter_GetTransferFlags and NpyIter_IterationNeedsAPI change
NumPy now has the new NpyIter_GetTransferFlags function as a more
precise way checking of iterator/buffering needs. I.e. whether the
Python API/GIL is required or floating point errors may occur. This
function is also faster if you already know your needs without
buffering.
The NpyIter_IterationNeedsAPI function now performs all the checks
that were previously performed at setup time. While it was never
necessary to call it multiple times, doing so will now have a larger
cost.
(gh-27998)
New Features
The type parameter of
np.dtypenow defaults totyping.Any. This way, static type-checkers will inferdtype: np.dtypeasdtype: np.dtype[Any], without reporting an error.(gh-28669)
Static type-checkers now interpret:
-
_: np.ndarrayas_: npt.NDArray[typing.Any]. -
_: np.flatiteras_: np.flatiter[np.ndarray].
This is because their type parameters now have default values.
(gh-28940)
-
NumPy now registers its pkg-config paths with the pkgconf PyPI package
The pkgconf PyPI package provides an interface for projects like NumPy to register their own paths to be added to the pkg-config search path. This means that when using pkgconf from PyPI, NumPy will be discoverable without needing for any custom environment configuration.
[!NOTE] This only applies when using the pkgconf package from PyPI, or put another way, this only applies when installing pkgconf via a Python package manager.
If you are using
pkg-configorpkgconfprovided by your system, or any other source that does not use the pkgconf-pypi project, the NumPy pkg-config directory will not be automatically added to the search path. In these situations, you might want to usenumpy-config.
(gh-28214)
Allow out=... in ufuncs to ensure array result
NumPy has the sometimes difficult behavior that it currently usually
returns scalars rather than 0-D arrays (even if the inputs were 0-D
arrays). This is especially problematic for non-numerical dtypes (e.g.
object).
For ufuncs (i.e. most simple math functions) it is now possible to use
out=... (literally `...`, e.g. out=Ellipsis) which is identical
in behavior to out not being passed, but will ensure a non-scalar
return. This spelling is borrowed from arr1d[0, ...] where the ...
also ensures a non-scalar return.
Other functions with an out= kwarg should gain support eventually.
Downstream libraries that interoperate via __array_ufunc__ or
__array_function__ may need to adapt to support this.
(gh-28576)
Building NumPy with OpenMP Parallelization
NumPy now supports OpenMP parallel processing capabilities when built
with the -Denable_openmp=true Meson build flag. This feature is
disabled by default. When enabled, np.sort and np.argsort functions
can utilize OpenMP for parallel thread execution, improving performance
for these operations.
(gh-28619)
Interactive examples in the NumPy documentation
The NumPy documentation includes a number of examples that can now be run interactively in your browser using WebAssembly and Pyodide.
Please note that the examples are currently experimental in nature and may not work as expected for all methods in the public API.
(gh-26745)
Improvements
Scalar comparisons between non-comparable dtypes such as
np.array(1) == np.array('s')now return a NumPy bool instead of a Python bool.(gh-27288)
np.nditernow has no limit on the number of supported operands (C-integer).(gh-28080)
No-copy pickling is now supported for any array that can be transposed to a C-contiguous array.
(gh-28105)
The
__repr__for user-defined dtypes now prefers the__name__of the custom dtype over a more generic name constructed from itskindanditemsize.(gh-28250)
np.dotnow reports floating point exceptions.(gh-28442)
np.dtypes.StringDTypeis now a generic type which accepts a type argument forna_objectthat defaults totyping.Never. For example,StringDType(na_object=None)returns aStringDType[None], andStringDType()returns aStringDType[typing.Never].(gh-28856)
Added warnings to np.isclose
Added warning messages if at least one of atol or rtol are either
np.nan or np.inf within np.isclose.
- Warnings follow the user\'s
np.seterrsettings
(gh-28205)
Performance improvements and changes
Performance improvements to np.unique
np.unique now tries to use a hash table to find unique values instead
of sorting values before finding unique values. This is limited to
certain dtypes for now, and the function is now faster for those dtypes.
The function now also exposes a sorted parameter to allow returning
unique values as they were found, instead of sorting them afterwards.
(gh-26018)
Performance improvements to np.sort and np.argsort
np.sort and np.argsort functions now can leverage OpenMP for
parallel thread execution, resulting in up to 3.5x speedups on x86
architectures with AVX2 or AVX-512 instructions. This opt-in feature
requires NumPy to be built with the -Denableopenmp Meson flag. Users
can control the number of threads used by setting the OMPNUM_THREADS
environment variable.
(gh-28619)
Performance improvements for np.float16 casts
Earlier, floating point casts to and from np.float16 types were
emulated in software on all platforms.
Now, on ARM devices that support Neon float16 intrinsics (such as recent Apple Silicon), the native float16 path is used to achieve the best performance.
(gh-28769)
Changes
The vector norm
ord=infand the matrix normsord={1, 2, inf, 'nuc'}now always returns zero for empty arrays. Empty arrays have at least one axis of size zero. This affectsnp.linalg.norm,np.linalg.vector_norm, andnp.linalg.matrix_norm. Previously, NumPy would raises errors or return zero depending on the shape of the array.(gh-28343)
A spelling error in the error message returned when converting a string to a float with the method
np.format_float_positionalhas been fixed.(gh-28569)
NumPy\'s
__array_api_version__was upgraded from2023.12to2024.12.numpy.count_nonzeroforaxis=None(default) now returns a NumPy scalar instead of a Python integer.The parameter
axisinnumpy.take_along_axisfunction has now a default value of-1.(gh-28615)
Printing of
np.float16andnp.float32scalars and arrays have been improved by adjusting the transition to scientific notation based on the floating point precision. A new legacynp.printoptionsmode'2.2'has been added for backwards compatibility.(gh-28703)
unique_values may return unsorted data
The relatively new function (added in NumPy 2.0) unique_values may now
return unsorted results. Just as unique_counts and unique_all these
never guaranteed a sorted result, however, the result was sorted until
now. In cases where these do return a sorted result, this may change in
future releases to improve performance.
(gh-26018)
Changes to the main iterator and potential numerical changes
The main iterator, used in math functions and via np.nditer from
Python and NpyIter in C, now behaves differently for some buffered
iterations. This means that:
- The buffer size used will often be smaller than the maximum buffer
sized allowed by the
buffersizeparameter. - The \"growinner\" flag is now honored with buffered reductions when no operand requires buffering.
For np.sum() such changes in buffersize may slightly change numerical
results of floating point operations. Users who use \"growinner\" for
custom reductions could notice changes in precision (for example, in
NumPy we removed it from einsum to avoid most precision changes and
improve precision for some 64bit floating point inputs).
(gh-27883)
The minimum supported GCC version is now 9.3.0
The minimum supported version was updated from 8.4.0 to 9.3.0, primarily in order to reduce the chance of platform-specific bugs in old GCC versions from causing issues.
(gh-28102)
Changes to automatic bin selection in numpy.histogram
The automatic bin selection algorithm in numpy.histogram has been
modified to avoid out-of-memory errors for samples with low variation.
For full control over the selected bins the user can use set the bin
or range parameters of numpy.histogram.
(gh-28426)
Build manylinux228 wheels
Wheels for linux systems will use the manylinux_2_28 tag (instead of
the manylinux2014 tag), which means dropping support for
redhat7/centos7, amazonlinux2, debian9, ubuntu18.04, and other
pre-glibc2.28 operating system versions, as per the PEP 600 support
table.
(gh-28436)
Remove use of -Wl,-ld_classic on macOS
Remove use of -Wl,-ld_classic on macOS. This hack is no longer needed by Spack, and results in libraries that cannot link to other libraries built with ld (new).
(gh-28713)
Re-enable overriding functions in the numpy.strings
Re-enable overriding functions in the numpy.strings module.
(gh-28741)
Checksums
MD5
629f59f0a128a7ff1f3fedac6e2c42da numpy-2.3.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
6b69c1f05cb782104bb4063f79bfb804 numpy-2.3.0rc1-cp311-cp311-macosx_11_0_arm64.whl
0a5c651274fcd4912490edf17052302b numpy-2.3.0rc1-cp311-cp311-macosx_14_0_arm64.whl
aac595e422ddf5ab5d87cdce3be66262 numpy-2.3.0rc1-cp311-cp311-macosx_14_0_x86_64.whl
f7d4f749f9e85a50adfbafd1b9c70fe8 numpy-2.3.0rc1-cp311-cp311-manylinux_2_28_aarch64.whl
ec8a0e794ce8fc7e35f90d83b68cd2d6 numpy-2.3.0rc1-cp311-cp311-manylinux_2_28_x86_64.whl
a8800a3c3fc260b02a36fb9dc8a1a399 numpy-2.3.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl
8e96ee3eb6e07e8efdff7754b9d008b6 numpy-2.3.0rc1-cp311-cp311-musllinux_1_2_x86_64.whl
4157e803760012f28317495eec5b3310 numpy-2.3.0rc1-cp311-cp311-win32.whl
1afc4f1a7adb81d9f2705a4c10f2d808 numpy-2.3.0rc1-cp311-cp311-win_amd64.whl
11251ad640d2dd50b2d0a08a1c79e870 numpy-2.3.0rc1-cp311-cp311-win_arm64.whl
f723f2e6b1ed4430b5a5c0c05501b55c numpy-2.3.0rc1-cp312-cp312-macosx_10_13_x86_64.whl
6ca0c0e1c2819a04b6c01559ce2d60dd numpy-2.3.0rc1-cp312-cp312-macosx_11_0_arm64.whl
56af103256eac1edcc34382a9c45a5eb numpy-2.3.0rc1-cp312-cp312-macosx_14_0_arm64.whl
e3acbafb6da1e75c80361e4f3c791d12 numpy-2.3.0rc1-cp312-cp312-macosx_14_0_x86_64.whl
278c4727d8b8d05b6202355cf740cfd4 numpy-2.3.0rc1-cp312-cp312-manylinux_2_28_aarch64.whl
3cd5e204141a450301fdcbda83e044f5 numpy-2.3.0rc1-cp312-cp312-manylinux_2_28_x86_64.whl
c4369a338a9900fc43c6fe46e5113505 numpy-2.3.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl
12c5af8ba96f61d1a5d41f15c1d55721 numpy-2.3.0rc1-cp312-cp312-musllinux_1_2_x86_64.whl
81fae7bcfc52b810c75a3c14bc182f12 numpy-2.3.0rc1-cp312-cp312-win32.whl
1ce23327d02c79b64c16f54d412e32ae numpy-2.3.0rc1-cp312-cp312-win_amd64.whl
9e538dfe7f2051f63422d4e1edcd23bd numpy-2.3.0rc1-cp312-cp312-win_arm64.whl
ca94a64c4ad19bad2fd5baba19bc8578 numpy-2.3.0rc1-cp313-cp313-macosx_10_13_x86_64.whl
d964ed57e7b28365a75210e83c396ea5 numpy-2.3.0rc1-cp313-cp313-macosx_11_0_arm64.whl
03247ffd1c0a63e86382867df6914cd6 numpy-2.3.0rc1-cp313-cp313-macosx_14_0_arm64.whl
65ace2a8b56475a356357091c704a257 numpy-2.3.0rc1-cp313-cp313-macosx_14_0_x86_64.whl
e3283698c1124b6e60b8361d4884792f numpy-2.3.0rc1-cp313-cp313-manylinux_2_28_aarch64.whl
afa8c55affdc96845ee0f904de86e1dc numpy-2.3.0rc1-cp313-cp313-manylinux_2_28_x86_64.whl
fc296e255a2afb62956642355d1830c2 numpy-2.3.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl
32fd94baff245adcd4e12531ec2812be numpy-2.3.0rc1-cp313-cp313-musllinux_1_2_x86_64.whl
8114fe3c90fb01856b089b076a3eaf69 numpy-2.3.0rc1-cp313-cp313-win32.whl
3aae3297bd4d94fd628666da9224b871 numpy-2.3.0rc1-cp313-cp313-win_amd64.whl
76387f5d0a213f13b1352efc5087ebe2 numpy-2.3.0rc1-cp313-cp313-win_arm64.whl
cd6d0165be416093c2229319d9578e22 numpy-2.3.0rc1-cp313-cp313t-macosx_10_13_x86_64.whl
783a19b5db79d0080727dcae4c48ce90 numpy-2.3.0rc1-cp313-cp313t-macosx_11_0_arm64.whl
af327355774245aebd2bc790982190b9 numpy-2.3.0rc1-cp313-cp313t-macosx_14_0_arm64.whl
fe643d848c382e0c97cb85ce993c7ac9 numpy-2.3.0rc1-cp313-cp313t-macosx_14_0_x86_64.whl
d4facf10a4628a67f076e230caa8cd7b numpy-2.3.0rc1-cp313-cp313t-manylinux_2_28_aarch64.whl
a16b6003b0778caddb708d06a8720c2b numpy-2.3.0rc1-cp313-cp313t-manylinux_2_28_x86_64.whl
27732d00b9124f2866f45602d5c46ef5 numpy-2.3.0rc1-cp313-cp313t-musllinux_1_2_aarch64.whl
1c25ee631482975bbeb378d88608b3b5 numpy-2.3.0rc1-cp313-cp313t-musllinux_1_2_x86_64.whl
63974df1b36d9486a0a8a4953a53a418 numpy-2.3.0rc1-cp313-cp313t-win32.whl
1e67187dd5fbc2663a0922e3434e4838 numpy-2.3.0rc1-cp313-cp313t-win_amd64.whl
8ae83e7618c196dfe4e637c5f81692e5 numpy-2.3.0rc1-cp313-cp313t-win_arm64.whl
a96f68abaa4aa674e49eec4add0b2c0b numpy-2.3.0rc1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
fe679f10ad4c9d3fce0db85c632967a7 numpy-2.3.0rc1-pp311-pypy311_pp73-macosx_14_0_arm64.whl
c9f14388eae0b01b5225e0f8f79ba9f6 numpy-2.3.0rc1-pp311-pypy311_pp73-macosx_14_0_x86_64.whl
7cea15ab8d47bc2f3f6377c29a74138f numpy-2.3.0rc1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
46d07cd0f0aacce6d4b5ce949a333abc numpy-2.3.0rc1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
df12654557fe28806bed04e15d1fe1d7 numpy-2.3.0rc1-pp311-pypy311_pp73-win_amd64.whl
5677afac6d3d39fe93a96cab654f38e7 numpy-2.3.0rc1.tar.gz
SHA256
82b035e631187bee40c1d2c1593e40dcad62cfbaf833c5d3e179c1d7bce87e0c numpy-2.3.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
2f2f8a82005073929532ed8e09eda78544140996ef283d007945323d27e3ef84 numpy-2.3.0rc1-cp311-cp311-macosx_11_0_arm64.whl
96af406cf156acb52edfa3b38c1fc8efe0f986bff5f99176657ba09606e78fe7 numpy-2.3.0rc1-cp311-cp311-macosx_14_0_arm64.whl
30f11867a70c96e6628f9b5da5cb426efe4ebe5e1f02bc8932c79f4dfa0c1e02 numpy-2.3.0rc1-cp311-cp311-macosx_14_0_x86_64.whl
c54f93b5c0c210e580fd1d114b76b172190bdefcdee3eab865587d4c860067fa numpy-2.3.0rc1-cp311-cp311-manylinux_2_28_aarch64.whl
6d72740255bcbaa94a66329daffd974e8212eee4b77acc8c3da8dd179adbe7f3 numpy-2.3.0rc1-cp311-cp311-manylinux_2_28_x86_64.whl
44f65efc7f4a62e0624f53cd241761b5a9cdaa302e50dd8f30adc1173e2c1691 numpy-2.3.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl
e9766d1d3b36df82777c7f0a6d248d21e7aceafd40d24b87f9cec6c5916a4908 numpy-2.3.0rc1-cp311-cp311-musllinux_1_2_x86_64.whl
07638479fc90c38168a3dd29a54c750701100dd84622bbaa32783459d2df7c54 numpy-2.3.0rc1-cp311-cp311-win32.whl
7cc39c12551a3b92f9db5dd0faff021043f4f432167f990424a3c9149314f3a3 numpy-2.3.0rc1-cp311-cp311-win_amd64.whl
213b2aa630118690e684a2666c58978a45763fbd4034b9b990d827a25df7b6ae numpy-2.3.0rc1-cp311-cp311-win_arm64.whl
c9d04e6f6bf7fe48eb25af803de3e2ee5dbaba7786d17764d7bacc242d47d96e numpy-2.3.0rc1-cp312-cp312-macosx_10_13_x86_64.whl
8cd953239b23dd0f5363553efb2eab4651c33b3772c7bcfe3bc0e1a84a9149e6 numpy-2.3.0rc1-cp312-cp312-macosx_11_0_arm64.whl
66bff8b92964eb21593d787e55668d1800d5cfeb0ccf75691cce80c15b155839 numpy-2.3.0rc1-cp312-cp312-macosx_14_0_arm64.whl
580ce0f8e9e340571a5b0c32b7f3e1489ea018dbc37b22913788be23e8a50559 numpy-2.3.0rc1-cp312-cp312-macosx_14_0_x86_64.whl
93909bcf08b4aa21a74a687342843eef5479c317add9700a66b0122cc1c9d604 numpy-2.3.0rc1-cp312-cp312-manylinux_2_28_aarch64.whl
9efc27c9b25d4387e6153d01cc93a8ae18a6a37d6598cb4da3876874a3aa1283 numpy-2.3.0rc1-cp312-cp312-manylinux_2_28_x86_64.whl
14e86a57107b03e7b31b4d677ded1af52079f05bde89008b4dfd5a3fd7767769 numpy-2.3.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl
c4ac94252a8dec06d6c55126f83775ec90b0d8ceaed9086d7166175455772155 numpy-2.3.0rc1-cp312-cp312-musllinux_1_2_x86_64.whl
c8047609194df241d20b5d3534319df0f2ef57c7163a9e67ceb8a7ab3d3c7413 numpy-2.3.0rc1-cp312-cp312-win32.whl
ea64b01b0b9ee53fd1c05dad508e1ee05ca888579687a94044cdea8ef47f8efc numpy-2.3.0rc1-cp312-cp312-win_amd64.whl
c0ca78c3c15db1b69b91027c6485291b2ffbdd29dab77bd5d044248569c9ff85 numpy-2.3.0rc1-cp312-cp312-win_arm64.whl
77fc845f90f74b83881330bd3d15c112bdac5e2947e77adec2be141eb5a71aff numpy-2.3.0rc1-cp313-cp313-macosx_10_13_x86_64.whl
fcaf7cfbe003ea5d6e2f470fbb67001dae39dbddc76a608b10623592f4711c78 numpy-2.3.0rc1-cp313-cp313-macosx_11_0_arm64.whl
167c1b4ad39017d5b0bfae7c5b71ced40025ef26ff8b9fc65e39519533b7c416 numpy-2.3.0rc1-cp313-cp313-macosx_14_0_arm64.whl
f4d15d5ad63ea6760b0ff49cc88a635b02838488ebabb41bc2524f67d9d5b74e numpy-2.3.0rc1-cp313-cp313-macosx_14_0_x86_64.whl
eb5a7a5d1c28881b1c9536038d9ea224051464b0a033d8bd87ec75634e8ee2db numpy-2.3.0rc1-cp313-cp313-manylinux_2_28_aarch64.whl
022fa032a8dcabef0771db621a77a9203358e41cb651d8903836783e9708248f numpy-2.3.0rc1-cp313-cp313-manylinux_2_28_x86_64.whl
b6d9d7ad7666f646bbb831a80c668b61a08d4deb00935ef475a1c81ba0b87bdb numpy-2.3.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl
172965a57a44ccfbfc67746c721128647a4df3aecec3d3b91c67e75c575548cc numpy-2.3.0rc1-cp313-cp313-musllinux_1_2_x86_64.whl
b056d511fdb33ee7076586fbb831be0a8030e9565f5ea0ceebe649f29e647ac0 numpy-2.3.0rc1-cp313-cp313-win32.whl
f437b4af30ab36e7fa9fd7856b0482229259fc98aeb5e53a287eda5253e4f1ec numpy-2.3.0rc1-cp313-cp313-win_amd64.whl
ffbda03577e4f401f4465345ca98c9dc95e3a23df2ec16854f4aa37ae6c1fb56 numpy-2.3.0rc1-cp313-cp313-win_arm64.whl
4de6304a0653a76f6418f4c0aa84048953d5891aa8296681d916f95b0a5eddf8 numpy-2.3.0rc1-cp313-cp313t-macosx_10_13_x86_64.whl
17cb57f5c862904d57a1d1eb2d6e3f0e3a0d7ea738d5281638aef7c45b8c4525 numpy-2.3.0rc1-cp313-cp313t-macosx_11_0_arm64.whl
96d8e7e0666836202e9cff63cb16d9c49bd31222303f3b70dc9144c3ae191cdd numpy-2.3.0rc1-cp313-cp313t-macosx_14_0_arm64.whl
e967c553e48c14feb3387248cf089c4f7f8ec66f6800cb184effa2da5494d9e8 numpy-2.3.0rc1-cp313-cp313t-macosx_14_0_x86_64.whl
cb18f1e661c4480e7d40bac0172ab456aececa05aec5855d987d6a1f51d51206 numpy-2.3.0rc1-cp313-cp313t-manylinux_2_28_aarch64.whl
eb0876192b685ed3f96049dbd5aa9a1d871b47c553b3d304692bbbe386fa7441 numpy-2.3.0rc1-cp313-cp313t-manylinux_2_28_x86_64.whl
de2e8223ef8e65963976de817419314d7e791d403a9d6448174e3f490559ba8d numpy-2.3.0rc1-cp313-cp313t-musllinux_1_2_aarch64.whl
b7c0007ae7dd02acaaf198cf1a6b4da805aaa3857a452403c3de1fed29ab158c numpy-2.3.0rc1-cp313-cp313t-musllinux_1_2_x86_64.whl
875ee6c2865523adb78ebcfbcef186fc99201e9931a49132d97101f57f154ff1 numpy-2.3.0rc1-cp313-cp313t-win32.whl
b59de7a3beeca46f189c53609db7794ccb83a90fa5841111d5ca77bbe990ed21 numpy-2.3.0rc1-cp313-cp313t-win_amd64.whl
7f06a256ce74713eae26c19221b305783d4db5f8cad457e82f9a4f8cc55b9632 numpy-2.3.0rc1-cp313-cp313t-win_arm64.whl
3c8681de7c4fc72f5ab29e5a8343b37fe7bdc465e8cc3c99637ac884e26e41fd numpy-2.3.0rc1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
ec2037b6d700b8491a97efcbfa05dec666d8ae7807f374beb9d3320531d42e9b numpy-2.3.0rc1-pp311-pypy311_pp73-macosx_14_0_arm64.whl
ab6e2b743192e7e9ecef7d22a90c394a6fe3313676e55fcc1c566ee0649b35db numpy-2.3.0rc1-pp311-pypy311_pp73-macosx_14_0_x86_64.whl
fccea8370d46dcb20012a1e8e54bc70dc7e2db8bfc3e20b95f8f871bb408744f numpy-2.3.0rc1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
477064e29dfac734cb53269f5a4916e38e11ef9d42f6c475e9c695e25f78e868 numpy-2.3.0rc1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
95c190db9870e0dc616da2f267a3fc29544a843601251947eadc0e00a0aa8ad6 numpy-2.3.0rc1-pp311-pypy311_pp73-win_amd64.whl
a28686275bf434b4304408c2711832033e3906c50282eb93fc567b8483922625 numpy-2.3.0rc1.tar.gz
- Python
Published by charris about 1 year ago
numpy - v2.2.6 (May 17, 2025)
NumPy 2.2.6 Release Notes
NumPy 2.2.6 is a patch release that fixes bugs found after the 2.2.5 release. It is a mix of typing fixes/improvements as well as the normal bug fixes and some CI maintenance.
This release supports Python versions 3.10-3.13.
Contributors
A total of 8 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Charles Harris
- Ilhan Polat
- Joren Hammudoglu
- Marco Gorelli +
- Matti Picus
- Nathan Goldbaum
- Peter Hawkins
- Sayed Adel
Pull requests merged
A total of 11 pull requests were merged for this release.
- #28778: MAINT: Prepare 2.2.x for further development
- #28851: BLD: Update vendor-meson to fix module_feature conflicts arguments...
- #28852: BUG: fix heap buffer overflow in np.strings.find
- #28853: TYP: fix
NDArray[floating] + floatreturn type - #28864: BUG: fix stringdtype singleton thread safety
- #28865: MAINT: use OpenBLAS 0.3.29
- #28889: MAINT: from_dlpack thread safety fixes
- #28913: TYP: Fix non-existent
CanIndexannotation inndarray.setfield - #28915: MAINT: Avoid dereferencing/strict aliasing warnings
- #28916: BUG: Fix missing check for PyErrOccurred() in _pyarraycorrelate.
- #28966: TYP: reject complex scalar types in ndarray.__ifloordiv__
Checksums
MD5
259343f056061f6eadb2f4b8999d06d4 numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl
16fa85488e149489ce7ee044d7b0d307 numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl
f01b7aea9d2b76b1eeb49766e615d689 numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl
f2ddc2b22517f6e31caa1372b12c2499 numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl
52190e22869884f0870eb3df7a283ca9 numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8f382b9ca6770db600edd5ea2447a925 numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e604aae2ef6e01fb92ecc39aca0424d9 numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl
3e5626cf6d8bec95d430a7362e71691c numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl
8f4f1982837618ed7636ebd432234aeb numpy-2.2.6-cp310-cp310-win32.whl
1cfd2ac5609b4800512f0ce304e19acc numpy-2.2.6-cp310-cp310-win_amd64.whl
116203803ceeaa911dd64810b0305b4c numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl
0427961f3a70ed92b1c4d2c5516c5803 numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl
feb8104ed864d51c68984ff93f7255b5 numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl
f640cd91637f1d474947ecdb18d17ee8 numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl
2f87d921a50fe50d04bb62125f8638dd numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7f986c33f49d5940d6d005ff7039e420 numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0f7073c78e0aede7179c537f64856db7 numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl
7402bbedcc0b59bd6cef1c483b77dac0 numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl
93c920d40abbc10d5d056b8bfbcdad74 numpy-2.2.6-cp311-cp311-win32.whl
9162cb90bff0e4ba322f1e61da9f2fba numpy-2.2.6-cp311-cp311-win_amd64.whl
75e9fa94b0a6ef568b532f6e0773a6a7 numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl
79d8f89e82971bb2a2f61d0ef8f1a677 numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl
fb553e49196bce93af4b0d7e1e8fad1e numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl
01a338bc3a5349b5b7db4335fe879810 numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl
f37533a7ae4aa95da824b1df2786ac55 numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2f9ac35f955d9217b6841568ce13d636 numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
df530a075c04dbef9abcac95d027c8bc numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl
4edf8f80feec739de3e08fffe97195a3 numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl
3e2664254d9a7bb5c66df2b108aaec2f numpy-2.2.6-cp312-cp312-win32.whl
ae2e39f1dba9b91d35edcd8736041df8 numpy-2.2.6-cp312-cp312-win_amd64.whl
2faa32e27b81105db53fb2fc25a54e0d numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl
0d05b1bb5af5059c8775a4f10fa0ec3d numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl
bb404027de8df58312964e26528ef591 numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl
1340a90e0f62a31691e475214f773196 numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl
954981f2846e6735798fb33c1e6fba76 numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4e4eccd129b31fbef3ced7fb338e862e numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c704c1c56c777bc0fc0d54bbcf9f2ddb numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl
fb459919a3433235312673bd5797ab8b numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl
9998e8ae155872c375ce6c020654176b numpy-2.2.6-cp313-cp313-win32.whl
03df8a78963b318b4dfede10b213dce4 numpy-2.2.6-cp313-cp313-win_amd64.whl
d1982e582eae2fb076942c0bbedcefe4 numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl
cbc7a48b9ca730a8d40927666651430a numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl
cd1d2271c05ccc502b78827b88ff7670 numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl
c2b4fb7464e42af240ad51c8be5fb1ba numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl
6a96c540b8df291a128bb50dfdad0ba4 numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
113d466026e770badd1061a6e1a8ca92 numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1fce5d26d8d6d021954f717b4bad483c numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl
d980d6c4b486ad09dbf62ac5cf1b0b2a numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl
21571229d4376f3c0458d8eb1be3ba52 numpy-2.2.6-cp313-cp313t-win32.whl
4accc0387feec817565aeaba93c79173 numpy-2.2.6-cp313-cp313t-win_amd64.whl
774589ee5f842137322ff19b56a35270 numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
f934cef42ac65a2094dd5280aa6bf9a2 numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
0e53fbb4195726c62b8f237a4bf545e9 numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3c96c89609022ecd27d44b12c2349a06 numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl
63d66dc1db9d603df0a84c870e703cfc numpy-2.2.6.tar.gz
SHA256
b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl
8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90 numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl
37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163 numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl
5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl
efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83 numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915 numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680 numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl
8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289 numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl
b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d numpy-2.2.6-cp310-cp310-win32.whl
f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3 numpy-2.2.6-cp310-cp310-win_amd64.whl
f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl
c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl
3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42 numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl
481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491 numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl
b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1 numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl
9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl
0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47 numpy-2.2.6-cp311-cp311-win32.whl
e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303 numpy-2.2.6-cp311-cp311-win_amd64.whl
41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl
de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl
894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3 numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl
71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282 numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl
f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87 numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249 numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49 numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl
fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl
4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4 numpy-2.2.6-cp312-cp312-win32.whl
c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2 numpy-2.2.6-cp312-cp312-win_amd64.whl
0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84 numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl
287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl
f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl
55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566 numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl
f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868 numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl
b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl
5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd numpy-2.2.6-cp313-cp313-win32.whl
b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c numpy-2.2.6-cp313-cp313-win_amd64.whl
0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6 numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl
fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl
5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40 numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl
fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8 numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl
e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571 numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl
8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1 numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl
038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff numpy-2.2.6-cp313-cp313t-win32.whl
6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06 numpy-2.2.6-cp313-cp313t-win_amd64.whl
0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543 numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00 numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl
e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd numpy-2.2.6.tar.gz
- Python
Published by charris about 1 year ago
numpy - v2.2.5 (Apr 19, 2025)
NumPy 2.2.5 Release Notes
NumPy 2.2.5 is a patch release that fixes bugs found after the 2.2.4 release. It has a large number of typing fixes/improvements as well as the normal bug fixes and some CI maintenance.
This release supports Python versions 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.
- Charles Harris
- Joren Hammudoglu
- Baskar Gopinath +
- Nathan Goldbaum
- Nicholas Christensen +
- Sayed Adel
- karl +
Pull requests merged
A total of 19 pull requests were merged for this release.
- #28545: MAINT: Prepare 2.2.x for further development
- #28582: BUG: Fix return type of NpyIter_GetIterNext in Cython declarations
- #28583: BUG: avoid deadlocks with C++ shared mutex in dispatch cache
- #28585: TYP: fix typing errors in
_core.strings - #28631: MAINT, CI: Update Ubuntu to 22.04 in azure-pipelines
- #28632: BUG: Set writeable flag for writeable dlpacks.
- #28633: BUG: Fix crackfortran parsing error when a division occurs within...
- #28650: TYP: fix
ndarray.tolist()and.item()for unknown dtype - #28654: BUG: fix deepcopying StringDType arrays (#28643)
- #28661: TYP: Accept objects that
write()tostrinsavetxt - #28663: CI: Replace QEMU armhf with native (32-bit compatibility mode)
- #28682: SIMD: Resolve Highway QSort symbol linking error on aarch32/ASIMD
- #28683: TYP: add missing
"b1"literals fordtype[bool] - #28705: TYP: Fix false rejection of
NDArray[object_].__abs__() - #28706: TYP: Fix inconsistent
NDArray[float64].__[r]truediv__return... - #28723: TYP: fix string-like
ndarrayrich comparison operators - #28758: TYP: some
[arg]partitionfixes - #28772: TYP: fix incorrect
random.Generator.integersreturn type - #28774: TYP: fix
count_nonzerosignature
Checksums
MD5
3a5d0889d6d7951f44bc6f7a03fa30c6 numpy-2.2.5-cp310-cp310-macosx_10_9_x86_64.whl
bcf9f4e768b070e17b2635f422a6e27d numpy-2.2.5-cp310-cp310-macosx_11_0_arm64.whl
e82c8fa47a65bb5c2c83295f549dab12 numpy-2.2.5-cp310-cp310-macosx_14_0_arm64.whl
a5511a995c0f79a8b9a81f2b50e9f692 numpy-2.2.5-cp310-cp310-macosx_14_0_x86_64.whl
72bfc1f98238a8e4ba08999e61111e0e numpy-2.2.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
146c83a5b8099d8d2607392b2ef7fedf numpy-2.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6ebdc80b54b008a10575e5d7bbb613f5 numpy-2.2.5-cp310-cp310-musllinux_1_2_aarch64.whl
97efde6443da8f9280a5fc2614a087e5 numpy-2.2.5-cp310-cp310-musllinux_1_2_x86_64.whl
c143f352206cec535b41b6b1d34c5898 numpy-2.2.5-cp310-cp310-win32.whl
0b17fbbf584785f675f1c5b24a00ff93 numpy-2.2.5-cp310-cp310-win_amd64.whl
58532622d7eff69a3c71c1ae89dea070 numpy-2.2.5-cp311-cp311-macosx_10_9_x86_64.whl
0d002c733bb02debe0b15de5ba872d1e numpy-2.2.5-cp311-cp311-macosx_11_0_arm64.whl
ff0c736c60be96506806061ace2251a1 numpy-2.2.5-cp311-cp311-macosx_14_0_arm64.whl
4febdec973c4405fd08ef35e0c130de1 numpy-2.2.5-cp311-cp311-macosx_14_0_x86_64.whl
0bf4e457c612e565420e135458e70fe0 numpy-2.2.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a43b608ad15ebdc0960611497205d598 numpy-2.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7b4b1afd412149a9af7c25d7346fade8 numpy-2.2.5-cp311-cp311-musllinux_1_2_aarch64.whl
a1e70be013820f92dbfd4796fc4044bb numpy-2.2.5-cp311-cp311-musllinux_1_2_x86_64.whl
73344e05a6fec0b38183363b4a026252 numpy-2.2.5-cp311-cp311-win32.whl
b7d5fdd23057c58d15c84eef6bfedb55 numpy-2.2.5-cp311-cp311-win_amd64.whl
801b11bb546aac2d92d7b3d5d6c90e86 numpy-2.2.5-cp312-cp312-macosx_10_13_x86_64.whl
68dc4298cad9405ad30cfb723be4ae48 numpy-2.2.5-cp312-cp312-macosx_11_0_arm64.whl
c31c872e0fa8df5ed7f91882621a925f numpy-2.2.5-cp312-cp312-macosx_14_0_arm64.whl
179dfa545c32c44b77cf8db3b973785f numpy-2.2.5-cp312-cp312-macosx_14_0_x86_64.whl
4562513ff2f1e3f31d66b8e435000141 numpy-2.2.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c80a2d8aab1a4d6a66f3fca2f0744744 numpy-2.2.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e363e0d8c116522d55b0ddd0cbf2de67 numpy-2.2.5-cp312-cp312-musllinux_1_2_aarch64.whl
d31d443270c76b7238ece2f87b048d21 numpy-2.2.5-cp312-cp312-musllinux_1_2_x86_64.whl
bf469fe048fa4ed75a5d8725297e283a numpy-2.2.5-cp312-cp312-win32.whl
069b832aa15b6a815497135e7fa8cae8 numpy-2.2.5-cp312-cp312-win_amd64.whl
b2cf059c831cbcfdb4044613a1e5bc8d numpy-2.2.5-cp313-cp313-macosx_10_13_x86_64.whl
70bcb93e55ff0f6602636602e0834607 numpy-2.2.5-cp313-cp313-macosx_11_0_arm64.whl
00c4938d67fd5b658ad92ac26fbe9cab numpy-2.2.5-cp313-cp313-macosx_14_0_arm64.whl
0ca38aa51874b9252a2c9d85f81dcd07 numpy-2.2.5-cp313-cp313-macosx_14_0_x86_64.whl
6062cf707b8bc07a1600af0991a0a88e numpy-2.2.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
62c1cf7de0327546f3a1e3852de640d3 numpy-2.2.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ab3ad3390396552f76160139cc528784 numpy-2.2.5-cp313-cp313-musllinux_1_2_aarch64.whl
d258ba55c9a3936fa0c113cac8bbc0cc numpy-2.2.5-cp313-cp313-musllinux_1_2_x86_64.whl
59bb7e1acb81fc4a02c3b791e110f01e numpy-2.2.5-cp313-cp313-win32.whl
2e5728a9e5c6405d3a22138e4dd7019f numpy-2.2.5-cp313-cp313-win_amd64.whl
d315521ec7275d0341787f2450e57e55 numpy-2.2.5-cp313-cp313t-macosx_10_13_x86_64.whl
17018c7c259ae81cf2ca4f58523d7d1c numpy-2.2.5-cp313-cp313t-macosx_11_0_arm64.whl
ef6fd6a9c6a07db004a272b82f0ea710 numpy-2.2.5-cp313-cp313t-macosx_14_0_arm64.whl
07b2baf70b84b44ca6924794d9c7e431 numpy-2.2.5-cp313-cp313t-macosx_14_0_x86_64.whl
a2fb1ed562d2b6da091d980c7486d113 numpy-2.2.5-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
22fa9137283f463436d7b20a220071cd numpy-2.2.5-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b0ae924e4834155eb5ac159ae611c292 numpy-2.2.5-cp313-cp313t-musllinux_1_2_aarch64.whl
c7a8351484f2df9a499c68f1ac73121c numpy-2.2.5-cp313-cp313t-musllinux_1_2_x86_64.whl
1da753e4127a0bdcdfbfa6639568057e numpy-2.2.5-cp313-cp313t-win32.whl
a8c869efc0888f214239e5c4f0e6acfb numpy-2.2.5-cp313-cp313t-win_amd64.whl
7255b93f38e7d54a59d6798182f24c6a numpy-2.2.5-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
6743ce025de6c245b03ca8511b306503 numpy-2.2.5-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
5abbeec4ff2add1c46f8779f730c73fa numpy-2.2.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8e2e01f02d05e111ef2b104d1b3afad1 numpy-2.2.5-pp310-pypy310_pp73-win_amd64.whl
df2e46b468f9fdf06b13b04eca9a723f numpy-2.2.5.tar.gz
SHA256
1f4a922da1729f4c40932b2af4fe84909c7a6e167e6e99f71838ce3a29f3fe26 numpy-2.2.5-cp310-cp310-macosx_10_9_x86_64.whl
b6f91524d31b34f4a5fee24f5bc16dcd1491b668798b6d85585d836c1e633a6a numpy-2.2.5-cp310-cp310-macosx_11_0_arm64.whl
19f4718c9012e3baea91a7dba661dcab2451cda2550678dc30d53acb91a7290f numpy-2.2.5-cp310-cp310-macosx_14_0_arm64.whl
eb7fd5b184e5d277afa9ec0ad5e4eb562ecff541e7f60e69ee69c8d59e9aeaba numpy-2.2.5-cp310-cp310-macosx_14_0_x86_64.whl
6413d48a9be53e183eb06495d8e3b006ef8f87c324af68241bbe7a39e8ff54c3 numpy-2.2.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7451f92eddf8503c9b8aa4fe6aa7e87fd51a29c2cfc5f7dbd72efde6c65acf57 numpy-2.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0bcb1d057b7571334139129b7f941588f69ce7c4ed15a9d6162b2ea54ded700c numpy-2.2.5-cp310-cp310-musllinux_1_2_aarch64.whl
36ab5b23915887543441efd0417e6a3baa08634308894316f446027611b53bf1 numpy-2.2.5-cp310-cp310-musllinux_1_2_x86_64.whl
422cc684f17bc963da5f59a31530b3936f57c95a29743056ef7a7903a5dbdf88 numpy-2.2.5-cp310-cp310-win32.whl
e4f0b035d9d0ed519c813ee23e0a733db81ec37d2e9503afbb6e54ccfdee0fa7 numpy-2.2.5-cp310-cp310-win_amd64.whl
c42365005c7a6c42436a54d28c43fe0e01ca11eb2ac3cefe796c25a5f98e5e9b numpy-2.2.5-cp311-cp311-macosx_10_9_x86_64.whl
498815b96f67dc347e03b719ef49c772589fb74b8ee9ea2c37feae915ad6ebda numpy-2.2.5-cp311-cp311-macosx_11_0_arm64.whl
6411f744f7f20081b1b4e7112e0f4c9c5b08f94b9f086e6f0adf3645f85d3a4d numpy-2.2.5-cp311-cp311-macosx_14_0_arm64.whl
9de6832228f617c9ef45d948ec1cd8949c482238d68b2477e6f642c33a7b0a54 numpy-2.2.5-cp311-cp311-macosx_14_0_x86_64.whl
369e0d4647c17c9363244f3468f2227d557a74b6781cb62ce57cf3ef5cc7c610 numpy-2.2.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
262d23f383170f99cd9191a7c85b9a50970fe9069b2f8ab5d786eca8a675d60b numpy-2.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
aa70fdbdc3b169d69e8c59e65c07a1c9351ceb438e627f0fdcd471015cd956be numpy-2.2.5-cp311-cp311-musllinux_1_2_aarch64.whl
37e32e985f03c06206582a7323ef926b4e78bdaa6915095ef08070471865b906 numpy-2.2.5-cp311-cp311-musllinux_1_2_x86_64.whl
f5045039100ed58fa817a6227a356240ea1b9a1bc141018864c306c1a16d4175 numpy-2.2.5-cp311-cp311-win32.whl
b13f04968b46ad705f7c8a80122a42ae8f620536ea38cf4bdd374302926424dd numpy-2.2.5-cp311-cp311-win_amd64.whl
ee461a4eaab4f165b68780a6a1af95fb23a29932be7569b9fab666c407969051 numpy-2.2.5-cp312-cp312-macosx_10_13_x86_64.whl
ec31367fd6a255dc8de4772bd1658c3e926d8e860a0b6e922b615e532d320ddc numpy-2.2.5-cp312-cp312-macosx_11_0_arm64.whl
47834cde750d3c9f4e52c6ca28a7361859fcaf52695c7dc3cc1a720b8922683e numpy-2.2.5-cp312-cp312-macosx_14_0_arm64.whl
2c1a1c6ccce4022383583a6ded7bbcda22fc635eb4eb1e0a053336425ed36dfa numpy-2.2.5-cp312-cp312-macosx_14_0_x86_64.whl
9d75f338f5f79ee23548b03d801d28a505198297534f62416391857ea0479571 numpy-2.2.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3a801fef99668f309b88640e28d261991bfad9617c27beda4a3aec4f217ea073 numpy-2.2.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
abe38cd8381245a7f49967a6010e77dbf3680bd3627c0fe4362dd693b404c7f8 numpy-2.2.5-cp312-cp312-musllinux_1_2_aarch64.whl
5a0ac90e46fdb5649ab6369d1ab6104bfe5854ab19b645bf5cda0127a13034ae numpy-2.2.5-cp312-cp312-musllinux_1_2_x86_64.whl
0cd48122a6b7eab8f06404805b1bd5856200e3ed6f8a1b9a194f9d9054631beb numpy-2.2.5-cp312-cp312-win32.whl
ced69262a8278547e63409b2653b372bf4baff0870c57efa76c5703fd6543282 numpy-2.2.5-cp312-cp312-win_amd64.whl
059b51b658f4414fff78c6d7b1b4e18283ab5fa56d270ff212d5ba0c561846f4 numpy-2.2.5-cp313-cp313-macosx_10_13_x86_64.whl
47f9ed103af0bc63182609044b0490747e03bd20a67e391192dde119bf43d52f numpy-2.2.5-cp313-cp313-macosx_11_0_arm64.whl
261a1ef047751bb02f29dfe337230b5882b54521ca121fc7f62668133cb119c9 numpy-2.2.5-cp313-cp313-macosx_14_0_arm64.whl
4520caa3807c1ceb005d125a75e715567806fed67e315cea619d5ec6e75a4191 numpy-2.2.5-cp313-cp313-macosx_14_0_x86_64.whl
3d14b17b9be5f9c9301f43d2e2a4886a33b53f4e6fdf9ca2f4cc60aeeee76372 numpy-2.2.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2ba321813a00e508d5421104464510cc962a6f791aa2fca1c97b1e65027da80d numpy-2.2.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a4cbdef3ddf777423060c6f81b5694bad2dc9675f110c4b2a60dc0181543fac7 numpy-2.2.5-cp313-cp313-musllinux_1_2_aarch64.whl
54088a5a147ab71a8e7fdfd8c3601972751ded0739c6b696ad9cb0343e21ab73 numpy-2.2.5-cp313-cp313-musllinux_1_2_x86_64.whl
c8b82a55ef86a2d8e81b63da85e55f5537d2157165be1cb2ce7cfa57b6aef38b numpy-2.2.5-cp313-cp313-win32.whl
d8882a829fd779f0f43998e931c466802a77ca1ee0fe25a3abe50278616b1471 numpy-2.2.5-cp313-cp313-win_amd64.whl
e8b025c351b9f0e8b5436cf28a07fa4ac0204d67b38f01433ac7f9b870fa38c6 numpy-2.2.5-cp313-cp313t-macosx_10_13_x86_64.whl
8dfa94b6a4374e7851bbb6f35e6ded2120b752b063e6acdd3157e4d2bb922eba numpy-2.2.5-cp313-cp313t-macosx_11_0_arm64.whl
97c8425d4e26437e65e1d189d22dff4a079b747ff9c2788057bfb8114ce1e133 numpy-2.2.5-cp313-cp313t-macosx_14_0_arm64.whl
352d330048c055ea6db701130abc48a21bec690a8d38f8284e00fab256dc1376 numpy-2.2.5-cp313-cp313t-macosx_14_0_x86_64.whl
8b4c0773b6ada798f51f0f8e30c054d32304ccc6e9c5d93d46cb26f3d385ab19 numpy-2.2.5-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
55f09e00d4dccd76b179c0f18a44f041e5332fd0e022886ba1c0bbf3ea4a18d0 numpy-2.2.5-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
02f226baeefa68f7d579e213d0f3493496397d8f1cff5e2b222af274c86a552a numpy-2.2.5-cp313-cp313t-musllinux_1_2_aarch64.whl
c26843fd58f65da9491165072da2cccc372530681de481ef670dcc8e27cfb066 numpy-2.2.5-cp313-cp313t-musllinux_1_2_x86_64.whl
1a161c2c79ab30fe4501d5a2bbfe8b162490757cf90b7f05be8b80bc02f7bb8e numpy-2.2.5-cp313-cp313t-win32.whl
d403c84991b5ad291d3809bace5e85f4bbf44a04bdc9a88ed2bb1807b3360bb8 numpy-2.2.5-cp313-cp313t-win_amd64.whl
b4ea7e1cff6784e58fe281ce7e7f05036b3e1c89c6f922a6bfbc0a7e8768adbe numpy-2.2.5-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
d7543263084a85fbc09c704b515395398d31d6395518446237eac219eab9e55e numpy-2.2.5-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
0255732338c4fdd00996c0421884ea8a3651eea555c3a56b84892b66f696eb70 numpy-2.2.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d2e3bdadaba0e040d1e7ab39db73e0afe2c74ae277f5614dad53eadbecbbb169 numpy-2.2.5-pp310-pypy310_pp73-win_amd64.whl
a9c0d994680cd991b1cb772e8b297340085466a6fe964bc9d4e80f5e2f43c291 numpy-2.2.5.tar.gz
- Python
Published by charris about 1 year ago
numpy - 2.2.4 (Mar 16, 2025)
NumPy 2.2.4 Release Notes
NumPy 2.2.4 is a patch release that fixes bugs found after the 2.2.3 release. There are a large number of typing improvements, the rest of the changes are the usual mix of bugfixes and platform maintenace.
This release supports Python versions 3.10-3.13.
Contributors
A total of 15 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Abhishek Kumar
- Andrej Zhilenkov
- Andrew Nelson
- Charles Harris
- Giovanni Del Monte
- Guan Ming(Wesley) Chiu +
- Jonathan Albrecht +
- Joren Hammudoglu
- Mark Harfouche
- Matthieu Darbois
- Nathan Goldbaum
- Pieter Eendebak
- Sebastian Berg
- Tyler Reddy
- lvllvl +
Pull requests merged
A total of 17 pull requests were merged for this release.
- #28333: MAINT: Prepare 2.2.x for further development.
- #28348: TYP: fix positional- and keyword-only params in astype, cross...
- #28377: MAINT: Update FreeBSD version and fix test failure
- #28379: BUG: numpy.loadtxt reads only 50000 lines when skiprows >= maxrows
- #28385: BUG: Make np.nonzero threading safe
- #28420: BUG: safer bincount casting (backport to 2.2.x)
- #28422: BUG: Fix building on s390x with clang
- #28423: CI: use QEMU 9.2.2 for Linux Qemu tests
- #28424: BUG: skip legacy dtype multithreaded test on 32 bit runners
- #28435: BUG: Fix searchsorted and CheckFromAny byte-swapping logic
- #28449: BUG: sanity check
__array_interface__number of dimensions - #28510: MAINT: Hide decorator from pytest traceback
- #28512: TYP: Typing fixes backported from #28452, #28491, #28494
- #28521: TYP: Backport fixes from #28505, #28506, #28508, and #28511
- #28533: TYP: Backport typing fixes from main (2)
- #28534: TYP: Backport typing fixes from main (3)
- #28542: TYP: Backport typing fixes from main (4)
Checksums
MD5
935928cbd2de140da097f6d5f4a01d72 numpy-2.2.4-cp310-cp310-macosx_10_9_x86_64.whl
bf7fd01bb177885e920173b610c195d9 numpy-2.2.4-cp310-cp310-macosx_11_0_arm64.whl
826e52cd898567a0c446113ab7a7b362 numpy-2.2.4-cp310-cp310-macosx_14_0_arm64.whl
9982a91d7327aea541c24aff94d3e462 numpy-2.2.4-cp310-cp310-macosx_14_0_x86_64.whl
5bdf5b63f4ee01fa808d13043b2a2275 numpy-2.2.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
677b3031105e24eaee2e0e57d7c2a306 numpy-2.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d857867787fe1eb236670e7fdb25f414 numpy-2.2.4-cp310-cp310-musllinux_1_2_aarch64.whl
a5aff3a7eb2923878e67fbe1cd04a9e9 numpy-2.2.4-cp310-cp310-musllinux_1_2_x86_64.whl
e00bd3ac85d8f34b46b7f97a8278aeb3 numpy-2.2.4-cp310-cp310-win32.whl
e5cb2a5d14bccee316bb73173be125ec numpy-2.2.4-cp310-cp310-win_amd64.whl
494f60d8e1c3500413bd093bb3f486ea numpy-2.2.4-cp311-cp311-macosx_10_9_x86_64.whl
a886a9f3e80a60ce6ba95b431578bbca numpy-2.2.4-cp311-cp311-macosx_11_0_arm64.whl
889f3b507bab9272d9b549780840a642 numpy-2.2.4-cp311-cp311-macosx_14_0_arm64.whl
059788668d2c4e9aace4858e77c099ed numpy-2.2.4-cp311-cp311-macosx_14_0_x86_64.whl
db9ae978afb76a4bf79df0657a66aaeb numpy-2.2.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e36963a4c177157dc7b0775c309fa5a8 numpy-2.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3603e683878b74f38e5617f04ff6a369 numpy-2.2.4-cp311-cp311-musllinux_1_2_aarch64.whl
afbc410fb9b42b19f4f7c81c21d6777f numpy-2.2.4-cp311-cp311-musllinux_1_2_x86_64.whl
33ff8081378188894097942f80c33e26 numpy-2.2.4-cp311-cp311-win32.whl
5b11fe8d26318d85e0bc577a654f6643 numpy-2.2.4-cp311-cp311-win_amd64.whl
91121787f396d3e98210de8b617e5d48 numpy-2.2.4-cp312-cp312-macosx_10_13_x86_64.whl
c524d1020b4652aacf4477d1628fa1ba numpy-2.2.4-cp312-cp312-macosx_11_0_arm64.whl
eb08f551bdd6772155bb39ac0da47479 numpy-2.2.4-cp312-cp312-macosx_14_0_arm64.whl
7cb37fc9145d0ebbea5666b4f9ed1027 numpy-2.2.4-cp312-cp312-macosx_14_0_x86_64.whl
c4452a5dc557c291904b5c51a4148237 numpy-2.2.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bd23a12ead870759f264160ab38b2c9d numpy-2.2.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
07b44109381985b48d1eef80feebc5ad numpy-2.2.4-cp312-cp312-musllinux_1_2_aarch64.whl
95f1a27d33106fa9f40ee0714681c840 numpy-2.2.4-cp312-cp312-musllinux_1_2_x86_64.whl
507e550a55b19dedf267b58a487ba0bc numpy-2.2.4-cp312-cp312-win32.whl
be21ccbf8931e92ba1fdb2dc1250bf2a numpy-2.2.4-cp312-cp312-win_amd64.whl
e94003c2b65d81b00203711c5c42fb8e numpy-2.2.4-cp313-cp313-macosx_10_13_x86_64.whl
cf781fd5412ffd826e0436883452cc17 numpy-2.2.4-cp313-cp313-macosx_11_0_arm64.whl
92c9a30386a64f2deddad1db742bd296 numpy-2.2.4-cp313-cp313-macosx_14_0_arm64.whl
7fd16554fa0a15b7f99b1fabf1c4592c numpy-2.2.4-cp313-cp313-macosx_14_0_x86_64.whl
9293b0575a902b2d55c35567dee7679e numpy-2.2.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9970699bd95e8a64a562b1e6328b83d0 numpy-2.2.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e8597c611a919a8e88229d6889c1f86e numpy-2.2.4-cp313-cp313-musllinux_1_2_aarch64.whl
329288501f012606605bdbed368e58e9 numpy-2.2.4-cp313-cp313-musllinux_1_2_x86_64.whl
04bf8d0f6a9e279ab01df4ed0b4aeee1 numpy-2.2.4-cp313-cp313-win32.whl
66801fe84a436b7ed3be6e0082b86917 numpy-2.2.4-cp313-cp313-win_amd64.whl
3e2f31e01b45cd16a87b794477de3714 numpy-2.2.4-cp313-cp313t-macosx_10_13_x86_64.whl
7504018213a3a8fea7173e2c1d0fcfd1 numpy-2.2.4-cp313-cp313t-macosx_11_0_arm64.whl
e299021397c3cdb941b7ffe77cf0fefe numpy-2.2.4-cp313-cp313t-macosx_14_0_arm64.whl
1cc2731a246079bcab361179f38e7ccb numpy-2.2.4-cp313-cp313t-macosx_14_0_x86_64.whl
e6eccf936d25c9eda9df1a4d50ae2fdc numpy-2.2.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ba825efd05cca6d56c3dca9f7f1f88e7 numpy-2.2.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
369eebec47c9c27cb4841a13e9522167 numpy-2.2.4-cp313-cp313t-musllinux_1_2_aarch64.whl
554dbfa52988d01f715cbe8d4da4b409 numpy-2.2.4-cp313-cp313t-musllinux_1_2_x86_64.whl
811d25a008c68086c9382487e9a4127a numpy-2.2.4-cp313-cp313t-win32.whl
893fd2fdd42f386e300bee885bbb7778 numpy-2.2.4-cp313-cp313t-win_amd64.whl
65e284546c5ee575eca0a3726c0a1d98 numpy-2.2.4-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
e4e73511eac8f1a10c6abbd6fa2fa0aa numpy-2.2.4-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
a884ed5263b91fa87b5e3d14caf955a5 numpy-2.2.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7330087a6ad1527ae20a495e2fb3b357 numpy-2.2.4-pp310-pypy310_pp73-win_amd64.whl
56232f4a69b03dd7a87a55fffc5f2ebc numpy-2.2.4.tar.gz
SHA256
8146f3550d627252269ac42ae660281d673eb6f8b32f113538e0cc2a9aed42b9 numpy-2.2.4-cp310-cp310-macosx_10_9_x86_64.whl
e642d86b8f956098b564a45e6f6ce68a22c2c97a04f5acd3f221f57b8cb850ae numpy-2.2.4-cp310-cp310-macosx_11_0_arm64.whl
a84eda42bd12edc36eb5b53bbcc9b406820d3353f1994b6cfe453a33ff101775 numpy-2.2.4-cp310-cp310-macosx_14_0_arm64.whl
4ba5054787e89c59c593a4169830ab362ac2bee8a969249dc56e5d7d20ff8df9 numpy-2.2.4-cp310-cp310-macosx_14_0_x86_64.whl
7716e4a9b7af82c06a2543c53ca476fa0b57e4d760481273e09da04b74ee6ee2 numpy-2.2.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
adf8c1d66f432ce577d0197dceaac2ac00c0759f573f28516246351c58a85020 numpy-2.2.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
218f061d2faa73621fa23d6359442b0fc658d5b9a70801373625d958259eaca3 numpy-2.2.4-cp310-cp310-musllinux_1_2_aarch64.whl
df2f57871a96bbc1b69733cd4c51dc33bea66146b8c63cacbfed73eec0883017 numpy-2.2.4-cp310-cp310-musllinux_1_2_x86_64.whl
a0258ad1f44f138b791327961caedffbf9612bfa504ab9597157806faa95194a numpy-2.2.4-cp310-cp310-win32.whl
0d54974f9cf14acf49c60f0f7f4084b6579d24d439453d5fc5805d46a165b542 numpy-2.2.4-cp310-cp310-win_amd64.whl
e9e0a277bb2eb5d8a7407e14688b85fd8ad628ee4e0c7930415687b6564207a4 numpy-2.2.4-cp311-cp311-macosx_10_9_x86_64.whl
9eeea959168ea555e556b8188da5fa7831e21d91ce031e95ce23747b7609f8a4 numpy-2.2.4-cp311-cp311-macosx_11_0_arm64.whl
bd3ad3b0a40e713fc68f99ecfd07124195333f1e689387c180813f0e94309d6f numpy-2.2.4-cp311-cp311-macosx_14_0_arm64.whl
cf28633d64294969c019c6df4ff37f5698e8326db68cc2b66576a51fad634880 numpy-2.2.4-cp311-cp311-macosx_14_0_x86_64.whl
2fa8fa7697ad1646b5c93de1719965844e004fcad23c91228aca1cf0800044a1 numpy-2.2.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f4162988a360a29af158aeb4a2f4f09ffed6a969c9776f8f3bdee9b06a8ab7e5 numpy-2.2.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
892c10d6a73e0f14935c31229e03325a7b3093fafd6ce0af704be7f894d95687 numpy-2.2.4-cp311-cp311-musllinux_1_2_aarch64.whl
db1f1c22173ac1c58db249ae48aa7ead29f534b9a948bc56828337aa84a32ed6 numpy-2.2.4-cp311-cp311-musllinux_1_2_x86_64.whl
ea2bb7e2ae9e37d96835b3576a4fa4b3a97592fbea8ef7c3587078b0068b8f09 numpy-2.2.4-cp311-cp311-win32.whl
f7de08cbe5551911886d1ab60de58448c6df0f67d9feb7d1fb21e9875ef95e91 numpy-2.2.4-cp311-cp311-win_amd64.whl
a7b9084668aa0f64e64bd00d27ba5146ef1c3a8835f3bd912e7a9e01326804c4 numpy-2.2.4-cp312-cp312-macosx_10_13_x86_64.whl
dbe512c511956b893d2dacd007d955a3f03d555ae05cfa3ff1c1ff6df8851854 numpy-2.2.4-cp312-cp312-macosx_11_0_arm64.whl
bb649f8b207ab07caebba230d851b579a3c8711a851d29efe15008e31bb4de24 numpy-2.2.4-cp312-cp312-macosx_14_0_arm64.whl
f34dc300df798742b3d06515aa2a0aee20941c13579d7a2f2e10af01ae4901ee numpy-2.2.4-cp312-cp312-macosx_14_0_x86_64.whl
c3f7ac96b16955634e223b579a3e5798df59007ca43e8d451a0e6a50f6bfdfba numpy-2.2.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4f92084defa704deadd4e0a5ab1dc52d8ac9e8a8ef617f3fbb853e79b0ea3592 numpy-2.2.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7a4e84a6283b36632e2a5b56e121961f6542ab886bc9e12f8f9818b3c266bfbb numpy-2.2.4-cp312-cp312-musllinux_1_2_aarch64.whl
11c43995255eb4127115956495f43e9343736edb7fcdb0d973defd9de14cd84f numpy-2.2.4-cp312-cp312-musllinux_1_2_x86_64.whl
65ef3468b53269eb5fdb3a5c09508c032b793da03251d5f8722b1194f1790c00 numpy-2.2.4-cp312-cp312-win32.whl
2aad3c17ed2ff455b8eaafe06bcdae0062a1db77cb99f4b9cbb5f4ecb13c5146 numpy-2.2.4-cp312-cp312-win_amd64.whl
1cf4e5c6a278d620dee9ddeb487dc6a860f9b199eadeecc567f777daace1e9e7 numpy-2.2.4-cp313-cp313-macosx_10_13_x86_64.whl
1974afec0b479e50438fc3648974268f972e2d908ddb6d7fb634598cdb8260a0 numpy-2.2.4-cp313-cp313-macosx_11_0_arm64.whl
79bd5f0a02aa16808fcbc79a9a376a147cc1045f7dfe44c6e7d53fa8b8a79392 numpy-2.2.4-cp313-cp313-macosx_14_0_arm64.whl
3387dd7232804b341165cedcb90694565a6015433ee076c6754775e85d86f1fc numpy-2.2.4-cp313-cp313-macosx_14_0_x86_64.whl
6f527d8fdb0286fd2fd97a2a96c6be17ba4232da346931d967a0630050dfd298 numpy-2.2.4-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bce43e386c16898b91e162e5baaad90c4b06f9dcbe36282490032cec98dc8ae7 numpy-2.2.4-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
31504f970f563d99f71a3512d0c01a645b692b12a63630d6aafa0939e52361e6 numpy-2.2.4-cp313-cp313-musllinux_1_2_aarch64.whl
81413336ef121a6ba746892fad881a83351ee3e1e4011f52e97fba79233611fd numpy-2.2.4-cp313-cp313-musllinux_1_2_x86_64.whl
f486038e44caa08dbd97275a9a35a283a8f1d2f0ee60ac260a1790e76660833c numpy-2.2.4-cp313-cp313-win32.whl
207a2b8441cc8b6a2a78c9ddc64d00d20c303d79fba08c577752f080c4007ee3 numpy-2.2.4-cp313-cp313-win_amd64.whl
8120575cb4882318c791f839a4fd66161a6fa46f3f0a5e613071aae35b5dd8f8 numpy-2.2.4-cp313-cp313t-macosx_10_13_x86_64.whl
a761ba0fa886a7bb33c6c8f6f20213735cb19642c580a931c625ee377ee8bd39 numpy-2.2.4-cp313-cp313t-macosx_11_0_arm64.whl
ac0280f1ba4a4bfff363a99a6aceed4f8e123f8a9b234c89140f5e894e452ecd numpy-2.2.4-cp313-cp313t-macosx_14_0_arm64.whl
879cf3a9a2b53a4672a168c21375166171bc3932b7e21f622201811c43cdd3b0 numpy-2.2.4-cp313-cp313t-macosx_14_0_x86_64.whl
f05d4198c1bacc9124018109c5fba2f3201dbe7ab6e92ff100494f236209c960 numpy-2.2.4-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e2f085ce2e813a50dfd0e01fbfc0c12bbe5d2063d99f8b29da30e544fb6483b8 numpy-2.2.4-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
92bda934a791c01d6d9d8e038363c50918ef7c40601552a58ac84c9613a665bc numpy-2.2.4-cp313-cp313t-musllinux_1_2_aarch64.whl
ee4d528022f4c5ff67332469e10efe06a267e32f4067dc76bb7e2cddf3cd25ff numpy-2.2.4-cp313-cp313t-musllinux_1_2_x86_64.whl
05c076d531e9998e7e694c36e8b349969c56eadd2cdcd07242958489d79a7286 numpy-2.2.4-cp313-cp313t-win32.whl
188dcbca89834cc2e14eb2f106c96d6d46f200fe0200310fc29089657379c58d numpy-2.2.4-cp313-cp313t-win_amd64.whl
7051ee569db5fbac144335e0f3b9c2337e0c8d5c9fee015f259a5bd70772b7e8 numpy-2.2.4-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
ab2939cd5bec30a7430cbdb2287b63151b77cf9624de0532d629c9a1c59b1d5c numpy-2.2.4-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
d0f35b19894a9e08639fd60a1ec1978cb7f5f7f1eace62f38dd36be8aecdef4d numpy-2.2.4-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b4adfbbc64014976d2f91084915ca4e626fbf2057fb81af209c1a6d776d23e3d numpy-2.2.4-pp310-pypy310_pp73-win_amd64.whl
9ba03692a45d3eef66559efe1d1096c4b9b75c0986b5dff5530c378fb8331d4f numpy-2.2.4.tar.gz
- Python
Published by charris about 1 year ago
numpy - 2.2.3 (Feb 13, 2025)
NumPy 2.2.3 Release Notes
NumPy 2.2.3 is a patch release that fixes bugs found after the 2.2.2 release. The majority of the changes are typing improvements and fixes for free threaded Python. Both of those areas are still under development, so if you discover new problems, please report them.
This release supports Python versions 3.10-3.13.
Contributors
A total of 9 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- !amotzop
- Charles Harris
- Chris Sidebottom
- Joren Hammudoglu
- Matthew Brett
- Nathan Goldbaum
- Raghuveer Devulapalli
- Sebastian Berg
- Yakov Danishevsky +
Pull requests merged
A total of 21 pull requests were merged for this release.
- #28185: MAINT: Prepare 2.2.x for further development
- #28201: BUG: fix data race in a more minimal way on stable branch
- #28208: BUG: Fix
from_float_positionalerrors for huge pads - #28209: BUG: fix data race in np.repeat
- #28212: MAINT: Use VQSORTCOMPILERCOMPATIBLE to determine if we should...
- #28224: MAINT: update highway to latest
- #28236: BUG: Add cpp atomic support (#28234)
- #28237: BLD: Compile fix for clang-cl on WoA
- #28243: TYP: Avoid upcasting
float64in the set-ops - #28249: BLD: better fix for clang / ARM compiles
- #28266: TYP: Fix
timedelta64.__divmod__andtimedelta64.__mod__... - #28274: TYP: Fixed missing typing information of set_printoptions
- #28278: BUG: backport resource cleanup bugfix from gh-28273
- #28282: BUG: fix incorrect bytes to stringdtype coercion
- #28283: TYP: Fix scalar constructors
- #28284: TYP: stub
numpy.matlib - #28285: TYP: stub the missing
numpy.testingmodules - #28286: CI: Fix the github label for
TYP:PR\'s and issues - #28305: TYP: Backport typing updates from main
- #28321: BUG: fix race initializing legacy dtype casts
- #28324: CI: update testmoderatelysmall_alpha
Checksums
MD5
9cd8b5e358f89016f403a6c1a27e7e87 numpy-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl
2818f5a9efcfc3bb6bf657137df26046 numpy-2.2.3-cp310-cp310-macosx_11_0_arm64.whl
6d65c6a336cfb69fe4ddd756cad73d55 numpy-2.2.3-cp310-cp310-macosx_14_0_arm64.whl
7f4cf33c634b33f633d4bf47f560a86d numpy-2.2.3-cp310-cp310-macosx_14_0_x86_64.whl
3c04024badd42bfcc68c14f106efa93f numpy-2.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
07658df1de0e1d3721de0aacff4313cd numpy-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3e753fc4b7c879b29442ee9bab25eddd numpy-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl
d1811f1988d88b00825bc6e943d8e22d numpy-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl
b5fe91363c16001ea30cbd5befbb0555 numpy-2.2.3-cp310-cp310-win32.whl
44dfe1df1640e4fe762bedad57cd7165 numpy-2.2.3-cp310-cp310-win_amd64.whl
6156418f596620b00a3c221baef02476 numpy-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl
97b925bac245aad1297d22ad3cfaa74c numpy-2.2.3-cp311-cp311-macosx_11_0_arm64.whl
3f05819fcb71df1d3093e5d1c041a4e9 numpy-2.2.3-cp311-cp311-macosx_14_0_arm64.whl
f6763893ba9a5739fefa0929fd152db2 numpy-2.2.3-cp311-cp311-macosx_14_0_x86_64.whl
e93cf6ed4e1a3f9a8009ee7f2fcb0da8 numpy-2.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
851dcbcbe90212c385dcdac1614cca83 numpy-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9b27cf1d6319f70370f4b0af10c03f5c numpy-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl
28d20c95ff23d27ae639b4960df777ec numpy-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl
559fefe30c0043a088adeca90231b382 numpy-2.2.3-cp311-cp311-win32.whl
5e32a1cc3dcfe729f675784a53e4d553 numpy-2.2.3-cp311-cp311-win_amd64.whl
12134dcf62b2bca2eeebb7bbc45c2a71 numpy-2.2.3-cp312-cp312-macosx_10_13_x86_64.whl
c72318236531d3ca61d229eaf96f7d04 numpy-2.2.3-cp312-cp312-macosx_11_0_arm64.whl
1b807acc844c2ba5be7bc7586d4a3a6b numpy-2.2.3-cp312-cp312-macosx_14_0_arm64.whl
810d4908371bb2f08b0c7b16d3f05970 numpy-2.2.3-cp312-cp312-macosx_14_0_x86_64.whl
bb918cedd0931cb68af9e77096dedf54 numpy-2.2.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
92c6c6c5b22b207425b329f061bd18fa numpy-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
10d48fb9d86280db1afe7224b15a51af numpy-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl
a73da0434a971b21d8a9c0596015d629 numpy-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl
c5f1e734c7d872e2f9af71d32e62d59c numpy-2.2.3-cp312-cp312-win32.whl
884c1a89844f539ab15b7016a43d231c numpy-2.2.3-cp312-cp312-win_amd64.whl
3a2de7f886cb756cf8d0375a36721926 numpy-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl
c1fe5b6a9015c2877647419caa009be0 numpy-2.2.3-cp313-cp313-macosx_11_0_arm64.whl
bb3f3a69219bbcdb719bbe38e4e69f79 numpy-2.2.3-cp313-cp313-macosx_14_0_arm64.whl
8158c2e980a1cbfb4d98ff3a273bb2e9 numpy-2.2.3-cp313-cp313-macosx_14_0_x86_64.whl
4d3d9b0c14db955e4b1aa1a1971d2def numpy-2.2.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6575308269513900c94803258b89ac83 numpy-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
945b91c2093fed2a1f34597fc66e5a35 numpy-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl
c5867508607f75ed23426315a7ad86d7 numpy-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl
5a1497c262d9aa52ce6859a12a54ebbc numpy-2.2.3-cp313-cp313-win32.whl
69c98e036d59eb74e4620c7649b5d7fc numpy-2.2.3-cp313-cp313-win_amd64.whl
2535d7c0f98ad848bcf1f48f7c358e41 numpy-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl
aea9afa69d510ce905b2b8dbf0e33a11 numpy-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl
cc5aceacd0a44a67cdd2cf8d5a446ca3 numpy-2.2.3-cp313-cp313t-macosx_14_0_arm64.whl
32eb2ed1e734ea26c90f75b1f5616564 numpy-2.2.3-cp313-cp313t-macosx_14_0_x86_64.whl
f1d85f322c3e85ef748c3e5594b94226 numpy-2.2.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7f24ce01ad5c352c76614a12fa5e2319 numpy-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
62841d4b49c5a0cef2c2ba26a16f6959 numpy-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl
d7b512f83999d05c47e55b931f2dcdfe numpy-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl
1dca2f20e0accc1741e5fb233ecf7dff numpy-2.2.3-cp313-cp313t-win32.whl
347b71f0db5b49a25ef1ed677e47999b numpy-2.2.3-cp313-cp313t-win_amd64.whl
3615d13c8c14c323aeda1c07d5a7fd55 numpy-2.2.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
f7d2ba950c5aa11c100bb6bf202d5799 numpy-2.2.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
b4336174c843c4943084e17945cd1165 numpy-2.2.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0d856a89e028c393f8125739c56591e0 numpy-2.2.3-pp310-pypy310_pp73-win_amd64.whl
c6ee254bcdf1e2fdb13d87e0ee4166ba numpy-2.2.3.tar.gz
SHA256
cbc6472e01952d3d1b2772b720428f8b90e2deea8344e854df22b0618e9cce71 numpy-2.2.3-cp310-cp310-macosx_10_9_x86_64.whl
cdfe0c22692a30cd830c0755746473ae66c4a8f2e7bd508b35fb3b6a0813d787 numpy-2.2.3-cp310-cp310-macosx_11_0_arm64.whl
e37242f5324ffd9f7ba5acf96d774f9276aa62a966c0bad8dae692deebec7716 numpy-2.2.3-cp310-cp310-macosx_14_0_arm64.whl
95172a21038c9b423e68be78fd0be6e1b97674cde269b76fe269a5dfa6fadf0b numpy-2.2.3-cp310-cp310-macosx_14_0_x86_64.whl
d5b47c440210c5d1d67e1cf434124e0b5c395eee1f5806fdd89b553ed1acd0a3 numpy-2.2.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0391ea3622f5c51a2e29708877d56e3d276827ac5447d7f45e9bc4ade8923c52 numpy-2.2.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f6b3dfc7661f8842babd8ea07e9897fe3d9b69a1d7e5fbb743e4160f9387833b numpy-2.2.3-cp310-cp310-musllinux_1_2_aarch64.whl
1ad78ce7f18ce4e7df1b2ea4019b5817a2f6a8a16e34ff2775f646adce0a5027 numpy-2.2.3-cp310-cp310-musllinux_1_2_x86_64.whl
5ebeb7ef54a7be11044c33a17b2624abe4307a75893c001a4800857956b41094 numpy-2.2.3-cp310-cp310-win32.whl
596140185c7fa113563c67c2e894eabe0daea18cf8e33851738c19f70ce86aeb numpy-2.2.3-cp310-cp310-win_amd64.whl
16372619ee728ed67a2a606a614f56d3eabc5b86f8b615c79d01957062826ca8 numpy-2.2.3-cp311-cp311-macosx_10_9_x86_64.whl
5521a06a3148686d9269c53b09f7d399a5725c47bbb5b35747e1cb76326b714b numpy-2.2.3-cp311-cp311-macosx_11_0_arm64.whl
7c8dde0ca2f77828815fd1aedfdf52e59071a5bae30dac3b4da2a335c672149a numpy-2.2.3-cp311-cp311-macosx_14_0_arm64.whl
77974aba6c1bc26e3c205c2214f0d5b4305bdc719268b93e768ddb17e3fdd636 numpy-2.2.3-cp311-cp311-macosx_14_0_x86_64.whl
d42f9c36d06440e34226e8bd65ff065ca0963aeecada587b937011efa02cdc9d numpy-2.2.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f2712c5179f40af9ddc8f6727f2bd910ea0eb50206daea75f58ddd9fa3f715bb numpy-2.2.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c8b0451d2ec95010d1db8ca733afc41f659f425b7f608af569711097fd6014e2 numpy-2.2.3-cp311-cp311-musllinux_1_2_aarch64.whl
d9b4a8148c57ecac25a16b0e11798cbe88edf5237b0df99973687dd866f05e1b numpy-2.2.3-cp311-cp311-musllinux_1_2_x86_64.whl
1f45315b2dc58d8a3e7754fe4e38b6fce132dab284a92851e41b2b344f6441c5 numpy-2.2.3-cp311-cp311-win32.whl
9f48ba6f6c13e5e49f3d3efb1b51c8193215c42ac82610a04624906a9270be6f numpy-2.2.3-cp311-cp311-win_amd64.whl
12c045f43b1d2915eca6b880a7f4a256f59d62df4f044788c8ba67709412128d numpy-2.2.3-cp312-cp312-macosx_10_13_x86_64.whl
87eed225fd415bbae787f93a457af7f5990b92a334e346f72070bf569b9c9c95 numpy-2.2.3-cp312-cp312-macosx_11_0_arm64.whl
712a64103d97c404e87d4d7c47fb0c7ff9acccc625ca2002848e0d53288b90ea numpy-2.2.3-cp312-cp312-macosx_14_0_arm64.whl
a5ae282abe60a2db0fd407072aff4599c279bcd6e9a2475500fc35b00a57c532 numpy-2.2.3-cp312-cp312-macosx_14_0_x86_64.whl
5266de33d4c3420973cf9ae3b98b54a2a6d53a559310e3236c4b2b06b9c07d4e numpy-2.2.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3b787adbf04b0db1967798dba8da1af07e387908ed1553a0d6e74c084d1ceafe numpy-2.2.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
34c1b7e83f94f3b564b35f480f5652a47007dd91f7c839f404d03279cc8dd021 numpy-2.2.3-cp312-cp312-musllinux_1_2_aarch64.whl
4d8335b5f1b6e2bce120d55fb17064b0262ff29b459e8493d1785c18ae2553b8 numpy-2.2.3-cp312-cp312-musllinux_1_2_x86_64.whl
4d9828d25fb246bedd31e04c9e75714a4087211ac348cb39c8c5f99dbb6683fe numpy-2.2.3-cp312-cp312-win32.whl
83807d445817326b4bcdaaaf8e8e9f1753da04341eceec705c001ff342002e5d numpy-2.2.3-cp312-cp312-win_amd64.whl
7bfdb06b395385ea9b91bf55c1adf1b297c9fdb531552845ff1d3ea6e40d5aba numpy-2.2.3-cp313-cp313-macosx_10_13_x86_64.whl
23c9f4edbf4c065fddb10a4f6e8b6a244342d95966a48820c614891e5059bb50 numpy-2.2.3-cp313-cp313-macosx_11_0_arm64.whl
a0c03b6be48aaf92525cccf393265e02773be8fd9551a2f9adbe7db1fa2b60f1 numpy-2.2.3-cp313-cp313-macosx_14_0_arm64.whl
2376e317111daa0a6739e50f7ee2a6353f768489102308b0d98fcf4a04f7f3b5 numpy-2.2.3-cp313-cp313-macosx_14_0_x86_64.whl
8fb62fe3d206d72fe1cfe31c4a1106ad2b136fcc1606093aeab314f02930fdf2 numpy-2.2.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
52659ad2534427dffcc36aac76bebdd02b67e3b7a619ac67543bc9bfe6b7cdb1 numpy-2.2.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1b416af7d0ed3271cad0f0a0d0bee0911ed7eba23e66f8424d9f3dfcdcae1304 numpy-2.2.3-cp313-cp313-musllinux_1_2_aarch64.whl
1402da8e0f435991983d0a9708b779f95a8c98c6b18a171b9f1be09005e64d9d numpy-2.2.3-cp313-cp313-musllinux_1_2_x86_64.whl
136553f123ee2951bfcfbc264acd34a2fc2f29d7cdf610ce7daf672b6fbaa693 numpy-2.2.3-cp313-cp313-win32.whl
5b732c8beef1d7bc2d9e476dbba20aaff6167bf205ad9aa8d30913859e82884b numpy-2.2.3-cp313-cp313-win_amd64.whl
435e7a933b9fda8126130b046975a968cc2d833b505475e588339e09f7672890 numpy-2.2.3-cp313-cp313t-macosx_10_13_x86_64.whl
7678556eeb0152cbd1522b684dcd215250885993dd00adb93679ec3c0e6e091c numpy-2.2.3-cp313-cp313t-macosx_11_0_arm64.whl
2e8da03bd561504d9b20e7a12340870dfc206c64ea59b4cfee9fceb95070ee94 numpy-2.2.3-cp313-cp313t-macosx_14_0_arm64.whl
c9aa4496fd0e17e3843399f533d62857cef5900facf93e735ef65aa4bbc90ef0 numpy-2.2.3-cp313-cp313t-macosx_14_0_x86_64.whl
f4ca91d61a4bf61b0f2228f24bbfa6a9facd5f8af03759fe2a655c50ae2c6610 numpy-2.2.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
deaa09cd492e24fd9b15296844c0ad1b3c976da7907e1c1ed3a0ad21dded6f76 numpy-2.2.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
246535e2f7496b7ac85deffe932896a3577be7af8fb7eebe7146444680297e9a numpy-2.2.3-cp313-cp313t-musllinux_1_2_aarch64.whl
daf43a3d1ea699402c5a850e5313680ac355b4adc9770cd5cfc2940e7861f1bf numpy-2.2.3-cp313-cp313t-musllinux_1_2_x86_64.whl
cf802eef1f0134afb81fef94020351be4fe1d6681aadf9c5e862af6602af64ef numpy-2.2.3-cp313-cp313t-win32.whl
aee2512827ceb6d7f517c8b85aa5d3923afe8fc7a57d028cffcd522f1c6fd082 numpy-2.2.3-cp313-cp313t-win_amd64.whl
3c2ec8a0f51d60f1e9c0c5ab116b7fc104b165ada3f6c58abf881cb2eb16044d numpy-2.2.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
ed2cf9ed4e8ebc3b754d398cba12f24359f018b416c380f577bbae112ca52fc9 numpy-2.2.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
39261798d208c3095ae4f7bc8eaeb3481ea8c6e03dc48028057d3cbdbdb8937e numpy-2.2.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
783145835458e60fa97afac25d511d00a1eca94d4a8f3ace9fe2043003c678e4 numpy-2.2.3-pp310-pypy310_pp73-win_amd64.whl
dbdc15f0c81611925f382dfa97b3bd0bc2c1ce19d4fe50482cb0ddc12ba30020 numpy-2.2.3.tar.gz
- Python
Published by charris over 1 year ago
numpy - 2.2.2 (Jan 18, 2025)
NumPy 2.2.2 Release Notes
NumPy 2.2.2 is a patch release that fixes bugs found after the 2.2.1 release. The number of typing fixes/updates is notable. This release supports Python versions 3.10-3.13.
Contributors
A total of 8 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Alicia Boya García +
- Charles Harris
- Joren Hammudoglu
- Kai Germaschewski +
- Nathan Goldbaum
- PTUsumit +
- Rohit Goswami
- Sebastian Berg
Pull requests merged
A total of 16 pull requests were merged for this release.
- #28050: MAINT: Prepare 2.2.x for further development
- #28055: TYP: fix
voidarrays not acceptingstrkeys in__setitem__ - #28066: TYP: fix unnecessarily broad
integerbinop return types (#28065) - #28112: TYP: Better
ndarraybinop return types forfloat64&... - #28113: TYP: Return the correct
boolfromissubdtype - #28114: TYP: Always accept
date[time]in thedatetime64constructor - #28120: BUG: Fix auxdata initialization in ufunc slow path
- #28131: BUG: move reduction initialization to ufunc initialization
- #28132: TYP: Fix
interpto accept and return scalars - #28137: BUG: call PyType_Ready in f2py to avoid data races
- #28145: BUG: remove unnecessary call to PyArray_UpdateFlags
- #28160: BUG: Avoid data race in PyArrayCheckFromAnyint
- #28175: BUG: Fix f2py directives and --lower casing
- #28176: TYP: Fix overlapping overloads issue in 2->1 ufuncs
- #28177: TYP: preserve shape-type in ndarray.astype()
- #28178: TYP: Fix missing and spurious top-level exports
Checksums
MD5
749cb2adf8043551aae22bbf0ed3130a numpy-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl
bc79fa2e44316b7ce9bacb48a993ed91 numpy-2.2.2-cp310-cp310-macosx_11_0_arm64.whl
c6b2caa2bbb645b5950dccb77efb1dbb numpy-2.2.2-cp310-cp310-macosx_14_0_arm64.whl
8c410efac169af880cacbbac8a731658 numpy-2.2.2-cp310-cp310-macosx_14_0_x86_64.whl
21d165669635a9b680d03b0b4e7f5b98 numpy-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a34ef5e7c967136fdc59c822e99f87d6 numpy-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a81749effc5160ff8dde7eb2ebe868c4 numpy-2.2.2-cp310-cp310-musllinux_1_2_aarch64.whl
546612d82fae082697879aaf2b985b1b numpy-2.2.2-cp310-cp310-musllinux_1_2_x86_64.whl
d874e626f58175ad603cb68fda2a4e28 numpy-2.2.2-cp310-cp310-win32.whl
20564a5caeb621061267f9d80c1e7ed0 numpy-2.2.2-cp310-cp310-win_amd64.whl
ef5336ddae73feef891844a205f89b15 numpy-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl
7a0c8804cb6ebca82b1cf3063b410687 numpy-2.2.2-cp311-cp311-macosx_11_0_arm64.whl
1682639d0420a532f8894c4a8685b23d numpy-2.2.2-cp311-cp311-macosx_14_0_arm64.whl
d33d53efc5744b577cb8a6ac9971cfdb numpy-2.2.2-cp311-cp311-macosx_14_0_x86_64.whl
c85b92e2ed7ef0eaeb15909ad73aea22 numpy-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
efa1a587f607a37336c477bed977ea64 numpy-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e0effe9902e262704a115c6f7095daf7 numpy-2.2.2-cp311-cp311-musllinux_1_2_aarch64.whl
425e0cebeb1c2c91bba42ae195836268 numpy-2.2.2-cp311-cp311-musllinux_1_2_x86_64.whl
57121319a2fbb76eed4b268282ed668e numpy-2.2.2-cp311-cp311-win32.whl
fdb54e7345ff657d208fbb52469a5861 numpy-2.2.2-cp311-cp311-win_amd64.whl
bdf299e0abc45b5c5113a1cc5505636a numpy-2.2.2-cp312-cp312-macosx_10_13_x86_64.whl
30c25784c07965592cf88104b6c02508 numpy-2.2.2-cp312-cp312-macosx_11_0_arm64.whl
65e630a0de5403c41a0083198bc14442 numpy-2.2.2-cp312-cp312-macosx_14_0_arm64.whl
6d9f50717e7b40f1ebdf139f83cc7504 numpy-2.2.2-cp312-cp312-macosx_14_0_x86_64.whl
6b092a9280ada70482d44f538752fc0b numpy-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9c273da8438391eab30f6c1c4898be5d numpy-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d619047dcaf041b806a7b59ff0a798d5 numpy-2.2.2-cp312-cp312-musllinux_1_2_aarch64.whl
fa5d0d979104456d7c43a183223c8587 numpy-2.2.2-cp312-cp312-musllinux_1_2_x86_64.whl
3b8689aedff5037cad85b018e2d5e43a numpy-2.2.2-cp312-cp312-win32.whl
a2340ff05cae7e09f63bfcfd4e75ea87 numpy-2.2.2-cp312-cp312-win_amd64.whl
044e86bd65492af34a59e4109fbeed16 numpy-2.2.2-cp313-cp313-macosx_10_13_x86_64.whl
7ca0f0e8c8d3d80ec473ec33929c2ae3 numpy-2.2.2-cp313-cp313-macosx_11_0_arm64.whl
4b866ad895e007005afe8a29837cf7d6 numpy-2.2.2-cp313-cp313-macosx_14_0_arm64.whl
2e6247faabf6d0ac0fafaca0bb405ff8 numpy-2.2.2-cp313-cp313-macosx_14_0_x86_64.whl
773982551185ae327cdefe416e73acfc numpy-2.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
1c0ecc958a555a8a95c92c1dd7dc2358 numpy-2.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9f662eb58b8f711585550d6fdf8afa4f numpy-2.2.2-cp313-cp313-musllinux_1_2_aarch64.whl
53471186fc990eb22e82a0512b310438 numpy-2.2.2-cp313-cp313-musllinux_1_2_x86_64.whl
6b4d65349c74dd91853a7cc6b5c5786e numpy-2.2.2-cp313-cp313-win32.whl
33dc5bab2d3f752ef00f81021d68cb5a numpy-2.2.2-cp313-cp313-win_amd64.whl
0acc5069c5ab4fe3ea7c35956636c462 numpy-2.2.2-cp313-cp313t-macosx_10_13_x86_64.whl
01e3f727594a12eee6d0677113525b96 numpy-2.2.2-cp313-cp313t-macosx_11_0_arm64.whl
7b1ddabcb187b18caa52055bb2b2dc67 numpy-2.2.2-cp313-cp313t-macosx_14_0_arm64.whl
a09f5c138ad8c87b9692eea99f344a98 numpy-2.2.2-cp313-cp313t-macosx_14_0_x86_64.whl
289ec3155aa21c5a161b2d61d2cf3c2d numpy-2.2.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6bb3eb03d400ad708942afbfebd07abc numpy-2.2.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
62f8ef2a5c9e76b0e43851a7bb9c0379 numpy-2.2.2-cp313-cp313t-musllinux_1_2_aarch64.whl
59b4b77118f958dd07484686e82b1e7a numpy-2.2.2-cp313-cp313t-musllinux_1_2_x86_64.whl
726b58ec542581c5e46adfd4c5c0fed0 numpy-2.2.2-cp313-cp313t-win32.whl
f2b4eab55a963e8cd4c6c1e573c9a59f numpy-2.2.2-cp313-cp313t-win_amd64.whl
f6a93eaebee6f9890a4922571141ecb5 numpy-2.2.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
fb457bbe2d231e836d2230b06d4706ca numpy-2.2.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
df4c07a48a24621167c12704ba5ac0de numpy-2.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0d1108b9060469eb28bb4a4cffa7b98f numpy-2.2.2-pp310-pypy310_pp73-win_amd64.whl
ac108586d3aeab9e2d0134b744763eb9 numpy-2.2.2.tar.gz
SHA256
7079129b64cb78bdc8d611d1fd7e8002c0a2565da6a47c4df8062349fee90e3e numpy-2.2.2-cp310-cp310-macosx_10_9_x86_64.whl
2ec6c689c61df613b783aeb21f945c4cbe6c51c28cb70aae8430577ab39f163e numpy-2.2.2-cp310-cp310-macosx_11_0_arm64.whl
40c7ff5da22cd391944a28c6a9c638a5eef77fcf71d6e3a79e1d9d9e82752715 numpy-2.2.2-cp310-cp310-macosx_14_0_arm64.whl
995f9e8181723852ca458e22de5d9b7d3ba4da3f11cc1cb113f093b271d7965a numpy-2.2.2-cp310-cp310-macosx_14_0_x86_64.whl
b78ea78450fd96a498f50ee096f69c75379af5138f7881a51355ab0e11286c97 numpy-2.2.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3fbe72d347fbc59f94124125e73fc4976a06927ebc503ec5afbfb35f193cd957 numpy-2.2.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8e6da5cffbbe571f93588f562ed130ea63ee206d12851b60819512dd3e1ba50d numpy-2.2.2-cp310-cp310-musllinux_1_2_aarch64.whl
09d6a2032faf25e8d0cadde7fd6145118ac55d2740132c1d845f98721b5ebcfd numpy-2.2.2-cp310-cp310-musllinux_1_2_x86_64.whl
159ff6ee4c4a36a23fe01b7c3d07bd8c14cc433d9720f977fcd52c13c0098160 numpy-2.2.2-cp310-cp310-win32.whl
64bd6e1762cd7f0986a740fee4dff927b9ec2c5e4d9a28d056eb17d332158014 numpy-2.2.2-cp310-cp310-win_amd64.whl
642199e98af1bd2b6aeb8ecf726972d238c9877b0f6e8221ee5ab945ec8a2189 numpy-2.2.2-cp311-cp311-macosx_10_9_x86_64.whl
6d9fc9d812c81e6168b6d405bf00b8d6739a7f72ef22a9214c4241e0dc70b323 numpy-2.2.2-cp311-cp311-macosx_11_0_arm64.whl
c7d1fd447e33ee20c1f33f2c8e6634211124a9aabde3c617687d8b739aa69eac numpy-2.2.2-cp311-cp311-macosx_14_0_arm64.whl
451e854cfae0febe723077bd0cf0a4302a5d84ff25f0bfece8f29206c7bed02e numpy-2.2.2-cp311-cp311-macosx_14_0_x86_64.whl
bd249bc894af67cbd8bad2c22e7cbcd46cf87ddfca1f1289d1e7e54868cc785c numpy-2.2.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
02935e2c3c0c6cbe9c7955a8efa8908dd4221d7755644c59d1bba28b94fd334f numpy-2.2.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a972cec723e0563aa0823ee2ab1df0cb196ed0778f173b381c871a03719d4826 numpy-2.2.2-cp311-cp311-musllinux_1_2_aarch64.whl
d6d6a0910c3b4368d89dde073e630882cdb266755565155bc33520283b2d9df8 numpy-2.2.2-cp311-cp311-musllinux_1_2_x86_64.whl
860fd59990c37c3ef913c3ae390b3929d005243acca1a86facb0773e2d8d9e50 numpy-2.2.2-cp311-cp311-win32.whl
da1eeb460ecce8d5b8608826595c777728cdf28ce7b5a5a8c8ac8d949beadcf2 numpy-2.2.2-cp311-cp311-win_amd64.whl
ac9bea18d6d58a995fac1b2cb4488e17eceeac413af014b1dd26170b766d8467 numpy-2.2.2-cp312-cp312-macosx_10_13_x86_64.whl
23ae9f0c2d889b7b2d88a3791f6c09e2ef827c2446f1c4a3e3e76328ee4afd9a numpy-2.2.2-cp312-cp312-macosx_11_0_arm64.whl
3074634ea4d6df66be04f6728ee1d173cfded75d002c75fac79503a880bf3825 numpy-2.2.2-cp312-cp312-macosx_14_0_arm64.whl
8ec0636d3f7d68520afc6ac2dc4b8341ddb725039de042faf0e311599f54eb37 numpy-2.2.2-cp312-cp312-macosx_14_0_x86_64.whl
2ffbb1acd69fdf8e89dd60ef6182ca90a743620957afb7066385a7bbe88dc748 numpy-2.2.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0349b025e15ea9d05c3d63f9657707a4e1d471128a3b1d876c095f328f8ff7f0 numpy-2.2.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
463247edcee4a5537841d5350bc87fe8e92d7dd0e8c71c995d2c6eecb8208278 numpy-2.2.2-cp312-cp312-musllinux_1_2_aarch64.whl
9dd47ff0cb2a656ad69c38da850df3454da88ee9a6fde0ba79acceee0e79daba numpy-2.2.2-cp312-cp312-musllinux_1_2_x86_64.whl
4525b88c11906d5ab1b0ec1f290996c0020dd318af8b49acaa46f198b1ffc283 numpy-2.2.2-cp312-cp312-win32.whl
5acea83b801e98541619af398cc0109ff48016955cc0818f478ee9ef1c5c3dcb numpy-2.2.2-cp312-cp312-win_amd64.whl
b208cfd4f5fe34e1535c08983a1a6803fdbc7a1e86cf13dd0c61de0b51a0aadc numpy-2.2.2-cp313-cp313-macosx_10_13_x86_64.whl
d0bbe7dd86dca64854f4b6ce2ea5c60b51e36dfd597300057cf473d3615f2369 numpy-2.2.2-cp313-cp313-macosx_11_0_arm64.whl
22ea3bb552ade325530e72a0c557cdf2dea8914d3a5e1fecf58fa5dbcc6f43cd numpy-2.2.2-cp313-cp313-macosx_14_0_arm64.whl
128c41c085cab8a85dc29e66ed88c05613dccf6bc28b3866cd16050a2f5448be numpy-2.2.2-cp313-cp313-macosx_14_0_x86_64.whl
250c16b277e3b809ac20d1f590716597481061b514223c7badb7a0f9993c7f84 numpy-2.2.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e0c8854b09bc4de7b041148d8550d3bd712b5c21ff6a8ed308085f190235d7ff numpy-2.2.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b6fb9c32a91ec32a689ec6410def76443e3c750e7cfc3fb2206b985ffb2b85f0 numpy-2.2.2-cp313-cp313-musllinux_1_2_aarch64.whl
57b4012e04cc12b78590a334907e01b3a85efb2107df2b8733ff1ed05fce71de numpy-2.2.2-cp313-cp313-musllinux_1_2_x86_64.whl
4dbd80e453bd34bd003b16bd802fac70ad76bd463f81f0c518d1245b1c55e3d9 numpy-2.2.2-cp313-cp313-win32.whl
5a8c863ceacae696aff37d1fd636121f1a512117652e5dfb86031c8d84836369 numpy-2.2.2-cp313-cp313-win_amd64.whl
b3482cb7b3325faa5f6bc179649406058253d91ceda359c104dac0ad320e1391 numpy-2.2.2-cp313-cp313t-macosx_10_13_x86_64.whl
9491100aba630910489c1d0158034e1c9a6546f0b1340f716d522dc103788e39 numpy-2.2.2-cp313-cp313t-macosx_11_0_arm64.whl
41184c416143defa34cc8eb9d070b0a5ba4f13a0fa96a709e20584638254b317 numpy-2.2.2-cp313-cp313t-macosx_14_0_arm64.whl
7dca87ca328f5ea7dafc907c5ec100d187911f94825f8700caac0b3f4c384b49 numpy-2.2.2-cp313-cp313t-macosx_14_0_x86_64.whl
0bc61b307655d1a7f9f4b043628b9f2b721e80839914ede634e3d485913e1fb2 numpy-2.2.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9fad446ad0bc886855ddf5909cbf8cb5d0faa637aaa6277fb4b19ade134ab3c7 numpy-2.2.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
149d1113ac15005652e8d0d3f6fd599360e1a708a4f98e43c9c77834a28238cb numpy-2.2.2-cp313-cp313t-musllinux_1_2_aarch64.whl
106397dbbb1896f99e044efc90360d098b3335060375c26aa89c0d8a97c5f648 numpy-2.2.2-cp313-cp313t-musllinux_1_2_x86_64.whl
0eec19f8af947a61e968d5429f0bd92fec46d92b0008d0a6685b40d6adf8a4f4 numpy-2.2.2-cp313-cp313t-win32.whl
97b974d3ba0fb4612b77ed35d7627490e8e3dff56ab41454d9e8b23448940576 numpy-2.2.2-cp313-cp313t-win_amd64.whl
b0531f0b0e07643eb089df4c509d30d72c9ef40defa53e41363eca8a8cc61495 numpy-2.2.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
e9e82dcb3f2ebbc8cb5ce1102d5f1c5ed236bf8a11730fb45ba82e2841ec21df numpy-2.2.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
e0d4142eb40ca6f94539e4db929410f2a46052a0fe7a2c1c59f6179c39938d2a numpy-2.2.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
356ca982c188acbfa6af0d694284d8cf20e95b1c3d0aefa8929376fea9146f60 numpy-2.2.2-pp310-pypy310_pp73-win_amd64.whl
ed6906f61834d687738d25988ae117683705636936cc605be0bb208b23df4d8f numpy-2.2.2.tar.gz
- Python
Published by charris over 1 year ago
numpy - 2.2.1 (DEC 21, 2024)
NumPy 2.2.1 Release Notes
NumPy 2.2.1 is a patch release following 2.2.0. It fixes bugs found after the 2.2.0 release and has several maintenance pins to work around upstream changes.
There was some breakage in downstream projects following the 2.2.0 release due to updates to NumPy typing. Because of problems due to MyPy defects, we recommend using basedpyright for type checking, it can be installed from PyPI. The Pylance extension for Visual Studio Code is also based on Pyright. Problems that persist when using basedpyright should be reported as issues on the NumPy github site.
This release supports Python 3.10-3.13.
Contributors
A total of 9 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Charles Harris
- Joren Hammudoglu
- Matti Picus
- Nathan Goldbaum
- Peter Hawkins
- Simon Altrogge
- Thomas A Caswell
- Warren Weckesser
- Yang Wang +
Pull requests merged
A total of 12 pull requests were merged for this release.
- #27935: MAINT: Prepare 2.2.x for further development
- #27950: TEST: cleanups
- #27958: BUG: fix use-after-free error in npy_hashtable.cpp (#27955)
- #27959: BLD: add missing include
- #27982: BUG:fix compile error libatomic link test to meson.build
- #27990: TYP: Fix falsely rejected value types in
ndarray.__setitem__ - #27991: MAINT: Don\'t wrap
#include <Python.h>withextern "C" - #27993: BUG: Fix segfault in stringdtype lexsort
- #28006: MAINT: random: Tweak module code in mtrand.pyx to fix a Cython...
- #28007: BUG: Cython API was missing NPY_UINTP.
- #28021: CI: pin scipy-doctest to 1.5.1
- #28044: TYP: allow
Nonein operand sequence of nditer
Checksums
MD5
d3032be00b974d44aae687fd78a897b4 numpy-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl
49863a39471cf191402da96512e52cb6 numpy-2.2.1-cp310-cp310-macosx_11_0_arm64.whl
31c912e2fa723b877f2d710c26332927 numpy-2.2.1-cp310-cp310-macosx_14_0_arm64.whl
95af4f6b620c76f9ccb8c5693c99737d numpy-2.2.1-cp310-cp310-macosx_14_0_x86_64.whl
c1b113ad487a3bece6d7a70e0cf70f17 numpy-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e93369ddbb637d9d5a820b2bb79588c4 numpy-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b3de0a2c345541d2c9a322df360ca497 numpy-2.2.1-cp310-cp310-musllinux_1_2_aarch64.whl
e3e62b93245d9e37cc03ec3cfaf68118 numpy-2.2.1-cp310-cp310-musllinux_1_2_x86_64.whl
004063642d3c3792a3f5ff0241a3fa0f numpy-2.2.1-cp310-cp310-win32.whl
462b0704ebfd79120edfe6431adc57f4 numpy-2.2.1-cp310-cp310-win_amd64.whl
a739a2dfbceaa1140e564424b2a57540 numpy-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl
91731d46f4ce4b04db512400f4e76ccb numpy-2.2.1-cp311-cp311-macosx_11_0_arm64.whl
93f50db664a6986c2ebed3ceb588f7cc numpy-2.2.1-cp311-cp311-macosx_14_0_arm64.whl
8cc0d82b938d71f45a67c74e07ddc7fd numpy-2.2.1-cp311-cp311-macosx_14_0_x86_64.whl
fc7b253096fc566bbcbadfdf6b034f1b numpy-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b88238965c708578f2c198d1c6e2cf70 numpy-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
df20d649bb023f98e487b229f01e9708 numpy-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl
e23d2bfbdb1bd1b2872c9e6e15f64dca numpy-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl
cce4ebb9afc1470db243c2ab4cc6639b numpy-2.2.1-cp311-cp311-win32.whl
c96783ee8ad6ce1efee94821929a12f5 numpy-2.2.1-cp311-cp311-win_amd64.whl
0b2024655573f96a595c7f5072205e84 numpy-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl
22483d8935f5dc128393ad671fde7d8e numpy-2.2.1-cp312-cp312-macosx_11_0_arm64.whl
61d38533acaa90fb24657f089d177a6c numpy-2.2.1-cp312-cp312-macosx_14_0_arm64.whl
ecd4289c703356f5b4fd7e440bf94ce8 numpy-2.2.1-cp312-cp312-macosx_14_0_x86_64.whl
a05208461ea09079ae569414d82a606c numpy-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4c66f10580fa26d1d17b2bdda96a5fc5 numpy-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
60a01c86b1fc55e4ba8f2b41f690703b numpy-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl
4bcac2b7f8510b0a6582b7d8661257be numpy-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl
7c24a6a3b5c5b2c53c6807bf06c595c5 numpy-2.2.1-cp312-cp312-win32.whl
dc9f3c1eaade4da63e5f87e878e5805e numpy-2.2.1-cp312-cp312-win_amd64.whl
9aacdedcb2cb3d6a45dfb823148e01cf numpy-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl
8a2598b081c8af4ea6f6bbccc8965882 numpy-2.2.1-cp313-cp313-macosx_11_0_arm64.whl
e58b8db1a97599ed02a630eb86616bb9 numpy-2.2.1-cp313-cp313-macosx_14_0_arm64.whl
be6871a4edd2cd92b147421b9290e047 numpy-2.2.1-cp313-cp313-macosx_14_0_x86_64.whl
6d3f141f3a8ecd04e1a1f7c1f89a8ca2 numpy-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
eba9d71e631521bd1d9882f8bfbc01d2 numpy-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
07f7ea0a7f9f6ce0ba5e016dff2a91e8 numpy-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl
a015f42afa15be8b87fc64120c245f18 numpy-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl
881b9b20e68b317850ad7b6306ac1c51 numpy-2.2.1-cp313-cp313-win32.whl
35bd751636dcea0ca0534ad9dee8057a numpy-2.2.1-cp313-cp313-win_amd64.whl
7057313b668a4a26b5386203ebc040d9 numpy-2.2.1-cp313-cp313t-macosx_10_13_x86_64.whl
02031b405d028714126c26ffc5772f0e numpy-2.2.1-cp313-cp313t-macosx_11_0_arm64.whl
73eb35111b027d6771d9a91eb21ad7ef numpy-2.2.1-cp313-cp313t-macosx_14_0_arm64.whl
01f9a5eb7ec872d9682bb6a174897b35 numpy-2.2.1-cp313-cp313t-macosx_14_0_x86_64.whl
9bc363d2782931efa2648b42ce358a4c numpy-2.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b6492f49b50e892a7134baf2dba9f88d numpy-2.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a1c458a98cd9c7ad63f9c301398f4d63 numpy-2.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl
38d2bf31247d9005c7a0197aa992cf1d numpy-2.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl
30e6acf4391728d0a3a5e3494bd4a2c8 numpy-2.2.1-cp313-cp313t-win32.whl
2100b60306e75288799fca60bd00b84f numpy-2.2.1-cp313-cp313t-win_amd64.whl
f975551321147c307bbdff4889061b47 numpy-2.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
cefbc2de3aa5ef518ce652fdaab00c96 numpy-2.2.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
7e379c1d0a5be8e548e35fa7abe1d2c0 numpy-2.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3cba151351656a83e4c84c942cf490e7 numpy-2.2.1-pp310-pypy310_pp73-win_amd64.whl
57c5757508a50d1daefa4b689e9701cb numpy-2.2.1.tar.gz
SHA256
5edb4e4caf751c1518e6a26a83501fda79bff41cc59dac48d70e6d65d4ec4440 numpy-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl
aa3017c40d513ccac9621a2364f939d39e550c542eb2a894b4c8da92b38896ab numpy-2.2.1-cp310-cp310-macosx_11_0_arm64.whl
61048b4a49b1c93fe13426e04e04fdf5a03f456616f6e98c7576144677598675 numpy-2.2.1-cp310-cp310-macosx_14_0_arm64.whl
7671dc19c7019103ca44e8d94917eba8534c76133523ca8406822efdd19c9308 numpy-2.2.1-cp310-cp310-macosx_14_0_x86_64.whl
4250888bcb96617e00bfa28ac24850a83c9f3a16db471eca2ee1f1714df0f957 numpy-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a7746f235c47abc72b102d3bce9977714c2444bdfaea7888d241b4c4bb6a78bf numpy-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
059e6a747ae84fce488c3ee397cee7e5f905fd1bda5fb18c66bc41807ff119b2 numpy-2.2.1-cp310-cp310-musllinux_1_2_aarch64.whl
f62aa6ee4eb43b024b0e5a01cf65a0bb078ef8c395e8713c6e8a12a697144528 numpy-2.2.1-cp310-cp310-musllinux_1_2_x86_64.whl
48fd472630715e1c1c89bf1feab55c29098cb403cc184b4859f9c86d4fcb6a95 numpy-2.2.1-cp310-cp310-win32.whl
b541032178a718c165a49638d28272b771053f628382d5e9d1c93df23ff58dbf numpy-2.2.1-cp310-cp310-win_amd64.whl
40f9e544c1c56ba8f1cf7686a8c9b5bb249e665d40d626a23899ba6d5d9e1484 numpy-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl
f9b57eaa3b0cd8db52049ed0330747b0364e899e8a606a624813452b8203d5f7 numpy-2.2.1-cp311-cp311-macosx_11_0_arm64.whl
bc8a37ad5b22c08e2dbd27df2b3ef7e5c0864235805b1e718a235bcb200cf1cb numpy-2.2.1-cp311-cp311-macosx_14_0_arm64.whl
9036d6365d13b6cbe8f27a0eaf73ddcc070cae584e5ff94bb45e3e9d729feab5 numpy-2.2.1-cp311-cp311-macosx_14_0_x86_64.whl
51faf345324db860b515d3f364eaa93d0e0551a88d6218a7d61286554d190d73 numpy-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
38efc1e56b73cc9b182fe55e56e63b044dd26a72128fd2fbd502f75555d92591 numpy-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
31b89fa67a8042e96715c68e071a1200c4e172f93b0fbe01a14c0ff3ff820fc8 numpy-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl
4c86e2a209199ead7ee0af65e1d9992d1dce7e1f63c4b9a616500f93820658d0 numpy-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl
b34d87e8a3090ea626003f87f9392b3929a7bbf4104a05b6667348b6bd4bf1cd numpy-2.2.1-cp311-cp311-win32.whl
360137f8fb1b753c5cde3ac388597ad680eccbbbb3865ab65efea062c4a1fd16 numpy-2.2.1-cp311-cp311-win_amd64.whl
694f9e921a0c8f252980e85bce61ebbd07ed2b7d4fa72d0e4246f2f8aa6642ab numpy-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl
3683a8d166f2692664262fd4900f207791d005fb088d7fdb973cc8d663626faa numpy-2.2.1-cp312-cp312-macosx_11_0_arm64.whl
780077d95eafc2ccc3ced969db22377b3864e5b9a0ea5eb347cc93b3ea900315 numpy-2.2.1-cp312-cp312-macosx_14_0_arm64.whl
55ba24ebe208344aa7a00e4482f65742969a039c2acfcb910bc6fcd776eb4355 numpy-2.2.1-cp312-cp312-macosx_14_0_x86_64.whl
9b1d07b53b78bf84a96898c1bc139ad7f10fda7423f5fd158fd0f47ec5e01ac7 numpy-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5062dc1a4e32a10dc2b8b13cedd58988261416e811c1dc4dbdea4f57eea61b0d numpy-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fce4f615f8ca31b2e61aa0eb5865a21e14f5629515c9151850aa936c02a1ee51 numpy-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl
67d4cda6fa6ffa073b08c8372aa5fa767ceb10c9a0587c707505a6d426f4e046 numpy-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl
32cb94448be47c500d2c7a95f93e2f21a01f1fd05dd2beea1ccd049bb6001cd2 numpy-2.2.1-cp312-cp312-win32.whl
ba5511d8f31c033a5fcbda22dd5c813630af98c70b2661f2d2c654ae3cdfcfc8 numpy-2.2.1-cp312-cp312-win_amd64.whl
f1d09e520217618e76396377c81fba6f290d5f926f50c35f3a5f72b01a0da780 numpy-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl
3ecc47cd7f6ea0336042be87d9e7da378e5c7e9b3c8ad0f7c966f714fc10d821 numpy-2.2.1-cp313-cp313-macosx_11_0_arm64.whl
f419290bc8968a46c4933158c91a0012b7a99bb2e465d5ef5293879742f8797e numpy-2.2.1-cp313-cp313-macosx_14_0_arm64.whl
5b6c390bfaef8c45a260554888966618328d30e72173697e5cabe6b285fb2348 numpy-2.2.1-cp313-cp313-macosx_14_0_x86_64.whl
526fc406ab991a340744aad7e25251dd47a6720a685fa3331e5c59fef5282a59 numpy-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f74e6fdeb9a265624ec3a3918430205dff1df7e95a230779746a6af78bc615af numpy-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
53c09385ff0b72ba79d8715683c1168c12e0b6e84fb0372e97553d1ea91efe51 numpy-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl
f3eac17d9ec51be534685ba877b6ab5edc3ab7ec95c8f163e5d7b39859524716 numpy-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl
9ad014faa93dbb52c80d8f4d3dcf855865c876c9660cb9bd7553843dd03a4b1e numpy-2.2.1-cp313-cp313-win32.whl
164a829b6aacf79ca47ba4814b130c4020b202522a93d7bff2202bfb33b61c60 numpy-2.2.1-cp313-cp313-win_amd64.whl
4dfda918a13cc4f81e9118dea249e192ab167a0bb1966272d5503e39234d694e numpy-2.2.1-cp313-cp313t-macosx_10_13_x86_64.whl
733585f9f4b62e9b3528dd1070ec4f52b8acf64215b60a845fa13ebd73cd0712 numpy-2.2.1-cp313-cp313t-macosx_11_0_arm64.whl
89b16a18e7bba224ce5114db863e7029803c179979e1af6ad6a6b11f70545008 numpy-2.2.1-cp313-cp313t-macosx_14_0_arm64.whl
676f4eebf6b2d430300f1f4f4c2461685f8269f94c89698d832cdf9277f30b84 numpy-2.2.1-cp313-cp313t-macosx_14_0_x86_64.whl
27f5cdf9f493b35f7e41e8368e7d7b4bbafaf9660cba53fb21d2cd174ec09631 numpy-2.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c1ad395cf254c4fbb5b2132fee391f361a6e8c1adbd28f2cd8e79308a615fe9d numpy-2.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
08ef779aed40dbc52729d6ffe7dd51df85796a702afbf68a4f4e41fafdc8bda5 numpy-2.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl
26c9c4382b19fcfbbed3238a14abf7ff223890ea1936b8890f058e7ba35e8d71 numpy-2.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl
93cf4e045bae74c90ca833cba583c14b62cb4ba2cba0abd2b141ab52548247e2 numpy-2.2.1-cp313-cp313t-win32.whl
bff7d8ec20f5f42607599f9994770fa65d76edca264a87b5e4ea5629bce12268 numpy-2.2.1-cp313-cp313t-win_amd64.whl
7ba9cc93a91d86365a5d270dee221fdc04fb68d7478e6bf6af650de78a8339e3 numpy-2.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
3d03883435a19794e41f147612a77a8f56d4e52822337844fff3d4040a142964 numpy-2.2.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
4511d9e6071452b944207c8ce46ad2f897307910b402ea5fa975da32e0102800 numpy-2.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5c5cc0cbabe9452038ed984d05ac87910f89370b9242371bd9079cb4af61811e numpy-2.2.1-pp310-pypy310_pp73-win_amd64.whl
45681fd7128c8ad1c379f0ca0776a8b0c6583d2f69889ddac01559dfe4390918 numpy-2.2.1.tar.gz
- Python
Published by charris over 1 year ago
numpy - 2.2.0 (Dec 8, 2024)
NumPy 2.2.0 Release Notes
The NumPy 2.2.0 release is quick release that brings us back into sync with the usual twice yearly release cycle. There have been an number of small cleanups, as well as work bringing the new StringDType to completion and improving support for free threaded Python. Highlights are:
- New functions
matvecandvecmat, see below. - Many improved annotations.
- Improved support for the new StringDType.
- Improved support for free threaded Python
- Fixes for f2py
This release supports Python versions 3.10-3.13.
Deprecations
_add_newdoc_ufuncis now deprecated.ufunc.__doc__ = newdocshould be used instead.(gh-27735)
Expired deprecations
bool(np.array([]))and other empty arrays will now raise an error. Usearr.size > 0instead to check whether an array has no elements.(gh-27160)
Compatibility notes
numpy.covnow properly transposes single-row (2d array) design matrices whenrowvar=False. Previously, single-row design matrices would return a scalar in this scenario, which is not correct, so this is a behavior change and an array of the appropriate shape will now be returned.(gh-27661)
New Features
New functions for matrix-vector and vector-matrix products
Two new generalized ufuncs were defined:
-
numpy.matvec- matrix-vector product, treating the arguments as stacks of matrices and column vectors, respectively. -
numpy.vecmat- vector-matrix product, treating the arguments as stacks of column vectors and matrices, respectively. For complex vectors, the conjugate is taken.
These add to the existing
numpy.matmulas well as tonumpy.vecdot, which was added in numpy 2.0.Note that
numpy.matmulnever takes a complex conjugate, also not when its left input is a vector, while bothnumpy.vecdotandnumpy.vecmatdo take the conjugate for complex vectors on the left-hand side (which are taken to be the ones that are transposed, following the physics convention).(gh-25675)
-
np.complexfloating[T, T]can now also be written asnp.complexfloating[T](gh-27420)
UFuncs now support
__dict__attribute and allow overriding__doc__(either directly or viaufunc.__dict__["__doc__"]).__dict__can be used to also override other properties, such as__module__or__qualname__.(gh-27735)
The \"nbit\" type parameter of
np.numberand its subtypes now defaults totyping.Any. This way, type-checkers will infer annotations such asx: np.floatingasx: np.floating[Any], even in strict mode.(gh-27736)
Improvements
The
datetime64andtimedelta64hashes now correctly match the Pythons builtindatetimeandtimedeltaones. The hashes now evaluated equal even for equal values with different time units.(gh-14622)
Fixed a number of issues around promotion for string ufuncs with StringDType arguments. Mixing StringDType and the fixed-width DTypes using the string ufuncs should now generate much more uniform results.
(gh-27636)
Improved support for empty
memmap. Previously an emptymemmapwould fail unless a non-zerooffsetwas set. Now a zero-sizememmapis supported even ifoffset=0. To achieve this, if amemmapis mapped to an empty file that file is padded with a single byte.(gh-27723)
A regression has been fixed which allows F2PY users to expose variables to Python in modules with only assignments, and also fixes situations where multiple modules are present within a single source file.
(gh-27695)
Performance improvements and changes
Improved multithreaded scaling on the free-threaded build when many threads simultaneously call the same ufunc operations.
(gh-27896)
NumPy now uses fast-on-failure attribute lookups for protocols. This can greatly reduce overheads of function calls or array creation especially with custom Python objects. The largest improvements will be seen on Python 3.12 or newer.
(gh-27119)
OpenBLAS on x86_64 and i686 is built with fewer kernels. Based on benchmarking, there are 5 clusters of performance around these kernels:
PRESCOTT NEHALEM SANDYBRIDGE HASWELL SKYLAKEX.OpenBLAS on windows is linked without quadmath, simplifying licensing
Due to a regression in OpenBLAS on windows, the performance improvements when using multiple threads for OpenBLAS 0.3.26 were reverted.
(gh-27147)
NumPy now indicates hugepages also for large
np.zerosallocations on linux. Thus should generally improve performance.(gh-27808)
Changes
numpy.fixnow won\'t perform casting to a floating data-type for integer and boolean data-type input arrays.(gh-26766)
The type annotations of
numpy.float64andnumpy.complex128now reflect that they are also subtypes of the built-infloatandcomplextypes, respectively. This update prevents static type-checkers from reporting errors in cases such as:python x: float = numpy.float64(6.28) # valid z: complex = numpy.complex128(-1j) # valid(gh-27334)
The
reprof arrays large enough to be summarized (i.e., where elements are replaced with...) now includes theshapeof the array, similar to what already was the case for arrays with zero size and non-obvious shape. With this change, the shape is always given when it cannot be inferred from the values. Note that while written asshape=..., this argument cannot actually be passed in to thenp.arrayconstructor. If you encounter problems, e.g., due to failing doctests, you can use the print optionlegacy=2.1to get the old behaviour.(gh-27482)
Calling
__array_wrap__directly on NumPy arrays or scalars now does the right thing whenreturn_scalaris passed (Added in NumPy 2). It is further safe now to call the scalar__array_wrap__on a non-scalar result.(gh-27807)
Bump the musllinux CI image and wheels to 12 from 11. This is because 1_1 is end of life.
(gh-27088)
The NEP 50 promotion state settings are now removed. They were always meant as temporary means for testing. A warning will be given if the environment variable is set to anything but
NPY_PROMOTION_STATE=weakwhile_set_promotion_stateand_get_promotion_stateare removed. In case code used_no_nep50_warning, acontextlib.nullcontextcould be used to replace it when not available.(gh-27156)
Checksums
MD5
1b58b9e275e80364cd02dafb3f8daf35 numpy-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl
7d3773d9b665b2d7cfec0cc0b760e69e numpy-2.2.0-cp310-cp310-macosx_11_0_arm64.whl
8ef666a462d3765ccfd5288f2fdf8e08 numpy-2.2.0-cp310-cp310-macosx_14_0_arm64.whl
e4f9e3117075ffe53d7993253c774158 numpy-2.2.0-cp310-cp310-macosx_14_0_x86_64.whl
fd60e410e5db402a2d0c0cb4dd23281d numpy-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
64c083cdbd91eb8670cd72b619f3a039 numpy-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c3c75c2299f5163770e2e42f0dee5276 numpy-2.2.0-cp310-cp310-musllinux_1_2_aarch64.whl
f6ab05f787221bbaf8fb4a9778af5467 numpy-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
9b04caec124cadf90005ccdb662aad9f numpy-2.2.0-cp310-cp310-win32.whl
58934f23b6bc71fb1f984b688c1c6136 numpy-2.2.0-cp310-cp310-win_amd64.whl
769e53438154e53ba490fb4f816c083e numpy-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl
aa8060c013c04133b63780025eef4451 numpy-2.2.0-cp311-cp311-macosx_11_0_arm64.whl
72c10ef28a0ddffe6bf2495954ab82e0 numpy-2.2.0-cp311-cp311-macosx_14_0_arm64.whl
946b2510c86eb48e374e6987582c9b46 numpy-2.2.0-cp311-cp311-macosx_14_0_x86_64.whl
3f5203ae901ddd78cb298582eda07627 numpy-2.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fd14624d40100a5eb0181bf393394448 numpy-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7c86d51d89dbc5a6860d65641ea131ef numpy-2.2.0-cp311-cp311-musllinux_1_2_aarch64.whl
895c6588c74019b94fb3c740b9e9a0f5 numpy-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
1468ae1cb59a43991b199cfa6f1e5679 numpy-2.2.0-cp311-cp311-win32.whl
48a3792698a81917320b91a30c0bacf4 numpy-2.2.0-cp311-cp311-win_amd64.whl
db4377351f167d82adc66b16965d11bd numpy-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl
3f3978b5e480ed18d55b1799d9a534ff numpy-2.2.0-cp312-cp312-macosx_11_0_arm64.whl
584b4063eb66688b607f7e7bdca58011 numpy-2.2.0-cp312-cp312-macosx_14_0_arm64.whl
dfacf4ee4842d845f5e12f912ebc2055 numpy-2.2.0-cp312-cp312-macosx_14_0_x86_64.whl
2f10d9bc44635078a6222ed50c9fd0f2 numpy-2.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bb69665b4b68b7af82939132972e8261 numpy-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
92e9b03039ab737e6799dbd9d057fce2 numpy-2.2.0-cp312-cp312-musllinux_1_2_aarch64.whl
a4198f53e3906394012ab88dffff4077 numpy-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
f9cb2f38ae8272ab5eb4b209c59be45f numpy-2.2.0-cp312-cp312-win32.whl
6ffe9e1abf69bb8c4ee2e913b1badfde numpy-2.2.0-cp312-cp312-win_amd64.whl
330838b6e06481341b35f8d4b6b50bbb numpy-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl
4fb63be6d2b92acfba0c2eaedce82e06 numpy-2.2.0-cp313-cp313-macosx_11_0_arm64.whl
e4086f43f9ce29b5adf939e1b5150f03 numpy-2.2.0-cp313-cp313-macosx_14_0_arm64.whl
ba74e1f7142954127fb2aef544a6b05e numpy-2.2.0-cp313-cp313-macosx_14_0_x86_64.whl
83f51806139d5adc70a2e309d0300ad1 numpy-2.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bf9af9abb1e30521b3491f0748ba6199 numpy-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4d30c57bd7103b36a4bf7a4a9e25e10d numpy-2.2.0-cp313-cp313-musllinux_1_2_aarch64.whl
5b12557dde538f99fd87d1682638a212 numpy-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
ee7689d2ecbcbd7c883f69099bd41892 numpy-2.2.0-cp313-cp313-win32.whl
370a2b14681c6dc4af8596f62d96bb20 numpy-2.2.0-cp313-cp313-win_amd64.whl
e6fd32fb42fd89c7659e799d65c19557 numpy-2.2.0-cp313-cp313t-macosx_10_13_x86_64.whl
8e9b0579f2e22f38f57399ab18d6e651 numpy-2.2.0-cp313-cp313t-macosx_11_0_arm64.whl
71a7ee75208a633a8c36d4ed5b551c33 numpy-2.2.0-cp313-cp313t-macosx_14_0_arm64.whl
3d76dfe8c2e26dc42b97fdf086ce1fa5 numpy-2.2.0-cp313-cp313t-macosx_14_0_x86_64.whl
b70ea00b40fb7d1b5d84868d8a073afb numpy-2.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a6bc7090a4e2b1e9deabd0671c691129 numpy-2.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9789193a075e8d494851fe7955a23af7 numpy-2.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl
8c199d25bd806f737950428232b0dfa5 numpy-2.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl
1f566cfe4880ca30a591a828634da429 numpy-2.2.0-cp313-cp313t-win32.whl
eb9ea9f8fba78e7ae5b1415de1ee5c2c numpy-2.2.0-cp313-cp313t-win_amd64.whl
9fbe2640c73e4f391019db5af6e854f5 numpy-2.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
fc89986fda7ba19c7c50712f1fc1e342 numpy-2.2.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
d76c5769a3fdfb9e25b3c1a951bd021f numpy-2.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c138d726fee19ec6ba85eaa2ba9a3390 numpy-2.2.0-pp310-pypy310_pp73-win_amd64.whl
81a58d5fd26fe983162dc3cea2989b7a numpy-2.2.0.tar.gz
SHA256
1e25507d85da11ff5066269d0bd25d06e0a0f2e908415534f3e603d2a78e4ffa numpy-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl
a62eb442011776e4036af5c8b1a00b706c5bc02dc15eb5344b0c750428c94219 numpy-2.2.0-cp310-cp310-macosx_11_0_arm64.whl
b606b1aaf802e6468c2608c65ff7ece53eae1a6874b3765f69b8ceb20c5fa78e numpy-2.2.0-cp310-cp310-macosx_14_0_arm64.whl
36b2b43146f646642b425dd2027730f99bac962618ec2052932157e213a040e9 numpy-2.2.0-cp310-cp310-macosx_14_0_x86_64.whl
7fe8f3583e0607ad4e43a954e35c1748b553bfe9fdac8635c02058023277d1b3 numpy-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
122fd2fcfafdefc889c64ad99c228d5a1f9692c3a83f56c292618a59aa60ae83 numpy-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3f2f5cddeaa4424a0a118924b988746db6ffa8565e5829b1841a8a3bd73eb59a numpy-2.2.0-cp310-cp310-musllinux_1_2_aarch64.whl
7fe4bb0695fe986a9e4deec3b6857003b4cfe5c5e4aac0b95f6a658c14635e31 numpy-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
b30042fe92dbd79f1ba7f6898fada10bdaad1847c44f2dff9a16147e00a93661 numpy-2.2.0-cp310-cp310-win32.whl
54dc1d6d66f8d37843ed281773c7174f03bf7ad826523f73435deb88ba60d2d4 numpy-2.2.0-cp310-cp310-win_amd64.whl
9874bc2ff574c40ab7a5cbb7464bf9b045d617e36754a7bc93f933d52bd9ffc6 numpy-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl
0da8495970f6b101ddd0c38ace92edea30e7e12b9a926b57f5fabb1ecc25bb90 numpy-2.2.0-cp311-cp311-macosx_11_0_arm64.whl
0557eebc699c1c34cccdd8c3778c9294e8196df27d713706895edc6f57d29608 numpy-2.2.0-cp311-cp311-macosx_14_0_arm64.whl
3579eaeb5e07f3ded59298ce22b65f877a86ba8e9fe701f5576c99bb17c283da numpy-2.2.0-cp311-cp311-macosx_14_0_x86_64.whl
40deb10198bbaa531509aad0cd2f9fadb26c8b94070831e2208e7df543562b74 numpy-2.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c2aed8fcf8abc3020d6a9ccb31dbc9e7d7819c56a348cc88fd44be269b37427e numpy-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a222d764352c773aa5ebde02dd84dba3279c81c6db2e482d62a3fa54e5ece69b numpy-2.2.0-cp311-cp311-musllinux_1_2_aarch64.whl
4e58666988605e251d42c2818c7d3d8991555381be26399303053b58a5bbf30d numpy-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
4723a50e1523e1de4fccd1b9a6dcea750c2102461e9a02b2ac55ffeae09a4410 numpy-2.2.0-cp311-cp311-win32.whl
16757cf28621e43e252c560d25b15f18a2f11da94fea344bf26c599b9cf54b73 numpy-2.2.0-cp311-cp311-win_amd64.whl
cff210198bb4cae3f3c100444c5eaa573a823f05c253e7188e1362a5555235b3 numpy-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl
58b92a5828bd4d9aa0952492b7de803135038de47343b2aa3cc23f3b71a3dc4e numpy-2.2.0-cp312-cp312-macosx_11_0_arm64.whl
ebe5e59545401fbb1b24da76f006ab19734ae71e703cdb4a8b347e84a0cece67 numpy-2.2.0-cp312-cp312-macosx_14_0_arm64.whl
e2b8cd48a9942ed3f85b95ca4105c45758438c7ed28fff1e4ce3e57c3b589d8e numpy-2.2.0-cp312-cp312-macosx_14_0_x86_64.whl
57fcc997ffc0bef234b8875a54d4058afa92b0b0c4223fc1f62f24b3b5e86038 numpy-2.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
85ad7d11b309bd132d74397fcf2920933c9d1dc865487128f5c03d580f2c3d03 numpy-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cb24cca1968b21355cc6f3da1a20cd1cebd8a023e3c5b09b432444617949085a numpy-2.2.0-cp312-cp312-musllinux_1_2_aarch64.whl
0798b138c291d792f8ea40fe3768610f3c7dd2574389e37c3f26573757c8f7ef numpy-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
afe8fb968743d40435c3827632fd36c5fbde633b0423da7692e426529b1759b1 numpy-2.2.0-cp312-cp312-win32.whl
3a4199f519e57d517ebd48cb76b36c82da0360781c6a0353e64c0cac30ecaad3 numpy-2.2.0-cp312-cp312-win_amd64.whl
f8c8b141ef9699ae777c6278b52c706b653bf15d135d302754f6b2e90eb30367 numpy-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl
0f0986e917aca18f7a567b812ef7ca9391288e2acb7a4308aa9d265bd724bdae numpy-2.2.0-cp313-cp313-macosx_11_0_arm64.whl
1c92113619f7b272838b8d6702a7f8ebe5edea0df48166c47929611d0b4dea69 numpy-2.2.0-cp313-cp313-macosx_14_0_arm64.whl
5a145e956b374e72ad1dff82779177d4a3c62bc8248f41b80cb5122e68f22d13 numpy-2.2.0-cp313-cp313-macosx_14_0_x86_64.whl
18142b497d70a34b01642b9feabb70156311b326fdddd875a9981f34a369b671 numpy-2.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a7d41d1612c1a82b64697e894b75db6758d4f21c3ec069d841e60ebe54b5b571 numpy-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a98f6f20465e7618c83252c02041517bd2f7ea29be5378f09667a8f654a5918d numpy-2.2.0-cp313-cp313-musllinux_1_2_aarch64.whl
e09d40edfdb4e260cb1567d8ae770ccf3b8b7e9f0d9b5c2a9992696b30ce2742 numpy-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
3905a5fffcc23e597ee4d9fb3fcd209bd658c352657548db7316e810ca80458e numpy-2.2.0-cp313-cp313-win32.whl
a184288538e6ad699cbe6b24859206e38ce5fba28f3bcfa51c90d0502c1582b2 numpy-2.2.0-cp313-cp313-win_amd64.whl
7832f9e8eb00be32f15fdfb9a981d6955ea9adc8574c521d48710171b6c55e95 numpy-2.2.0-cp313-cp313t-macosx_10_13_x86_64.whl
f0dd071b95bbca244f4cb7f70b77d2ff3aaaba7fa16dc41f58d14854a6204e6c numpy-2.2.0-cp313-cp313t-macosx_11_0_arm64.whl
b0b227dcff8cdc3efbce66d4e50891f04d0a387cce282fe1e66199146a6a8fca numpy-2.2.0-cp313-cp313t-macosx_14_0_arm64.whl
6ab153263a7c5ccaf6dfe7e53447b74f77789f28ecb278c3b5d49db7ece10d6d numpy-2.2.0-cp313-cp313t-macosx_14_0_x86_64.whl
e500aba968a48e9019e42c0c199b7ec0696a97fa69037bea163b55398e390529 numpy-2.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
440cfb3db4c5029775803794f8638fbdbf71ec702caf32735f53b008e1eaece3 numpy-2.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a55dc7a7f0b6198b07ec0cd445fbb98b05234e8b00c5ac4874a63372ba98d4ab numpy-2.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl
4bddbaa30d78c86329b26bd6aaaea06b1e47444da99eddac7bf1e2fab717bd72 numpy-2.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl
30bf971c12e4365153afb31fc73f441d4da157153f3400b82db32d04de1e4066 numpy-2.2.0-cp313-cp313t-win32.whl
d35717333b39d1b6bb8433fa758a55f1081543de527171543a2b710551d40881 numpy-2.2.0-cp313-cp313t-win_amd64.whl
e12c6c1ce84628c52d6367863773f7c8c8241be554e8b79686e91a43f1733773 numpy-2.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
b6207dc8fb3c8cb5668e885cef9ec7f70189bec4e276f0ff70d5aa078d32c88e numpy-2.2.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
a50aeff71d0f97b6450d33940c7181b08be1441c6c193e678211bff11aa725e7 numpy-2.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
df12a1f99b99f569a7c2ae59aa2d31724e8d835fc7f33e14f4792e3071d11221 numpy-2.2.0-pp310-pypy310_pp73-win_amd64.whl
140dd80ff8981a583a60980be1a655068f8adebf7a45a06a6858c873fcdcd4a0 numpy-2.2.0.tar.gz
- Python
Published by charris over 1 year ago
numpy - 2.2.0rc1 (Nov 26, 2024)
NumPy 2.2.0 Release Notes
The NumPy 2.2.0 release is a quick release that brings us back into sync with the usual twice yearly release cycle. There have been an number of small cleanups, as well as work bringing the new StringDType to completion and improving support for free threaded Python. Highlights are:
- New functions
matvecandvecmat, see below. - Many improved annotations.
- Improved support for the new StringDType.
- Improved support for free threaded Python
- Fixes for f2py
This release supports Python versions 3.10-3.13.
Deprecations
_add_newdoc_ufuncis now deprecated.ufunc.__doc__ = newdocshould be used instead.(gh-27735)
Expired deprecations
bool(np.array([]))and other empty arrays will now raise an error. Usearr.size > 0instead to check whether an array has no elements.(gh-27160)
Compatibility notes
numpy.covnow properly transposes single-row (2d array) design matrices whenrowvar=False. Previously, single-row design matrices would return a scalar in this scenario, which is not correct, so this is a behavior change and an array of the appropriate shape will now be returned.(gh-27661)
New Features
New functions for matrix-vector and vector-matrix products
Two new generalized ufuncs were defined:
-
numpy.matvec- matrix-vector product, treating the arguments as stacks of matrices and column vectors, respectively. -
numpy.vecmat- vector-matrix product, treating the arguments as stacks of column vectors and matrices, respectively. For complex vectors, the conjugate is taken.
These add to the existing
numpy.matmulas well as tonumpy.vecdot, which was added in numpy 2.0.Note that
numpy.matmulnever takes a complex conjugate, also not when its left input is a vector, while bothnumpy.vecdotandnumpy.vecmatdo take the conjugate for complex vectors on the left-hand side (which are taken to be the ones that are transposed, following the physics convention).(gh-25675)
-
np.complexfloating[T, T]can now also be written asnp.complexfloating[T](gh-27420)
UFuncs now support
__dict__attribute and allow overriding__doc__(either directly or viaufunc.__dict__["__doc__"]).__dict__can be used to also override other properties, such as__module__or__qualname__.(gh-27735)
The \"nbit\" type parameter of
np.numberand its subtypes now defaults totyping.Any. This way, type-checkers will infer annotations such asx: np.floatingasx: np.floating[Any], even in strict mode.(gh-27736)
Improvements
The
datetime64andtimedelta64hashes now correctly match the Pythons builtindatetimeandtimedeltaones. The hashes now evaluated equal even for equal values with different time units.(gh-14622)
Fixed a number of issues around promotion for string ufuncs with StringDType arguments. Mixing StringDType and the fixed-width DTypes using the string ufuncs should now generate much more uniform results.
(gh-27636)
Improved support for empty
memmap. Previously an emptymemmapwould fail unless a non-zerooffsetwas set. Now a zero-sizememmapis supported even ifoffset=0. To achieve this, if amemmapis mapped to an empty file that file is padded with a single byte.(gh-27723)
f2pyhandles multiple modules and exposes variables again. A regression has been fixed which allows F2PY users to expose variables to Python in modules with only assignments, and also fixes situations where multiple modules are present within a single source file.(gh-27695)
Performance improvements and changes
NumPy now uses fast-on-failure attribute lookups for protocols. This can greatly reduce overheads of function calls or array creation especially with custom Python objects. The largest improvements will be seen on Python 3.12 or newer.
(gh-27119)
OpenBLAS on x86_64 and i686 is built with fewer kernels. Based on benchmarking, there are 5 clusters of performance around these kernels:
PRESCOTT NEHALEM SANDYBRIDGE HASWELL SKYLAKEX.OpenBLAS on windows is linked without quadmath, simplifying licensing
Due to a regression in OpenBLAS on windows, the performance improvements when using multiple threads for OpenBLAS 0.3.26 were reverted.
(gh-27147)
NumPy now indicates hugepages also for large
np.zerosallocations on linux. Thus should generally improve performance.(gh-27808)
Changes
numpy.fixnow won\'t perform casting to a floating data-type for integer and boolean data-type input arrays.(gh-26766)
The type annotations of
numpy.float64andnumpy.complex128now reflect that they are also subtypes of the built-infloatandcomplextypes, respectively. This update prevents static type-checkers from reporting errors in cases such as:python x: float = numpy.float64(6.28) # valid z: complex = numpy.complex128(-1j) # valid(gh-27334)
The
reprof arrays large enough to be summarized (i.e., where elements are replaced with...) now includes theshapeof the array, similar to what already was the case for arrays with zero size and non-obvious shape. With this change, the shape is always given when it cannot be inferred from the values. Note that while written asshape=..., this argument cannot actually be passed in to thenp.arrayconstructor. If you encounter problems, e.g., due to failing doctests, you can use the print optionlegacy=2.1to get the old behaviour.(gh-27482)
Calling
__array_wrap__directly on NumPy arrays or scalars now does the right thing whenreturn_scalaris passed (Added in NumPy 2). It is further safe now to call the scalar__array_wrap__on a non-scalar result.(gh-27807)
Bump the musllinux CI image and wheels to 12 from 11. This is because 1_1 is end of life.
(gh-27088)
NEP 50 promotion state option removed
The NEP 50 promotion state settings are now removed. They were always meant as temporary means for testing. A warning will be given if the environment variable is set to anything but
NPY_PROMOTION_STATE=weakwhile_set_promotion_stateand_get_promotion_stateare removed. In case code used_no_nep50_warning, acontextlib.nullcontextcould be used to replace it when not available.(gh-27156)
Checksums
MD5
83746dfc1b7774a6677a69c705b83afe numpy-2.2.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
e69c45cf5ea08fdf2a5527190a7d6549 numpy-2.2.0rc1-cp310-cp310-macosx_11_0_arm64.whl
d4f8048977139cb229875c201f605369 numpy-2.2.0rc1-cp310-cp310-macosx_14_0_arm64.whl
8710578b7f4ceef7f73b6d234ad3a82a numpy-2.2.0rc1-cp310-cp310-macosx_14_0_x86_64.whl
899d1f24d8e5570695a024908d100174 numpy-2.2.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
cb768ee568bed2e4f55d47f43c655bc2 numpy-2.2.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5a40726db153ca1984598323cc59eb9b numpy-2.2.0rc1-cp310-cp310-musllinux_1_2_aarch64.whl
450e5e05bdc5551c0a4df2a8d7f09925 numpy-2.2.0rc1-cp310-cp310-musllinux_1_2_x86_64.whl
1c34c86b0abaa5d2a75677044a7fca07 numpy-2.2.0rc1-cp310-cp310-win32.whl
d679ad13f3892325fd4542931ee74852 numpy-2.2.0rc1-cp310-cp310-win_amd64.whl
a7a8cf5fa2e3d4bd0131ad48c0215f50 numpy-2.2.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
aa6c629290d8b05b44fbbf805fb39dbe numpy-2.2.0rc1-cp311-cp311-macosx_11_0_arm64.whl
a04fe8ac96a5226686ec4190db8511d6 numpy-2.2.0rc1-cp311-cp311-macosx_14_0_arm64.whl
50aedb2a570a7867e860d98eb816bec4 numpy-2.2.0rc1-cp311-cp311-macosx_14_0_x86_64.whl
cd034c5179ee4cc5669ae36be0deb6ab numpy-2.2.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
67e3336cdcdcf72cd07978a465e61ebd numpy-2.2.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
45456522fc3996937f1b1ad8bd7f85b2 numpy-2.2.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl
244dcedc05e96c843853738bc2d37bdb numpy-2.2.0rc1-cp311-cp311-musllinux_1_2_x86_64.whl
da24dd620b6509740a1d8aebe4d1306c numpy-2.2.0rc1-cp311-cp311-win32.whl
472e5f997dc437b8115ba4ef70a6a266 numpy-2.2.0rc1-cp311-cp311-win_amd64.whl
6e4ec4f92f8b0768d679419360098a89 numpy-2.2.0rc1-cp312-cp312-macosx_10_13_x86_64.whl
e15a1756fbe98aa61cb8d98de1d516fc numpy-2.2.0rc1-cp312-cp312-macosx_11_0_arm64.whl
6c58bba6f453ad22a651f6f0f6416899 numpy-2.2.0rc1-cp312-cp312-macosx_14_0_arm64.whl
1a00dd2343f8ec48350b39f72e2c4fa1 numpy-2.2.0rc1-cp312-cp312-macosx_14_0_x86_64.whl
cbe9b6d14530bdfb75ef61f4328f6b9e numpy-2.2.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a4f14055b4cfafab7035f35e61c6cebb numpy-2.2.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8c3c80295b92ae839fcb1fc2ab2edf0e numpy-2.2.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl
1a5aac9894d1959e1cbbcf58e3aa98d1 numpy-2.2.0rc1-cp312-cp312-musllinux_1_2_x86_64.whl
03577c58315ae4b28c3111be0af0c18a numpy-2.2.0rc1-cp312-cp312-win32.whl
c8ed06acb7e1b885081e682a391524d8 numpy-2.2.0rc1-cp312-cp312-win_amd64.whl
53955ed28cb43f004ccd9f2f1e07b0d4 numpy-2.2.0rc1-cp313-cp313-macosx_10_13_x86_64.whl
dffe0e20843d5e331358206b535c47f7 numpy-2.2.0rc1-cp313-cp313-macosx_11_0_arm64.whl
1f22dc1bc3dd3bf645a35a8c58e07ac3 numpy-2.2.0rc1-cp313-cp313-macosx_14_0_arm64.whl
57bb0a9d61444162269751eb861bef75 numpy-2.2.0rc1-cp313-cp313-macosx_14_0_x86_64.whl
b38fd53f8f162a833b89e32b52d6f0b5 numpy-2.2.0rc1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f8975385402dfa988efe0121adcb3b83 numpy-2.2.0rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8b739c89e3c67210467ac0855623da47 numpy-2.2.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl
902e1f704a187a85f02f71877ed69baf numpy-2.2.0rc1-cp313-cp313-musllinux_1_2_x86_64.whl
fc33a9a4c895b2463672d01e75431a8f numpy-2.2.0rc1-cp313-cp313-win32.whl
f57eb3377cf0acf5ce165034e5d3d061 numpy-2.2.0rc1-cp313-cp313-win_amd64.whl
4dff6567391c376daf27f2a144a4142d numpy-2.2.0rc1-cp313-cp313t-macosx_10_13_x86_64.whl
5195eeac3d355592ec97db04cea7fb43 numpy-2.2.0rc1-cp313-cp313t-macosx_11_0_arm64.whl
9a5e6fb707b1bc448d6f5eb226757581 numpy-2.2.0rc1-cp313-cp313t-macosx_14_0_arm64.whl
455ef245987926bb966565de0f68d00f numpy-2.2.0rc1-cp313-cp313t-macosx_14_0_x86_64.whl
f10882cf7238a03896903b337bce2b05 numpy-2.2.0rc1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8889da4b211ca3edba34518306115a81 numpy-2.2.0rc1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1d29f0a150c39b500b4f0b1e4c625e9b numpy-2.2.0rc1-cp313-cp313t-musllinux_1_2_aarch64.whl
dcf499ab9d350e3414368a106c714256 numpy-2.2.0rc1-cp313-cp313t-musllinux_1_2_x86_64.whl
af48c02a9130ad93e93a55ebf87b5c78 numpy-2.2.0rc1-cp313-cp313t-win32.whl
290c12deaff6df2e54569563a8f1316a numpy-2.2.0rc1-cp313-cp313t-win_amd64.whl
fce62da0e31ae09237cf241c77e54498 numpy-2.2.0rc1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
85acaaaa495d92bc52631a6a0654fd8e numpy-2.2.0rc1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
cb0482e5c60d706b9b0e9ce8dac9d8a6 numpy-2.2.0rc1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
67390891e461b1983aadab51bc96a78b numpy-2.2.0rc1-pp310-pypy310_pp73-win_amd64.whl
4836fdb3009f043287f011b5f6d18208 numpy-2.2.0rc1.tar.gz
SHA256
acd4f4e9f8c3c04c9a695333d4f475ec2f7a577342b469b411f7ffb2a2888fdc numpy-2.2.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
8c3cd769a38a363fe21077ad137ee43be639464e5f257821a4cc4d4e2016deea numpy-2.2.0rc1-cp310-cp310-macosx_11_0_arm64.whl
72fa15a5f801faf598e6633a6efcb5661085f509f8f6631a0c2c86be06631b78 numpy-2.2.0rc1-cp310-cp310-macosx_14_0_arm64.whl
44d55304a7397d6e89707af99ea8e980a101a7ff01dd768aaaca16b2312c799b numpy-2.2.0rc1-cp310-cp310-macosx_14_0_x86_64.whl
8a25595d5951ad46bec827dfee09328b8da041fc3f7f13f63880274ed4ec215e numpy-2.2.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c335bd4e3395b8209a011b97e5f9876092fb2dc283933d39620a30c1fa82dfab numpy-2.2.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5ac124ab756ad56a14cdfcdc69cc220befbfb1162fdf3ca4f6eb1a0ace634c56 numpy-2.2.0rc1-cp310-cp310-musllinux_1_2_aarch64.whl
2f7861ff2b862e2536f2256acf5dcf1909e927a5f5e940dfd488eecd178a96b6 numpy-2.2.0rc1-cp310-cp310-musllinux_1_2_x86_64.whl
e2d4b5a37cf5df43ffdabe0ebea150d5ec0a1796ad7122b3a780f1ab646708c8 numpy-2.2.0rc1-cp310-cp310-win32.whl
7a3261b3b7d1403a65112dbad568eee7de596cebd0267e27e7daaa9e08dd396a numpy-2.2.0rc1-cp310-cp310-win_amd64.whl
61915861927b8e20223b7ccbe40ebf3f52220c0fca43be8423087348c7c00418 numpy-2.2.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
8815f7e6d48dbcf4f14704d79b90c8fee1a68a42886d42e9c8209092e684bd99 numpy-2.2.0rc1-cp311-cp311-macosx_11_0_arm64.whl
3e80348e6d187573dc2bb6b1d862fc32353db371ae063d25b2199f65adc96ff1 numpy-2.2.0rc1-cp311-cp311-macosx_14_0_arm64.whl
8fb79fe9bfefb2b43f701090f70413fb535f10bfdfab1981b7c02bd406cc39dd numpy-2.2.0rc1-cp311-cp311-macosx_14_0_x86_64.whl
042b6a87c48307955049b338981ff9278fa5e7ff3166bbd0d3294f40726d22d5 numpy-2.2.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
94251286fd3cec5552f217030af4cae68f7a1db4f1791765e597b6d9c0a7647a numpy-2.2.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ffaa01305af250d733d9940c694d206a0c7d1ea2bd5a01bcb5ff7e48c3e6adac numpy-2.2.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl
37e6413ed8f66df534631058771ca362939e243da725b5e8537d8c64b664e9b2 numpy-2.2.0rc1-cp311-cp311-musllinux_1_2_x86_64.whl
7bd86cdae85da5fa8763fbe9acfdb4748e1f10bef5e6524bffdfdd2b21bfd56f numpy-2.2.0rc1-cp311-cp311-win32.whl
27f2593fe479dff6f4398563ca2fbf7a416fd8d3a8ad7a35fecbc8ba959000ab numpy-2.2.0rc1-cp311-cp311-win_amd64.whl
f721298f4c39b4619b16ba0d341ff5e043d4123dfb796bd84835538bf8abad2b numpy-2.2.0rc1-cp312-cp312-macosx_10_13_x86_64.whl
aed72fe759ada921342b4a8ae0893cc7778b07d2f36a78445c70d5ea633c3b25 numpy-2.2.0rc1-cp312-cp312-macosx_11_0_arm64.whl
c940b9623e29db06b7d0d3c93c560d42bbd73a76f6d27c41d3fd09c0a15f7773 numpy-2.2.0rc1-cp312-cp312-macosx_14_0_arm64.whl
a783f561c34be98eb25f8cce029b63434d2dfe79702a1d53e9a0fd63c0391dc8 numpy-2.2.0rc1-cp312-cp312-macosx_14_0_x86_64.whl
d0db426baa0d9547d9ac3ea08110e9bba400fab7a036235d9baddf61fd931af8 numpy-2.2.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7925618745531971be54a87e0b85dfe83c69dac9dfd8e46c8aaae520af05792b numpy-2.2.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5d7a819d4d31bf9998c907105d97a082919b659ff8d44cef2c4f78d0ac16af47 numpy-2.2.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl
0b6cb83ab76b101b87211ab6227e010789adf4a98ee4af07a2480d1d2f61d195 numpy-2.2.0rc1-cp312-cp312-musllinux_1_2_x86_64.whl
dc86f8502db8dfbe3474a34395e453849d03f0717227f7bda57a235cbbee3575 numpy-2.2.0rc1-cp312-cp312-win32.whl
a87c1a4d808de26157440153bb9c51d7dc4778c6cd730026406298b75fa5c2df numpy-2.2.0rc1-cp312-cp312-win_amd64.whl
c2ef440fc343cc11e8e1591bf77b0f4f21b0684feabdf7b3ec3d768b8cce7a05 numpy-2.2.0rc1-cp313-cp313-macosx_10_13_x86_64.whl
4332ddb4f40e85f6cdf1594279b35e847a20054c3269f7f2e848b6075cb8f4b3 numpy-2.2.0rc1-cp313-cp313-macosx_11_0_arm64.whl
dc532dd1c767864614f383cad63edf864f78df3533b6444d94af099583c8fb39 numpy-2.2.0rc1-cp313-cp313-macosx_14_0_arm64.whl
ecc601c633667ea5eed0c16f987e4c715ee951d0bfa3658f76b690e8dceaddfd numpy-2.2.0rc1-cp313-cp313-macosx_14_0_x86_64.whl
38405f26748e7ed4c7b31e5f8c24f385e1daf4954628f6143f5a09047e220ca9 numpy-2.2.0rc1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e515a7d5f5e1b32eb9e761de4f0327aceee27ec07cc655d26424a5e86d3c8d0d numpy-2.2.0rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fd3981aa01428eef69fe5ff2e97e3ca8e65e677ffacc7c447e164ae2aaf521fb numpy-2.2.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl
61a04f035bd4f87d6c0592eaa06061f9f16bf0e11d546e3b9252ccf83f0917a6 numpy-2.2.0rc1-cp313-cp313-musllinux_1_2_x86_64.whl
1b18bf71975be1728042ba232d7406ae2f6fed8431684851fda4b909ab6e20ce numpy-2.2.0rc1-cp313-cp313-win32.whl
5776d7b395dcf180bc807a9374aca05b6569e5e5e4bdcbf112aa452a471405e0 numpy-2.2.0rc1-cp313-cp313-win_amd64.whl
3f0d900e60e783fa9965729fa2a17021add82d769bf298cdb407abcbbf316e28 numpy-2.2.0rc1-cp313-cp313t-macosx_10_13_x86_64.whl
def9537da892cd995f81646df94021fbf0dce690d518daaabc0902bc8ce42cd9 numpy-2.2.0rc1-cp313-cp313t-macosx_11_0_arm64.whl
f2b59a4e85367107dced5b3c7374a5e828ddb7c5c4e1d98176d09b177e23edd0 numpy-2.2.0rc1-cp313-cp313t-macosx_14_0_arm64.whl
9c3bdfe13209bf4f81aea5f8dd2843ab17c9a9273133d491c220636bfd51432d numpy-2.2.0rc1-cp313-cp313t-macosx_14_0_x86_64.whl
b0b742731c2721445a03e469f286c9ddf15dd80e52622ea4487ddc10a7869fe9 numpy-2.2.0rc1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8c43d7beaab6509f1467175cc7cfdcc048581b91ba55e149cc39af758209b166 numpy-2.2.0rc1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
598b88170e0f361d2f6d8cc9ec18d798af07a2e9b30b95ba2d76415b7c3cc433 numpy-2.2.0rc1-cp313-cp313t-musllinux_1_2_aarch64.whl
ddb4720b057048d7ac3ce973256e89e1e7481f71b5a214a0a3be936aeda014e7 numpy-2.2.0rc1-cp313-cp313t-musllinux_1_2_x86_64.whl
64b994b9054ab051d137fff61bb6244aa1e7a80defa42c507355b562cc44a561 numpy-2.2.0rc1-cp313-cp313t-win32.whl
67d2f5c34f231e7ed59189c20f8b7472b77cff85277bcd80537417eee61977db numpy-2.2.0rc1-cp313-cp313t-win_amd64.whl
d4bbc95647ce01252827d4c6ea5de42460ea66d75831333f2b92f088b60e1b43 numpy-2.2.0rc1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
d8d13dd7b6f1f14c43ff68e81c8edcb035f572d87507b5f629e78a7d8c61e9f4 numpy-2.2.0rc1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
d12bf735dc4e7dfa8c66b2fd47547bcf91c9996585324959e2c5a2f5360e1c8f numpy-2.2.0rc1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8d7de626a5e554b074890258e63d0b06eff2af48da034fe5ffef8743578b1e0b numpy-2.2.0rc1-pp310-pypy310_pp73-win_amd64.whl
d3c343e027351fbb3f7ddb0024857cd10837d6a77b40b33e39ff6706ed7ceec1 numpy-2.2.0rc1.tar.gz
- Python
Published by charris over 1 year ago
numpy - 2.1.3 (Nov 2, 2024)
NumPy 2.1.3 Release Notes
NumPy 2.1.3 is a maintenance release that fixes bugs and regressions discovered after the 2.1.2 release. This release also adds support for free threaded Python 3.13 on Windows.
The Python versions supported by this release are 3.10-3.13.
Improvements
Fixed a number of issues around promotion for string ufuncs with StringDType arguments. Mixing StringDType and the fixed-width DTypes using the string ufuncs should now generate much more uniform results.
(gh-27636)
Changes
numpy.fixnow won\'t perform casting to a floating data-type for integer and boolean data-type input arrays.(gh-26766)
Contributors
A total of 15 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Abhishek Kumar +
- Austin +
- Benjamin A. Beasley +
- Charles Harris
- Christian Lorentzen
- Marcel Telka +
- Matti Picus
- Michael Davidsaver +
- Nathan Goldbaum
- Peter Hawkins
- Raghuveer Devulapalli
- Ralf Gommers
- Sebastian Berg
- dependabot[bot]
- kp2pml30 +
Pull requests merged
A total of 21 pull requests were merged for this release.
- #27512: MAINT: prepare 2.1.x for further development
- #27537: MAINT: Bump actions/cache from 4.0.2 to 4.1.1
- #27538: MAINT: Bump pypa/cibuildwheel from 2.21.2 to 2.21.3
- #27539: MAINT: MSVC does not support #warning directive
- #27543: BUG: Fix user dtype can-cast with python scalar during promotion
- #27561: DEV: bump
pythonto 3.12 in environment.yml - #27562: BLD: update vendored Meson to 1.5.2
- #27563: BUG: weighted quantile for some zero weights (#27549)
- #27565: MAINT: Use miniforge for macos conda test.
- #27566: BUILD: satisfy gcc-13 pendantic errors
- #27569: BUG: handle possible error for PyTraceMallocTrack
- #27570: BLD: start building Windows free-threaded wheels [wheel build]
- #27571: BUILD: vendor tempita from Cython
- #27574: BUG: Fix warning \"differs in levels of indirection\" in npy_atomic.h...
- #27592: MAINT: Update Highway to latest
- #27593: BUG: Adjust numpy.i for SWIG 4.3 compatibility
- #27616: BUG: Fix Linux QEMU CI workflow
- #27668: BLD: Do not set __STDC_VERSION__ to zero during build
- #27669: ENH: fix wasm32 runtime type error in numpy._core
- #27672: BUG: Fix a reference count leak in npyfinddescrforscalar.
- #27673: BUG: fixes for StringDType/unicode promoters
Checksums
MD5
3f2f22827dd321ae86b5ab4fa888d0db numpy-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl
13da2761d1abe71731a2806537369115 numpy-2.1.3-cp310-cp310-macosx_11_0_arm64.whl
5aef4a78b69cd90d0f6fff8f88817991 numpy-2.1.3-cp310-cp310-macosx_14_0_arm64.whl
12da7f09cd5707634878f85845c9de10 numpy-2.1.3-cp310-cp310-macosx_14_0_x86_64.whl
5b999693362815b56855533469aea0ca numpy-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8c49f457127bfb4f167c91583e5167af numpy-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f31c0e80b18afc0c04cada401cbe0358 numpy-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl
2c0709812e27bcaf74d75ac8ed45614b numpy-2.1.3-cp310-cp310-musllinux_1_2_aarch64.whl
a65b28800e78942b9e60e03e96cfd0c0 numpy-2.1.3-cp310-cp310-win32.whl
d8358545732fe4ee1ecf407b06567d81 numpy-2.1.3-cp310-cp310-win_amd64.whl
34942f9a1391532e2c3168043c0021d5 numpy-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl
0d69ec06e303b5112788db68a8fdde1b numpy-2.1.3-cp311-cp311-macosx_11_0_arm64.whl
da1988c8d3a9db5947a2bd51290b8b95 numpy-2.1.3-cp311-cp311-macosx_14_0_arm64.whl
b5eba73c2abaf5a81535f4b1034fe8d2 numpy-2.1.3-cp311-cp311-macosx_14_0_x86_64.whl
63cc090209718aa1d0f0fbd3fd03bc0b numpy-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
55f14ca7b55554d4a043369ae5f1837f numpy-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4e58e0645d81ff84c0fb75311d2a97d6 numpy-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl
30235088a5f86d1f343bfec458f6292d numpy-2.1.3-cp311-cp311-musllinux_1_2_aarch64.whl
c80a03952b2f4950f1eb9d1656413fec numpy-2.1.3-cp311-cp311-win32.whl
d8c1a5a441b89591af8f09dfa0b2d4d5 numpy-2.1.3-cp311-cp311-win_amd64.whl
2cebcea71e71e8b09a25179b240ee240 numpy-2.1.3-cp312-cp312-macosx_10_13_x86_64.whl
faf5df4bd35ca362795cda193da49591 numpy-2.1.3-cp312-cp312-macosx_11_0_arm64.whl
573f195910fc3b3e9ac5379816280f89 numpy-2.1.3-cp312-cp312-macosx_14_0_arm64.whl
900548b2acb82ed0e306943fb68de802 numpy-2.1.3-cp312-cp312-macosx_14_0_x86_64.whl
81cded28bb87c4987b1d975fe768c3a1 numpy-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2b83cb346bca97475fa5e39e704c45f1 numpy-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
06d8593cb7a2aae157e028c3d4cb3c96 numpy-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl
eea8b148a6a2fee37b87291043e00bda numpy-2.1.3-cp312-cp312-musllinux_1_2_aarch64.whl
d407b7c48457789914f28004f41d6ea2 numpy-2.1.3-cp312-cp312-win32.whl
117574ee1a645e63a6d69e20c8673665 numpy-2.1.3-cp312-cp312-win_amd64.whl
0c9ffd1f1f1e96186f30a578b85da653 numpy-2.1.3-cp313-cp313-macosx_10_13_x86_64.whl
cd430b2caf09d21680616aef5d4a439d numpy-2.1.3-cp313-cp313-macosx_11_0_arm64.whl
b431935148221b79bda9490b1d069e3c numpy-2.1.3-cp313-cp313-macosx_14_0_arm64.whl
b3ff577c78097b187bd58f20b6e88642 numpy-2.1.3-cp313-cp313-macosx_14_0_x86_64.whl
8186f86f8d94a5505e6dcebe6c056ab7 numpy-2.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2c5b2381a4a4e3d9865ccb346d44a7ed numpy-2.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
85786d12388d60b904c02eb12df55b37 numpy-2.1.3-cp313-cp313-musllinux_1_1_x86_64.whl
da68282c0418a22730643906e5dd58a1 numpy-2.1.3-cp313-cp313-musllinux_1_2_aarch64.whl
fe47e181a70d3e865e5d6a27e5fa71cd numpy-2.1.3-cp313-cp313-win32.whl
8b7f290784c95cf620e0ac1af5470f1d numpy-2.1.3-cp313-cp313-win_amd64.whl
4f0c3f8c81cb6bd43a9f1f7bef7db82d numpy-2.1.3-cp313-cp313t-macosx_10_13_x86_64.whl
133905fd003c9504fc5bb9ce71e4103b numpy-2.1.3-cp313-cp313t-macosx_11_0_arm64.whl
12fe4f265dbda251309f109cbcd46f07 numpy-2.1.3-cp313-cp313t-macosx_14_0_arm64.whl
b60e418506b969e6df2c0d600bf3c6d4 numpy-2.1.3-cp313-cp313t-macosx_14_0_x86_64.whl
c2b7160b748f4c1c483a7954e5024250 numpy-2.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8097ddb45c8c821085c19d940bcbe6de numpy-2.1.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
209f55dc1ed6da23a5ea3e11ca962308 numpy-2.1.3-cp313-cp313t-musllinux_1_1_x86_64.whl
06a1792849b601c7bdd38e39bc5cb5f1 numpy-2.1.3-cp313-cp313t-musllinux_1_2_aarch64.whl
86630bf207e8cbe6933232cb2a47a6c0 numpy-2.1.3-cp313-cp313t-win32.whl
6af9109b82c0acdcf8b0e81dc0e4c517 numpy-2.1.3-cp313-cp313t-win_amd64.whl
c7e821e086346afc0078acb237f30431 numpy-2.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
5b938b2da78b1c84044df8cdb2e8e63a numpy-2.1.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
ef251f3b6aa022b1c2fac14889d6d9d3 numpy-2.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
356c7bb6067ae0dccc4a54efc1879e74 numpy-2.1.3-pp310-pypy310_pp73-win_amd64.whl
11096358375945114577a0c82b2c6038 numpy-2.1.3.tar.gz
SHA256
c894b4305373b9c5576d7a12b473702afdf48ce5369c074ba304cc5ad8730dff numpy-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl
b47fbb433d3260adcd51eb54f92a2ffbc90a4595f8970ee00e064c644ac788f5 numpy-2.1.3-cp310-cp310-macosx_11_0_arm64.whl
825656d0743699c529c5943554d223c021ff0494ff1442152ce887ef4f7561a1 numpy-2.1.3-cp310-cp310-macosx_14_0_arm64.whl
6a4825252fcc430a182ac4dee5a505053d262c807f8a924603d411f6718b88fd numpy-2.1.3-cp310-cp310-macosx_14_0_x86_64.whl
e711e02f49e176a01d0349d82cb5f05ba4db7d5e7e0defd026328e5cfb3226d3 numpy-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
78574ac2d1a4a02421f25da9559850d59457bac82f2b8d7a44fe83a64f770098 numpy-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c7662f0e3673fe4e832fe07b65c50342ea27d989f92c80355658c7f888fcc83c numpy-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl
fa2d1337dc61c8dc417fbccf20f6d1e139896a30721b7f1e832b2bb6ef4eb6c4 numpy-2.1.3-cp310-cp310-musllinux_1_2_aarch64.whl
72dcc4a35a8515d83e76b58fdf8113a5c969ccd505c8a946759b24e3182d1f23 numpy-2.1.3-cp310-cp310-win32.whl
ecc76a9ba2911d8d37ac01de72834d8849e55473457558e12995f4cd53e778e0 numpy-2.1.3-cp310-cp310-win_amd64.whl
4d1167c53b93f1f5d8a139a742b3c6f4d429b54e74e6b57d0eff40045187b15d numpy-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl
c80e4a09b3d95b4e1cac08643f1152fa71a0a821a2d4277334c88d54b2219a41 numpy-2.1.3-cp311-cp311-macosx_11_0_arm64.whl
576a1c1d25e9e02ed7fa5477f30a127fe56debd53b8d2c89d5578f9857d03ca9 numpy-2.1.3-cp311-cp311-macosx_14_0_arm64.whl
973faafebaae4c0aaa1a1ca1ce02434554d67e628b8d805e61f874b84e136b09 numpy-2.1.3-cp311-cp311-macosx_14_0_x86_64.whl
762479be47a4863e261a840e8e01608d124ee1361e48b96916f38b119cfda04a numpy-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bc6f24b3d1ecc1eebfbf5d6051faa49af40b03be1aaa781ebdadcbc090b4539b numpy-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
17ee83a1f4fef3c94d16dc1802b998668b5419362c8a4f4e8a491de1b41cc3ee numpy-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl
15cb89f39fa6d0bdfb600ea24b250e5f1a3df23f901f51c8debaa6a5d122b2f0 numpy-2.1.3-cp311-cp311-musllinux_1_2_aarch64.whl
d9beb777a78c331580705326d2367488d5bc473b49a9bc3036c154832520aca9 numpy-2.1.3-cp311-cp311-win32.whl
d89dd2b6da69c4fff5e39c28a382199ddedc3a5be5390115608345dec660b9e2 numpy-2.1.3-cp311-cp311-win_amd64.whl
f55ba01150f52b1027829b50d70ef1dafd9821ea82905b63936668403c3b471e numpy-2.1.3-cp312-cp312-macosx_10_13_x86_64.whl
13138eadd4f4da03074851a698ffa7e405f41a0845a6b1ad135b81596e4e9958 numpy-2.1.3-cp312-cp312-macosx_11_0_arm64.whl
a6b46587b14b888e95e4a24d7b13ae91fa22386c199ee7b418f449032b2fa3b8 numpy-2.1.3-cp312-cp312-macosx_14_0_arm64.whl
0fa14563cc46422e99daef53d725d0c326e99e468a9320a240affffe87852564 numpy-2.1.3-cp312-cp312-macosx_14_0_x86_64.whl
8637dcd2caa676e475503d1f8fdb327bc495554e10838019651b76d17b98e512 numpy-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2312b2aa89e1f43ecea6da6ea9a810d06aae08321609d8dc0d0eda6d946a541b numpy-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a38c19106902bb19351b83802531fea19dee18e5b37b36454f27f11ff956f7fc numpy-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl
02135ade8b8a84011cbb67dc44e07c58f28575cf9ecf8ab304e51c05528c19f0 numpy-2.1.3-cp312-cp312-musllinux_1_2_aarch64.whl
e6988e90fcf617da2b5c78902fe8e668361b43b4fe26dbf2d7b0f8034d4cafb9 numpy-2.1.3-cp312-cp312-win32.whl
0d30c543f02e84e92c4b1f415b7c6b5326cbe45ee7882b6b77db7195fb971e3a numpy-2.1.3-cp312-cp312-win_amd64.whl
96fe52fcdb9345b7cd82ecd34547fca4321f7656d500eca497eb7ea5a926692f numpy-2.1.3-cp313-cp313-macosx_10_13_x86_64.whl
f653490b33e9c3a4c1c01d41bc2aef08f9475af51146e4a7710c450cf9761598 numpy-2.1.3-cp313-cp313-macosx_11_0_arm64.whl
dc258a761a16daa791081d026f0ed4399b582712e6fc887a95af09df10c5ca57 numpy-2.1.3-cp313-cp313-macosx_14_0_arm64.whl
016d0f6f5e77b0f0d45d77387ffa4bb89816b57c835580c3ce8e099ef830befe numpy-2.1.3-cp313-cp313-macosx_14_0_x86_64.whl
c181ba05ce8299c7aa3125c27b9c2167bca4a4445b7ce73d5febc411ca692e43 numpy-2.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5641516794ca9e5f8a4d17bb45446998c6554704d888f86df9b200e66bdcce56 numpy-2.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ea4dedd6e394a9c180b33c2c872b92f7ce0f8e7ad93e9585312b0c5a04777a4a numpy-2.1.3-cp313-cp313-musllinux_1_1_x86_64.whl
b0df3635b9c8ef48bd3be5f862cf71b0a4716fa0e702155c45067c6b711ddcef numpy-2.1.3-cp313-cp313-musllinux_1_2_aarch64.whl
50ca6aba6e163363f132b5c101ba078b8cbd3fa92c7865fd7d4d62d9779ac29f numpy-2.1.3-cp313-cp313-win32.whl
747641635d3d44bcb380d950679462fae44f54b131be347d5ec2bce47d3df9ed numpy-2.1.3-cp313-cp313-win_amd64.whl
996bb9399059c5b82f76b53ff8bb686069c05acc94656bb259b1d63d04a9506f numpy-2.1.3-cp313-cp313t-macosx_10_13_x86_64.whl
45966d859916ad02b779706bb43b954281db43e185015df6eb3323120188f9e4 numpy-2.1.3-cp313-cp313t-macosx_11_0_arm64.whl
baed7e8d7481bfe0874b566850cb0b85243e982388b7b23348c6db2ee2b2ae8e numpy-2.1.3-cp313-cp313t-macosx_14_0_arm64.whl
a9f7f672a3388133335589cfca93ed468509cb7b93ba3105fce780d04a6576a0 numpy-2.1.3-cp313-cp313t-macosx_14_0_x86_64.whl
d7aac50327da5d208db2eec22eb11e491e3fe13d22653dce51b0f4109101b408 numpy-2.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4394bc0dbd074b7f9b52024832d16e019decebf86caf909d94f6b3f77a8ee3b6 numpy-2.1.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
50d18c4358a0a8a53f12a8ba9d772ab2d460321e6a93d6064fc22443d189853f numpy-2.1.3-cp313-cp313t-musllinux_1_1_x86_64.whl
14e253bd43fc6b37af4921b10f6add6925878a42a0c5fe83daee390bca80bc17 numpy-2.1.3-cp313-cp313t-musllinux_1_2_aarch64.whl
08788d27a5fd867a663f6fc753fd7c3ad7e92747efc73c53bca2f19f8bc06f48 numpy-2.1.3-cp313-cp313t-win32.whl
2564fbdf2b99b3f815f2107c1bbc93e2de8ee655a69c261363a1172a79a257d4 numpy-2.1.3-cp313-cp313t-win_amd64.whl
4f2015dfe437dfebbfce7c85c7b53d81ba49e71ba7eadbf1df40c915af75979f numpy-2.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
3522b0dfe983a575e6a9ab3a4a4dfe156c3e428468ff08ce582b9bb6bd1d71d4 numpy-2.1.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
c006b607a865b07cd981ccb218a04fc86b600411d83d6fc261357f1c0966755d numpy-2.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e14e26956e6f1696070788252dcdff11b4aca4c3e8bd166e0df1bb8f315a67cb numpy-2.1.3-pp310-pypy310_pp73-win_amd64.whl
aa08e04e08aaf974d4458def539dece0d28146d866a39da5639596f4921fd761 numpy-2.1.3.tar.gz
- Python
Published by charris over 1 year ago
numpy - 2.1.2 (Oct 5, 2024)
NumPy 2.1.2 Release Notes
NumPy 2.1.2 is a maintenance release that fixes bugs and regressions discovered after the 2.1.1 release.
The Python versions supported by this release are 3.10-3.13.
Contributors
A total of 11 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Charles Harris
- Chris Sidebottom
- Ishan Koradia +
- João Eiras +
- Katie Rust +
- Marten van Kerkwijk
- Matti Picus
- Nathan Goldbaum
- Peter Hawkins
- Pieter Eendebak
- Slava Gorloff +
Pull requests merged
A total of 14 pull requests were merged for this release.
- #27333: MAINT: prepare 2.1.x for further development
- #27400: BUG: apply critical sections around populating the dispatch cache
- #27406: BUG: Stub out getbuildmsvc_version if distutils.msvccompiler...
- #27416: BUILD: fix missing include for std::ptrdiff_t for C++23 language...
- #27433: BLD: pin setuptools to avoid breaking numpy.distutils
- #27437: BUG: Allow unsigned shift argument for np.roll
- #27439: BUG: Disable SVE VQSort
- #27471: BUG: rfftn axis bug
- #27479: BUG: Fix extra decref of PyArray_UInt8DType.
- #27480: CI: use PyPI not scientific-python-nightly-wheels for CI doc...
- #27481: MAINT: Check for SVE support on demand
- #27484: BUG: initialize the promotion state to be weak
- #27501: MAINT: Bump pypa/cibuildwheel from 2.20.0 to 2.21.2
- #27506: BUG: avoid segfault on bad arguments in ndarray.__array_function__
Checksums
MD5
4aae28b7919b126485c1aaccee37a6ba numpy-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl
172614423a82ef73d8752ad8a59cbafc numpy-2.1.2-cp310-cp310-macosx_11_0_arm64.whl
5ee5e7a8a892cbe96ee228ca5fe7546b numpy-2.1.2-cp310-cp310-macosx_14_0_arm64.whl
9ce6f9222dfabd32e66b883f1fe015aa numpy-2.1.2-cp310-cp310-macosx_14_0_x86_64.whl
291da8bfeb7c9a3491ec35ecb2596335 numpy-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9317d9b049f09c0193f074a6458cf79b numpy-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1f2c121533715d8b099d6498e4498f81 numpy-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl
2834df46e2cb2e81cbe4fd1ce9b96b4b numpy-2.1.2-cp310-cp310-musllinux_1_2_aarch64.whl
cbc3ae2c176324fe2a9c04ec0aff181f numpy-2.1.2-cp310-cp310-win32.whl
e4d74f9d188dc3fe7a65adf8c01e98cc numpy-2.1.2-cp310-cp310-win_amd64.whl
cbcece9c21ed1daf60f3729a37b32266 numpy-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl
0e62474993ff6faca9c467f68cc16ceb numpy-2.1.2-cp311-cp311-macosx_11_0_arm64.whl
8747e85e09b2000a0af5a8226740dc92 numpy-2.1.2-cp311-cp311-macosx_14_0_arm64.whl
34e7f3591ce81926518a36c92038a056 numpy-2.1.2-cp311-cp311-macosx_14_0_x86_64.whl
0ec3e617161b42d643aaa4b8d3e477f5 numpy-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e2a6a419b4672bfb4f3f6a98c0e575bb numpy-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8c14b4d03fc8672e43eddd3ede89be09 numpy-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl
dc183e12b24317bf210fb093da598d29 numpy-2.1.2-cp311-cp311-musllinux_1_2_aarch64.whl
4918f2c32ca3be20c7c5d8551e649757 numpy-2.1.2-cp311-cp311-win32.whl
a8991919b6fae3c7a77c260f60a5e2e2 numpy-2.1.2-cp311-cp311-win_amd64.whl
879f307d16f9222c49508be5ea6491fc numpy-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl
fe9dfac7bee0cff178737e1706aee61a numpy-2.1.2-cp312-cp312-macosx_11_0_arm64.whl
1f0c671db3294f4df8bffedc41a2e37f numpy-2.1.2-cp312-cp312-macosx_14_0_arm64.whl
d131c4bd6ba29b05a5b7fa74e87a0506 numpy-2.1.2-cp312-cp312-macosx_14_0_x86_64.whl
8f9cca33590be334d44cc026a3716966 numpy-2.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3692a9290dd430e56e1b15387c25b7af numpy-2.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3549439284dbb1a05785b535c3de60d9 numpy-2.1.2-cp312-cp312-musllinux_1_1_x86_64.whl
b9934410f20505e5c4b70974cd8fdc26 numpy-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl
96759e3380e4893b9b88d5d498d856b2 numpy-2.1.2-cp312-cp312-win32.whl
f94c7405ed72a136e374ab82400fefdc numpy-2.1.2-cp312-cp312-win_amd64.whl
2ea775cb4da02f39edf3089af60bddd5 numpy-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl
354d0970154dd002573f4291e0e9de76 numpy-2.1.2-cp313-cp313-macosx_11_0_arm64.whl
bbfee75640b337e12f894d0b54727d66 numpy-2.1.2-cp313-cp313-macosx_14_0_arm64.whl
a443fff50571df87f687ad55c9060d25 numpy-2.1.2-cp313-cp313-macosx_14_0_x86_64.whl
9f8cd7de5b5aa5ad8ba52608a4b0a3b8 numpy-2.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c198fe3deaa77fb94d15284b4e26b875 numpy-2.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0a59171c983fc2d8ea599bdf382c3d6a numpy-2.1.2-cp313-cp313-musllinux_1_1_x86_64.whl
5ba974cd59fb8c9fc94787c754a5f636 numpy-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl
93d5c642606fe8abeff0e6db31ebe88f numpy-2.1.2-cp313-cp313-win32.whl
f6455bb4311ddde071a5ea2e14016003 numpy-2.1.2-cp313-cp313-win_amd64.whl
d2a21857c924d4b1b3c8ae8a9e9b9bb4 numpy-2.1.2-cp313-cp313t-macosx_10_13_x86_64.whl
cd6afcbd05835255750a2fba6012c565 numpy-2.1.2-cp313-cp313t-macosx_11_0_arm64.whl
d2fab663ea84f1cfe13dfc00dae74fb6 numpy-2.1.2-cp313-cp313t-macosx_14_0_arm64.whl
9477b923000d63617324c487a4ce0e28 numpy-2.1.2-cp313-cp313t-macosx_14_0_x86_64.whl
84b621a2c9a8c077bc9c471abd2b3933 numpy-2.1.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b1c341c7192d03e8f0f5e7c4b9b6f894 numpy-2.1.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b59750ea55cf274854f64109bf67a112 numpy-2.1.2-cp313-cp313t-musllinux_1_1_x86_64.whl
33f4d63f81ad85c1ea873197f2189d89 numpy-2.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl
f26a9ac42953c84c94f8203b2dbc61c0 numpy-2.1.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
e7cf2857582d507dfa3e8644dd3562a6 numpy-2.1.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
9e3d44cb302c629c00fde8f25809b04d numpy-2.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3f97ee2d9962cf9d84624f725bdd2a8f numpy-2.1.2-pp310-pypy310_pp73-win_amd64.whl
3d92e07d34f60dbac6b82a0982a98757 numpy-2.1.2.tar.gz
SHA256
30d53720b726ec36a7f88dc873f0eec8447fbc93d93a8f079dfac2629598d6ee numpy-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl
e8d3ca0a72dd8846eb6f7dfe8f19088060fcb76931ed592d29128e0219652884 numpy-2.1.2-cp310-cp310-macosx_11_0_arm64.whl
fc44e3c68ff00fd991b59092a54350e6e4911152682b4782f68070985aa9e648 numpy-2.1.2-cp310-cp310-macosx_14_0_arm64.whl
7c1c60328bd964b53f8b835df69ae8198659e2b9302ff9ebb7de4e5a5994db3d numpy-2.1.2-cp310-cp310-macosx_14_0_x86_64.whl
6cdb606a7478f9ad91c6283e238544451e3a95f30fb5467fbf715964341a8a86 numpy-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d666cb72687559689e9906197e3bec7b736764df6a2e58ee265e360663e9baf7 numpy-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c6eef7a2dbd0abfb0d9eaf78b73017dbfd0b54051102ff4e6a7b2980d5ac1a03 numpy-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl
12edb90831ff481f7ef5f6bc6431a9d74dc0e5ff401559a71e5e4611d4f2d466 numpy-2.1.2-cp310-cp310-musllinux_1_2_aarch64.whl
a65acfdb9c6ebb8368490dbafe83c03c7e277b37e6857f0caeadbbc56e12f4fb numpy-2.1.2-cp310-cp310-win32.whl
860ec6e63e2c5c2ee5e9121808145c7bf86c96cca9ad396c0bd3e0f2798ccbe2 numpy-2.1.2-cp310-cp310-win_amd64.whl
b42a1a511c81cc78cbc4539675713bbcf9d9c3913386243ceff0e9429ca892fe numpy-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl
faa88bc527d0f097abdc2c663cddf37c05a1c2f113716601555249805cf573f1 numpy-2.1.2-cp311-cp311-macosx_11_0_arm64.whl
c82af4b2ddd2ee72d1fc0c6695048d457e00b3582ccde72d8a1c991b808bb20f numpy-2.1.2-cp311-cp311-macosx_14_0_arm64.whl
13602b3174432a35b16c4cfb5de9a12d229727c3dd47a6ce35111f2ebdf66ff4 numpy-2.1.2-cp311-cp311-macosx_14_0_x86_64.whl
1ebec5fd716c5a5b3d8dfcc439be82a8407b7b24b230d0ad28a81b61c2f4659a numpy-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e2b49c3c0804e8ecb05d59af8386ec2f74877f7ca8fd9c1e00be2672e4d399b1 numpy-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2cbba4b30bf31ddbe97f1c7205ef976909a93a66bb1583e983adbd155ba72ac2 numpy-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl
8e00ea6fc82e8a804433d3e9cedaa1051a1422cb6e443011590c14d2dea59146 numpy-2.1.2-cp311-cp311-musllinux_1_2_aarch64.whl
5006b13a06e0b38d561fab5ccc37581f23c9511879be7693bd33c7cd15ca227c numpy-2.1.2-cp311-cp311-win32.whl
f1eb068ead09f4994dec71c24b2844f1e4e4e013b9629f812f292f04bd1510d9 numpy-2.1.2-cp311-cp311-win_amd64.whl
d7bf0a4f9f15b32b5ba53147369e94296f5fffb783db5aacc1be15b4bf72f43b numpy-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl
b1d0fcae4f0949f215d4632be684a539859b295e2d0cb14f78ec231915d644db numpy-2.1.2-cp312-cp312-macosx_11_0_arm64.whl
f751ed0a2f250541e19dfca9f1eafa31a392c71c832b6bb9e113b10d050cb0f1 numpy-2.1.2-cp312-cp312-macosx_14_0_arm64.whl
bd33f82e95ba7ad632bc57837ee99dba3d7e006536200c4e9124089e1bf42426 numpy-2.1.2-cp312-cp312-macosx_14_0_x86_64.whl
1b8cde4f11f0a975d1fd59373b32e2f5a562ade7cde4f85b7137f3de8fbb29a0 numpy-2.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6d95f286b8244b3649b477ac066c6906fbb2905f8ac19b170e2175d3d799f4df numpy-2.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ab4754d432e3ac42d33a269c8567413bdb541689b02d93788af4131018cbf366 numpy-2.1.2-cp312-cp312-musllinux_1_1_x86_64.whl
e585c8ae871fd38ac50598f4763d73ec5497b0de9a0ab4ef5b69f01c6a046142 numpy-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl
9c6c754df29ce6a89ed23afb25550d1c2d5fdb9901d9c67a16e0b16eaf7e2550 numpy-2.1.2-cp312-cp312-win32.whl
456e3b11cb79ac9946c822a56346ec80275eaf2950314b249b512896c0d2505e numpy-2.1.2-cp312-cp312-win_amd64.whl
a84498e0d0a1174f2b3ed769b67b656aa5460c92c9554039e11f20a05650f00d numpy-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl
4d6ec0d4222e8ffdab1744da2560f07856421b367928026fb540e1945f2eeeaf numpy-2.1.2-cp313-cp313-macosx_11_0_arm64.whl
259ec80d54999cc34cd1eb8ded513cb053c3bf4829152a2e00de2371bd406f5e numpy-2.1.2-cp313-cp313-macosx_14_0_arm64.whl
675c741d4739af2dc20cd6c6a5c4b7355c728167845e3c6b0e824e4e5d36a6c3 numpy-2.1.2-cp313-cp313-macosx_14_0_x86_64.whl
05b2d4e667895cc55e3ff2b56077e4c8a5604361fc21a042845ea3ad67465aa8 numpy-2.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
43cca367bf94a14aca50b89e9bc2061683116cfe864e56740e083392f533ce7a numpy-2.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
76322dcdb16fccf2ac56f99048af32259dcc488d9b7e25b51e5eca5147a3fb98 numpy-2.1.2-cp313-cp313-musllinux_1_1_x86_64.whl
32e16a03138cabe0cb28e1007ee82264296ac0983714094380b408097a418cfe numpy-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl
242b39d00e4944431a3cd2db2f5377e15b5785920421993770cddb89992c3f3a numpy-2.1.2-cp313-cp313-win32.whl
f2ded8d9b6f68cc26f8425eda5d3877b47343e68ca23d0d0846f4d312ecaa445 numpy-2.1.2-cp313-cp313-win_amd64.whl
2ffef621c14ebb0188a8633348504a35c13680d6da93ab5cb86f4e54b7e922b5 numpy-2.1.2-cp313-cp313t-macosx_10_13_x86_64.whl
ad369ed238b1959dfbade9018a740fb9392c5ac4f9b5173f420bd4f37ba1f7a0 numpy-2.1.2-cp313-cp313t-macosx_11_0_arm64.whl
d82075752f40c0ddf57e6e02673a17f6cb0f8eb3f587f63ca1eaab5594da5b17 numpy-2.1.2-cp313-cp313t-macosx_14_0_arm64.whl
1600068c262af1ca9580a527d43dc9d959b0b1d8e56f8a05d830eea39b7c8af6 numpy-2.1.2-cp313-cp313t-macosx_14_0_x86_64.whl
a26ae94658d3ba3781d5e103ac07a876b3e9b29db53f68ed7df432fd033358a8 numpy-2.1.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
13311c2db4c5f7609b462bc0f43d3c465424d25c626d95040f073e30f7570e35 numpy-2.1.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2abbf905a0b568706391ec6fa15161fad0fb5d8b68d73c461b3c1bab6064dd62 numpy-2.1.2-cp313-cp313t-musllinux_1_1_x86_64.whl
ef444c57d664d35cac4e18c298c47d7b504c66b17c2ea91312e979fcfbdfb08a numpy-2.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl
bdd407c40483463898b84490770199d5714dcc9dd9b792f6c6caccc523c00952 numpy-2.1.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
da65fb46d4cbb75cb417cddf6ba5e7582eb7bb0b47db4b99c9fe5787ce5d91f5 numpy-2.1.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
1c193d0b0238638e6fc5f10f1b074a6993cb13b0b431f64079a509d63d3aa8b7 numpy-2.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a7d80b2e904faa63068ead63107189164ca443b42dd1930299e0d1cb041cec2e numpy-2.1.2-pp310-pypy310_pp73-win_amd64.whl
13532a088217fa624c99b843eeb54640de23b3414b14aa66d023805eb731066c numpy-2.1.2.tar.gz
- Python
Published by charris over 1 year ago
numpy - 2.1.1 (Sep 3, 2024)
NumPy 2.1.1 Release Notes
NumPy 2.1.1 is a maintenance release that fixes bugs and regressions discovered after the 2.1.0 release.
The Python versions supported by this release are 3.10-3.13.
Contributors
A total of 7 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Andrew Nelson
- Charles Harris
- Mateusz Sokół
- Maximilian Weigand +
- Nathan Goldbaum
- Pieter Eendebak
- Sebastian Berg
Pull requests merged
A total of 10 pull requests were merged for this release.
- #27236: REL: Prepare for the NumPy 2.1.0 release [wheel build]
- #27252: MAINT: prepare 2.1.x for further development
- #27259: BUG: revert unintended change in the return value of set_printoptions
- #27266: BUG: fix reference counting bug in __array_interface__ implementation...
- #27267: TST: Add regression test for missing descr in array-interface
- #27276: BUG: Fix #27256 and #27257
- #27278: BUG: Fix array_equal for numeric and non-numeric scalar types
- #27287: MAINT: Update maintenance/2.1.x after the 2.0.2 release
- #27303: BLD: cp311- macosx_arm64 wheels [wheel build]
- #27304: BUG: f2py: better handle filtering of public/private subroutines
Checksums
MD5
3053a97400db800b7377749e691eb39e numpy-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl
84b752a2220dce7c96ff89eef4f4aec3 numpy-2.1.1-cp310-cp310-macosx_11_0_arm64.whl
47ed4f704a64261f07ca24ef2e674524 numpy-2.1.1-cp310-cp310-macosx_14_0_arm64.whl
b8a45caa870aee980c298053cf064d28 numpy-2.1.1-cp310-cp310-macosx_14_0_x86_64.whl
e097ad5eee572b791b4a25eedad6df4a numpy-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ae502c99315884cda7f0236a07c035c4 numpy-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
841a859d975c55090c0b60b72aab93a3 numpy-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl
d51be2b17f5b87aac64ab80fdfafc85e numpy-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl
1f8249bd725397c6233fe6a0e8ad18b1 numpy-2.1.1-cp310-cp310-win32.whl
d38d6f06589c1ec104a6a31ff6035781 numpy-2.1.1-cp310-cp310-win_amd64.whl
6a18fe3029aae00986975250313bf16f numpy-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl
5b0b3aa01fbd0b5a8b0f354bb878351e numpy-2.1.1-cp311-cp311-macosx_11_0_arm64.whl
1c492dad399abe7b97274b4c6c12ae53 numpy-2.1.1-cp311-cp311-macosx_14_0_arm64.whl
4d55d91e71b62eb5fa6561c606524f60 numpy-2.1.1-cp311-cp311-macosx_14_0_x86_64.whl
88e99ecd063c178f25bc08d20792a9bf numpy-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f3c8b0e4fb059b9219e8ec86d9fda861 numpy-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
df632b5fed7eb78d39e7194d2475c19b numpy-2.1.1-cp311-cp311-musllinux_1_1_x86_64.whl
65499daccdb178d26e322d9f359cf146 numpy-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl
eb97327fd7aa6027e2409d0dcca1129a numpy-2.1.1-cp311-cp311-win32.whl
9e4b05b38cbff22c2bdfead528b9d2bc numpy-2.1.1-cp311-cp311-win_amd64.whl
6b8a359bb865b5c624fd9ffc848393e1 numpy-2.1.1-cp312-cp312-macosx_10_9_x86_64.whl
eaf8dce312efa2b0f17ad46612fb1681 numpy-2.1.1-cp312-cp312-macosx_11_0_arm64.whl
c861ff048b336284fe7c0791b1a6b0b4 numpy-2.1.1-cp312-cp312-macosx_14_0_arm64.whl
7e1befccfe729dc5d6c450a5fb6b801c numpy-2.1.1-cp312-cp312-macosx_14_0_x86_64.whl
ea0a401ef653a167221987a10cbef260 numpy-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
97326ac792d26f2e536a519c82f2d6bc numpy-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fdd2a82232c03d11bbc7cec0a8e01ab0 numpy-2.1.1-cp312-cp312-musllinux_1_1_x86_64.whl
0d6716e9a7b2c0d6e5ace9c01b9bca01 numpy-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl
ba589ed2a79c88187c3b8574ae72a1c7 numpy-2.1.1-cp312-cp312-win32.whl
806ca7c1e2a2013b786edbb619f6da47 numpy-2.1.1-cp312-cp312-win_amd64.whl
647665353e5af5884df4e51610990c22 numpy-2.1.1-cp313-cp313-macosx_10_13_x86_64.whl
bfd3b3c5c4616ef99d917bd94d39114a numpy-2.1.1-cp313-cp313-macosx_11_0_arm64.whl
cb989095f9c74e3b32250a984390faeb numpy-2.1.1-cp313-cp313-macosx_14_0_arm64.whl
55ad7548e58f61b9a4f91749e36d237f numpy-2.1.1-cp313-cp313-macosx_14_0_x86_64.whl
5bc73d67dd1032524bfd36ef877b09e4 numpy-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c7dfb09db8284cb75296f708c3f77ea3 numpy-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7cf90ce1b844a97aeea1a5b8c71fb49b numpy-2.1.1-cp313-cp313-musllinux_1_1_x86_64.whl
6ec8baeac5f979a3b98017679d457bbc numpy-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl
1f198cb5210c76faae81359a83d58230 numpy-2.1.1-cp313-cp313-win32.whl
1766258213ad41f7e36f2209ee6d2a30 numpy-2.1.1-cp313-cp313-win_amd64.whl
f0a7a0456308dbeb739ad886f1632f16 numpy-2.1.1-cp313-cp313t-macosx_10_13_x86_64.whl
302c9cf7b4aa695974500ee1935a92c9 numpy-2.1.1-cp313-cp313t-macosx_11_0_arm64.whl
f4aa7d784992abb9bd9fe9db09c01c06 numpy-2.1.1-cp313-cp313t-macosx_14_0_arm64.whl
3bb4ae9906499609769f1774438149a5 numpy-2.1.1-cp313-cp313t-macosx_14_0_x86_64.whl
ff6b9e1993d3d540074736014b1d13af numpy-2.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
749489c091ee9c00abf1ad1ef822c3ca numpy-2.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
32d2daf4064031f365ced5036757ad8b numpy-2.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl
603dfe4ef56c01e1fc0dcc9d5e3090ed numpy-2.1.1-cp313-cp313t-musllinux_1_2_aarch64.whl
70fa2d3b78633bb6061c90e17364f27f numpy-2.1.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
9a430be5d14b689ed051eccc540dfbdc numpy-2.1.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
7291ff124e471d32c03464da18ff108d numpy-2.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e56ce141724af119c7c647a8705827a5 numpy-2.1.1-pp310-pypy310_pp73-win_amd64.whl
f63b4750618bfa5490f10cae37fde998 numpy-2.1.1.tar.gz
SHA256
c8a0e34993b510fc19b9a2ce7f31cb8e94ecf6e924a40c0c9dd4f62d0aac47d9 numpy-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl
7dd86dfaf7c900c0bbdcb8b16e2f6ddf1eb1fe39c6c8cca6e94844ed3152a8fd numpy-2.1.1-cp310-cp310-macosx_11_0_arm64.whl
5889dd24f03ca5a5b1e8a90a33b5a0846d8977565e4ae003a63d22ecddf6782f numpy-2.1.1-cp310-cp310-macosx_14_0_arm64.whl
59ca673ad11d4b84ceb385290ed0ebe60266e356641428c845b39cd9df6713ab numpy-2.1.1-cp310-cp310-macosx_14_0_x86_64.whl
13ce49a34c44b6de5241f0b38b07e44c1b2dcacd9e36c30f9c2fcb1bb5135db7 numpy-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
913cc1d311060b1d409e609947fa1b9753701dac96e6581b58afc36b7ee35af6 numpy-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
caf5d284ddea7462c32b8d4a6b8af030b6c9fd5332afb70e7414d7fdded4bfd0 numpy-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl
57eb525e7c2a8fdee02d731f647146ff54ea8c973364f3b850069ffb42799647 numpy-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl
9a8e06c7a980869ea67bbf551283bbed2856915f0a792dc32dd0f9dd2fb56728 numpy-2.1.1-cp310-cp310-win32.whl
d10c39947a2d351d6d466b4ae83dad4c37cd6c3cdd6d5d0fa797da56f710a6ae numpy-2.1.1-cp310-cp310-win_amd64.whl
0d07841fd284718feffe7dd17a63a2e6c78679b2d386d3e82f44f0108c905550 numpy-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl
b5613cfeb1adfe791e8e681128f5f49f22f3fcaa942255a6124d58ca59d9528f numpy-2.1.1-cp311-cp311-macosx_11_0_arm64.whl
0b8cc2715a84b7c3b161f9ebbd942740aaed913584cae9cdc7f8ad5ad41943d0 numpy-2.1.1-cp311-cp311-macosx_14_0_arm64.whl
b49742cdb85f1f81e4dc1b39dcf328244f4d8d1ded95dea725b316bd2cf18c95 numpy-2.1.1-cp311-cp311-macosx_14_0_x86_64.whl
e8d5f8a8e3bc87334f025194c6193e408903d21ebaeb10952264943a985066ca numpy-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d51fc141ddbe3f919e91a096ec739f49d686df8af254b2053ba21a910ae518bf numpy-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
98ce7fb5b8063cfdd86596b9c762bf2b5e35a2cdd7e967494ab78a1fa7f8b86e numpy-2.1.1-cp311-cp311-musllinux_1_1_x86_64.whl
24c2ad697bd8593887b019817ddd9974a7f429c14a5469d7fad413f28340a6d2 numpy-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl
397bc5ce62d3fb73f304bec332171535c187e0643e176a6e9421a6e3eacef06d numpy-2.1.1-cp311-cp311-win32.whl
ae8ce252404cdd4de56dcfce8b11eac3c594a9c16c231d081fb705cf23bd4d9e numpy-2.1.1-cp311-cp311-win_amd64.whl
7c803b7934a7f59563db459292e6aa078bb38b7ab1446ca38dd138646a38203e numpy-2.1.1-cp312-cp312-macosx_10_9_x86_64.whl
6435c48250c12f001920f0751fe50c0348f5f240852cfddc5e2f97e007544cbe numpy-2.1.1-cp312-cp312-macosx_11_0_arm64.whl
3269c9eb8745e8d975980b3a7411a98976824e1fdef11f0aacf76147f662b15f numpy-2.1.1-cp312-cp312-macosx_14_0_arm64.whl
fac6e277a41163d27dfab5f4ec1f7a83fac94e170665a4a50191b545721c6521 numpy-2.1.1-cp312-cp312-macosx_14_0_x86_64.whl
fcd8f556cdc8cfe35e70efb92463082b7f43dd7e547eb071ffc36abc0ca4699b numpy-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d2b9cd92c8f8e7b313b80e93cedc12c0112088541dcedd9197b5dee3738c1201 numpy-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
afd9c680df4de71cd58582b51e88a61feed4abcc7530bcd3d48483f20fc76f2a numpy-2.1.1-cp312-cp312-musllinux_1_1_x86_64.whl
8661c94e3aad18e1ea17a11f60f843a4933ccaf1a25a7c6a9182af70610b2313 numpy-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl
950802d17a33c07cba7fd7c3dcfa7d64705509206be1606f196d179e539111ed numpy-2.1.1-cp312-cp312-win32.whl
3fc5eabfc720db95d68e6646e88f8b399bfedd235994016351b1d9e062c4b270 numpy-2.1.1-cp312-cp312-win_amd64.whl
046356b19d7ad1890c751b99acad5e82dc4a02232013bd9a9a712fddf8eb60f5 numpy-2.1.1-cp313-cp313-macosx_10_13_x86_64.whl
6e5a9cb2be39350ae6c8f79410744e80154df658d5bea06e06e0ac5bb75480d5 numpy-2.1.1-cp313-cp313-macosx_11_0_arm64.whl
d4c57b68c8ef5e1ebf47238e99bf27657511ec3f071c465f6b1bccbef12d4136 numpy-2.1.1-cp313-cp313-macosx_14_0_arm64.whl
8ae0fd135e0b157365ac7cc31fff27f07a5572bdfc38f9c2d43b2aff416cc8b0 numpy-2.1.1-cp313-cp313-macosx_14_0_x86_64.whl
981707f6b31b59c0c24bcda52e5605f9701cb46da4b86c2e8023656ad3e833cb numpy-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2ca4b53e1e0b279142113b8c5eb7d7a877e967c306edc34f3b58e9be12fda8df numpy-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e097507396c0be4e547ff15b13dc3866f45f3680f789c1a1301b07dadd3fbc78 numpy-2.1.1-cp313-cp313-musllinux_1_1_x86_64.whl
f7506387e191fe8cdb267f912469a3cccc538ab108471291636a96a54e599556 numpy-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl
251105b7c42abe40e3a689881e1793370cc9724ad50d64b30b358bbb3a97553b numpy-2.1.1-cp313-cp313-win32.whl
f212d4f46b67ff604d11fff7cc62d36b3e8714edf68e44e9760e19be38c03eb0 numpy-2.1.1-cp313-cp313-win_amd64.whl
920b0911bb2e4414c50e55bd658baeb78281a47feeb064ab40c2b66ecba85553 numpy-2.1.1-cp313-cp313t-macosx_10_13_x86_64.whl
bab7c09454460a487e631ffc0c42057e3d8f2a9ddccd1e60c7bb8ed774992480 numpy-2.1.1-cp313-cp313t-macosx_11_0_arm64.whl
cea427d1350f3fd0d2818ce7350095c1a2ee33e30961d2f0fef48576ddbbe90f numpy-2.1.1-cp313-cp313t-macosx_14_0_arm64.whl
e30356d530528a42eeba51420ae8bf6c6c09559051887196599d96ee5f536468 numpy-2.1.1-cp313-cp313t-macosx_14_0_x86_64.whl
e8dfa9e94fc127c40979c3eacbae1e61fda4fe71d84869cc129e2721973231ef numpy-2.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
910b47a6d0635ec1bd53b88f86120a52bf56dcc27b51f18c7b4a2e2224c29f0f numpy-2.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
13cc11c00000848702322af4de0147ced365c81d66053a67c2e962a485b3717c numpy-2.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl
53e27293b3a2b661c03f79aa51c3987492bd4641ef933e366e0f9f6c9bf257ec numpy-2.1.1-cp313-cp313t-musllinux_1_2_aarch64.whl
7be6a07520b88214ea85d8ac8b7d6d8a1839b0b5cb87412ac9f49fa934eb15d5 numpy-2.1.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
52ac2e48f5ad847cd43c4755520a2317f3380213493b9d8a4c5e37f3b87df504 numpy-2.1.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
50a95ca3560a6058d6ea91d4629a83a897ee27c00630aed9d933dff191f170cd numpy-2.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
99f4a9ee60eed1385a86e82288971a51e71df052ed0b2900ed30bc840c0f2e39 numpy-2.1.1-pp310-pypy310_pp73-win_amd64.whl
d0cf7d55b1051387807405b3898efafa862997b4cba8aa5dbe657be794afeafd numpy-2.1.1.tar.gz
- Python
Published by charris over 1 year ago
numpy - NumPy 2.0.2 release (Aug 26, 2024)
NumPy 2.0.2 Release Notes
NumPy 2.0.2 is a maintenance release that fixes bugs and regressions discovered after the 2.0.1 release.
The Python versions supported by this release are 3.9-3.12.
Contributors
A total of 13 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Bruno Oliveira +
- Charles Harris
- Chris Sidebottom
- Christian Heimes +
- Christopher Sidebottom
- Mateusz Sokół
- Matti Picus
- Nathan Goldbaum
- Pieter Eendebak
- Raghuveer Devulapalli
- Ralf Gommers
- Sebastian Berg
- Yair Chuchem +
Pull requests merged
A total of 19 pull requests were merged for this release.
- #27000: REL: Prepare for the NumPy 2.0.1 release [wheel build]
- #27001: MAINT: prepare 2.0.x for further development
- #27021: BUG: cfuncs.py: fix crash when sys.stderr is not available
- #27022: DOC: Fix migration note for
alltrueandsometrue - #27061: BUG: use proper input and output descriptor in arrayassignsubscript...
- #27073: BUG: Mirror VQSORT_ENABLED logic in Quicksort
- #27074: BUG: Bump Highway to latest master
- #27077: BUG: Off by one in memory overlap check
- #27122: BUG: Use the new
npyv_loadable_stride_functions for ldexp and... - #27126: BUG: Bump Highway to latest
- #27128: BUG: add missing error handling in publicdtypeapi.c
- #27129: BUG: fix another cast setup in arrayassignsubscript
- #27130: BUG: Fix building NumPy in FIPS mode
- #27131: BLD: update vendored Meson for cross-compilation patches
- #27146: MAINT: Scipy openblas 0.3.27.44.4
- #27151: BUG: Do not accidentally store dtype metadata in
np.save - #27195: REV: Revert undef I and document it
- #27213: BUG: Fix NPYRAVELAXIS on backwards compatible NumPy 2 builds
- #27279: BUG: Fix array_equal for numeric and non-numeric scalar types
Checksums
MD5
ae4bc199b56d20305984b7465d6fbdf1 numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl
ecce0a682c2ccaaa14500b87ffb69f63 numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl
a94f34bec8a62dab95ce9883a87a82a6 numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl
a0a26dadf73264d31b7a6952b816d7c8 numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl
972f4366651a1a2ef00f630595104d15 numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6cffef937fe67a3879abefd3d2c40fb8 numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3717a5deda20f465720717a1a7a293a6 numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl
e31136ecc97bb76b3cb7e86bfc9471ac numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl
9703a02ca6b63ca53f83660d089f4294 numpy-2.0.2-cp310-cp310-win32.whl
12c097ef2c7492282a5514b5c4b68784 numpy-2.0.2-cp310-cp310-win_amd64.whl
f11d11bfa3aaf371d2e7fa0160e3208b numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl
86fc67666fc6e27740fde7dacb19c484 numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl
5fd12e0dd7162ea9599c49bbb6e6730e numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl
a40f473db729ea10ae401ce71899120a numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl
36ea96e0be954896597543d726157eda numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
cfa726b6d5445687020fc4d4f7191e42 numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
dfb9a7b7fe218e931b0dfb885a8250d6 numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl
d8bf100186e6cd1b2f27eb617ba9e581 numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl
4fe937eba0fc4d28a65c0ba571c809fc numpy-2.0.2-cp311-cp311-win32.whl
a9a0f8e1bc4d825272514896e3b17f15 numpy-2.0.2-cp311-cp311-win_amd64.whl
5ef80ec3b2db487d89c590eb301a7aa4 numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl
1bb398d93422bb9baf63c958ed1aa492 numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl
cc8d990a1ad3f4d66d0143ea709ccc99 numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl
4fee57e854bc3e9a267e865740438d53 numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl
c2c18eef5118607c0b023f6267ee9774 numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2928ed26d7153a488bfb126424d86c8f numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e32167073981b0a1a419aaaec741773e numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl
80a10803a3122472c1bf6c4617d0d1c5 numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl
39724e27a003b6ce9b1bcbf251e50b4b numpy-2.0.2-cp312-cp312-win32.whl
8319d0b3d23285d4698cbece73b23fde numpy-2.0.2-cp312-cp312-win_amd64.whl
da0f655880bbcb53094816b77cd493d1 numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl
47347c028f6ccf47d6a22724111fc96f numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl
26a5c8dec993258522fcef84ef0c040e numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl
fe447af86983ef2262e605a941bd46af numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl
96477b8563e6d4e2db710f4915a4c5e0 numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4e8255cdff60de62944aed1f4235ff68 numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
05d8465b87ca983eee044b66bc725391 numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl
dcf448ef80720bae7de6724f92499754 numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl
71557f67f24d39db709cc4ccb85ae5b5 numpy-2.0.2-cp39-cp39-win32.whl
f5dc31c5530037c4d1d990696b1d041c numpy-2.0.2-cp39-cp39-win_amd64.whl
a8f814da1a4509724346c14cd838b5dc numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
918f072481d014229dd5f0f5ba75306f numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
fcbe2e38506fbbbeda509a89063563d3 numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b99eff795ca26f8a513aace76a45a356 numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl
d517a3be706295c4a4c8f75f5ee7b261 numpy-2.0.2.tar.gz
SHA256
51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl
f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04 numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl
8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66 numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl
becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl
2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318 numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8 numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl
d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326 numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl
984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97 numpy-2.0.2-cp310-cp310-win32.whl
c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131 numpy-2.0.2-cp310-cp310-win_amd64.whl
49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448 numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl
11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195 numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl
807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57 numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl
8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl
a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669 numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951 numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9 numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl
c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15 numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl
a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4 numpy-2.0.2-cp311-cp311-win32.whl
286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc numpy-2.0.2-cp311-cp311-win_amd64.whl
df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl
8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl
9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl
a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl
c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692 numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl
ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl
671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5 numpy-2.0.2-cp312-cp312-win32.whl
cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a numpy-2.0.2-cp312-cp312-win_amd64.whl
9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl
423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl
2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl
97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729 numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl
1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1 numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl
9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl
905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa numpy-2.0.2-cp39-cp39-win32.whl
a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73 numpy-2.0.2-cp39-cp39-win_amd64.whl
7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8 numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4 numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385 numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl
883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78 numpy-2.0.2.tar.gz
- Python
Published by charris almost 2 years ago
numpy - 2.1.0 (Aug 18, 2024)
NumPy 2.1.0 Release Notes
NumPy 2.1.0 provides support for the upcoming Python 3.13 release and drops support for Python 3.9. In addition to the usual bug fixes and updated Python support, it helps get us back into our usual release cycle after the extended development of 2.0. The highlights for this release are:
- Support for the array-api 2023.12 standard.
- Support for Python 3.13.
- Preliminary support for free threaded Python 3.13.
Python versions 3.10-3.13 are supported in this release.
New functions
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)
Deprecations
The
fix_importskeyword argument innumpy.saveis deprecated. Since NumPy 1.17,numpy.saveuses a pickle protocol that no longer supports Python 2, and ignoredfix_importskeyword. This keyword is kept only for backward compatibility. It is now deprecated.(gh-26452)
Passing non-integer inputs as the first argument of [bincount]{.title-ref} is now deprecated, because such inputs are silently cast to integers with no warning about loss of precision.
(gh-27076)
Expired deprecations
Scalars and 0D arrays are disallowed for
numpy.nonzeroandnumpy.ndarray.nonzero.(gh-26268)
set_string_functioninternal function was removed andPyArray_SetStringFunctionwas stubbed out.(gh-26611)
C API changes
API symbols now hidden but customizable
NumPy now defaults to hide the API symbols it adds to allow all NumPy API usage. This means that by default you cannot dynamically fetch the NumPy API from another library (this was never possible on windows).
If you are experiencing linking errors related to PyArray_API or
PyArray_RUNTIME_VERSION, you can define the NPY_API_SYMBOL_ATTRIBUTE
to opt-out of this change.
If you are experiencing problems due to an upstream header including
NumPy, the solution is to make sure you
#include "numpy/ndarrayobject.h" before their header and import NumPy
yourself based on including-the-c-api.
(gh-26103)
Many shims removed from npy_3kcompat.h
Many of the old shims and helper functions were removed from
npy_3kcompat.h. If you find yourself in need of these, vendor the
previous version of the file into your codebase.
(gh-26842)
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)
New Features
Preliminary Support for Free-Threaded CPython 3.13
CPython 3.13 will be available as an experimental free-threaded build. See https://py-free-threading.github.io, PEP 703 and the CPython 3.13 release notes for more detail about free-threaded Python.
NumPy 2.1 has preliminary support for the free-threaded build of CPython 3.13. This support was enabled by fixing a number of C thread-safety issues in NumPy. Before NumPy 2.1, NumPy used a large number of C global static variables to store runtime caches and other state. We have either refactored to avoid the need for global state, converted the global state to thread-local state, or added locking.
Support for free-threaded Python does not mean that NumPy is thread
safe. Read-only shared access to ndarray should be safe. NumPy exposes
shared mutable state and we have not added any locking to the array
object itself to serialize access to shared state. Care must be taken in
user code to avoid races if you would like to mutate the same array in
multiple threads. It is certainly possible to crash NumPy by mutating an
array simultaneously in multiple threads, for example by calling a ufunc
and the resize method simultaneously. For now our guidance is:
\"don\'t do that\". In the future we would like to provide stronger
guarantees.
Object arrays in particular need special care, since the GIL previously provided locking for object array access and no longer does. See Issue #27199 for more information about object arrays in the free-threaded build.
If you are interested in free-threaded Python, for example because you have a multiprocessing-based workflow that you are interested in running with Python threads, we encourage testing and experimentation.
If you run into problems that you suspect are because of NumPy, please open an issue, checking first if the bug also occurs in the \"regular\" non-free-threaded CPython 3.13 build. Many threading bugs can also occur in code that releases the GIL; disabling the GIL only makes it easier to hit threading bugs.
(gh-26157)
f2py can generate freethreading-compatible C extensions
Pass --freethreading-compatible to the f2py CLI tool to produce a C
extension marked as compatible with the free threading CPython
interpreter. Doing so prevents the interpreter from re-enabling the GIL
at runtime when it imports the C extension. Note that f2py does not
analyze fortran code for thread safety, so you must verify that the
wrapped fortran code is thread safe before marking the extension as
compatible.
(gh-26981)
numpy.reshapeandnumpy.ndarray.reshapenow supportshapeandcopyarguments.(gh-26292)
NumPy now supports DLPack v1, support for older versions will be deprecated in the future.
(gh-26501)
numpy.asanyarraynow supportscopyanddevicearguments, matchingnumpy.asarray.(gh-26580)
numpy.printoptions,numpy.get_printoptions, andnumpy.set_printoptionsnow support a new option,override_repr, for defining customrepr(array)behavior.(gh-26611)
numpy.cumulative_sumandnumpy.cumulative_prodwere added as Array API compatible alternatives fornumpy.cumsumandnumpy.cumprod. The new functions can include a fixed initial (zeros forsumand ones forprod) in the result.(gh-26724)
numpy.clipnow supportsmaxandminkeyword arguments which are meant to replacea_minanda_max. Also, fornp.clip(a)ornp.clip(a, None, None)a copy of the input array will be returned instead of raising an error.(gh-26724)
numpy.astypenow supportsdeviceargument.(gh-26724)
Improvements
histogram auto-binning now returns bin sizes >=1 for integer input data
For integer input data, bin sizes smaller than 1 result in spurious
empty bins. This is now avoided when the number of bins is computed
using one of the algorithms provided by histogram_bin_edges.
(gh-12150)
ndarray shape-type parameter is now covariant and bound to tuple[int, ...]
Static typing for ndarray is a long-term effort that continues with
this change. It is a generic type with type parameters for the shape and
the data type. Previously, the shape type parameter could be any value.
This change restricts it to a tuple of ints, as one would expect from
using ndarray.shape. Further, the shape-type parameter has been
changed from invariant to covariant. This change also applies to the
subtypes of ndarray, e.g. numpy.ma.MaskedArray. See the
typing docs
for more information.
(gh-26081)
np.quantile with method closest_observation chooses nearest even order statistic
This changes the definition of nearest for border cases from the nearest odd order statistic to nearest even order statistic. The numpy implementation now matches other reference implementations.
(gh-26656)
lapack_lite is now thread safe
NumPy provides a minimal low-performance version of LAPACK named
lapack_lite that can be used if no BLAS/LAPACK system is detected at
build time.
Until now, lapack_lite was not thread safe. Single-threaded use cases
did not hit any issues, but running linear algebra operations in
multiple threads could lead to errors, incorrect results, or segfaults
due to data races.
We have added a global lock, serializing access to lapack_lite in
multiple threads.
(gh-26750)
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)
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)
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)
Performance improvements and changes
numpy.savenow uses pickle protocol version 4 for saving arrays with object dtype, which allows for pickle objects larger than 4GB and improves saving speed by about 5% for large arrays.(gh-26388)
OpenBLAS on x86_64 and i686 is built with fewer kernels. Based on benchmarking, there are 5 clusters of performance around these kernels:
PRESCOTT NEHALEM SANDYBRIDGE HASWELL SKYLAKEX.(gh-27147)
OpenBLAS on windows is linked without quadmath, simplifying licensing
(gh-27147)
Due to a regression in OpenBLAS on windows, the performance improvements when using multiple threads for OpenBLAS 0.3.26 were reverted.
(gh-27147)
ma.cov and ma.corrcoef are now significantly faster
The private function has been refactored along with ma.cov and
ma.corrcoef. They are now significantly faster, particularly on large,
masked arrays.
(gh-26285)
Changes
As
numpy.vecdotis now a ufunc it has a less precise signature. This is due to the limitations of ufunc\'s typing stub.(gh-26313)
numpy.floor,numpy.ceil, andnumpy.truncnow won\'t perform casting to a floating dtype for integer and boolean dtype input arrays.(gh-26766)
ma.corrcoef may return a slightly different result
A pairwise observation approach is currently used in ma.corrcoef to
calculate the standard deviations for each pair of variables. This has
been changed as it is being used to normalise the covariance, estimated
using ma.cov, which does not consider the observations for each
variable in a pairwise manner, rendering it unnecessary. The
normalisation has been replaced by the more appropriate standard
deviation for each variable, which significantly reduces the wall time,
but will return slightly different estimates of the correlation
coefficients in cases where the observations between a pair of variables
are not aligned. However, it will return the same estimates in all other
cases, including returning the same correlation matrix as corrcoef
when using a masked array with no masked values.
(gh-26285)
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 toinf(float32 cannot hold1e300) rather raising a TypeError.
Further, only the dtype is used when assigning NumPy scalars (or 0-d arrays), meaning that the following behaves differently:
-
np.copyto(float32_arr, np.float64(3.0), casting="safe")raises. -
np.coptyo(int8_arr, np.int64(100), casting="safe")raises. Previously, NumPy checked whether the 100 fits theint8_arr.
This aligns copyto, full, and full_like with the correct NumPy 2
behavior.
(gh-27091)
Checksums
MD5
2323404663c0b2a86362319d7526eb80 numpy-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl
3d4bca8d05eb1eba859e77ff8f91d843 numpy-2.1.0-cp310-cp310-macosx_11_0_arm64.whl
9bd065f147dbf3f2d59ab57bff4f0074 numpy-2.1.0-cp310-cp310-macosx_14_0_arm64.whl
47d177533511901cd6bf77f72cbd3d6e numpy-2.1.0-cp310-cp310-macosx_14_0_x86_64.whl
530b7f38f64216f1322b39bc50f36c0c numpy-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d2a3161a10811a675a29a63e25636d83 numpy-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4e9fb20b080f7931791da71708740b83 numpy-2.1.0-cp310-cp310-musllinux_1_1_x86_64.whl
776eb610795d63217980a36eb23bf268 numpy-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl
8328b9e2afa4013aaf3e4963349445e2 numpy-2.1.0-cp310-cp310-win32.whl
e3184b9979192c8d7b80deb2af16d6bb numpy-2.1.0-cp310-cp310-win_amd64.whl
54571aef9d9081e35bebef10f8d64e75 numpy-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl
841dac2386c1da870a384b64cd31e32b numpy-2.1.0-cp311-cp311-macosx_14_0_arm64.whl
0fe85239ebe336d2baaddcb0ed001dc7 numpy-2.1.0-cp311-cp311-macosx_14_0_x86_64.whl
772a55a6c46f7b643af4640c2ca68d70 numpy-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
64fefbc527229521cf2a516b778b8aa7 numpy-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5cdb3d262d8c513b0f08cd1b6ba48512 numpy-2.1.0-cp311-cp311-musllinux_1_1_x86_64.whl
16140f5de42e87d84b80c350fd014893 numpy-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl
5e37df534d167af1966e099e0be9d94a numpy-2.1.0-cp311-cp311-win32.whl
ee443aa000621bed8bb2d6a94afd89b5 numpy-2.1.0-cp311-cp311-win_amd64.whl
d8c911fc34a8dad4ed821036563b5758 numpy-2.1.0-cp312-cp312-macosx_10_9_x86_64.whl
ec25d637c43ae8229052e62a4f40f2d2 numpy-2.1.0-cp312-cp312-macosx_11_0_arm64.whl
67c7abca3d0339f17a8543abc0e7bf11 numpy-2.1.0-cp312-cp312-macosx_14_0_arm64.whl
0d36ec6a64cbef1d727eb608a236ad2c numpy-2.1.0-cp312-cp312-macosx_14_0_x86_64.whl
0eedab574a3b75ec237be910e9717153 numpy-2.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
73dd2a5d0c85007bf5fdb4b7f66b8451 numpy-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
94fb0cfbc647a34177c766570fad752b numpy-2.1.0-cp312-cp312-musllinux_1_1_x86_64.whl
de3efbbcd792a1f82d0e3e175ea02ca9 numpy-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl
9a63ebbfb3c4c6eba77ef0723a5dc86f numpy-2.1.0-cp312-cp312-win32.whl
c68bc27545ac68c54935a1d0278b18f6 numpy-2.1.0-cp312-cp312-win_amd64.whl
f2795bb974af42e2723e32af9b14b66d numpy-2.1.0-cp313-cp313-macosx_10_13_x86_64.whl
2f7426b06a332ea7a20159f3c06d67d1 numpy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl
fcef18e031fc8588227023bac55d9636 numpy-2.1.0-cp313-cp313-macosx_14_0_arm64.whl
cbb5ca4dc798ea397344c93a2549e73e numpy-2.1.0-cp313-cp313-macosx_14_0_x86_64.whl
573213bea3a67452a310355adc7c6aa1 numpy-2.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
24f8c8a1235aeaedb8f154a984b3c78b numpy-2.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b2ef762c0ebb02b58a339c1e38f032b2 numpy-2.1.0-cp313-cp313-musllinux_1_1_x86_64.whl
50e68cbfeb330aff607969c30251632d numpy-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl
21228342cd1b4ff8c7ec1aea45c07186 numpy-2.1.0-cp313-cp313-win32.whl
8d234b05f0c4faf7b9884a1f0f19c23d numpy-2.1.0-cp313-cp313-win_amd64.whl
e0c19ca29fa8e8e051107cd36b978f05 numpy-2.1.0-cp313-cp313t-macosx_10_13_x86_64.whl
98756f2ff9adc2cf374c28db77e28312 numpy-2.1.0-cp313-cp313t-macosx_11_0_arm64.whl
69786349d1f392dc6ac3fe00271e941b numpy-2.1.0-cp313-cp313t-macosx_14_0_arm64.whl
4d1481bcb17aaebfc785e005455da223 numpy-2.1.0-cp313-cp313t-macosx_14_0_x86_64.whl
1d403eda14369ab023d5ae1c15dce25c numpy-2.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
cdeece2cd6508eeee5a4c3150b58ec59 numpy-2.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
85347b754d8324c508f7aeb7de243feb numpy-2.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl
6ff18d36d0940de6c1cc962a61b44bd5 numpy-2.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl
2f7d60a99c236a8f909bd86b8ed1e3a4 numpy-2.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
dc610133d9f09e5b3d396859e75c5593 numpy-2.1.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
6a2883ee5b16ab5c031037cc63c20e9b numpy-2.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c914ba2fe3fcdcd04c8fe6a8374ea5fb numpy-2.1.0-pp310-pypy310_pp73-win_amd64.whl
4cb2230ffa1cc41329ae29bd69ee08de numpy-2.1.0.tar.gz
SHA256
6326ab99b52fafdcdeccf602d6286191a79fe2fda0ae90573c5814cd2b0bc1b8 numpy-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl
0937e54c09f7a9a68da6889362ddd2ff584c02d015ec92672c099b61555f8911 numpy-2.1.0-cp310-cp310-macosx_11_0_arm64.whl
30014b234f07b5fec20f4146f69e13cfb1e33ee9a18a1879a0142fbb00d47673 numpy-2.1.0-cp310-cp310-macosx_14_0_arm64.whl
899da829b362ade41e1e7eccad2cf274035e1cb36ba73034946fccd4afd8606b numpy-2.1.0-cp310-cp310-macosx_14_0_x86_64.whl
08801848a40aea24ce16c2ecde3b756f9ad756586fb2d13210939eb69b023f5b numpy-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
398049e237d1aae53d82a416dade04defed1a47f87d18d5bd615b6e7d7e41d1f numpy-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0abb3916a35d9090088a748636b2c06dc9a6542f99cd476979fb156a18192b84 numpy-2.1.0-cp310-cp310-musllinux_1_1_x86_64.whl
10e2350aea18d04832319aac0f887d5fcec1b36abd485d14f173e3e900b83e33 numpy-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl
f6b26e6c3b98adb648243670fddc8cab6ae17473f9dc58c51574af3e64d61211 numpy-2.1.0-cp310-cp310-win32.whl
f505264735ee074250a9c78247ee8618292091d9d1fcc023290e9ac67e8f1afa numpy-2.1.0-cp310-cp310-win_amd64.whl
76368c788ccb4f4782cf9c842b316140142b4cbf22ff8db82724e82fe1205dce numpy-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl
f8e93a01a35be08d31ae33021e5268f157a2d60ebd643cfc15de6ab8e4722eb1 numpy-2.1.0-cp311-cp311-macosx_14_0_arm64.whl
9523f8b46485db6939bd069b28b642fec86c30909cea90ef550373787f79530e numpy-2.1.0-cp311-cp311-macosx_14_0_x86_64.whl
54139e0eb219f52f60656d163cbe67c31ede51d13236c950145473504fa208cb numpy-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f5ebbf9fbdabed208d4ecd2e1dfd2c0741af2f876e7ae522c2537d404ca895c3 numpy-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
378cb4f24c7d93066ee4103204f73ed046eb88f9ad5bb2275bb9fa0f6a02bd36 numpy-2.1.0-cp311-cp311-musllinux_1_1_x86_64.whl
d8f699a709120b220dfe173f79c73cb2a2cab2c0b88dd59d7b49407d032b8ebd numpy-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl
ffbd6faeb190aaf2b5e9024bac9622d2ee549b7ec89ef3a9373fa35313d44e0e numpy-2.1.0-cp311-cp311-win32.whl
0af3a5987f59d9c529c022c8c2a64805b339b7ef506509fba7d0556649b9714b numpy-2.1.0-cp311-cp311-win_amd64.whl
fe76d75b345dc045acdbc006adcb197cc680754afd6c259de60d358d60c93736 numpy-2.1.0-cp312-cp312-macosx_10_9_x86_64.whl
f358ea9e47eb3c2d6eba121ab512dfff38a88db719c38d1e67349af210bc7529 numpy-2.1.0-cp312-cp312-macosx_11_0_arm64.whl
dd94ce596bda40a9618324547cfaaf6650b1a24f5390350142499aa4e34e53d1 numpy-2.1.0-cp312-cp312-macosx_14_0_arm64.whl
b47c551c6724960479cefd7353656498b86e7232429e3a41ab83be4da1b109e8 numpy-2.1.0-cp312-cp312-macosx_14_0_x86_64.whl
a0756a179afa766ad7cb6f036de622e8a8f16ffdd55aa31f296c870b5679d745 numpy-2.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
24003ba8ff22ea29a8c306e61d316ac74111cebf942afbf692df65509a05f111 numpy-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b34fa5e3b5d6dc7e0a4243fa0f81367027cb6f4a7215a17852979634b5544ee0 numpy-2.1.0-cp312-cp312-musllinux_1_1_x86_64.whl
c4f982715e65036c34897eb598d64aef15150c447be2cfc6643ec7a11af06574 numpy-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl
c4cd94dfefbefec3f8b544f61286584292d740e6e9d4677769bc76b8f41deb02 numpy-2.1.0-cp312-cp312-win32.whl
a0cdef204199278f5c461a0bed6ed2e052998276e6d8ab2963d5b5c39a0500bc numpy-2.1.0-cp312-cp312-win_amd64.whl
8ab81ccd753859ab89e67199b9da62c543850f819993761c1e94a75a814ed667 numpy-2.1.0-cp313-cp313-macosx_10_13_x86_64.whl
442596f01913656d579309edcd179a2a2f9977d9a14ff41d042475280fc7f34e numpy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl
848c6b5cad9898e4b9ef251b6f934fa34630371f2e916261070a4eb9092ffd33 numpy-2.1.0-cp313-cp313-macosx_14_0_arm64.whl
54c6a63e9d81efe64bfb7bcb0ec64332a87d0b87575f6009c8ba67ea6374770b numpy-2.1.0-cp313-cp313-macosx_14_0_x86_64.whl
652e92fc409e278abdd61e9505649e3938f6d04ce7ef1953f2ec598a50e7c195 numpy-2.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0ab32eb9170bf8ffcbb14f11613f4a0b108d3ffee0832457c5d4808233ba8977 numpy-2.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8fb49a0ba4d8f41198ae2d52118b050fd34dace4b8f3fb0ee34e23eb4ae775b1 numpy-2.1.0-cp313-cp313-musllinux_1_1_x86_64.whl
44e44973262dc3ae79e9063a1284a73e09d01b894b534a769732ccd46c28cc62 numpy-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl
ab83adc099ec62e044b1fbb3a05499fa1e99f6d53a1dde102b2d85eff66ed324 numpy-2.1.0-cp313-cp313-win32.whl
de844aaa4815b78f6023832590d77da0e3b6805c644c33ce94a1e449f16d6ab5 numpy-2.1.0-cp313-cp313-win_amd64.whl
343e3e152bf5a087511cd325e3b7ecfd5b92d369e80e74c12cd87826e263ec06 numpy-2.1.0-cp313-cp313t-macosx_10_13_x86_64.whl
f07fa2f15dabe91259828ce7d71b5ca9e2eb7c8c26baa822c825ce43552f4883 numpy-2.1.0-cp313-cp313t-macosx_11_0_arm64.whl
5474dad8c86ee9ba9bb776f4b99ef2d41b3b8f4e0d199d4f7304728ed34d0300 numpy-2.1.0-cp313-cp313t-macosx_14_0_arm64.whl
1f817c71683fd1bb5cff1529a1d085a57f02ccd2ebc5cd2c566f9a01118e3b7d numpy-2.1.0-cp313-cp313t-macosx_14_0_x86_64.whl
3a3336fbfa0d38d3deacd3fe7f3d07e13597f29c13abf4d15c3b6dc2291cbbdd numpy-2.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7a894c51fd8c4e834f00ac742abad73fc485df1062f1b875661a3c1e1fb1c2f6 numpy-2.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9156ca1f79fc4acc226696e95bfcc2b486f165a6a59ebe22b2c1f82ab190384a numpy-2.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl
624884b572dff8ca8f60fab591413f077471de64e376b17d291b19f56504b2bb numpy-2.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl
15ef8b2177eeb7e37dd5ef4016f30b7659c57c2c0b57a779f1d537ff33a72c7b numpy-2.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
e5f0642cdf4636198a4990de7a71b693d824c56a757862230454629cf62e323d numpy-2.1.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
f15976718c004466406342789f31b6673776360f3b1e3c575f25302d7e789575 numpy-2.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6c1de77ded79fef664d5098a66810d4d27ca0224e9051906e634b3f7ead134c2 numpy-2.1.0-pp310-pypy310_pp73-win_amd64.whl
7dc90da0081f7e1da49ec4e398ede6a8e9cc4f5ebe5f9e06b443ed889ee9aaa2 numpy-2.1.0.tar.gz
- Python
Published by charris almost 2 years ago
numpy - 2.1.0rc1 (Aug 11, 2024)
NumPy 2.1.0 Release Notes
NumPy 2.1.0 provides support for the upcoming Python 3.13 release and drops support for Python 3.9. In addition to the usual bug fixes and updated Python support, it helps get us back into our usual release cycle after the extended development of 2.0. The highlights for this release are:
- Support for the array-api 2023.12 standard.
- Support for Python 3.13.
- Preliminary support for free threaded Python 3.13.
Python versions 3.10-3.13 are supported in this release.
New functions
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)
Deprecations
The
fix_importskeyword argument innumpy.saveis deprecated. Since NumPy 1.17,numpy.saveuses a pickle protocol that no longer supports Python 2, and ignoredfix_importskeyword. This keyword is kept only for backward compatibility. It is now deprecated.(gh-26452)
Passing non-integer inputs as the first argument of [bincount]{.title-ref} is now deprecated, because such inputs are silently cast to integers with no warning about loss of precision.
(gh-27076)
Expired deprecations
Scalars and 0D arrays are disallowed for
numpy.nonzeroandnumpy.ndarray.nonzero.(gh-26268)
set_string_functioninternal function was removed andPyArray_SetStringFunctionwas stubbed out.(gh-26611)
C API changes
API symbols now hidden but customizable
NumPy now defaults to hide the API symbols it adds to allow all NumPy API usage. This means that by default you cannot dynamically fetch the NumPy API from another library (this was never possible on windows).
If you are experiencing linking errors related to PyArray_API or
PyArray_RUNTIME_VERSION, you can define the NPY_API_SYMBOL_ATTRIBUTE
to opt-out of this change.
If you are experiencing problems due to an upstream header including
NumPy, the solution is to make sure you
#include "numpy/ndarrayobject.h" before their header and import NumPy
yourself based on including-the-c-api.
(gh-26103)
Many shims removed from npy_3kcompat.h
Many of the old shims and helper functions were removed from
npy_3kcompat.h. If you find yourself in need of these, vendor the
previous version of the file into your codebase.
(gh-26842)
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)
New Features
numpy.reshapeandnumpy.ndarray.reshapenow supportshapeandcopyarguments.(gh-26292)
NumPy now supports DLPack v1, support for older versions will be deprecated in the future.
(gh-26501)
numpy.asanyarraynow supportscopyanddevicearguments, matchingnumpy.asarray.(gh-26580)
numpy.printoptions,numpy.get_printoptions, andnumpy.set_printoptionsnow support a new option,override_repr, for defining customrepr(array)behavior.(gh-26611)
numpy.cumulative_sumandnumpy.cumulative_prodwere added as Array API compatible alternatives fornumpy.cumsumandnumpy.cumprod. The new functions can include a fixed initial (zeros forsumand ones forprod) in the result.(gh-26724)
numpy.clipnow supportsmaxandminkeyword arguments which are meant to replacea_minanda_max. Also, fornp.clip(a)ornp.clip(a, None, None)a copy of the input array will be returned instead of raising an error.(gh-26724)
numpy.astypenow supportsdeviceargument.(gh-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)
Improvements
histogram auto-binning now returns bin sizes >=1 for integer input data
For integer input data, bin sizes smaller than 1 result in spurious
empty bins. This is now avoided when the number of bins is computed
using one of the algorithms provided by histogram_bin_edges.
(gh-12150)
ndarray shape-type parameter is now covariant and bound to tuple[int, ...]
Static typing for ndarray is a long-term effort that continues with
this change. It is a generic type with type parameters for the shape and
the data type. Previously, the shape type parameter could be any value.
This change restricts it to a tuple of ints, as one would expect from
using ndarray.shape. Further, the shape-type parameter has been
changed from invariant to covariant. This change also applies to the
subtypes of ndarray, e.g. numpy.ma.MaskedArray. See the typing
docs
for more information.
(gh-26081)
np.quantile with method closest_observation chooses nearest even order statistic
This changes the definition of nearest for border cases from the nearest odd order statistic to nearest even order statistic. The numpy implementation now matches other reference implementations.
(gh-26656)
lapack_lite is now thread safe
NumPy provides a minimal low-performance version of LAPACK named
lapack_lite that can be used if no BLAS/LAPACK system is detected at
build time.
Until now, lapack_lite was not thread safe. Single-threaded use cases
did not hit any issues, but running linear algebra operations in
multiple threads could lead to errors, incorrect results, or segfaults
due to data races.
We have added a global lock, serializing access to lapack_lite in
multiple threads.
(gh-26750)
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)
Performance improvements and changes
numpy.savenow uses pickle protocol version 4 for saving arrays with object dtype, which allows for pickle objects larger than 4GB and improves saving speed by about 5% for large arrays.(gh-26388)
OpenBLAS on x86_64 and i686 is built with fewer kernels. Based on benchmarking, there are 5 clusters of performance around these kernels:
PRESCOTT NEHALEM SANDYBRIDGE HASWELL SKYLAKEX.(gh-27147)
OpenBLAS on windows is linked without quadmath, simplifying licensing
(gh-27147)
Due to a regression in OpenBLAS on windows, the performance improvements when using multiple threads for OpenBLAS 0.3.26 were reverted.
(gh-27147)
ma.cov and ma.corrcoef are now significantly faster
The private function has been refactored along with ma.cov and
ma.corrcoef. They are now significantly faster, particularly on large,
masked arrays.
(gh-26285)
Changes
As
numpy.vecdotis now a ufunc it has a less precise signature. This is due to the limitations of ufunc\'s typing stub.(gh-26313)
numpy.floor,numpy.ceil, andnumpy.truncnow won\'t perform casting to a floating dtype for integer and boolean dtype input arrays.(gh-26766)
ma.corrcoef may return a slightly different result
A pairwise observation approach is currently used in ma.corrcoef to
calculate the standard deviations for each pair of variables. This has
been changed as it is being used to normalise the covariance, estimated
using ma.cov, which does not consider the observations for each
variable in a pairwise manner, rendering it unnecessary. The
normalisation has been replaced by the more appropriate standard
deviation for each variable, which significantly reduces the wall time,
but will return slightly different estimates of the correlation
coefficients in cases where the observations between a pair of variables
are not aligned. However, it will return the same estimates in all other
cases, including returning the same correlation matrix as corrcoef
when using a masked array with no masked values.
(gh-26285)
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 toinf(float32 cannot hold1e300) rather raising a TypeError.
Further, only the dtype is used when assigning NumPy scalars (or 0-d arrays), meaning that the following behaves differently:
-
np.copyto(float32_arr, np.float64(3.0), casting="safe")raises. -
np.coptyo(int8_arr, np.int64(100), casting="safe")raises. Previously, NumPy checked whether the 100 fits theint8_arr.
This aligns copyto, full, and full_like with the correct NumPy 2
behavior.
(gh-27091)
Checksums
MD5
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.0rc1-cp311-cp311-macosx_14_0_arm64.whl
2b0e379a15c6b8eb69bb8170d10cfbb8a0dc9126b5402ee8860a2646f4111c3d numpy-2.1.0rc1-cp311-cp311-macosx_14_0_x86_64.whl
fea6d6939d9bf098d96c6d22bb3e4ff39f8eb3f0f26b52c8c69ba06845490095 numpy-2.1.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9a6bdc19830703eee91e7eb2d671b165febefbf5eec6a4f163d1833d23be17af numpy-2.1.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
58a07f2947aa06ca03d922a86ac30e403ce8282cd15904606bac852bf29ea2ad numpy-2.1.0rc1-cp311-cp311-musllinux_1_1_x86_64.whl
1a4f960e2e5c1084cf6b1d15482a5556ecc122855d631a2395063ab703d62fdd numpy-2.1.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl
f38fabd7b8d14fb7d63fbb2d07971d6edd518d2a43542c63c29164c901d2a758 numpy-2.1.0rc1-cp311-cp311-win32.whl
e82b8e0b88d493d4e882f18de30f679bf1197c82d8c799acb5fdb4068cadb945 numpy-2.1.0rc1-cp311-cp311-win_amd64.whl
dc2af0135139bbb26b1ea5bdc430e049edb745ae643cb898afb32549ce4801de numpy-2.1.0rc1-cp312-cp312-macosx_10_9_x86_64.whl
47f11bf152d8707217feb46e9662a8b1aa3554a8ee56b64d2aa99c3e9914f101 numpy-2.1.0rc1-cp312-cp312-macosx_11_0_arm64.whl
3b534c62b1887b4bfa80f633485f2a9338f5d46d720b6cc695d2ba8b38d98987 numpy-2.1.0rc1-cp312-cp312-macosx_14_0_arm64.whl
f4e07df8476545da7cf23f75811f4fc334b06fc50d8e945e897cfc00c8f89690 numpy-2.1.0rc1-cp312-cp312-macosx_14_0_x86_64.whl
c8458becc562ee35b30b5e53173933414cf42e56b3f4f3d80997bf0dda7308d1 numpy-2.1.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
524b5311d21741f0b3f48efcdd3442546be3b38507a4e3b0f5138e4340f5dee0 numpy-2.1.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7bcb4f360dc9e29b4f5f9fb36b35b429e731373843ccf39a22105bd809ef3138 numpy-2.1.0rc1-cp312-cp312-musllinux_1_1_x86_64.whl
5821c9831fad20cd1a8621a9ed483322ca97a9da9832690a4050ffedcb3e766b numpy-2.1.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl
1d9e0ddfb33a7a78fe92d49aaa2992a78ed5aff4cef7a21d8b1057cca075cc85 numpy-2.1.0rc1-cp312-cp312-win32.whl
86cc61c5479ed3b324011aa69484cae8f491b7f58dc0e54acf0894bdb4fae879 numpy-2.1.0rc1-cp312-cp312-win_amd64.whl
64e8de086d2e4dac41fa286412321469b4535677184e78cc78e5061b44f0e4bf numpy-2.1.0rc1-cp313-cp313-macosx_10_13_x86_64.whl
e74dc488a27b90f31ab307b4cf3f07a45bb78a0e91cfb36d69c6eced4f36089b numpy-2.1.0rc1-cp313-cp313-macosx_11_0_arm64.whl
f73e4fcf7455d3b734e6ecbafdbc12d3c1dd8f2146fd186e003ae1c8f00e5eed numpy-2.1.0rc1-cp313-cp313-macosx_14_0_arm64.whl
e5a64ac6016839fd906b3d7cc1f7ecb145c7d44a310234b6843f3b23b8ec0651 numpy-2.1.0rc1-cp313-cp313-macosx_14_0_x86_64.whl
ccc68ee27362f8d3516deecffa124d1488ae20347628e357264e7e66dbdaba08 numpy-2.1.0rc1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d3d59479b98cc364b8a08ddd854c7817b5c578a521b56af5a96b3a9db18cc9b7 numpy-2.1.0rc1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
15c6bde88f242747258cfee803f3161b7a2c1ffead0817e409d95444a79b4029 numpy-2.1.0rc1-cp313-cp313-musllinux_1_1_x86_64.whl
3e9276bff9a57100b53e5f9c44469baca1e58ec612e5143db568d69ec27b65ea numpy-2.1.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl
53979581e6acdd75b7ce94e6d3b70994f9f8cf1021316d388a159f7f388bdc7f numpy-2.1.0rc1-cp313-cp313-win32.whl
ca195cd9d1d84b3498532968237774a6e06e2a4afe706b87172f1d033b95e230 numpy-2.1.0rc1-cp313-cp313-win_amd64.whl
77fa9826cbc7273e4bc3b7aa289b86936c942fe2c91bc35617c2417e14421592 numpy-2.1.0rc1-cp313-cp313t-macosx_10_13_x86_64.whl
140c5ce21f1eccb254e550c8431825cb716eb76e896202cffa7a0d2a843506da numpy-2.1.0rc1-cp313-cp313t-macosx_11_0_arm64.whl
713cb46d266514db773de52af677aa931cc896a4f5e52f494449c4ff53ce6051 numpy-2.1.0rc1-cp313-cp313t-macosx_14_0_arm64.whl
3f79d241e4833a2a570b6e6639d2114d497011e48a351798bba81fda51560ab7 numpy-2.1.0rc1-cp313-cp313t-macosx_14_0_x86_64.whl
48a724dbfad6f4933e2c8a22239980e1b5bc16868df3450cc4ebeb9522b7902f numpy-2.1.0rc1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
06d14d20b7e98c8c06bb62e56f2b64747dd10c422bb8adbf1e6dd82cd8442e12 numpy-2.1.0rc1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
98a1486861fa3c603a5a3ccd56fc45b9756372bb30f6fb559b898fc2fad82e0d numpy-2.1.0rc1-cp313-cp313t-musllinux_1_1_x86_64.whl
50b3dab872001b87052532bd4da3879fda856a2cf6c9418c19bfc94dc290e259 numpy-2.1.0rc1-cp313-cp313t-musllinux_1_2_aarch64.whl
14dea4f0d62ddd1a7f9d7b0003b35a537ac41a2b6205deec8c9c25a8e01748b4 numpy-2.1.0rc1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
4f9317da3aa64d0ee93950d3f319b3fe0169500e25c18223715cba39e89808bd numpy-2.1.0rc1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
0a5a25ab780b8c29e443824abefc6ca79047ceeb889a6f76d7b1953649498e93 numpy-2.1.0rc1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0816fd52956e14551d8d71319d4b4fcfa1bcb21641f2c603f4eb64c65b1e1009 numpy-2.1.0rc1-pp310-pypy310_pp73-win_amd64.whl
dc7ce867d277aa74555c67b93ef2a6f78bd7bd73e6c2bbafeb96f8bccd05b9d9 numpy-2.1.0rc1.tar.gz
- Python
Published by charris almost 2 years ago
numpy -
NumPy 2.0.1 Release Notes
NumPy 2.0.1 is a maintenance release that fixes bugs and regressions discovered after the 2.0.0 release. NumPy 2.0.1 is the last planned release in the 2.0.x series, 2.1.0rc1 should be out shortly.
The Python versions supported by this release are 3.9-3.12.
NOTE: Do not use the GitHub generated "Source code" files listed in the "Assets", they are garbage.
Improvements
np.quantile with method closest_observation chooses nearest even order statistic
This changes the definition of nearest for border cases from the nearest odd order statistic to nearest even order statistic. The numpy implementation now matches other reference implementations.
(gh-26656)
Contributors
A total of 15 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- \@vahidmech +
- Alex Herbert +
- Charles Harris
- Giovanni Del Monte +
- Leo Singer
- Lysandros Nikolaou
- Matti Picus
- Nathan Goldbaum
- Patrick J. Roddy +
- Raghuveer Devulapalli
- Ralf Gommers
- Rostan Tabet +
- Sebastian Berg
- Tyler Reddy
- Yannik Wicke +
Pull requests merged
A total of 24 pull requests were merged for this release.
- #26711: MAINT: prepare 2.0.x for further development
- #26792: TYP: fix incorrect import in
ma/extras.pyistub - #26793: DOC: Mention \'1.25\' legacy printing mode in
set_printoptions - #26794: DOC: Remove mention of NaN and NAN aliases from constants
- #26821: BLD: Fix x86-simd-sort build failure on openBSD
- #26822: BUG: Ensure output order follows input in numpy.fft
- #26823: TYP: fix missing sys import in numeric.pyi
- #26832: DOC: remove hack to override _addnewdocsscalars
- #26835: BUG: avoid side-effect of \'include complex.h\'
- #26836: BUG: fix max_rows and chunked string/datetime reading in
loadtxt - #26837: BUG: fix PyArray_ImportNumPyAPI under -Werror=strict-prototypes
- #26856: DOC: Update some documentation
- #26868: BUG: fancy indexing copy
- #26869: BUG: Mismatched allocation domains in
PyArray_FillWithScalar - #26870: BUG: Handle --f77flags and --f90flags for meson [wheel build]
- #26887: BUG: Fix new DTypes and new string promotion when signature is...
- #26888: BUG: remove numpy.f2py from excludedimports
- #26959: BUG: Quantile closest_observation to round to nearest even order
- #26960: BUG: Fix off-by-one error in amount of characters in strip
- #26961: API: Partially revert unique with return_inverse
- #26962: BUG,MAINT: Fix utf-8 character stripping memory access
- #26963: BUG: Fix out-of-bound minimum offset for in1d table method
- #26971: BUG: fix f2py tests to work with v2 API
- #26995: BUG: Add object cast to avoid warning with limited API
Checksums
MD5
a3e7d0f361ee7302448cae3c10844dd3 numpy-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl
cff8546b69e43ae7b5050f05bdc25df2 numpy-2.0.1-cp310-cp310-macosx_11_0_arm64.whl
1713d23342528f4f8f4027970f010068 numpy-2.0.1-cp310-cp310-macosx_14_0_arm64.whl
20020d28606ea58f986a262daa6018f1 numpy-2.0.1-cp310-cp310-macosx_14_0_x86_64.whl
db22154ea943a707917aebc79e449bc5 numpy-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fe86cd85f240216f64eb076a62a229d2 numpy-2.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e0ca08f85150af3cc6050d64e8c0bd27 numpy-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl
b76f432906f62e31f0e09c41f3f08b4c numpy-2.0.1-cp310-cp310-musllinux_1_2_aarch64.whl
28e8109e4ef524fa5c272d6faec870ae numpy-2.0.1-cp310-cp310-win32.whl
874beffaefdc73da42300ce691c2419c numpy-2.0.1-cp310-cp310-win_amd64.whl
7bbe029f650c924e952da117842d456d numpy-2.0.1-cp311-cp311-macosx_10_9_x86_64.whl
6d3d6ae26c520e93cef7f11ba3951f57 numpy-2.0.1-cp311-cp311-macosx_11_0_arm64.whl
de6082d719437eb7468ae31c407c503e numpy-2.0.1-cp311-cp311-macosx_14_0_arm64.whl
d15a8d95661f8a1dfcc4eb089f9b46e8 numpy-2.0.1-cp311-cp311-macosx_14_0_x86_64.whl
c181105e074ee575ccf2c992e40f947a numpy-2.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
00d22b299343fcdc78fbb0716ead6243 numpy-2.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d9c4f49dbedb3f3d0158f00db459bd25 numpy-2.0.1-cp311-cp311-musllinux_1_1_x86_64.whl
63caa03e0625327ad3a756e01c83a6ca numpy-2.0.1-cp311-cp311-musllinux_1_2_aarch64.whl
99d01d768a115d448ca2b4680de15191 numpy-2.0.1-cp311-cp311-win32.whl
8d1a31eccc8b9f077312095b11f62cb2 numpy-2.0.1-cp311-cp311-win_amd64.whl
6cc86f7761a33941d8c1c552186e774b numpy-2.0.1-cp312-cp312-macosx_10_9_x86_64.whl
67c48f352afff5f41108f1b9561d1d5c numpy-2.0.1-cp312-cp312-macosx_11_0_arm64.whl
1068d4eadcac6a869e0e457853b7e611 numpy-2.0.1-cp312-cp312-macosx_14_0_arm64.whl
dfb667450315fddcf84381fc8ef16892 numpy-2.0.1-cp312-cp312-macosx_14_0_x86_64.whl
69822bbbbb65d8a7d00ae32b435f61cc numpy-2.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
883ed6c41395fb2def6cc0d64dcb817f numpy-2.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4b1e9fd464821a7d1de3a8ddf911311e numpy-2.0.1-cp312-cp312-musllinux_1_1_x86_64.whl
79e6557f40b8ed8f5973b404d98eab3d numpy-2.0.1-cp312-cp312-musllinux_1_2_aarch64.whl
85596f15d4cf85c2f78b4cc12c2cad1e numpy-2.0.1-cp312-cp312-win32.whl
487c7c2944306f62b3770576ce903a91 numpy-2.0.1-cp312-cp312-win_amd64.whl
491093641afa21e65d6e629eb70571fc numpy-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl
5008b16c20f3d7e5a0c7764712f8908e numpy-2.0.1-cp39-cp39-macosx_11_0_arm64.whl
14633b898f863ea797c40ba1cf226c29 numpy-2.0.1-cp39-cp39-macosx_14_0_arm64.whl
9054ecb69d21b364e59e94aab24247cb numpy-2.0.1-cp39-cp39-macosx_14_0_x86_64.whl
be028cf4bb691921943939de17593dd7 numpy-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9c440ad02ff0a954f696637de37aab2d numpy-2.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
27aec0d286eabe26d8e9149f4572dba1 numpy-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl
b02eda82ee511ee27185c8a4073ea35c numpy-2.0.1-cp39-cp39-musllinux_1_2_aarch64.whl
cf579b902325e023b2dc444692eb5991 numpy-2.0.1-cp39-cp39-win32.whl
302c8c3118a5f55d9ef35ed8e517f6b1 numpy-2.0.1-cp39-cp39-win_amd64.whl
34c17fe980accfb76c6f348f85b3cfef numpy-2.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
02676eb84379b0a223288d6fd9d76942 numpy-2.0.1-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
b5300e6fe110bf69e1a8901c5c09e3f8 numpy-2.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
204a3ea7fb851e08d166c74f73f9b8a3 numpy-2.0.1-pp39-pypy39_pp73-win_amd64.whl
5df3c50fc124c3167404d396115898d0 numpy-2.0.1.tar.gz
SHA256
0fbb536eac80e27a2793ffd787895242b7f18ef792563d742c2d673bfcb75134 numpy-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl
69ff563d43c69b1baba77af455dd0a839df8d25e8590e79c90fcbe1499ebde42 numpy-2.0.1-cp310-cp310-macosx_11_0_arm64.whl
1b902ce0e0a5bb7704556a217c4f63a7974f8f43e090aff03fcf262e0b135e02 numpy-2.0.1-cp310-cp310-macosx_14_0_arm64.whl
f1659887361a7151f89e79b276ed8dff3d75877df906328f14d8bb40bb4f5101 numpy-2.0.1-cp310-cp310-macosx_14_0_x86_64.whl
4658c398d65d1b25e1760de3157011a80375da861709abd7cef3bad65d6543f9 numpy-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4127d4303b9ac9f94ca0441138acead39928938660ca58329fe156f84b9f3015 numpy-2.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e5eeca8067ad04bc8a2a8731183d51d7cbaac66d86085d5f4766ee6bf19c7f87 numpy-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl
9adbd9bb520c866e1bfd7e10e1880a1f7749f1f6e5017686a5fbb9b72cf69f82 numpy-2.0.1-cp310-cp310-musllinux_1_2_aarch64.whl
7b9853803278db3bdcc6cd5beca37815b133e9e77ff3d4733c247414e78eb8d1 numpy-2.0.1-cp310-cp310-win32.whl
81b0893a39bc5b865b8bf89e9ad7807e16717f19868e9d234bdaf9b1f1393868 numpy-2.0.1-cp310-cp310-win_amd64.whl
75b4e316c5902d8163ef9d423b1c3f2f6252226d1aa5cd8a0a03a7d01ffc6268 numpy-2.0.1-cp311-cp311-macosx_10_9_x86_64.whl
6e4eeb6eb2fced786e32e6d8df9e755ce5be920d17f7ce00bc38fcde8ccdbf9e numpy-2.0.1-cp311-cp311-macosx_11_0_arm64.whl
a1e01dcaab205fbece13c1410253a9eea1b1c9b61d237b6fa59bcc46e8e89343 numpy-2.0.1-cp311-cp311-macosx_14_0_arm64.whl
a8fc2de81ad835d999113ddf87d1ea2b0f4704cbd947c948d2f5513deafe5a7b numpy-2.0.1-cp311-cp311-macosx_14_0_x86_64.whl
5a3d94942c331dd4e0e1147f7a8699a4aa47dffc11bf8a1523c12af8b2e91bbe numpy-2.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
15eb4eca47d36ec3f78cde0a3a2ee24cf05ca7396ef808dda2c0ddad7c2bde67 numpy-2.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b83e16a5511d1b1f8a88cbabb1a6f6a499f82c062a4251892d9ad5d609863fb7 numpy-2.0.1-cp311-cp311-musllinux_1_1_x86_64.whl
1f87fec1f9bc1efd23f4227becff04bd0e979e23ca50cc92ec88b38489db3b55 numpy-2.0.1-cp311-cp311-musllinux_1_2_aarch64.whl
36d3a9405fd7c511804dc56fc32974fa5533bdeb3cd1604d6b8ff1d292b819c4 numpy-2.0.1-cp311-cp311-win32.whl
08458fbf403bff5e2b45f08eda195d4b0c9b35682311da5a5a0a0925b11b9bd8 numpy-2.0.1-cp311-cp311-win_amd64.whl
6bf4e6f4a2a2e26655717a1983ef6324f2664d7011f6ef7482e8c0b3d51e82ac numpy-2.0.1-cp312-cp312-macosx_10_9_x86_64.whl
7d6fddc5fe258d3328cd8e3d7d3e02234c5d70e01ebe377a6ab92adb14039cb4 numpy-2.0.1-cp312-cp312-macosx_11_0_arm64.whl
5daab361be6ddeb299a918a7c0864fa8618af66019138263247af405018b04e1 numpy-2.0.1-cp312-cp312-macosx_14_0_arm64.whl
ea2326a4dca88e4a274ba3a4405eb6c6467d3ffbd8c7d38632502eaae3820587 numpy-2.0.1-cp312-cp312-macosx_14_0_x86_64.whl
529af13c5f4b7a932fb0e1911d3a75da204eff023ee5e0e79c1751564221a5c8 numpy-2.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6790654cb13eab303d8402354fabd47472b24635700f631f041bd0b65e37298a numpy-2.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cbab9fc9c391700e3e1287666dfd82d8666d10e69a6c4a09ab97574c0b7ee0a7 numpy-2.0.1-cp312-cp312-musllinux_1_1_x86_64.whl
99d0d92a5e3613c33a5f01db206a33f8fdf3d71f2912b0de1739894668b7a93b numpy-2.0.1-cp312-cp312-musllinux_1_2_aarch64.whl
173a00b9995f73b79eb0191129f2455f1e34c203f559dd118636858cc452a1bf numpy-2.0.1-cp312-cp312-win32.whl
bb2124fdc6e62baae159ebcfa368708867eb56806804d005860b6007388df171 numpy-2.0.1-cp312-cp312-win_amd64.whl
bfc085b28d62ff4009364e7ca34b80a9a080cbd97c2c0630bb5f7f770dae9414 numpy-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl
8fae4ebbf95a179c1156fab0b142b74e4ba4204c87bde8d3d8b6f9c34c5825ef numpy-2.0.1-cp39-cp39-macosx_11_0_arm64.whl
72dc22e9ec8f6eaa206deb1b1355eb2e253899d7347f5e2fae5f0af613741d06 numpy-2.0.1-cp39-cp39-macosx_14_0_arm64.whl
ec87f5f8aca726117a1c9b7083e7656a9d0d606eec7299cc067bb83d26f16e0c numpy-2.0.1-cp39-cp39-macosx_14_0_x86_64.whl
1f682ea61a88479d9498bf2091fdcd722b090724b08b31d63e022adc063bad59 numpy-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8efc84f01c1cd7e34b3fb310183e72fcdf55293ee736d679b6d35b35d80bba26 numpy-2.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3fdabe3e2a52bc4eff8dc7a5044342f8bd9f11ef0934fcd3289a788c0eb10018 numpy-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl
24a0e1befbfa14615b49ba9659d3d8818a0f4d8a1c5822af8696706fbda7310c numpy-2.0.1-cp39-cp39-musllinux_1_2_aarch64.whl
f9cf5ea551aec449206954b075db819f52adc1638d46a6738253a712d553c7b4 numpy-2.0.1-cp39-cp39-win32.whl
e9e81fa9017eaa416c056e5d9e71be93d05e2c3c2ab308d23307a8bc4443c368 numpy-2.0.1-cp39-cp39-win_amd64.whl
61728fba1e464f789b11deb78a57805c70b2ed02343560456190d0501ba37b0f numpy-2.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
12f5d865d60fb9734e60a60f1d5afa6d962d8d4467c120a1c0cda6eb2964437d numpy-2.0.1-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
eacf3291e263d5a67d8c1a581a8ebbcfd6447204ef58828caf69a5e3e8c75990 numpy-2.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2c3a346ae20cfd80b6cfd3e60dc179963ef2ea58da5ec074fd3d9e7a1e7ba97f numpy-2.0.1-pp39-pypy39_pp73-win_amd64.whl
485b87235796410c3519a699cfe1faab097e509e90ebb05dcd098db2ae87e7b3 numpy-2.0.1.tar.gz
- Python
Published by charris almost 2 years ago
numpy -
NumPy 2.0.0 Release Notes
NumPy 2.0.0 is the first major release since 2006. It is the result of 11 months of development since the last feature release and is the work of 212 contributors spread over 1078 pull requests. It contains a large number of exciting new features as well as changes to both the Python and C APIs.
This major release includes breaking changes that could not happen in a regular minor (feature) release - including an ABI break, changes to type promotion rules, and API changes which may not have been emitting deprecation warnings in 1.26.x. Key documents related to how to adapt to changes in NumPy 2.0, in addition to these release notes, include:
- The numpy-2-migration-guide
- The Numpy 2.0-specific advice in for downstream package authors
Highlights
Highlights of this release include:
- New features:
- A new variable-length string dtype,
numpy.dtypes.StringDTypeand a newnumpy.stringsnamespace with performant ufuncs for string operations, - Support for
float32andlongdoublein allnumpy.fftfunctions, - Support for the array API standard in the main
numpynamespace.
- A new variable-length string dtype,
- Performance improvements:
- Sorting functions
sort,argsort,partition,argpartitionhave been accelerated through the use of the Intel x86-simd-sort and Google Highway libraries, and may see large (hardware-specific) speedups, - macOS Accelerate support and binary wheels for macOS >=14, with significant performance improvements for linear algebra operations on macOS, and wheels that are about 3 times smaller,
numpy.charfixed-length string operations have been accelerated by implementing ufuncs that also supportnumpy.dtypes.StringDTypein addition to the fixed-length string dtypes,- A new tracing and introspection API,
numpy.lib.introspect.opt_func_info, to determine which hardware-specific kernels are available and will be dispatched to. numpy.savenow uses pickle protocol version 4 for saving arrays with object dtype, which allows for pickle objects larger than 4GB and improves saving speed by about 5% for large arrays.
- Sorting functions
- Python API improvements:
- A clear split between public and private API, with a new module structure and each public function now available in a single place.
- Many removals of non-recommended functions and aliases. This
should make it easier to learn and use NumPy. The number of
objects in the main namespace decreased by ~10% and in
numpy.libby ~80%. Canonical dtype names and a newnumpy.isdtype` introspection function,
- C API improvements:
- A new public C API for creating custom dtypes,
- Many outdated functions and macros removed, and private internals hidden to ease future extensibility,
- New, easier to use, initialization functions:
PyArray_ImportNumPyAPIandPyUFunc_ImportUFuncAPI.
- Improved behavior:
- Improvements to type promotion behavior was changed by adopting NEP 50. This fixes many user surprises about promotions which previously often depended on data values of input arrays rather than only their dtypes. Please see the NEP and the numpy-2-migration-guide for details as this change can lead to changes in output dtypes and lower precision results for mixed-dtype operations.
- The default integer type on Windows is now
int64rather thanint32, matching the behavior on other platforms, - The maximum number of array dimensions is changed from 32 to 64
- Documentation:
- The reference guide navigation was significantly improved, and there is now documentation on NumPy\'s module structure,
- The building from source documentation was completely rewritten,
Furthermore there are many changes to NumPy internals, including continuing to migrate code from C to C++, that will make it easier to improve and maintain NumPy in the future.
The \"no free lunch\" theorem dictates that there is a price to pay for all these API and behavior improvements and better future extensibility. This price is:
Backwards compatibility. There are a significant number of breaking changes to both the Python and C APIs. In the majority of cases, there are clear error messages that will inform the user how to adapt their code. However, there are also changes in behavior for which it was not possible to give such an error message - these cases are all covered in the Deprecation and Compatibility sections below, and in the numpy-2-migration-guide.
Note that there is a
ruffmode to auto-fix many things in Python code.Breaking changes to the NumPy ABI. As a result, binaries of packages that use the NumPy C API and were built against a NumPy 1.xx release will not work with NumPy 2.0. On import, such packages will see an
ImportErrorwith a message about binary incompatibility.It is possible to build binaries against NumPy 2.0 that will work at runtime with both NumPy 2.0 and 1.x. See numpy-2-abi-handling for more details.
All downstream packages that depend on the NumPy ABI are advised to do a new release built against NumPy 2.0 and verify that that release works with both 2.0 and 1.26 - ideally in the period between 2.0.0rc1 (which will be ABI-stable) and the final 2.0.0 release to avoid problems for their users.
The Python versions supported by this release are 3.9-3.12.
NumPy 2.0 Python API removals
np.geterrobj,np.seterrobjand the related ufunc keyword argumentextobj=have been removed. The preferred replacement for all of these is using the context managerwith np.errstate():.(gh-23922)
np.casthas been removed. The literal replacement fornp.cast[dtype](arg)isnp.asarray(arg, dtype=dtype).np.sourcehas been removed. The preferred replacement isinspect.getsource.np.lookforhas been removed.(gh-24144)
numpy.whohas been removed. As an alternative for the removed functionality, one can use a variable explorer that is available in IDEs such as Spyder or Jupyter Notebook.(gh-24321)
Warnings and exceptions present in
numpy.exceptions, e.g,numpy.exceptions.ComplexWarning,numpy.exceptions.VisibleDeprecationWarning, are no longer exposed in the main namespace.Multiple niche enums, expired members and functions have been removed from the main namespace, such as:
ERR_*,SHIFT_*,np.fastCopyAndTranspose,np.kernel_version,np.numarray,np.oldnumericandnp.set_numeric_ops.(gh-24316)
Replaced
from ... import *in thenumpy/__init__.pywith explicit imports. As a result, these main namespace members got removed:np.FLOATING_POINT_SUPPORT,np.FPE_*,np.NINF,np.PINF,np.NZERO,np.PZERO,np.CLIP,np.WRAP,np.WRAP,np.RAISE,np.BUFSIZE,np.UFUNC_BUFSIZE_DEFAULT,np.UFUNC_PYVALS_NAME,np.ALLOW_THREADS,np.MAXDIMS,np.MAY_SHARE_EXACT,np.MAY_SHARE_BOUNDS,add_newdoc,np.add_docstringandnp.add_newdoc_ufunc.(gh-24357)
Alias
np.float_has been removed. Usenp.float64instead.Alias
np.complex_has been removed. Usenp.complex128instead.Alias
np.longfloathas been removed. Usenp.longdoubleinstead.Alias
np.singlecomplexhas been removed. Usenp.complex64instead.Alias
np.cfloathas been removed. Usenp.complex128instead.Alias
np.longcomplexhas been removed. Usenp.clongdoubleinstead.Alias
np.clongfloathas been removed. Usenp.clongdoubleinstead.Alias
np.string_has been removed. Usenp.bytes_instead.Alias
np.unicode_has been removed. Usenp.str_instead.Alias
np.Infhas been removed. Usenp.infinstead.Alias
np.Infinityhas been removed. Usenp.infinstead.Alias
np.NaNhas been removed. Usenp.naninstead.Alias
np.inftyhas been removed. Usenp.infinstead.Alias
np.mathas been removed. Usenp.asmatrixinstead.np.issubclass_has been removed. Use theissubclassbuiltin instead.np.asfarrayhas been removed. Usenp.asarraywith a proper dtype instead.np.set_string_functionhas been removed. Usenp.set_printoptionsinstead with a formatter for custom printing of NumPy objects.np.tracemalloc_domainis now only available fromnp.lib.np.recfromcsvandrecfromtxtare now only available fromnp.lib.npyio.np.issctype,np.maximum_sctype,np.obj2sctype,np.sctype2char,np.sctypes,np.issubsctypewere all removed from the main namespace without replacement, as they where niche members.Deprecated
np.deprecateandnp.deprecate_with_dochas been removed from the main namespace. UseDeprecationWarninginstead.Deprecated
np.safe_evalhas been removed from the main namespace. Useast.literal_evalinstead.(gh-24376)
np.find_common_typehas been removed. Usenumpy.promote_typesornumpy.result_typeinstead. To achieve semantics for thescalar_typesargument, usenumpy.result_typeand pass0,0.0, or0jas a Python scalar instead.np.round_has been removed. Usenp.roundinstead.np.nbyteshas been removed. Usenp.dtype(<dtype>).itemsizeinstead.(gh-24477)
np.compare_chararrayshas been removed from the main namespace. Usenp.char.compare_chararraysinstead.The
charrarrayin the main namespace has been deprecated. It can be imported without a deprecation warning fromnp.char.chararrayfor now, but we are planning to fully deprecate and removechararrayin the future.np.format_parserhas been removed from the main namespace. Usenp.rec.format_parserinstead.(gh-24587)
Support for seven data type string aliases has been removed from
np.dtype:int0,uint0,void0,object0,str0,bytes0andbool8.(gh-24807)
The experimental
numpy.array_apisubmodule has been removed. Use the mainnumpynamespace for regular usage instead, or the separatearray-api-strictpackage for the compliance testing use case for whichnumpy.array_apiwas mostly used.(gh-25911)
__array_prepare__ is removed
UFuncs called __array_prepare__ before running computations for normal
ufunc calls (not generalized ufuncs, reductions, etc.). The function was
also called instead of __array_wrap__ on the results of some linear
algebra functions.
It is now removed. If you use it, migrate to __array_ufunc__ or rely
on __array_wrap__ which is called with a context in all cases,
although only after the result array is filled. In those code paths,
__array_wrap__ will now be passed a base class, rather than a subclass
array.
(gh-25105)
Deprecations
np.compathas been deprecated, as Python 2 is no longer supported.numpy.int8and similar classes will no longer support conversion of out of bounds python integers to integer arrays. For example, conversion of 255 to int8 will not return -1.numpy.iinfo(dtype)can be used to check the machine limits for data types. For example,np.iinfo(np.uint16)returns min = 0 and max = 65535.np.array(value).astype(dtype)will give the desired result.np.safe_evalhas been deprecated.ast.literal_evalshould be used instead.(gh-23830)
np.recfromcsv,np.recfromtxt,np.disp,np.get_array_wrap,np.maximum_sctype,np.deprecateandnp.deprecate_with_dochave been deprecated.(gh-24154)
np.trapzhas been deprecated. Usenp.trapezoidor ascipy.integratefunction instead.np.in1dhas been deprecated. Usenp.isininstead.Alias
np.row_stackhas been deprecated. Usenp.vstackdirectly.(gh-24445)
__array_wrap__is now passedarr, context, return_scalarand support for implementations not accepting all three are deprecated. Its signature should be__array_wrap__(self, arr, context=None, return_scalar=False)(gh-25409)
Arrays of 2-dimensional vectors for
np.crosshave been deprecated. Use arrays of 3-dimensional vectors instead.(gh-24818)
np.dtype("a")alias fornp.dtype(np.bytes_)was deprecated. Usenp.dtype("S")alias instead.(gh-24854)
Use of keyword arguments
xandywith functionsassert_array_equalandassert_array_almost_equalhas been deprecated. Pass the first two arguments as positional arguments instead.(gh-24978)
numpy.fft deprecations for n-D transforms with None values in arguments
Using fftn, ifftn, rfftn, irfftn, fft2, ifft2, rfft2 or
irfft2 with the s parameter set to a value that is not None and
the axes parameter set to None has been deprecated, in line with the
array API standard. To retain current behaviour, pass a sequence [0,
..., k-1] to axes for an array of dimension k.
Furthermore, passing an array to s which contains None values is
deprecated as the parameter is documented to accept a sequence of
integers in both the NumPy docs and the array API specification. To use
the default behaviour of the corresponding 1-D transform, pass the value
matching the default for its n parameter. To use the default behaviour
for every axis, the s argument can be omitted.
(gh-25495)
np.linalg.lstsq now defaults to a new rcond value
numpy.linalg.lstsq now uses the new rcond value of the
machine precision times max(M, N). Previously, the machine precision
was used but a FutureWarning was given to notify that this change will
happen eventually. That old behavior can still be achieved by passing
rcond=-1.
(gh-25721)
Expired deprecations
The
np.core.umath_testssubmodule has been removed from the public API. (Deprecated in NumPy 1.15)(gh-23809)
The
PyDataMem_SetEventHookdeprecation has expired and it is removed. Usetracemallocand thenp.lib.tracemalloc_domaindomain. (Deprecated in NumPy 1.23)(gh-23921)
The deprecation of
set_numeric_opsand the C functionsPyArray_SetNumericOpsandPyArray_GetNumericOpshas been expired and the functions removed. (Deprecated in NumPy 1.16)(gh-23998)
The
fasttake,fastclip, andfastputmaskArrFuncsdeprecation is now finalized.The deprecated function
fastCopyAndTransposeand its C counterpart are now removed.The deprecation of
PyArray_ScalarFromObjectis now finalized.(gh-24312)
np.msorthas been removed. For a replacement,np.sort(a, axis=0)should be used instead.(gh-24494)
np.dtype(("f8", 1)will now return a shape 1 subarray dtype rather than a non-subarray one.(gh-25761)
Assigning to the
.dataattribute of an ndarray is disallowed and will raise.np.binary_repr(a, width)will raise if width is too small.Using
NPY_CHARinPyArray_DescrFromType()will raise, useNPY_STRINGNPY_UNICODE, orNPY_VSTRINGinstead.(gh-25794)
Compatibility notes
loadtxt and genfromtxt default encoding changed
loadtxt and genfromtxt now both default to encoding=None which may
mainly modify how converters work. These will now be passed str
rather than bytes. Pass the encoding explicitly to always get the new
or old behavior. For genfromtxt the change also means that returned
values will now be unicode strings rather than bytes.
(gh-25158)
f2py compatibility notes
f2pywill no longer accept ambiguous-mand.pyfCLI combinations. When more than one.pyffile is passed, an error is raised. When both-mand a.pyfis passed, a warning is emitted and the-mprovided name is ignored.(gh-25181)
The
f2py.compile()helper has been removed because it leaked memory, has been marked as experimental for several years now, and was implemented as a thinsubprocess.runwrapper. It was also one of the test bottlenecks. See gh-25122 for the full rationale. It also used severalnp.distutilsfeatures which are too fragile to be ported to work withmeson.Users are urged to replace calls to
f2py.compilewith calls tosubprocess.run("python", "-m", "numpy.f2py",...instead, and to use environment variables to interact withmeson. Native files are also an option.(gh-25193)
Minor changes in behavior of sorting functions
Due to algorithmic changes and use of SIMD code, sorting functions with
methods that aren\'t stable may return slightly different results in
2.0.0 compared to 1.26.x. This includes the default method of
numpy.argsort and numpy.argpartition.
Removed ambiguity when broadcasting in np.solve
The broadcasting rules for np.solve(a, b) were ambiguous when b had
1 fewer dimensions than a. This has been resolved in a
backward-incompatible way and is now compliant with the Array API. The
old behaviour can be reconstructed by using
np.solve(a, b[..., None])[..., 0].
(gh-25914)
Modified representation for Polynomial
The representation method for
numpy.polynomial.polynomial.Polynomial was updated to
include the domain in the representation. The plain text and latex
representations are now consistent. For example the output of
str(np.polynomial.Polynomial([1, 1], domain=[.1, .2])) used to be
1.0 + 1.0 x, but now is 1.0 + 1.0 (-3.0000000000000004 + 20.0 x).
(gh-21760)
C API changes
The
PyArray_CGT,PyArray_CLT,PyArray_CGE,PyArray_CLE,PyArray_CEQ,PyArray_CNEmacros have been removed.PyArray_MINandPyArray_MAXhave been moved fromndarraytypes.htonpy_math.h.(gh-24258)
A C API for working with
numpy.dtypes.StringDTypearrays has been exposed. This includes functions for acquiring and releasing mutexes which lock access to the string data, as well as packing and unpacking UTF-8 bytestreams from array entries.NPY_NTYPEShas been renamed toNPY_NTYPES_LEGACYas it does not include new NumPy built-in DTypes. In particular the new string DType will likely not work correctly with code that handles legacy DTypes.(gh-25347)
The C-API now only exports the static inline function versions of the array accessors (previously this depended on using \"deprecated API\"). While we discourage it, the struct fields can still be used directly.
(gh-25789)
NumPy now defines
PyArray_Packto set an individual memory address. UnlikePyArray_SETITEMthis function is equivalent to setting an individual array item and does not require a NumPy array input.(gh-25954)
The
->fslot has been removed fromPyArray_Descr. If you use this slot, replace accessing it withPyDataType_GetArrFuncs(see its documentation and thenumpy-2-migration-guide). In some cases using other functions likePyArray_GETITEMmay be an alternatives.PyArray_GETITEMandPyArray_SETITEMnow require the import of the NumPy API table to be used and are no longer defined inndarraytypes.h.(gh-25812)
Due to runtime dependencies, the definition for functionality accessing the dtype flags was moved from
numpy/ndarraytypes.hand is only available after includingnumpy/ndarrayobject.has it requiresimport_array(). This includesPyDataType_FLAGCHK,PyDataType_REFCHKandNPY_BEGIN_THREADS_DESCR.The dtype flags on
PyArray_Descrmust now be accessed through thePyDataType_FLAGSinline function to be compatible with both 1.x and 2.x. This function is defined innpy_2_compat.hto allow backporting. Most or all users should usePyDataType_FLAGCHKwhich is available on 1.x and does not require backporting. Cython users should use Cython 3. Otherwise access will go through Python unless they usePyDataType_FLAGCHKinstead.(gh-25816)
Datetime functionality exposed in the C API and Cython bindings
The functions NpyDatetime_ConvertDatetime64ToDatetimeStruct,
NpyDatetime_ConvertDatetimeStructToDatetime64,
NpyDatetime_ConvertPyDateTimeToDatetimeStruct,
NpyDatetime_GetDatetimeISO8601StrLen,
NpyDatetime_MakeISO8601Datetime, and
NpyDatetime_ParseISO8601Datetime have been added to the C API to
facilitate converting between strings, Python datetimes, and NumPy
datetimes in external libraries.
(gh-21199)
Const correctness for the generalized ufunc C API
The NumPy C API\'s functions for constructing generalized ufuncs
(PyUFunc_FromFuncAndData, PyUFunc_FromFuncAndDataAndSignature,
PyUFunc_FromFuncAndDataAndSignatureAndIdentity) take types and
data arguments that are not modified by NumPy\'s internals. Like the
name and doc arguments, third-party Python extension modules are
likely to supply these arguments from static constants. The types and
data arguments are now const-correct: they are declared as
const char *types and void *const *data, respectively. C code should
not be affected, but C++ code may be.
(gh-23847)
Larger NPY_MAXDIMS and NPY_MAXARGS, NPY_RAVEL_AXIS introduced
NPY_MAXDIMS is now 64, you may want to review its use. This is usually
used in a stack allocation, where the increase should be safe. However,
we do encourage generally to remove any use of NPY_MAXDIMS and
NPY_MAXARGS to eventually allow removing the constraint completely.
For the conversion helper and C-API functions mirroring Python ones such as
take, NPY_MAXDIMS was used to mean axis=None. Such usage must be replaced
with NPY_RAVEL_AXIS. See also migration_maxdims.
(gh-25149)
NPY_MAXARGS not constant and PyArrayMultiIterObject size change
Since NPY_MAXARGS was increased, it is now a runtime constant and not
compile-time constant anymore. We expect almost no users to notice this.
But if used for stack allocations it now must be replaced with a custom
constant using NPY_MAXARGS as an additional runtime check.
The sizeof(PyArrayMultiIterObject) no longer includes the full size of
the object. We expect nobody to notice this change. It was necessary to
avoid issues with Cython.
(gh-25271)
Required changes for custom legacy user dtypes
In order to improve our DTypes it is unfortunately necessary to break
the ABI, which requires some changes for dtypes registered with
PyArray_RegisterDataType. Please see the documentation of
PyArray_RegisterDataType for how to adapt your code and achieve
compatibility with both 1.x and 2.x.
(gh-25792)
New Public DType API
The C implementation of the NEP 42 DType API is now public. While the
DType API has shipped in NumPy for a few versions, it was only usable in
sessions with a special environment variable set. It is now possible to
write custom DTypes outside of NumPy using the new DType API and the
normal import_array() mechanism for importing the numpy C API.
See dtype-api for more details about the API. As always with a new feature,
please report any bugs you run into implementing or using a new DType. It is
likely that downstream C code that works with dtypes will need to be updated to
work correctly with new DTypes.
(gh-25754)
New C-API import functions
We have now added PyArray_ImportNumPyAPI and PyUFunc_ImportUFuncAPI
as static inline functions to import the NumPy C-API tables. The new
functions have two advantages over import_array and import_ufunc:
- They check whether the import was already performed and are light-weight if not, allowing to add them judiciously (although this is not preferable in most cases).
- The old mechanisms were macros rather than functions which included
a
returnstatement.
The PyArray_ImportNumPyAPI() function is included in npy_2_compat.h
for simpler backporting.
(gh-25866)
Structured dtype information access through functions
The dtype structures fields c_metadata, names, fields, and
subarray must now be accessed through new functions following the same
names, such as PyDataType_NAMES. Direct access of the fields is not
valid as they do not exist for all PyArray_Descr instances. The
metadata field is kept, but the macro version should also be
preferred.
(gh-25802)
Descriptor elsize and alignment access
Unless compiling only with NumPy 2 support, the elsize and aligment
fields must now be accessed via PyDataType_ELSIZE,
PyDataType_SET_ELSIZE, and PyDataType_ALIGNMENT. In cases where the
descriptor is attached to an array, we advise using PyArray_ITEMSIZE
as it exists on all NumPy versions. Please see
migration_c_descr for more information.
(gh-25943)
NumPy 2.0 C API removals
npy_interrupt.hand the corresponding macros likeNPY_SIGINT_ONhave been removed. We recommend queryingPyErr_CheckSignals()orPyOS_InterruptOccurred()periodically (these do currently require holding the GIL though).The
noprefix.hheader has been removed. Replace missing symbols with their prefixed counterparts (usually an addedNPY_ornpy_).(gh-23919)
PyUFunc_GetPyVals,PyUFunc_handlefperr, andPyUFunc_checkfperrhave been removed. If needed, a new backwards compatible function to raise floating point errors could be restored. Reason for removal: there are no known users and the functions would have madewith np.errstate()fixes much more difficult).(gh-23922)
The
numpy/old_defines.hwhich was part of the API deprecated since NumPy 1.7 has been removed. This removes macros of the formPyArray_CONSTANT. The replaceoldmacros.sed script may be useful to convert them to theNPY_CONSTANTversion.(gh-24011)
The
legacy_inner_loop_selectormember of the ufunc struct is removed to simplify improvements to the dispatching system. There are no known users overriding or directly accessing this member.(gh-24271)
NPY_INTPLTRhas been removed to avoid confusion (seeintpredefinition).(gh-24888)
The advanced indexing
MapIterand related API has been removed. The (truly) public part of it was not well tested and had only one known user (Theano). Making it private will simplify improvements to speed upufunc.at, make advanced indexing more maintainable, and was important for increasing the maximum number of dimensions of arrays to 64. Please let us know if this API is important to you so we can find a solution together.(gh-25138)
The
NPY_MAX_ELSIZEmacro has been removed, as it only ever reflected builtin numeric types and served no internal purpose.(gh-25149)
PyArray_REFCNTandNPY_REFCOUNTare removed. UsePy_REFCNTinstead.(gh-25156)
PyArrayFlags_TypeandPyArray_NewFlagsObjectas well asPyArrayFlagsObjectare private now. There is no known use-case; use the Python API if needed.PyArray_MoveInto,PyArray_CastTo,PyArray_CastAnyToare removed usePyArray_CopyIntoand if absolutely neededPyArray_CopyAnyInto(the latter does a flat copy).PyArray_FillObjectArrayis removed, its only true use was for implementingnp.empty. Create a new empty array or usePyArray_FillWithScalar()(decrefs existing objects).PyArray_CompareUCS4andPyArray_CompareStringare removed. Use the standard C string comparison functions.PyArray_ISPYTHONis removed as it is misleading, has no known use-cases, and is easy to replace.PyArray_FieldNamesis removed, as it is unclear what it would be useful for. It also has incorrect semantics in some possible use-cases.PyArray_TypestrConvertis removed, since it seems a misnomer and unlikely to be used by anyone. If you know the size or are limited to few types, just use it explicitly, otherwise go via Python strings.(gh-25292)
PyDataType_GetDatetimeMetaDatais removed, it did not actually do anything since at least NumPy 1.7.(gh-25802)
PyArray_GetCastFuncis removed. Note that custom legacy user dtypes can still provide a castfunc as their implementation, but any access to them is now removed. The reason for this is that NumPy never used these internally for many years. If you use simple numeric types, please just use C casts directly. In case you require an alternative, please let us know so we can create new API such asPyArray_CastBuffer()which could use old or new cast functions depending on the NumPy version.(gh-25161)
New Features
np.add was extended to work with unicode and bytes dtypes.
(gh-24858)
A new bitwise_count function
This new function counts the number of 1-bits in a number.
numpy.bitwise_count works on all the numpy integer types
and integer-like objects.
``` python
a = np.array([2**i - 1 for i in range(16)]) np.bitwise_count(a) array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], dtype=uint8) ```
(gh-19355)
macOS Accelerate support, including the ILP64
Support for the updated Accelerate BLAS/LAPACK library, including ILP64 (64-bit integer) support, in macOS 13.3 has been added. This brings arm64 support, and significant performance improvements of up to 10x for commonly used linear algebra operations. When Accelerate is selected at build time, or if no explicit BLAS library selection is done, the 13.3+ version will automatically be used if available.
(gh-24053)
Binary wheels are also available. On macOS >=14.0, users who install NumPy from PyPI will get wheels built against Accelerate rather than OpenBLAS.
(gh-25255)
Option to use weights for quantile and percentile functions
A weights keyword is now available for numpy.quantile, numpy.percentile,
numpy.nanquantile and numpy.nanpercentile. Only method="inverted_cdf"
supports weights.
(gh-24254)
Improved CPU optimization tracking
A new tracer mechanism is available which enables tracking of the enabled targets for each optimized function (i.e., that uses hardware-specific SIMD instructions) in the NumPy library. With this enhancement, it becomes possible to precisely monitor the enabled CPU dispatch targets for the dispatched functions.
A new function named opt_func_info has been added to the new namespace
numpy.lib.introspect, offering this tracing capability. This function allows
you to retrieve information about the enabled targets based on function names
and data type signatures.
(gh-24420)
A new Meson backend for f2py
f2py in compile mode (i.e. f2py -c) now accepts the
--backend meson option. This is the default option for Python >=3.12.
For older Python versions, f2py will still default to
--backend distutils.
To support this in realistic use-cases, in compile mode f2py takes a
--dep flag one or many times which maps to dependency() calls in the
meson backend, and does nothing in the distutils backend.
There are no changes for users of f2py only as a code generator, i.e.
without -c.
(gh-24532)
bind(c) support for f2py
Both functions and subroutines can be annotated with bind(c). f2py
will handle both the correct type mapping, and preserve the unique label
for other C interfaces.
Note: bind(c, name = 'routine_name_other_than_fortran_routine') is
not honored by the f2py bindings by design, since bind(c) with the
name is meant to guarantee only the same name in C and Fortran, not in
Python and Fortran.
(gh-24555)
A new strict option for several testing functions
The strict keyword is now available for numpy.testing.assert_allclose,
numpy.testing.assert_equal, and numpy.testing.assert_array_less. Setting
strict=True will disable the broadcasting behaviour for scalars and ensure
that input arrays have the same data type.
(gh-24680, gh-24770, gh-24775)
Add np.core.umath.find and np.core.umath.rfind UFuncs
Add two find and rfind UFuncs that operate on unicode or byte
strings and are used in np.char. They operate similar to str.find
and str.rfind.
(gh-24868)
diagonal and trace for numpy.linalg
numpy.linalg.diagonal and numpy.linalg.trace have been added, which are
array API standard-compatible variants of numpy.diagonal and numpy.trace.
They differ in the default axis selection which define 2-D sub-arrays.
(gh-24887)
New long and ulong dtypes
numpy.long and numpy.ulong have been added as NumPy integers mapping to
C\'s long and unsigned long. Prior to NumPy 1.24, numpy.long was an alias
to Python\'s int.
(gh-24922)
svdvals for numpy.linalg
numpy.linalg.svdvals has been added. It computes singular values for (a stack
of) matrices. Executing np.svdvals(x) is the same as calling np.svd(x,
compute_uv=False, hermitian=False). This function is compatible with the array
API standard.
(gh-24940)
A new isdtype function
numpy.isdtype was added to provide a canonical way to classify NumPy\'s
dtypes in compliance with the array API standard.
(gh-25054)
A new astype function
numpy.astype was added to provide an array API standard-compatible
alternative to the numpy.ndarray.astype method.
(gh-25079)
Array API compatible functions\' aliases
13 aliases for existing functions were added to improve compatibility with the array API standard:
- Trigonometry:
acos,acosh,asin,asinh,atan,atanh,atan2. - Bitwise:
bitwise_left_shift,bitwise_invert,bitwise_right_shift. - Misc:
concat,permute_dims,pow. - In
numpy.linalg:tensordot,matmul.
(gh-25086)
New unique_* functions
The numpy.unique_all, numpy.unique_counts, numpy.unique_inverse, and
numpy.unique_values functions have been added. They provide functionality of
numpy.unique with different sets of flags. They are array API
standard-compatible, and because the number of arrays they return does not
depend on the values of input arguments, they are easier to target for JIT
compilation.
(gh-25088)
Matrix transpose support for ndarrays
NumPy now offers support for calculating the matrix transpose of an
array (or stack of arrays). The matrix transpose is equivalent to
swapping the last two axes of an array. Both np.ndarray and
np.ma.MaskedArray now expose a .mT attribute, and there is a
matching new numpy.matrix_transpose function.
(gh-23762)
Array API compatible functions for numpy.linalg
Six new functions and two aliases were added to improve compatibility with the Array API standard for `numpy.linalg`:
numpy.linalg.matrix_norm- Computes the matrix norm of a matrix (or a stack of matrices).numpy.linalg.vector_norm- Computes the vector norm of a vector (or batch of vectors).numpy.vecdot- Computes the (vector) dot product of two arrays.numpy.linalg.vecdot- An alias fornumpy.vecdot.numpy.linalg.matrix_transpose- An alias fornumpy.matrix_transpose.(gh-25155)
numpy.linalg.outerhas been added. It computes the outer product of two vectors. It differs fromnumpy.outerby accepting one-dimensional arrays only. This function is compatible with the array API standard.(gh-25101)
numpy.linalg.crosshas been added. It computes the cross product of two (arrays of) 3-dimensional vectors. It differs fromnumpy.crossby accepting three-dimensional vectors only. This function is compatible with the array API standard.(gh-25145)
A correction argument for var and std
A correction argument was added to numpy.var and numpy.std, which is an
array API standard compatible alternative to ddof. As both arguments serve a
similar purpose, only one of them can be provided at the same time.
(gh-25169)
ndarray.device and ndarray.to_device
An ndarray.device attribute and ndarray.to_device method were added
to numpy.ndarray for array API standard compatibility.
Additionally, device keyword-only arguments were added to:
numpy.asarray, numpy.arange, numpy.empty, numpy.empty_like,
numpy.eye, numpy.full, numpy.full_like, numpy.linspace, numpy.ones,
numpy.ones_like, numpy.zeros, and numpy.zeros_like.
For all these new arguments, only device="cpu" is supported.
(gh-25233)
StringDType has been added to NumPy
We have added a new variable-width UTF-8 encoded string data type, implementing a \"NumPy array of Python strings\", including support for a user-provided missing data sentinel. It is intended as a drop-in replacement for arrays of Python strings and missing data sentinels using the object dtype. See NEP 55 and the documentation of stringdtype for more details.
(gh-25347)
New keywords for cholesky and pinv
The upper and rtol keywords were added to
numpy.linalg.cholesky and numpy.linalg.pinv,
respectively, to improve array API standard compatibility.
For numpy.linalg.pinv, if neither rcond nor rtol is
specified, the rcond\'s default is used. We plan to deprecate and
remove rcond in the future.
(gh-25388)
New keywords for sort, argsort and linalg.matrix_rank
New keyword parameters were added to improve array API standard compatibility:
-
rtolwas added tonumpy.linalg.matrix_rank. -
stablewas added tonumpy.sortandnumpy.argsort.
(gh-25437)
New numpy.strings namespace for string ufuncs
NumPy now implements some string operations as ufuncs. The old np.char
namespace is still available, and where possible the string manipulation
functions in that namespace have been updated to use the new ufuncs,
substantially improving their performance.
Where possible, we suggest updating code to use functions in
np.strings instead of np.char. In the future we may deprecate
np.char in favor of np.strings.
(gh-25463)
numpy.fft support for different precisions and in-place calculations
The various FFT routines in numpy.fft now do their
calculations natively in float, double, or long double precision,
depending on the input precision, instead of always calculating in
double precision. Hence, the calculation will now be less precise for
single and more precise for long double precision. The data type of the
output array will now be adjusted accordingly.
Furthermore, all FFT routines have gained an out argument that can be
used for in-place calculations.
(gh-25536)
configtool and pkg-config support
A new numpy-config CLI script is available that can be queried for the
NumPy version and for compile flags needed to use the NumPy C API. This
will allow build systems to better support the use of NumPy as a
dependency. Also, a numpy.pc pkg-config file is now included with
Numpy. In order to find its location for use with PKG_CONFIG_PATH, use
numpy-config --pkgconfigdir.
(gh-25730)
Array API standard support in the main namespace
The main numpy namespace now supports the array API standard. See
array-api-standard-compatibility for
details.
(gh-25911)
Improvements
Strings are now supported by any, all, and the logical ufuncs.
(gh-25651)
Integer sequences as the shape argument for memmap
numpy.memmap can now be created with any integer sequence
as the shape argument, such as a list or numpy array of integers.
Previously, only the types of tuple and int could be used without
raising an error.
(gh-23729)
errstate is now faster and context safe
The numpy.errstate context manager/decorator is now faster
and safer. Previously, it was not context safe and had (rare) issues
with thread-safety.
(gh-23936)
AArch64 quicksort speed improved by using Highway\'s VQSort
The first introduction of the Google Highway library, using VQSort on AArch64. Execution time is improved by up to 16x in some cases, see the PR for benchmark results. Extensions to other platforms will be done in the future.
(gh-24018)
Complex types - underlying C type changes
The underlying C types for all of NumPy\'s complex types have been changed to use C99 complex types.
While this change does not affect the memory layout of complex types, it changes the API to be used to directly retrieve or write the real or complex part of the complex number, since direct field access (as in
c.realorc.imag) is no longer an option. You can now use utilities provided innumpy/npy_math.hto do these operations, like this:c npy_cdouble c; npy_csetreal(&c, 1.0); npy_csetimag(&c, 0.0); printf("%d + %di\n", npy_creal(c), npy_cimag(c));To ease cross-version compatibility, equivalent macros and a compatibility layer have been added which can be used by downstream packages to continue to support both NumPy 1.x and 2.x. See
complex-numbersfor more info.numpy/npy_common.hnow includescomplex.h, which means thatcomplexis now a reserved keyword.
(gh-24085)
iso_c_binding support and improved common blocks for f2py
Previously, users would have to define their own custom f2cmap file to
use type mappings defined by the Fortran2003 iso_c_binding intrinsic
module. These type maps are now natively supported by f2py
(gh-24555)
f2py now handles common blocks which have kind specifications from
modules. This further expands the usability of intrinsics like
iso_fortran_env and iso_c_binding.
(gh-25186)
Call str automatically on third argument to functions like assert_equal
The third argument to functions like
numpy.testing.assert_equal now has str called on it
automatically. This way it mimics the built-in assert statement, where
assert_equal(a, b, obj) works like assert a == b, obj.
(gh-24877)
Support for array-like atol/rtol in isclose, allclose
The keywords atol and rtol in numpy.isclose and
numpy.allclose now accept both scalars and arrays. An
array, if given, must broadcast to the shapes of the first two array
arguments.
(gh-24878)
Consistent failure messages in test functions
Previously, some numpy.testing assertions printed messages
that referred to the actual and desired results as x and y. Now,
these values are consistently referred to as ACTUAL and DESIRED.
(gh-24931)
n-D FFT transforms allow s[i] == -1
The numpy.fft.fftn, numpy.fft.ifftn,
numpy.fft.rfftn, numpy.fft.irfftn,
numpy.fft.fft2, numpy.fft.ifft2,
numpy.fft.rfft2 and numpy.fft.irfft2
functions now use the whole input array along the axis i if
s[i] == -1, in line with the array API standard.
(gh-25495)
Guard PyArrayScalar_VAL and PyUnicodeScalarObject for the limited API
PyUnicodeScalarObject holds a PyUnicodeObject, which is not
available when using Py_LIMITED_API. Add guards to hide it and
consequently also make the PyArrayScalar_VAL macro hidden.
(gh-25531)
Changes
np.gradient()now returns a tuple rather than a list making the return value immutable.(gh-23861)
Being fully context and thread-safe,
np.errstatecan only be entered once now.np.setbufsizeis now tied tonp.errstate(): leaving annp.errstatecontext will also reset thebufsize.(gh-23936)
A new public
np.lib.array_utilssubmodule has been introduced and it currently contains three functions:byte_bounds(moved fromnp.lib.utils),normalize_axis_tupleandnormalize_axis_index.(gh-24540)
Introduce
numpy.boolas the new canonical name for NumPy\'s boolean dtype, and makenumpy.bool\_an alias to it. Note that until NumPy 1.24,np.boolwas an alias to Python\'s builtinbool. The new name helps with array API standard compatibility and is a more intuitive name.(gh-25080)
The
dtype.flagsvalue was previously stored as a signed integer. This means that the aligned dtype struct flag lead to negative flags being set (-128 rather than 128). This flag is now stored unsigned (positive). Code which checks flags manually may need to adapt. This may include code compiled with Cython 0.29.x.(gh-25816)
Representation of NumPy scalars changed
As per NEP 51, the scalar representation has been updated to include the type information to avoid confusion with Python scalars.
Scalars are now printed as np.float64(3.0) rather than just 3.0.
This may disrupt workflows that store representations of numbers (e.g.,
to files) making it harder to read them. They should be stored as
explicit strings, for example by using str() or f"{scalar!s}". For
the time being, affected users can use
np.set_printoptions(legacy="1.25") to get the old behavior (with
possibly a few exceptions). Documentation of downstream projects may
require larger updates, if code snippets are tested. We are working on
tooling for
doctest-plus
to facilitate updates.
(gh-22449)
Truthiness of NumPy strings changed
NumPy strings previously were inconsistent about how they defined if the
string is True or False and the definition did not match the one
used by Python. Strings are now considered True when they are
non-empty and False when they are empty. This changes the following
distinct cases:
- Casts from string to boolean were previously roughly equivalent to
string_array.astype(np.int64).astype(bool), meaning that only valid integers could be cast. Now a string of"0"will be consideredTruesince it is not empty. If you need the old behavior, you may use the above step (casting to integer first) orstring_array == "0"(if the input is only ever0or1). To get the new result on old NumPy versions usestring_array != "". -
np.nonzero(string_array)previously ignored whitespace so that a string only containing whitespace was consideredFalse. Whitespace is now consideredTrue.
This change does not affect np.loadtxt, np.fromstring, or
np.genfromtxt. The first two still use the integer definition, while
genfromtxt continues to match for "true" (ignoring case). However,
if np.bool_ is used as a converter the result will change.
The change does affect np.fromregex as it uses direct assignments.
(gh-23871)
A mean keyword was added to var and std function
Often when the standard deviation is needed the mean is also needed. The
same holds for the variance and the mean. Until now the mean is then
calculated twice, the change introduced here for the numpy.var and
numpy.std functions allows for passing in a precalculated mean as an keyword
argument. See the docstrings for details and an example illustrating the
speed-up.
(gh-24126)
Remove datetime64 deprecation warning when constructing with timezone
The numpy.datetime64 method now issues a UserWarning rather than a
DeprecationWarning whenever a timezone is included in the datetime string that
is provided.
(gh-24193)
Default integer dtype is now 64-bit on 64-bit Windows
The default NumPy integer is now 64-bit on all 64-bit systems as the
historic 32-bit default on Windows was a common source of issues. Most
users should not notice this. The main issues may occur with code
interfacing with libraries written in a compiled language like C. For
more information see migration_windows_int64.
(gh-24224)
Renamed numpy.core to numpy._core
Accessing numpy.core now emits a DeprecationWarning. In practice we
have found that most downstream usage of numpy.core was to access
functionality that is available in the main numpy namespace. If for
some reason you are using functionality in numpy.core that is not
available in the main numpy namespace, this means you are likely using
private NumPy internals. You can still access these internals via
numpy._core without a deprecation warning but we do not provide any
backward compatibility guarantees for NumPy internals. Please open an
issue if you think a mistake was made and something needs to be made
public.
(gh-24634)
The \"relaxed strides\" debug build option, which was previously enabled
through the NPY_RELAXED_STRIDES_DEBUG environment variable or the
-Drelaxed-strides-debug config-settings flag has been removed.
(gh-24717)
Redefinition of np.intp/np.uintp (almost never a change)
Due to the actual use of these types almost always matching the use of
size_t/Py_ssize_t this is now the definition in C. Previously, it
matched intptr_t and uintptr_t which would often have been subtly
incorrect. This has no effect on the vast majority of machines since the
size of these types only differ on extremely niche platforms.
However, it means that:
- Pointers may not necessarily fit into an
intptyped array anymore. ThepandPcharacter codes can still be used, however. - Creating
intptr_toruintptr_ttyped arrays in C remains possible in a cross-platform way viaPyArray_DescrFromType('p'). - The new character codes
nNwere introduced. - It is now correct to use the Python C-API functions when parsing to
npy_intptyped arguments.
(gh-24888)
numpy.fft.helper made private
numpy.fft.helper was renamed to numpy.fft._helper to indicate that
it is a private submodule. All public functions exported by it should be
accessed from numpy.fft.
(gh-24945)
numpy.linalg.linalg made private
numpy.linalg.linalg was renamed to numpy.linalg._linalg to indicate
that it is a private submodule. All public functions exported by it
should be accessed from numpy.linalg.
(gh-24946)
Out-of-bound axis not the same as axis=None
In some cases axis=32 or for concatenate any large value was the same
as axis=None. Except for concatenate this was deprecate. Any out of
bound axis value will now error, make sure to use axis=None.
(gh-25149)
New copy keyword meaning for array and asarray constructors
Now numpy.array and numpy.asarray support
three values for copy parameter:
-
None- A copy will only be made if it is necessary. -
True- Always make a copy. -
False- Never make a copy. If a copy is required aValueErroris raised.
The meaning of False changed as it now raises an exception if a copy
is needed.
(gh-25168)
The __array__ special method now takes a copy keyword argument.
NumPy will pass copy to the __array__ special method in situations
where it would be set to a non-default value (e.g. in a call to
np.asarray(some_object, copy=False)). Currently, if an unexpected
keyword argument error is raised after this, NumPy will print a warning
and re-try without the copy keyword argument. Implementations of
objects implementing the __array__ protocol should accept a copy
keyword argument with the same meaning as when passed to
numpy.array or numpy.asarray.
(gh-25168)
Cleanup of initialization of numpy.dtype with strings with commas
The interpretation of strings with commas is changed slightly, in that a
trailing comma will now always create a structured dtype. E.g., where
previously np.dtype("i") and np.dtype("i,") were treated as
identical, now np.dtype("i,") will create a structured dtype, with a
single field. This is analogous to np.dtype("i,i") creating a
structured dtype with two fields, and makes the behaviour consistent
with that expected of tuples.
At the same time, the use of single number surrounded by parenthesis to
indicate a sub-array shape, like in np.dtype("(2)i,"), is deprecated.
Instead; one should use np.dtype("(2,)i") or np.dtype("2i").
Eventually, using a number in parentheses will raise an exception, like
is the case for initializations without a comma, like
np.dtype("(2)i").
(gh-25434)
Change in how complex sign is calculated
Following the array API standard, the complex sign is now calculated as
z / |z| (instead of the rather less logical case where the sign of the
real part was taken, unless the real part was zero, in which case the
sign of the imaginary part was returned). Like for real numbers, zero is
returned if z==0.
(gh-25441)
Return types of functions that returned a list of arrays
Functions that returned a list of ndarrays have been changed to return a
tuple of ndarrays instead. Returning tuples consistently whenever a
sequence of arrays is returned makes it easier for JIT compilers like
Numba, as well as for static type checkers in some cases, to support
these functions. Changed functions are: numpy.atleast_1d, numpy.atleast_2d,
numpy.atleast_3d, numpy.broadcast_arrays, numpy.meshgrid,
numpy.ogrid, numpy.histogramdd.
np.unique return_inverse shape for multi-dimensional inputs
When multi-dimensional inputs are passed to np.unique with
return_inverse=True, the unique_inverse output is now shaped such
that the input can be reconstructed directly using
np.take(unique, unique_inverse) when axis=None, and
np.take_along_axis(unique, unique_inverse, axis=axis) otherwise.
any and all return booleans for object arrays
The any and all functions and methods now return booleans also for
object arrays. Previously, they did a reduction which behaved like the
Python or and and operators which evaluates to one of the arguments.
You can use np.logical_or.reduce and np.logical_and.reduce to
achieve the previous behavior.
(gh-25712)
np.can_cast cannot be called on Python int, float, or complex
np.can_cast cannot be called with Python int, float, or complex
instances anymore. This is because NEP 50 means that the result of
can_cast must not depend on the value passed in. Unfortunately, for
Python scalars whether a cast should be considered "same_kind" or
"safe" may depend on the context and value so that this is currently
not implemented. In some cases, this means you may have to add a
specific path for: if type(obj) in (int, float, complex): ....
(gh-26393)
Checksums
MD5
fcda027f9735771088e607161c913094 numpy-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl
1c381a5af3e6b945c6937ab3c6e2de09 numpy-2.0.0-cp310-cp310-macosx_11_0_arm64.whl
6258de3c0599f8e3674e11898f2dd71c numpy-2.0.0-cp310-cp310-macosx_14_0_arm64.whl
aa4d28b404566dc9f5c34a31c6cd7b23 numpy-2.0.0-cp310-cp310-macosx_14_0_x86_64.whl
6b83ba81bdc750ef9924e3dc6f7c93be numpy-2.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3d129fe67d99e0aad451742abb963ffa numpy-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
24a060577965bd2a573ed87cbd207b4c numpy-2.0.0-cp310-cp310-musllinux_1_1_x86_64.whl
b00832f558669aacf855c4f5e9cf31d1 numpy-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl
cfe7420d294c583b90cfe07b730136dc numpy-2.0.0-cp310-cp310-win32.whl
cff9da6b9fe5ad3b05dd3526dff00ac2 numpy-2.0.0-cp310-cp310-win_amd64.whl
f390e03564df5ea37a97ac10cf0cbb00 numpy-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl
a006b081decba286a321de67a1abe246 numpy-2.0.0-cp311-cp311-macosx_11_0_arm64.whl
6aea3e8589e33349b8170524af5a2e44 numpy-2.0.0-cp311-cp311-macosx_14_0_arm64.whl
eea8146c5dc2a306333bfea1f01f7a37 numpy-2.0.0-cp311-cp311-macosx_14_0_x86_64.whl
e96c2af477c970c8ff50ecb5d1cf754f numpy-2.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d065256e02a1d410d0db2577bb8fd9a4 numpy-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
98c570b79459342c219590c5af38d527 numpy-2.0.0-cp311-cp311-musllinux_1_1_x86_64.whl
dc435751cb926f53a9fc457f35146527 numpy-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl
aaa4b435d29022ceacb4e3dcbd43d11a numpy-2.0.0-cp311-cp311-win32.whl
9ff8be4f581d86b2f181fe905491b19b numpy-2.0.0-cp311-cp311-win_amd64.whl
1c9519c5e6a0c5a99715e51ac3b7c932 numpy-2.0.0-cp312-cp312-macosx_10_9_x86_64.whl
b0f26e8728523d716f5165953b35244f numpy-2.0.0-cp312-cp312-macosx_11_0_arm64.whl
029703d0ff0e96c603c91f611926ef17 numpy-2.0.0-cp312-cp312-macosx_14_0_arm64.whl
2231ecbb380c70ddf462e9671d06612c numpy-2.0.0-cp312-cp312-macosx_14_0_x86_64.whl
4153b50c1a3647ca58f1084fcaf3e4c6 numpy-2.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
82cba3915234f8018fd754ffc45e95b0 numpy-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
249047dd7255a5fcf5c45614ba211e10 numpy-2.0.0-cp312-cp312-musllinux_1_1_x86_64.whl
f7581ebfe0c9d4ae4f3b6ea09c19eea7 numpy-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl
8a0dbcd919d1d959f1846a00ebb05162 numpy-2.0.0-cp312-cp312-win32.whl
22aabdfd85ed34f02a7cdacff399c5d9 numpy-2.0.0-cp312-cp312-win_amd64.whl
1fce84122c393e05b69e2ec53ecd1137 numpy-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl
81e4c1152274d85813bf14814ad4d359 numpy-2.0.0-cp39-cp39-macosx_11_0_arm64.whl
5eab1a2b427b590d2bc9d8ecd330fc21 numpy-2.0.0-cp39-cp39-macosx_14_0_arm64.whl
ab967929693baf2d2bfb00c53413ad2b numpy-2.0.0-cp39-cp39-macosx_14_0_x86_64.whl
85d2971cd78800663766f46ba312d356 numpy-2.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7e831fcf9cff5317429786a3bd123671 numpy-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
03a6426ca86ad53567e3ef61bc766013 numpy-2.0.0-cp39-cp39-musllinux_1_1_x86_64.whl
b30af2d2b99468538f45e6769f9fee2b numpy-2.0.0-cp39-cp39-musllinux_1_2_aarch64.whl
cc9a8db8d131fb5a387e2c1342ab0065 numpy-2.0.0-cp39-cp39-win32.whl
9843951308fa31c5e36c4c6a0b090308 numpy-2.0.0-cp39-cp39-win_amd64.whl
5021eb5e225bff3e05a38a565daf8852 numpy-2.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
99186fe49ac7931d3e92e8993c2faa92 numpy-2.0.0-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
c39f0ab6e07d42708550899951b852b8 numpy-2.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cbf151633948e90c93dd988777750961 numpy-2.0.0-pp39-pypy39_pp73-win_amd64.whl
a180aaba9982c6e15da6db62dab5eb4e numpy-2.0.0.tar.gz
SHA256
04494f6ec467ccb5369d1808570ae55f6ed9b5809d7f035059000a37b8d7e86f numpy-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl
2635dbd200c2d6faf2ef9a0d04f0ecc6b13b3cad54f7c67c61155138835515d2 numpy-2.0.0-cp310-cp310-macosx_11_0_arm64.whl
0a43f0974d501842866cc83471bdb0116ba0dffdbaac33ec05e6afed5b615238 numpy-2.0.0-cp310-cp310-macosx_14_0_arm64.whl
8d83bb187fb647643bd56e1ae43f273c7f4dbcdf94550d7938cfc32566756514 numpy-2.0.0-cp310-cp310-macosx_14_0_x86_64.whl
79e843d186c8fb1b102bef3e2bc35ef81160ffef3194646a7fdd6a73c6b97196 numpy-2.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6d7696c615765091cc5093f76fd1fa069870304beaccfd58b5dcc69e55ef49c1 numpy-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b4c76e3d4c56f145d41b7b6751255feefae92edbc9a61e1758a98204200f30fc numpy-2.0.0-cp310-cp310-musllinux_1_1_x86_64.whl
acd3a644e4807e73b4e1867b769fbf1ce8c5d80e7caaef0d90dcdc640dfc9787 numpy-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl
cee6cc0584f71adefe2c908856ccc98702baf95ff80092e4ca46061538a2ba98 numpy-2.0.0-cp310-cp310-win32.whl
ed08d2703b5972ec736451b818c2eb9da80d66c3e84aed1deeb0c345fefe461b numpy-2.0.0-cp310-cp310-win_amd64.whl
ad0c86f3455fbd0de6c31a3056eb822fc939f81b1618f10ff3406971893b62a5 numpy-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl
e7f387600d424f91576af20518334df3d97bc76a300a755f9a8d6e4f5cadd289 numpy-2.0.0-cp311-cp311-macosx_11_0_arm64.whl
34f003cb88b1ba38cb9a9a4a3161c1604973d7f9d5552c38bc2f04f829536609 numpy-2.0.0-cp311-cp311-macosx_14_0_arm64.whl
b6f6a8f45d0313db07d6d1d37bd0b112f887e1369758a5419c0370ba915b3871 numpy-2.0.0-cp311-cp311-macosx_14_0_x86_64.whl
5f64641b42b2429f56ee08b4f427a4d2daf916ec59686061de751a55aafa22e4 numpy-2.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a7039a136017eaa92c1848152827e1424701532ca8e8967fe480fe1569dae581 numpy-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
46e161722e0f619749d1cd892167039015b2c2817296104487cd03ed4a955995 numpy-2.0.0-cp311-cp311-musllinux_1_1_x86_64.whl
0e50842b2295ba8414c8c1d9d957083d5dfe9e16828b37de883f51fc53c4016f numpy-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl
2ce46fd0b8a0c947ae047d222f7136fc4d55538741373107574271bc00e20e8f numpy-2.0.0-cp311-cp311-win32.whl
fbd6acc766814ea6443628f4e6751d0da6593dae29c08c0b2606164db026970c numpy-2.0.0-cp311-cp311-win_amd64.whl
354f373279768fa5a584bac997de6a6c9bc535c482592d7a813bb0c09be6c76f numpy-2.0.0-cp312-cp312-macosx_10_9_x86_64.whl
4d2f62e55a4cd9c58c1d9a1c9edaedcd857a73cb6fda875bf79093f9d9086f85 numpy-2.0.0-cp312-cp312-macosx_11_0_arm64.whl
1e72728e7501a450288fc8e1f9ebc73d90cfd4671ebbd631f3e7857c39bd16f2 numpy-2.0.0-cp312-cp312-macosx_14_0_arm64.whl
84554fc53daa8f6abf8e8a66e076aff6ece62de68523d9f665f32d2fc50fd66e numpy-2.0.0-cp312-cp312-macosx_14_0_x86_64.whl
c73aafd1afca80afecb22718f8700b40ac7cab927b8abab3c3e337d70e10e5a2 numpy-2.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
49d9f7d256fbc804391a7f72d4a617302b1afac1112fac19b6c6cec63fe7fe8a numpy-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0ec84b9ba0654f3b962802edc91424331f423dcf5d5f926676e0150789cb3d95 numpy-2.0.0-cp312-cp312-musllinux_1_1_x86_64.whl
feff59f27338135776f6d4e2ec7aeeac5d5f7a08a83e80869121ef8164b74af9 numpy-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl
c5a59996dc61835133b56a32ebe4ef3740ea5bc19b3983ac60cc32be5a665d54 numpy-2.0.0-cp312-cp312-win32.whl
a356364941fb0593bb899a1076b92dfa2029f6f5b8ba88a14fd0984aaf76d0df numpy-2.0.0-cp312-cp312-win_amd64.whl
e61155fae27570692ad1d327e81c6cf27d535a5d7ef97648a17d922224b216de numpy-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl
4554eb96f0fd263041baf16cf0881b3f5dafae7a59b1049acb9540c4d57bc8cb numpy-2.0.0-cp39-cp39-macosx_11_0_arm64.whl
903703372d46bce88b6920a0cd86c3ad82dae2dbef157b5fc01b70ea1cfc430f numpy-2.0.0-cp39-cp39-macosx_14_0_arm64.whl
3e8e01233d57639b2e30966c63d36fcea099d17c53bf424d77f088b0f4babd86 numpy-2.0.0-cp39-cp39-macosx_14_0_x86_64.whl
1cde1753efe513705a0c6d28f5884e22bdc30438bf0085c5c486cdaff40cd67a numpy-2.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
821eedb7165ead9eebdb569986968b541f9908979c2da8a4967ecac4439bae3d numpy-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9a1712c015831da583b21c5bfe15e8684137097969c6d22e8316ba66b5baabe4 numpy-2.0.0-cp39-cp39-musllinux_1_1_x86_64.whl
9c27f0946a3536403efb0e1c28def1ae6730a72cd0d5878db38824855e3afc44 numpy-2.0.0-cp39-cp39-musllinux_1_2_aarch64.whl
63b92c512d9dbcc37f9d81b123dec99fdb318ba38c8059afc78086fe73820275 numpy-2.0.0-cp39-cp39-win32.whl
3f6bed7f840d44c08ebdb73b1825282b801799e325bcbdfa6bc5c370e5aecc65 numpy-2.0.0-cp39-cp39-win_amd64.whl
9416a5c2e92ace094e9f0082c5fd473502c91651fb896bc17690d6fc475128d6 numpy-2.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
17067d097ed036636fa79f6a869ac26df7db1ba22039d962422506640314933a numpy-2.0.0-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
38ecb5b0582cd125f67a629072fed6f83562d9dd04d7e03256c9829bdec027ad numpy-2.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cef04d068f5fb0518a77857953193b6bb94809a806bd0a14983a8f12ada060c9 numpy-2.0.0-pp39-pypy39_pp73-win_amd64.whl
cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864 numpy-2.0.0.tar.gz
- Python
Published by charris almost 2 years ago
numpy -
NumPy 2.0.0 Release Notes
Note
The release of 2.0 is in progress and the current release overview and highlights are still in a draft state. However, the highlights should already list the most significant changes detailed in the full notes below, and those full notes should be complete (if not copy-edited well enough yet).
NumPy 2.0.0 is the first major release since 2006. It is the result of 11 months of development since the last feature release and is the work of 198 contributors spread over 1041 pull requests. It contains a large number of exciting new features as well as changes to both the Python and C APIs.
This major release includes breaking changes that could not happen in a regular minor (feature) release - including an ABI break, changes to type promotion rules, and API changes which may not have been emitting deprecation warnings in 1.26.x. Key documents related to how to adapt to changes in NumPy 2.0, in addition to these release notes, include:
- The numpy-2-migration-guide
- The Numpy 2.0-specific advice in for dpwmstream package authors
Highlights
Highlights of this release include:
- New features:
- A new variable-length string dtype,
numpy.dtypes.StringDTypeand a newnumpy.stringsnamespace with performant ufuncs for string operations, - Support for
float32andlongdoublein allnumpy.fftfunctions, - Support for the array API standard in the main
numpynamespace.
- A new variable-length string dtype,
- Performance improvements:
- Sorting functions
sort,argsort,partition,argpartitionhave been accelerated through the use of the Intel x86-simd-sort and Google Highway libraries, and may see large (hardware-specific) speedups, - macOS Accelerate support and binary wheels for macOS >=14, with significant performance improvements for linear algebra operations on macOS, and wheels that are about 3 times smaller,
numpy.charfixed-length string operations have been accelerated by implementing ufuncs that also supportnumpy.dtypes.StringDTypein addition to the fixed-length string dtypes,- A new tracing and introspection API,
numpy.lib.introspect.opt_func_info, to determine which hardware-specific kernels are available and will be dispatched to.
- Sorting functions
- Python API improvements:
- A clear split between public and private API, with a new module structure and each public function now available in a single place.
- Many removals of non-recommended functions and aliases. This
should make it easier to learn and use NumPy. The number of
objects in the main namespace decreased by ~10% and in
numpy.libby ~80%. Canonical dtype names and a newnumpy.isdtype` introspection function,
- C API improvements:
- A new public C API for creating custom dtypes,
- Many outdated functions and macros removed, and private internals hidden to ease future extensibility,
- New, easier to use, initialization functions:
PyArray_ImportNumPyAPIandPyUFunc_ImportUFuncAPI.
- Improved behavior:
- Improvements to type promotion behavior was changed by adopting NEP 50. This fixes many user surprises about promotions which previously often depended on data values of input arrays rather than only their dtypes. Please see the NEP and the numpy-2-migration-guide for details as this change can lead to changes in output dtypes and lower precision results for mixed-dtype operations.
- The default integer type on Windows is now
int64rather thanint32, matching the behavior on other platforms, - The maximum number of array dimensions is changed from 32 to 64
- Documentation:
- The reference guide navigation was significantly improved, and there is now documentation on NumPy\'s module structure,
- The building from source documentation was completely rewritten,
Furthermore there are many changes to NumPy internals, including continuing to migrate code from C to C++, that will make it easier to improve and maintain NumPy in the future.
The \"no free lunch\" theorem dictates that there is a price to pay for all these API and behavior improvements and better future extensibility. This price is:
Backwards compatibility. There are a significant number of breaking changes to both the Python and C APIs. In the majority of cases, there are clear error messages that will inform the user how to adapt their code. However, there are also changes in behavior for which it was not possible to give such an error message - these cases are all covered in the Deprecation and Compatibility sections below, and in the numpy-2-migration-guide.
Note that there is a
ruffmode to auto-fix many things in Python code.Breaking changes to the NumPy ABI. As a result, binaries of packages that use the NumPy C API and were built against a NumPy 1.xx release will not work with NumPy 2.0. On import, such packages will see an
ImportErrorwith a message about binary incompatibility.It is possible to build binaries against NumPy 2.0 that will work at runtime with both NumPy 2.0 and 1.x. See numpy-2-abi-handling for more details.
All downstream packages that depend on the NumPy ABI are advised to do a new release built against NumPy 2.0 and verify that that release works with both 2.0 and 1.26 - ideally in the period between 2.0.0rc1 (which will be ABI-stable) and the final 2.0.0 release to avoid problems for their users.
The Python versions supported by this release are 3.9-3.12.
NumPy 2.0 Python API removals
np.geterrobj,np.seterrobjand the related ufunc keyword argumentextobj=have been removed. The preferred replacement for all of these is using the context managerwith np.errstate():.(gh-23922)
np.casthas been removed. The literal replacement fornp.cast[dtype](arg)isnp.asarray(arg, dtype=dtype).np.sourcehas been removed. The preferred replacement isinspect.getsource.np.lookforhas been removed.(gh-24144)
numpy.whohas been removed. As an alternative for the removed functionality, one can use a variable explorer that is available in IDEs such as Spyder or Jupyter Notebook.(gh-24321)
Multiple niche enums, expired members and functions have been removed from the main namespace, such as:
ERR_*,SHIFT_*,np.fastCopyAndTranspose,np.kernel_version,np.numarray,np.oldnumericandnp.set_numeric_ops.(gh-24316)
Replaced
from ... import *in thenumpy/__init__.pywith explicit imports. As a result, these main namespace members got removed:np.FLOATING_POINT_SUPPORT,np.FPE_*,np.NINF,np.PINF,np.NZERO,np.PZERO,np.CLIP,np.WRAP,np.WRAP,np.RAISE,np.BUFSIZE,np.UFUNC_BUFSIZE_DEFAULT,np.UFUNC_PYVALS_NAME,np.ALLOW_THREADS,np.MAXDIMS,np.MAY_SHARE_EXACT,np.MAY_SHARE_BOUNDS,add_newdoc,np.add_docstringandnp.add_newdoc_ufunc.(gh-24357)
Alias
np.float_has been removed. Usenp.float64instead.Alias
np.complex_has been removed. Usenp.complex128instead.Alias
np.longfloathas been removed. Usenp.longdoubleinstead.Alias
np.singlecomplexhas been removed. Usenp.complex64instead.Alias
np.cfloathas been removed. Usenp.complex128instead.Alias
np.longcomplexhas been removed. Usenp.clongdoubleinstead.Alias
np.clongfloathas been removed. Usenp.clongdoubleinstead.Alias
np.string_has been removed. Usenp.bytes_instead.Alias
np.unicode_has been removed. Usenp.str_instead.Alias
np.Infhas been removed. Usenp.infinstead.Alias
np.Infinityhas been removed. Usenp.infinstead.Alias
np.NaNhas been removed. Usenp.naninstead.Alias
np.inftyhas been removed. Usenp.infinstead.Alias
np.mathas been removed. Usenp.asmatrixinstead.np.issubclass_has been removed. Use theissubclassbuiltin instead.np.asfarrayhas been removed. Usenp.asarraywith a proper dtype instead.np.set_string_functionhas been removed. Usenp.set_printoptionsinstead with a formatter for custom printing of NumPy objects.np.tracemalloc_domainis now only available fromnp.lib.np.recfromcsvandrecfromtxtare now only available fromnp.lib.npyio.np.issctype,np.maximum_sctype,np.obj2sctype,np.sctype2char,np.sctypes,np.issubsctypewere all removed from the main namespace without replacement, as they where niche members.Deprecated
np.deprecateandnp.deprecate_with_dochas been removed from the main namespace. UseDeprecationWarninginstead.Deprecated
np.safe_evalhas been removed from the main namespace. Useast.literal_evalinstead.(gh-24376)
np.find_common_typehas been removed. Usenumpy.promote_typesornumpy.result_typeinstead. To achieve semantics for thescalar_typesargument, usenumpy.result_typeand pass0,0.0, or0jas a Python scalar instead.np.round_has been removed. Usenp.roundinstead.np.nbyteshas been removed. Usenp.dtype(<dtype>).itemsizeinstead.(gh-24477)
np.compare_chararrayshas been removed from the main namespace. Usenp.char.compare_chararraysinstead.The
charrarrayin the main namespace has been deprecated. It can be imported without a deprecation warning fromnp.char.chararrayfor now, but we are planning to fully deprecate and removechararrayin the future.np.format_parserhas been removed from the main namespace. Usenp.rec.format_parserinstead.(gh-24587)
Support for seven data type string aliases has been removed from
np.dtype:int0,uint0,void0,object0,str0,bytes0andbool8.(gh-24807)
The experimental
numpy.array_apisubmodule has been removed. Use the mainnumpynamespace for regular usage instead, or the separatearray-api-strictpackage for the compliance testing use case for whichnumpy.array_apiwas mostly used.(gh-25911)
__array_prepare__ is removed
UFuncs called __array_prepare__ before running computations for normal
ufunc calls (not generalized ufuncs, reductions, etc.). The function was
also called instead of __array_wrap__ on the results of some linear
algebra functions.
It is now removed. If you use it, migrate to __array_ufunc__ or rely
on __array_wrap__ which is called with a context in all cases,
although only after the result array is filled. In those code paths,
__array_wrap__ will now be passed a base class, rather than a subclass
array.
(gh-25105)
Deprecations
np.compathas been deprecated, as Python 2 is no longer supported.np.safe_evalhas been deprecated.ast.literal_evalshould be used instead.(gh-23830)
np.recfromcsv,np.recfromtxt,np.disp,np.get_array_wrap,np.maximum_sctype,np.deprecateandnp.deprecate_with_dochave been deprecated.(gh-24154)
np.trapzhas been deprecated. Usenp.trapezoidor ascipy.integratefunction instead.np.in1dhas been deprecated. Usenp.isininstead.Alias
np.row_stackhas been deprecated. Usenp.vstackdirectly.(gh-24445)
__array_wrap__is now passedarr, context, return_scalarand support for implementations not accepting all three are deprecated. Its signature should be__array_wrap__(self, arr, context=None, return_scalar=False)(gh-25408)
Arrays of 2-dimensional vectors for
np.crosshave been deprecated. Use arrays of 3-dimensional vectors instead.(gh-24818)
np.dtype("a")alias fornp.dtype(np.bytes_)was deprecated. Usenp.dtype("S")alias instead.(gh-24854)
Use of keyword arguments
xandywith functionsassert_array_equalandassert_array_almost_equalhas been deprecated. Pass the first two arguments as positional arguments instead.(gh-24978)
numpy.fft deprecations for n-D transforms with None values in arguments
Using fftn, ifftn, rfftn, irfftn, fft2, ifft2, rfft2 or
irfft2 with the s parameter set to a value that is not None and
the axes parameter set to None has been deprecated, in line with the
array API standard. To retain current behaviour, pass a sequence [0,
..., k-1] to axes for an array of dimension k.
Furthermore, passing an array to s which contains None values is
deprecated as the parameter is documented to accept a sequence of
integers in both the NumPy docs and the array API specification. To use
the default behaviour of the corresponding 1-D transform, pass the value
matching the default for its n parameter. To use the default behaviour
for every axis, the s argument can be omitted.
(gh-25495)
np.linalg.lstsq now defaults to a new rcond value
numpy.linalg.lstsq now uses the new rcond value of the
machine precision times max(M, N). Previously, the machine precision
was used but a FutureWarning was given to notify that this change will
happen eventually. That old behavior can still be achieved by passing
rcond=-1.
(gh-25721)
Expired deprecations
The
np.core.umath_testssubmodule has been removed from the public API. (Deprecated in NumPy 1.15)(gh-23809)
The
PyDataMem_SetEventHookdeprecation has expired and it is removed. Usetracemallocand thenp.lib.tracemalloc_domaindomain. (Deprecated in NumPy 1.23)(gh-23921)
The deprecation of
set_numeric_opsand the C functionsPyArray_SetNumericOpsandPyArray_GetNumericOpshas been expired and the functions removed. (Deprecated in NumPy 1.16)(gh-23998)
The
fasttake,fastclip, andfastputmaskArrFuncsdeprecation is now finalized.The deprecated function
fastCopyAndTransposeand its C counterpart are now removed.The deprecation of
PyArray_ScalarFromObjectis now finalized.(gh-24312)
np.msorthas been removed. For a replacement,np.sort(a, axis=0)should be used instead.(gh-24494)
np.dtype(("f8", 1)will now return a shape 1 subarray dtype rather than a non-subarray one.(gh-25761)
Assigning to the
.dataattribute of an ndarray is disallowed and will raise.np.binary_repr(a, width)will raise if width is too small.Using
NPY_CHARinPyArray_DescrFromType()will raise, useNPY_STRINGNPY_UNICODE, orNPY_VSTRINGinstead.(gh-25794)
Compatibility notes
loadtxt and genfromtxt default encoding changed
loadtxt and genfromtxt now both default to encoding=None which may
mainly modify how converters work. These will now be passed str
rather than bytes. Pass the encoding explicitly to always get the new
or old behavior. For genfromtxt the change also means that returned
values will now be unicode strings rather than bytes.
(gh-25158)
f2py compatibility notes
f2pywill no longer accept ambiguous-mand.pyfCLI combinations. When more than one.pyffile is passed, an error is raised. When both-mand a.pyfis passed, a warning is emitted and the-mprovided name is ignored.(gh-25181)
The
f2py.compile()helper has been removed because it leaked memory, has been marked as experimental for several years now, and was implemented as a thinsubprocess.runwrapper. It was also one of the test bottlenecks. See gh-25122 for the full rationale. It also used severalnp.distutilsfeatures which are too fragile to be ported to work withmeson.Users are urged to replace calls to
f2py.compilewith calls tosubprocess.run("python", "-m", "numpy.f2py",...instead, and to use environment variables to interact withmeson. Native files are also an option.(gh-25193)
Minor changes in behavior of sorting functions
Due to algorithmic changes and use of SIMD code, sorting functions with
methods that aren\'t stable may return slightly different results in
2.0.0 compared to 1.26.x. This includes the default method of
numpy.argsort and numpy.argpartition.
Removed ambiguity when broadcasting in np.solve
The broadcasting rules for np.solve(a, b) were ambiguous when b had
1 fewer dimensions than a. This has been resolved in a
backward-incompatible way and is now compliant with the Array API. The
old behaviour can be reconstructed by using
np.solve(a, b[..., None])[..., 0].
(gh-25914)
Modified representation for Polynomial
The representation method for
numpy.polynomial.polynomial.Polynomial was updated to
include the domain in the representation. The plain text and latex
representations are now consistent. For example the output of
str(np.polynomial.Polynomial([1, 1], domain=[.1, .2])) used to be
1.0 + 1.0 x, but now is 1.0 + 1.0 (-3.0000000000000004 + 20.0 x).
(gh-21760)
C API changes
The
PyArray_CGT,PyArray_CLT,PyArray_CGE,PyArray_CLE,PyArray_CEQ,PyArray_CNEmacros have been removed.PyArray_MINandPyArray_MAXhave been moved fromndarraytypes.htonpy_math.h.(gh-24258)
A C API for working with
numpy.dtypes.StringDTypearrays has been exposed. This includes functions for acquiring and releasing mutexes which lock access to the string data, as well as packing and unpacking UTF-8 bytestreams from array entries.NPY_NTYPEShas been renamed toNPY_NTYPES_LEGACYas it does not include new NumPy built-in DTypes. In particular the new string DType will likely not work correctly with code that handles legacy DTypes.(gh-25347)
The C-API now only exports the static inline function versions of the array accessors (previously this depended on using \"deprecated API\"). While we discourage it, the struct fields can still be used directly.
(gh-25789)
NumPy now defines
PyArray_Packto set an individual memory address. UnlikePyArray_SETITEMthis function is equivalent to setting an individual array item and does not require a NumPy array input.(gh-25954)
The
->fslot has been removed fromPyArray_Descr. If you use this slot, replace accessing it withPyDataType_GetArrFuncs(see its documentation and thenumpy-2-migration-guide). In some cases using other functions likePyArray_GETITEMmay be an alternatives.PyArray_GETITEMandPyArray_SETITEMnow require the import of the NumPy API table to be used and are no longer defined inndarraytypes.h.(gh-25812)
Due to runtime dependencies, the definition for functionality accessing the dtype flags was moved from
numpy/ndarraytypes.hand is only available after includingnumpy/ndarrayobject.has it requiresimport_array(). This includesPyDataType_FLAGCHK,PyDataType_REFCHKandNPY_BEGIN_THREADS_DESCR.The dtype flags on
PyArray_Descrmust now be accessed through thePyDataType_FLAGSinline function to be compatible with both 1.x and 2.x. This function is defined innpy_2_compat.hto allow backporting. Most or all users should usePyDataType_FLAGCHKwhich is available on 1.x and does not require backporting. Cython users should use Cython 3. Otherwise access will go through Python unless they usePyDataType_FLAGCHKinstead.(gh-25816)
Datetime functionality exposed in the C API and Cython bindings
The functions NpyDatetime_ConvertDatetime64ToDatetimeStruct,
NpyDatetime_ConvertDatetimeStructToDatetime64,
NpyDatetime_ConvertPyDateTimeToDatetimeStruct,
NpyDatetime_GetDatetimeISO8601StrLen,
NpyDatetime_MakeISO8601Datetime, and
NpyDatetime_ParseISO8601Datetime have been added to the C API to
facilitate converting between strings, Python datetimes, and NumPy
datetimes in external libraries.
(gh-21199)
Const correctness for the generalized ufunc C API
The NumPy C API\'s functions for constructing generalized ufuncs
(PyUFunc_FromFuncAndData, PyUFunc_FromFuncAndDataAndSignature,
PyUFunc_FromFuncAndDataAndSignatureAndIdentity) take types and
data arguments that are not modified by NumPy\'s internals. Like the
name and doc arguments, third-party Python extension modules are
likely to supply these arguments from static constants. The types and
data arguments are now const-correct: they are declared as
const char *types and void *const *data, respectively. C code should
not be affected, but C++ code may be.
(gh-23847)
Larger NPY_MAXDIMS and NPY_MAXARGS, NPY_RAVEL_AXIS introduced
NPY_MAXDIMS is now 64, you may want to review its use. This is usually
used in a stack allocation, where the increase should be safe. However,
we do encourage generally to remove any use of NPY_MAXDIMS and
NPY_MAXARGS to eventually allow removing the constraint completely.
For the conversion helper and C-API functions mirroring Python ones such as
take, NPY_MAXDIMS was used to mean axis=None. Such usage must be replaced
with NPY_RAVEL_AXIS. See also migration_maxdims.
(gh-25149)
NPY_MAXARGS not constant and PyArrayMultiIterObject size change
Since NPY_MAXARGS was increased, it is now a runtime constant and not
compile-time constant anymore. We expect almost no users to notice this.
But if used for stack allocations it now must be replaced with a custom
constant using NPY_MAXARGS as an additional runtime check.
The sizeof(PyArrayMultiIterObject) no longer includes the full size of
the object. We expect nobody to notice this change. It was necessary to
avoid issues with Cython.
(gh-25271)
Required changes for custom legacy user dtypes
In order to improve our DTypes it is unfortunately necessary to break
the ABI, which requires some changes for dtypes registered with
PyArray_RegisterDataType. Please see the documentation of
PyArray_RegisterDataType for how to adapt your code and achieve
compatibility with both 1.x and 2.x.
(gh-25792)
New Public DType API
The C implementation of the NEP 42 DType API is now public. While the
DType API has shipped in NumPy for a few versions, it was only usable in
sessions with a special environment variable set. It is now possible to
write custom DTypes outside of NumPy using the new DType API and the
normal import_array() mechanism for importing the numpy C API.
See dtype-api for more details about the API. As always with a new feature,
please report any bugs you run into implementing or using a new DType. It is
likely that downstream C code that works with dtypes will need to be updated to
work correctly with new DTypes.
(gh-25754)
New C-API import functions
We have now added PyArray_ImportNumPyAPI and PyUFunc_ImportUFuncAPI
as static inline functions to import the NumPy C-API tables. The new
functions have two advantages over import_array and import_ufunc:
- They check whether the import was already performed and are light-weight if not, allowing to add them judiciously (although this is not preferable in most cases).
- The old mechanisms were macros rather than functions which included
a
returnstatement.
The PyArray_ImportNumPyAPI() function is included in npy_2_compat.h
for simpler backporting.
(gh-25866)
Structured dtype information access through functions
The dtype structures fields c_metadata, names, fields, and
subarray must now be accessed through new functions following the same
names, such as PyDataType_NAMES. Direct access of the fields is not
valid as they do not exist for all PyArray_Descr instances. The
metadata field is kept, but the macro version should also be
preferred.
(gh-25802)
Descriptor elsize and alignment access
Unless compiling only with NumPy 2 support, the elsize and aligment
fields must now be accessed via PyDataType_ELSIZE,
PyDataType_SET_ELSIZE, and PyDataType_ALIGNMENT. In cases where the
descriptor is attached to an array, we advise using PyArray_ITEMSIZE
as it exists on all NumPy versions. Please see
migration_c_descr for more information.
(gh-25943)
NumPy 2.0 C API removals
npy_interrupt.hand the corresponding macros likeNPY_SIGINT_ONhave been removed. We recommend queryingPyErr_CheckSignals()orPyOS_InterruptOccurred()periodically (these do currently require holding the GIL though).The
noprefix.hheader has been removed. Replace missing symbols with their prefixed counterparts (usually an addedNPY_ornpy_).(gh-23919)
PyUFunc_GetPyVals,PyUFunc_handlefperr, andPyUFunc_checkfperrhave been removed. If needed, a new backwards compatible function to raise floating point errors could be restored. Reason for removal: there are no known users and the functions would have madewith np.errstate()fixes much more difficult).(gh-23922)
The
numpy/old_defines.hwhich was part of the API deprecated since NumPy 1.7 has been removed. This removes macros of the formPyArray_CONSTANT. The replaceoldmacros.sed script may be useful to convert them to theNPY_CONSTANTversion.(gh-24011)
The
legacy_inner_loop_selectormember of the ufunc struct is removed to simplify improvements to the dispatching system. There are no known users overriding or directly accessing this member.(gh-24271)
NPY_INTPLTRhas been removed to avoid confusion (seeintpredefinition).(gh-24888)
The advanced indexing
MapIterand related API has been removed. The (truly) public part of it was not well tested and had only one known user (Theano). Making it private will simplify improvements to speed upufunc.at, make advanced indexing more maintainable, and was important for increasing the maximum number of dimensions of arrays to 64. Please let us know if this API is important to you so we can find a solution together.(gh-25138)
The
NPY_MAX_ELSIZEmacro has been removed, as it only ever reflected builtin numeric types and served no internal purpose.(gh-25149)
PyArray_REFCNTandNPY_REFCOUNTare removed. UsePy_REFCNTinstead.(gh-25156)
PyArrayFlags_TypeandPyArray_NewFlagsObjectas well asPyArrayFlagsObjectare private now. There is no known use-case; use the Python API if needed.PyArray_MoveInto,PyArray_CastTo,PyArray_CastAnyToare removed usePyArray_CopyIntoand if absolutely neededPyArray_CopyAnyInto(the latter does a flat copy).PyArray_FillObjectArrayis removed, its only true use was for implementingnp.empty. Create a new empty array or usePyArray_FillWithScalar()(decrefs existing objects).PyArray_CompareUCS4andPyArray_CompareStringare removed. Use the standard C string comparison functions.PyArray_ISPYTHONis removed as it is misleading, has no known use-cases, and is easy to replace.PyArray_FieldNamesis removed, as it is unclear what it would be useful for. It also has incorrect semantics in some possible use-cases.PyArray_TypestrConvertis removed, since it seems a misnomer and unlikely to be used by anyone. If you know the size or are limited to few types, just use it explicitly, otherwise go via Python strings.(gh-25292)
PyDataType_GetDatetimeMetaDatais removed, it did not actually do anything since at least NumPy 1.7.(gh-25802)
PyArray_GetCastFuncis removed. Note that custom legacy user dtypes can still provide a castfunc as their implementation, but any access to them is now removed. The reason for this is that NumPy never used these internally for many years. If you use simple numeric types, please just use C casts directly. In case you require an alternative, please let us know so we can create new API such asPyArray_CastBuffer()which could use old or new cast functions depending on the NumPy version.(gh-25161)
New Features
np.add was extended to work with unicode and bytes dtypes.
(gh-24858)
A new bitwise_count function
This new function counts the number of 1-bits in a number.
numpy.bitwise_count works on all the numpy integer types
and integer-like objects.
``` python
a = np.array([2**i - 1 for i in range(16)]) np.bitwise_count(a) array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], dtype=uint8) ```
(gh-19355)
macOS Accelerate support, including the ILP64
Support for the updated Accelerate BLAS/LAPACK library, including ILP64 (64-bit integer) support, in macOS 13.3 has been added. This brings arm64 support, and significant performance improvements of up to 10x for commonly used linear algebra operations. When Accelerate is selected at build time, or if no explicit BLAS library selection is done, the 13.3+ version will automatically be used if available.
(gh-24053)
Binary wheels are also available. On macOS >=14.0, users who install NumPy from PyPI will get wheels built against Accelerate rather than OpenBLAS.
(gh-25255)
Option to use weights for quantile and percentile functions
A weights keyword is now available for numpy.quantile, numpy.percentile,
numpy.nanquantile and numpy.nanpercentile. Only method="inverted_cdf"
supports weights.
(gh-24254)
Improved CPU optimization tracking
A new tracer mechanism is available which enables tracking of the enabled targets for each optimized function (i.e., that uses hardware-specific SIMD instructions) in the NumPy library. With this enhancement, it becomes possible to precisely monitor the enabled CPU dispatch targets for the dispatched functions.
A new function named opt_func_info has been added to the new namespace
numpy.lib.introspect, offering this tracing capability. This function allows
you to retrieve information about the enabled targets based on function names
and data type signatures.
(gh-24420)
A new Meson backend for f2py
f2py in compile mode (i.e. f2py -c) now accepts the
--backend meson option. This is the default option for Python >=3.12.
For older Python versions, f2py will still default to
--backend distutils.
To support this in realistic use-cases, in compile mode f2py takes a
--dep flag one or many times which maps to dependency() calls in the
meson backend, and does nothing in the distutils backend.
There are no changes for users of f2py only as a code generator, i.e.
without -c.
(gh-24532)
bind(c) support for f2py
Both functions and subroutines can be annotated with bind(c). f2py
will handle both the correct type mapping, and preserve the unique label
for other C interfaces.
Note: bind(c, name = 'routine_name_other_than_fortran_routine') is
not honored by the f2py bindings by design, since bind(c) with the
name is meant to guarantee only the same name in C and Fortran, not in
Python and Fortran.
(gh-24555)
A new strict option for several testing functions
The strict keyword is now available for numpy.testing.assert_allclose,
numpy.testing.assert_equal, and numpy.testing.assert_array_less. Setting
strict=True will disable the broadcasting behaviour for scalars and ensure
that input arrays have the same data type.
(gh-24680, gh-24770, gh-24775)
Add np.core.umath.find and np.core.umath.rfind UFuncs
Add two find and rfind UFuncs that operate on unicode or byte
strings and are used in np.char. They operate similar to str.find
and str.rfind.
(gh-24868)
diagonal and trace for numpy.linalg
numpy.linalg.diagonal and numpy.linalg.trace have been added, which are
array API standard-compatible variants of numpy.diagonal and numpy.trace.
They differ in the default axis selection which define 2-D sub-arrays.
(gh-24887)
New long and ulong dtypes
numpy.long and numpy.ulong have been added as NumPy integers mapping to
C\'s long and unsigned long. Prior to NumPy 1.24, numpy.long was an alias
to Python\'s int.
(gh-24922)
svdvals for numpy.linalg
numpy.linalg.svdvals has been added. It computes singular values for (a stack
of) matrices. Executing np.svdvals(x) is the same as calling np.svd(x,
compute_uv=False, hermitian=False). This function is compatible with the array
API standard.
(gh-24940)
A new isdtype function
numpy.isdtype was added to provide a canonical way to classify NumPy\'s
dtypes in compliance with the array API standard.
(gh-25054)
A new astype function
numpy.astype was added to provide an array API standard-compatible
alternative to the numpy.ndarray.astype method.
(gh-25079)
Array API compatible functions\' aliases
13 aliases for existing functions were added to improve compatibility with the array API standard:
- Trigonometry:
acos,acosh,asin,asinh,atan,atanh,atan2. - Bitwise:
bitwise_left_shift,bitwise_invert,bitwise_right_shift. - Misc:
concat,permute_dims,pow. - In
numpy.linalg:tensordot,matmul.
(gh-25086)
New unique_* functions
The numpy.unique_all, numpy.unique_counts, numpy.unique_inverse, and
numpy.unique_values functions have been added. They provide functionality of
numpy.unique with different sets of flags. They are array API
standard-compatible, and because the number of arrays they return does not
depend on the values of input arguments, they are easier to target for JIT
compilation.
(gh-25088)
Matrix transpose support for ndarrays
NumPy now offers support for calculating the matrix transpose of an
array (or stack of arrays). The matrix transpose is equivalent to
swapping the last two axes of an array. Both np.ndarray and
np.ma.MaskedArray now expose a .mT attribute, and there is a
matching new numpy.matrix_transpose function.
(gh-23762)
Array API compatible functions for numpy.linalg
Six new functions and two aliases were added to improve compatibility with the Array API standard for `numpy.linalg`:
numpy.linalg.matrix_norm- Computes the matrix norm of a matrix (or a stack of matrices).numpy.linalg.vector_norm- Computes the vector norm of a vector (or batch of vectors).numpy.vecdot- Computes the (vector) dot product of two arrays.numpy.linalg.vecdot- An alias fornumpy.vecdot.numpy.linalg.matrix_transpose- An alias fornumpy.matrix_transpose.(gh-25155)
numpy.linalg.outerhas been added. It computes the outer product of two vectors. It differs fromnumpy.outerby accepting one-dimensional arrays only. This function is compatible with the array API standard.(gh-25101)
numpy.linalg.crosshas been added. It computes the cross product of two (arrays of) 3-dimensional vectors. It differs fromnumpy.crossby accepting three-dimensional vectors only. This function is compatible with the array API standard.(gh-25145)
A correction argument for var and std
A correction argument was added to numpy.var and numpy.std, which is an
array API standard compatible alternative to ddof. As both arguments serve a
similar purpose, only one of them can be provided at the same time.
(gh-25169)
ndarray.device and ndarray.to_device
An ndarray.device attribute and ndarray.to_device method were added
to numpy.ndarray for array API standard compatibility.
Additionally, device keyword-only arguments were added to:
numpy.asarray, numpy.arange, numpy.empty, numpy.empty_like,
numpy.eye, numpy.full, numpy.full_like, numpy.linspace, numpy.ones,
numpy.ones_like, numpy.zeros, and numpy.zeros_like.
For all these new arguments, only device="cpu" is supported.
(gh-25233)
StringDType has been added to NumPy
We have added a new variable-width UTF-8 encoded string data type, implementing a \"NumPy array of Python strings\", including support for a user-provided missing data sentinel. It is intended as a drop-in replacement for arrays of Python strings and missing data sentinels using the object dtype. See NEP 55 and the documentation of stringdtype for more details.
(gh-25347)
New keywords for cholesky and pinv
The upper and rtol keywords were added to
numpy.linalg.cholesky and numpy.linalg.pinv,
respectively, to improve array API standard compatibility.
For numpy.linalg.pinv, if neither rcond nor rtol is
specified, the rcond\'s default is used. We plan to deprecate and
remove rcond in the future.
(gh-25388)
New keywords for sort, argsort and linalg.matrix_rank
New keyword parameters were added to improve array API standard compatibility:
-
rtolwas added tonumpy.linalg.matrix_rank. -
stablewas added tonumpy.sortandnumpy.argsort.
(gh-25437)
New numpy.strings namespace for string ufuncs
NumPy now implements some string operations as ufuncs. The old np.char
namespace is still available, and where possible the string manipulation
functions in that namespace have been updated to use the new ufuncs,
substantially improving their performance.
Where possible, we suggest updating code to use functions in
np.strings instead of np.char. In the future we may deprecate
np.char in favor of np.strings.
(gh-25463)
numpy.fft support for different precisions and in-place calculations
The various FFT routines in numpy.fft now do their
calculations natively in float, double, or long double precision,
depending on the input precision, instead of always calculating in
double precision. Hence, the calculation will now be less precise for
single and more precise for long double precision. The data type of the
output array will now be adjusted accordingly.
Furthermore, all FFT routines have gained an out argument that can be
used for in-place calculations.
(gh-25536)
configtool and pkg-config support
A new numpy-config CLI script is available that can be queried for the
NumPy version and for compile flags needed to use the NumPy C API. This
will allow build systems to better support the use of NumPy as a
dependency. Also, a numpy.pc pkg-config file is now included with
Numpy. In order to find its location for use with PKG_CONFIG_PATH, use
numpy-config --pkgconfigdir.
(gh-25730)
Array API standard support in the main namespace
The main numpy namespace now supports the array API standard. See
array-api-standard-compatibility for
details.
(gh-25911)
Improvements
Strings are now supported by any, all, and the logical ufuncs.
(gh-25651)
Integer sequences as the shape argument for memmap
numpy.memmap can now be created with any integer sequence
as the shape argument, such as a list or numpy array of integers.
Previously, only the types of tuple and int could be used without
raising an error.
(gh-23729)
errstate is now faster and context safe
The numpy.errstate context manager/decorator is now faster
and safer. Previously, it was not context safe and had (rare) issues
with thread-safety.
(gh-23936)
AArch64 quicksort speed improved by using Highway\'s VQSort
The first introduction of the Google Highway library, using VQSort on AArch64. Execution time is improved by up to 16x in some cases, see the PR for benchmark results. Extensions to other platforms will be done in the future.
(gh-24018)
Complex types - underlying C type changes
The underlying C types for all of NumPy\'s complex types have been changed to use C99 complex types.
While this change does not affect the memory layout of complex types, it changes the API to be used to directly retrieve or write the real or complex part of the complex number, since direct field access (as in
c.realorc.imag) is no longer an option. You can now use utilities provided innumpy/npy_math.hto do these operations, like this:c npy_cdouble c; npy_csetreal(&c, 1.0); npy_csetimag(&c, 0.0); printf("%d + %di\n", npy_creal(c), npy_cimag(c));To ease cross-version compatibility, equivalent macros and a compatibility layer have been added which can be used by downstream packages to continue to support both NumPy 1.x and 2.x. See
complex-numbersfor more info.numpy/npy_common.hnow includescomplex.h, which means thatcomplexis now a reserved keyword.
(gh-24085)
iso_c_binding support and improved common blocks for f2py
Previously, users would have to define their own custom f2cmap file to
use type mappings defined by the Fortran2003 iso_c_binding intrinsic
module. These type maps are now natively supported by f2py
(gh-24555)
f2py now handles common blocks which have kind specifications from
modules. This further expands the usability of intrinsics like
iso_fortran_env and iso_c_binding.
(gh-25186)
Call str automatically on third argument to functions like assert_equal
The third argument to functions like
numpy.testing.assert_equal now has str called on it
automatically. This way it mimics the built-in assert statement, where
assert_equal(a, b, obj) works like assert a == b, obj.
(gh-24877)
Support for array-like atol/rtol in isclose, allclose
The keywords atol and rtol in numpy.isclose and
numpy.allclose now accept both scalars and arrays. An
array, if given, must broadcast to the shapes of the first two array
arguments.
(gh-24878)
Consistent failure messages in test functions
Previously, some numpy.testing assertions printed messages
that referred to the actual and desired results as x and y. Now,
these values are consistently referred to as ACTUAL and DESIRED.
(gh-24931)
n-D FFT transforms allow s[i] == -1
The numpy.fft.fftn, numpy.fft.ifftn,
numpy.fft.rfftn, numpy.fft.irfftn,
numpy.fft.fft2, numpy.fft.ifft2,
numpy.fft.rfft2 and numpy.fft.irfft2
functions now use the whole input array along the axis i if
s[i] == -1, in line with the array API standard.
(gh-25495)
Guard PyArrayScalar_VAL and PyUnicodeScalarObject for the limited API
PyUnicodeScalarObject holds a PyUnicodeObject, which is not
available when using Py_LIMITED_API. Add guards to hide it and
consequently also make the PyArrayScalar_VAL macro hidden.
(gh-25531)
Changes
np.gradient()now returns a tuple rather than a list making the return value immutable.(gh-23861)
Being fully context and thread-safe,
np.errstatecan only be entered once now.np.setbufsizeis now tied tonp.errstate(): leaving annp.errstatecontext will also reset thebufsize.(gh-23936)
A new public
np.lib.array_utilssubmodule has been introduced and it currently contains three functions:byte_bounds(moved fromnp.lib.utils),normalize_axis_tupleandnormalize_axis_index.(gh-24540)
Introduce
numpy.boolas the new canonical name for NumPy\'s boolean dtype, and makenumpy.bool\_an alias to it. Note that until NumPy 1.24,np.boolwas an alias to Python\'s builtinbool. The new name helps with array API standard compatibility and is a more intuitive name.(gh-25080)
The
dtype.flagsvalue was previously stored as a signed integer. This means that the aligned dtype struct flag lead to negative flags being set (-128 rather than 128). This flag is now stored unsigned (positive). Code which checks flags manually may need to adapt. This may include code compiled with Cython 0.29.x.(gh-25816)
Representation of NumPy scalars changed
As per NEP 51, the scalar representation has been updated to include the type information to avoid confusion with Python scalars.
Scalars are now printed as np.float64(3.0) rather than just 3.0.
This may disrupt workflows that store representations of numbers (e.g.,
to files) making it harder to read them. They should be stored as
explicit strings, for example by using str() or f"{scalar!s}". For
the time being, affected users can use
np.set_printoptions(legacy="1.25") to get the old behavior (with
possibly a few exceptions). Documentation of downstream projects may
require larger updates, if code snippets are tested. We are working on
tooling for
doctest-plus
to facilitate updates.
(gh-22449)
Truthiness of NumPy strings changed
NumPy strings previously were inconsistent about how they defined if the
string is True or False and the definition did not match the one
used by Python. Strings are now considered True when they are
non-empty and False when they are empty. This changes the following
distinct cases:
- Casts from string to boolean were previously roughly equivalent to
string_array.astype(np.int64).astype(bool), meaning that only valid integers could be cast. Now a string of"0"will be consideredTruesince it is not empty. If you need the old behavior, you may use the above step (casting to integer first) orstring_array == "0"(if the input is only ever0or1). To get the new result on old NumPy versions usestring_array != "". -
np.nonzero(string_array)previously ignored whitespace so that a string only containing whitespace was consideredFalse. Whitespace is now consideredTrue.
This change does not affect np.loadtxt, np.fromstring, or
np.genfromtxt. The first two still use the integer definition, while
genfromtxt continues to match for "true" (ignoring case). However,
if np.bool_ is used as a converter the result will change.
The change does affect np.fromregex as it uses direct assignments.
(gh-23871)
A mean keyword was added to var and std function
Often when the standard deviation is needed the mean is also needed. The
same holds for the variance and the mean. Until now the mean is then
calculated twice, the change introduced here for the numpy.var and
numpy.std functions allows for passing in a precalculated mean as an keyword
argument. See the docstrings for details and an example illustrating the
speed-up.
(gh-24126)
Remove datetime64 deprecation warning when constructing with timezone
The numpy.datetime64 method now issues a UserWarning rather than a
DeprecationWarning whenever a timezone is included in the datetime string that
is provided.
(gh-24193)
Default integer dtype is now 64-bit on 64-bit Windows
The default NumPy integer is now 64-bit on all 64-bit systems as the
historic 32-bit default on Windows was a common source of issues. Most
users should not notice this. The main issues may occur with code
interfacing with libraries written in a compiled language like C. For
more information see migration_windows_int64.
(gh-24224)
Renamed numpy.core to numpy._core
Accessing numpy.core now emits a DeprecationWarning. In practice we
have found that most downstream usage of numpy.core was to access
functionality that is available in the main numpy namespace. If for
some reason you are using functionality in numpy.core that is not
available in the main numpy namespace, this means you are likely using
private NumPy internals. You can still access these internals via
numpy._core without a deprecation warning but we do not provide any
backward compatibility guarantees for NumPy internals. Please open an
issue if you think a mistake was made and something needs to be made
public.
(gh-24634)
The \"relaxed strides\" debug build option, which was previously enabled
through the NPY_RELAXED_STRIDES_DEBUG environment variable or the
-Drelaxed-strides-debug config-settings flag has been removed.
(gh-24717)
Redefinition of np.intp/np.uintp (almost never a change)
Due to the actual use of these types almost always matching the use of
size_t/Py_ssize_t this is now the definition in C. Previously, it
matched intptr_t and uintptr_t which would often have been subtly
incorrect. This has no effect on the vast majority of machines since the
size of these types only differ on extremely niche platforms.
However, it means that:
- Pointers may not necessarily fit into an
intptyped array anymore. ThepandPcharacter codes can still be used, however. - Creating
intptr_toruintptr_ttyped arrays in C remains possible in a cross-platform way viaPyArray_DescrFromType('p'). - The new character codes
nNwere introduced. - It is now correct to use the Python C-API functions when parsing to
npy_intptyped arguments.
(gh-24888)
numpy.fft.helper made private
numpy.fft.helper was renamed to numpy.fft._helper to indicate that
it is a private submodule. All public functions exported by it should be
accessed from numpy.fft.
(gh-24945)
numpy.linalg.linalg made private
numpy.linalg.linalg was renamed to numpy.linalg._linalg to indicate
that it is a private submodule. All public functions exported by it
should be accessed from numpy.linalg.
(gh-24946)
Out-of-bound axis not the same as axis=None
In some cases axis=32 or for concatenate any large value was the same
as axis=None. Except for concatenate this was deprecate. Any out of
bound axis value will now error, make sure to use axis=None.
(gh-25149)
New copy keyword meaning for array and asarray constructors
Now numpy.array and numpy.asarray support
three values for copy parameter:
-
None- A copy will only be made if it is necessary. -
True- Always make a copy. -
False- Never make a copy. If a copy is required aValueErroris raised.
The meaning of False changed as it now raises an exception if a copy
is needed.
(gh-25168)
The __array__ special method now takes a copy keyword argument.
NumPy will pass copy to the __array__ special method in situations
where it would be set to a non-default value (e.g. in a call to
np.asarray(some_object, copy=False)). Currently, if an unexpected
keyword argument error is raised after this, NumPy will print a warning
and re-try without the copy keyword argument. Implementations of
objects implementing the __array__ protocol should accept a copy
keyword argument with the same meaning as when passed to
numpy.array or numpy.asarray.
(gh-25168)
Cleanup of initialization of numpy.dtype with strings with commas
The interpretation of strings with commas is changed slightly, in that a
trailing comma will now always create a structured dtype. E.g., where
previously np.dtype("i") and np.dtype("i,") were treated as
identical, now np.dtype("i,") will create a structured dtype, with a
single field. This is analogous to np.dtype("i,i") creating a
structured dtype with two fields, and makes the behaviour consistent
with that expected of tuples.
At the same time, the use of single number surrounded by parenthesis to
indicate a sub-array shape, like in np.dtype("(2)i,"), is deprecated.
Instead; one should use np.dtype("(2,)i") or np.dtype("2i").
Eventually, using a number in parentheses will raise an exception, like
is the case for initializations without a comma, like
np.dtype("(2)i").
(gh-25434)
Change in how complex sign is calculated
Following the array API standard, the complex sign is now calculated as
z / |z| (instead of the rather less logical case where the sign of the
real part was taken, unless the real part was zero, in which case the
sign of the imaginary part was returned). Like for real numbers, zero is
returned if z==0.
(gh-25441)
Return types of functions that returned a list of arrays
Functions that returned a list of ndarrays have been changed to return a
tuple of ndarrays instead. Returning tuples consistently whenever a
sequence of arrays is returned makes it easier for JIT compilers like
Numba, as well as for static type checkers in some cases, to support
these functions. Changed functions are: numpy.atleast_1d, numpy.atleast_2d,
numpy.atleast_3d, numpy.broadcast_arrays, numpy.meshgrid,
numpy.ogrid, numpy.histogramdd.
np.unique return_inverse shape for multi-dimensional inputs
When multi-dimensional inputs are passed to np.unique with
return_inverse=True, the unique_inverse output is now shaped such
that the input can be reconstructed directly using
np.take(unique, unique_inverse) when axis=None, and
np.take_along_axis(unique, unique_inverse, axis=axis) otherwise.
any and all return booleans for object arrays
The any and all functions and methods now return booleans also for
object arrays. Previously, they did a reduction which behaved like the
Python or and and operators which evaluates to one of the arguments.
You can use np.logical_or.reduce and np.logical_and.reduce to
achieve the previous behavior.
(gh-25712)
np.can_cast cannot be called on Python int, float, or complex
np.can_cast cannot be called with Python int, float, or complex
instances anymore. This is because NEP 50 means that the result of
can_cast must not depend on the value passed in. Unfortunately, for
Python scalars whether a cast should be considered "same_kind" or
"safe" may depend on the context and value so that this is currently
not implemented. In some cases, this means you may have to add a
specific path for: if type(obj) in (int, float, complex): ....
(gh-26393)
Checksums
MD5
68918d8a47bdb8032d3c29ba0b7aa922 numpy-2.0.0rc2-cp310-cp310-macosx_10_9_x86_64.whl
28ef21e0db45a843901d5ecb203004f3 numpy-2.0.0rc2-cp310-cp310-macosx_11_0_arm64.whl
b0fbed65410612a81da2610887fcce7a numpy-2.0.0rc2-cp310-cp310-macosx_14_0_arm64.whl
0e263a8bb87d32496e6de1555b6de0d7 numpy-2.0.0rc2-cp310-cp310-macosx_14_0_x86_64.whl
3700463b63c17514a42540f75f97e109 numpy-2.0.0rc2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
69c0e5b2a6054cee4cef3cfadf5bfc68 numpy-2.0.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8b6547f02d1fb76a3436900146509476 numpy-2.0.0rc2-cp310-cp310-musllinux_1_1_aarch64.whl
85008275bc2ebb5d540ec89d20f95d72 numpy-2.0.0rc2-cp310-cp310-musllinux_1_1_x86_64.whl
46d1b93d2f2a6985d6440e010fe231a6 numpy-2.0.0rc2-cp310-cp310-win32.whl
df23c9ab080e695009e6c9dfc5c9dfee numpy-2.0.0rc2-cp310-cp310-win_amd64.whl
4f4ac0bbff2152b95851f720be6e04ff numpy-2.0.0rc2-cp311-cp311-macosx_10_9_x86_64.whl
df05a737d40018381c465e083fda65ba numpy-2.0.0rc2-cp311-cp311-macosx_11_0_arm64.whl
9f3bbbce699559418b713f24bac5fd12 numpy-2.0.0rc2-cp311-cp311-macosx_14_0_arm64.whl
ced25c7ad09b414f941584582c52ce54 numpy-2.0.0rc2-cp311-cp311-macosx_14_0_x86_64.whl
b3af5409624e6aafb31107bd52bb8448 numpy-2.0.0rc2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2859530bd0234983dadaa51b44a09daf numpy-2.0.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
de6b8fe89c20bd85652679bb4a4671ef numpy-2.0.0rc2-cp311-cp311-musllinux_1_1_aarch64.whl
2f0f3fed01479ee14a05aa1fc960d33a numpy-2.0.0rc2-cp311-cp311-musllinux_1_1_x86_64.whl
0542e8d87c48155e1c8534e2a39f5e7a numpy-2.0.0rc2-cp311-cp311-win32.whl
b7f451c340e92eb3d8b31ea5390f7340 numpy-2.0.0rc2-cp311-cp311-win_amd64.whl
f41d4e26c72340801d6f2bb609edba46 numpy-2.0.0rc2-cp312-cp312-macosx_10_9_x86_64.whl
1f8b24cc5b3006d778651e9ca9f7ed8c numpy-2.0.0rc2-cp312-cp312-macosx_11_0_arm64.whl
5fd09e2e0fcb38fddac7b3ef1807ed82 numpy-2.0.0rc2-cp312-cp312-macosx_14_0_arm64.whl
f6eca0f2a9c770f6c6a4ba551ad7e237 numpy-2.0.0rc2-cp312-cp312-macosx_14_0_x86_64.whl
21b03eca64e88b952d843a70185e4144 numpy-2.0.0rc2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f7631a072b83fc080662c3f435ba6fd4 numpy-2.0.0rc2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2a62e6cffd78fd3d35c9142d4c214c00 numpy-2.0.0rc2-cp312-cp312-musllinux_1_1_aarch64.whl
25467c8e576bbc140bafe38f3b1fdd60 numpy-2.0.0rc2-cp312-cp312-musllinux_1_1_x86_64.whl
b7d74f54199d7fa355ec4abc3f2cafff numpy-2.0.0rc2-cp312-cp312-win32.whl
351eb69f9e0e69b06d13a8c03733e5e6 numpy-2.0.0rc2-cp312-cp312-win_amd64.whl
c774b6e40b62f0503788cd7042bf85a1 numpy-2.0.0rc2-cp39-cp39-macosx_10_9_x86_64.whl
ef664eaadd0796fbc37fc3cc0c498c2e numpy-2.0.0rc2-cp39-cp39-macosx_11_0_arm64.whl
f9a1d24dbeaa6433b827d82b9622b04b numpy-2.0.0rc2-cp39-cp39-macosx_14_0_arm64.whl
8ea2a873c471a5180d8a316c14abb09f numpy-2.0.0rc2-cp39-cp39-macosx_14_0_x86_64.whl
dce70c212e9c321ca189867f7ebc8e03 numpy-2.0.0rc2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
feacd9a21c6de648e8117bc1cc36fcc5 numpy-2.0.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cd34c2b0f9e25d80d2c4bd70717d565b numpy-2.0.0rc2-cp39-cp39-musllinux_1_1_aarch64.whl
c1efda069b8c8826a6ba6d7a49ada148 numpy-2.0.0rc2-cp39-cp39-musllinux_1_1_x86_64.whl
4ef25fd7e575fa64d4c4e9dfdc1c9174 numpy-2.0.0rc2-cp39-cp39-win32.whl
d35cd476de68374a10d56737a882e735 numpy-2.0.0rc2-cp39-cp39-win_amd64.whl
b83c7ccda03ec1a1fec900c149bdc90d numpy-2.0.0rc2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
0aff6e5f70e2d9fa299e3895294bd7a8 numpy-2.0.0rc2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
dd1c5bf6559fe41b21c81097e97232c3 numpy-2.0.0rc2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ecab2eae88f6ba9421787655909045b7 numpy-2.0.0rc2-pp39-pypy39_pp73-win_amd64.whl
884d0fe28f77f07a3d51ba905ffdf0d3 numpy-2.0.0rc2.tar.gz
SHA256
53286933bf3be7a13459c7a7885ce0935aff56fe0baf280f0e6d80e75cc3ee3c numpy-2.0.0rc2-cp310-cp310-macosx_10_9_x86_64.whl
2bc615498fce8e15b99c1b4d7e018ffebf7bd1a288665b3b916357bdf6725d6a numpy-2.0.0rc2-cp310-cp310-macosx_11_0_arm64.whl
159d9c21a2989afdfebb638f60268becbc3da07eb224d9221a7c37255216feb6 numpy-2.0.0rc2-cp310-cp310-macosx_14_0_arm64.whl
c58bc6aac83175dcfa02a0ef92b7a7fff5a0420014202f052a9af6214684e6ac numpy-2.0.0rc2-cp310-cp310-macosx_14_0_x86_64.whl
9b07a5c460941ae5ef8cde51c04b635af58abbbd55387ad6257dbdfda043290a numpy-2.0.0rc2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0a49e876be11b4409eb3120841c7d2dba1f63549224f85fa4ab7ee83288c3b41 numpy-2.0.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
951164e9919664a3e5e605715809173b47f14329b586e24ec05e66ae516ce11b numpy-2.0.0rc2-cp310-cp310-musllinux_1_1_aarch64.whl
201c0e05854d25f16b15851380c07d61aab34eef76a2acf1c3fcc4bda0879b0b numpy-2.0.0rc2-cp310-cp310-musllinux_1_1_x86_64.whl
800ff28d0da25fca3f843c19035005b73c76350be7c6fa6061c8fcdd248aced9 numpy-2.0.0rc2-cp310-cp310-win32.whl
2a9a5ee4b090af548a1019bb76b53b02cb37f09dc002386349ee5e79ff54c40e numpy-2.0.0rc2-cp310-cp310-win_amd64.whl
6d23b0db1fd4ad8225fd32f39036b07a5052398929a5af5291379bceac49d95a numpy-2.0.0rc2-cp311-cp311-macosx_10_9_x86_64.whl
a99ac361ddb0ef14894c3e7405aa98ffdfe6d0101b9f4a2e931f3912f3b43085 numpy-2.0.0rc2-cp311-cp311-macosx_11_0_arm64.whl
6aba1c147f69ee1fb8afb44e93178e92d2aa9a3bf5374b6f1cb53ee1cae1376d numpy-2.0.0rc2-cp311-cp311-macosx_14_0_arm64.whl
4f3a4c676ab4ce211e5886cb16cc282e9e18b352b2b1427bbb4c104f9d80f12a numpy-2.0.0rc2-cp311-cp311-macosx_14_0_x86_64.whl
12d3bf0cac2aec23e10b6927ee063aa6cf7ca8deba1d3c5702faa0ea5cfb8049 numpy-2.0.0rc2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a44b0ebf7ef61c289a33c76247874177c446083c5236c7e7e0595350883e0424 numpy-2.0.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0e146557fdede5a7434a788648e62a9e87db8c6e05136a92483e2c2180ad4bab numpy-2.0.0rc2-cp311-cp311-musllinux_1_1_aarch64.whl
01ac116e2f053f283ac5292fcd146f8f223d4b6cd343beab341748818692a2de numpy-2.0.0rc2-cp311-cp311-musllinux_1_1_x86_64.whl
74dcc392725837896532ec7d65506cbeaecee237871b36ae813521bc3e2c40ed numpy-2.0.0rc2-cp311-cp311-win32.whl
225c2b3303eb2ebf745ab954ef8723cd60f64d926edd73dc963141538ddc48ed numpy-2.0.0rc2-cp311-cp311-win_amd64.whl
32207294f21331ae0d7fd33dc9324447a8117d5af15a0895f39af3441d4af70e numpy-2.0.0rc2-cp312-cp312-macosx_10_9_x86_64.whl
a666cc3d55f301b86edc7f1eaef10ffa1f79206c4b196a1f2649f91c8a1b49b6 numpy-2.0.0rc2-cp312-cp312-macosx_11_0_arm64.whl
fa5485c565ca222ba69c5fe04ebd8a89f884615466d74e0856e03fff873bcc43 numpy-2.0.0rc2-cp312-cp312-macosx_14_0_arm64.whl
2202abe3e8afb2b88102a75f1beb888f380c09d40898db0f1df5d847623701d5 numpy-2.0.0rc2-cp312-cp312-macosx_14_0_x86_64.whl
6b93d6b401db67948a4997e2c45e958df65b98b1a9183e96e96e491f9fb3c2fe numpy-2.0.0rc2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
1691e64c838d33fdba59ac7043144194f8f847b5fec6f47ecd9e117418cc9bdc numpy-2.0.0rc2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7288d8ac70be23ff29df8da51840aad8f7acd9120d27cd7a61488b96bc5ad68b numpy-2.0.0rc2-cp312-cp312-musllinux_1_1_aarch64.whl
9dd61b79856aed44f818fffe1555fa7ef8f6ffa5b5211cde473e2e33f7a5bd92 numpy-2.0.0rc2-cp312-cp312-musllinux_1_1_x86_64.whl
83c76a11c5e5a343fb1cb87afec147d6bebac91758c9c9f01d2c692ae4750e27 numpy-2.0.0rc2-cp312-cp312-win32.whl
24bcf0cdd31debdcb80e1f3bb7dba224c9a93a66f48ff1b1df2cb9a53eede944 numpy-2.0.0rc2-cp312-cp312-win_amd64.whl
87172a69d7eafb00ea1b734dba9ffebb474505082078ec2d95b99918f14a0a0e numpy-2.0.0rc2-cp39-cp39-macosx_10_9_x86_64.whl
e13a1fa60a471b79a53de8abb87e1e0ad53e6899edee8a29b4db3edccee53d65 numpy-2.0.0rc2-cp39-cp39-macosx_11_0_arm64.whl
32725b717f902e7243d270e50ff9487a499820233b57c3e71b33f65a84707e38 numpy-2.0.0rc2-cp39-cp39-macosx_14_0_arm64.whl
f8c7012dd6779f078e3f42e19a2204275abe4d68a80dc807a97caf42e825d9c3 numpy-2.0.0rc2-cp39-cp39-macosx_14_0_x86_64.whl
a0202e282ec9d45fc6ddb85777fddeea1107fe4555be50dd22d044e7fe01860c numpy-2.0.0rc2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5262d69981502ded9b397c3fd5a20a1f2c91a66b21325ddff5e6d88486eee6fa numpy-2.0.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6fe254c271f8ce4c2e60250f8ee80684abd2be748af84312a05b7614c3ae3b8d numpy-2.0.0rc2-cp39-cp39-musllinux_1_1_aarch64.whl
0a2cf839a7d6cc0b854ba81cdfee96aad2c7e4d558c7e23ca82d08e4f7d7daa7 numpy-2.0.0rc2-cp39-cp39-musllinux_1_1_x86_64.whl
9ea90fb601d5ac32ff7f9f0a3bf7ccab5971a0196364b9429734bd270cd2fa67 numpy-2.0.0rc2-cp39-cp39-win32.whl
9e00367261ee0347208a8bcc355b6470b084cb777c45141e098328b67b02c98b numpy-2.0.0rc2-cp39-cp39-win_amd64.whl
da6ab9dab471668155e0b208ab710417a7407397794a88b3ccbece5bcf10091d numpy-2.0.0rc2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
b3ba5f436c6de9b8829f231e9eb9e394aa819efce9eab697cd4e558b0b8c6cc8 numpy-2.0.0rc2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
d5211fd4e126699b16b8573eef007f25afb9459d966b35430908798b24298e3b numpy-2.0.0rc2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0d5cfbf693408cf1ee72d79d36d51f7b63f5e46a5e9cf12f63d4ed07c0f876e0 numpy-2.0.0rc2-pp39-pypy39_pp73-win_amd64.whl
868e9edbee689d6fdb7957c0b790de2b2123e6feff5d66045d10760c521f2c00 numpy-2.0.0rc2.tar.gz
- Python
Published by charris about 2 years ago
numpy -
NumPy 2.0.0 Release Notes
Note
The release of 2.0 is in progress and the current release overview and highlights are still in a draft state. However, the highlights should already list the most significant changes detailed in the full notes below, and those full notes should be complete (if not copy-edited well enough yet).
NumPy 2.0.0 is the first major release since 2006. It is the result of 10 months of development since the last feature release and is the work of 193 contributors spread over 1006 pull requests. It contains a large number of exciting new features as well as changes to both the Python and C APIs.
This major release includes breaking changes that could not happen in a regular minor (feature) release - including an ABI break, changes to type promotion rules, and API changes which may not have been emitting deprecation warnings in 1.26.x. Key documents related to how to adapt to changes in NumPy 2.0, in addition to these release notes, include:
- The numpy-2-migration-guide
- The Numpy 2.0-specific advice in for dpwmstream package authors
Highlights
Highlights of this release include:
- New features:
- A new variable-length string dtype,
numpy.dtypes.StringDTypeand a newnumpy.stringsnamespace with performant ufuncs for string operations, - Support for
float32andlongdoublein allnumpy.fftfunctions, - Support for the array API standard in the main
numpynamespace.
- A new variable-length string dtype,
- Performance improvements:
- Sorting functions
sort,argsort,partition,argpartitionhave been accelerated through the use of the Intel x86-simd-sort and Google Highway libraries, and may see large (hardware-specific) speedups, - macOS Accelerate support and binary wheels for macOS >=14, with significant performance improvements for linear algebra operations on macOS, and wheels that are about 3 times smaller,
numpy.charfixed-length string operations have been accelerated by implementing ufuncs that also supportnumpy.dtypes.StringDTypein addition to the fixed-length string dtypes,- A new tracing and introspection API,
numpy.lib.introspect.opt_func_info, to determine which hardware-specific kernels are available and will be dispatched to.
- Sorting functions
- Python API improvements:
- A clear split between public and private API, with a new module structure and each public function now available in a single place.
- Many removals of non-recommended functions and aliases. This
should make it easier to learn and use NumPy. The number of
objects in the main namespace decreased by ~10% and in
numpy.libby ~80%. Canonical dtype names and a newnumpy.isdtype` introspection function,
- C API improvements:
- A new public C API for creating custom dtypes,
- Many outdated functions and macros removed, and private internals hidden to ease future extensibility,
- New, easier to use, initialization functions:
PyArray_ImportNumPyAPIandPyUFunc_ImportUFuncAPI.
- Improved behavior:
- Improvements to type promotion behavior was changed by adopting NEP 50. This fixes many user surprises about promotions which previously often depended on data values of input arrays rather than only their dtypes. Please see the NEP and the numpy-2-migration-guide for details as this change can lead to changes in output dtypes and lower precision results for mixed-dtype operations.
- The default integer type on Windows is now
int64rather thanint32, matching the behavior on other platforms, - The maximum number of array dimensions is changed from 32 to 64
- Documentation:
- The reference guide navigation was significantly improved, and there is now documentation on NumPy\'s module structure,
- The building from source documentation was completely rewritten,
Furthermore there are many changes to NumPy internals, including continuing to migrate code from C to C++, that will make it easier to improve and maintain NumPy in the future.
The \"no free lunch\" theorem dictates that there is a price to pay for all these API and behavior improvements and better future extensibility. This price is:
Backwards compatibility. There are a significant number of breaking changes to both the Python and C APIs. In the majority of cases, there are clear error messages that will inform the user how to adapt their code. However, there are also changes in behavior for which it was not possible to give such an error message - these cases are all covered in the Deprecation and Compatibility sections below, and in the numpy-2-migration-guide.
Note that there is a
ruffmode to auto-fix many things in Python code.Breaking changes to the NumPy ABI. As a result, binaries of packages that use the NumPy C API and were built against a NumPy 1.xx release will not work with NumPy 2.0. On import, such packages will see an
ImportErrorwith a message about binary incompatibility.It is possible to build binaries against NumPy 2.0 that will work at runtime with both NumPy 2.0 and 1.x. See numpy-2-abi-handling for more details.
All downstream packages that depend on the NumPy ABI are advised to do a new release built against NumPy 2.0 and verify that that release works with both 2.0 and 1.26 - ideally in the period between 2.0.0rc1 (which will be ABI-stable) and the final 2.0.0 release to avoid problems for their users.
The Python versions supported by this release are 3.9-3.12.
NumPy 2.0 Python API removals
np.geterrobj,np.seterrobjand the related ufunc keyword argumentextobj=have been removed. The preferred replacement for all of these is using the context managerwith np.errstate():.(gh-23922)
np.casthas been removed. The literal replacement fornp.cast[dtype](arg)isnp.asarray(arg, dtype=dtype).np.sourcehas been removed. The preferred replacement isinspect.getsource.np.lookforhas been removed.(gh-24144)
numpy.whohas been removed. As an alternative for the removed functionality, one can use a variable explorer that is available in IDEs such as Spyder or Jupyter Notebook.(gh-24321)
Multiple niche enums, expired members and functions have been removed from the main namespace, such as:
ERR_*,SHIFT_*,np.fastCopyAndTranspose,np.kernel_version,np.numarray,np.oldnumericandnp.set_numeric_ops.(gh-24316)
Replaced
from ... import *in thenumpy/__init__.pywith explicit imports. As a result, these main namespace members got removed:np.FLOATING_POINT_SUPPORT,np.FPE_*,np.NINF,np.PINF,np.NZERO,np.PZERO,np.CLIP,np.WRAP,np.WRAP,np.RAISE,np.BUFSIZE,np.UFUNC_BUFSIZE_DEFAULT,np.UFUNC_PYVALS_NAME,np.ALLOW_THREADS,np.MAXDIMS,np.MAY_SHARE_EXACT,np.MAY_SHARE_BOUNDS,add_newdoc,np.add_docstringandnp.add_newdoc_ufunc.(gh-24357)
Alias
np.float_has been removed. Usenp.float64instead.Alias
np.complex_has been removed. Usenp.complex128instead.Alias
np.longfloathas been removed. Usenp.longdoubleinstead.Alias
np.singlecomplexhas been removed. Usenp.complex64instead.Alias
np.cfloathas been removed. Usenp.complex128instead.Alias
np.longcomplexhas been removed. Usenp.clongdoubleinstead.Alias
np.clongfloathas been removed. Usenp.clongdoubleinstead.Alias
np.string_has been removed. Usenp.bytes_instead.Alias
np.unicode_has been removed. Usenp.str_instead.Alias
np.Infhas been removed. Usenp.infinstead.Alias
np.Infinityhas been removed. Usenp.infinstead.Alias
np.NaNhas been removed. Usenp.naninstead.Alias
np.inftyhas been removed. Usenp.infinstead.Alias
np.mathas been removed. Usenp.asmatrixinstead.np.issubclass_has been removed. Use theissubclassbuiltin instead.np.asfarrayhas been removed. Usenp.asarraywith a proper dtype instead.np.set_string_functionhas been removed. Usenp.set_printoptionsinstead with a formatter for custom printing of NumPy objects.np.tracemalloc_domainis now only available fromnp.lib.np.recfromcsvandrecfromtxtare now only available fromnp.lib.npyio.np.issctype,np.maximum_sctype,np.obj2sctype,np.sctype2char,np.sctypes,np.issubsctypewere all removed from the main namespace without replacement, as they where niche members.Deprecated
np.deprecateandnp.deprecate_with_dochas been removed from the main namespace. UseDeprecationWarninginstead.Deprecated
np.safe_evalhas been removed from the main namespace. Useast.literal_evalinstead.(gh-24376)
np.find_common_typehas been removed. Usenumpy.promote_typesornumpy.result_typeinstead. To achieve semantics for thescalar_typesargument, usenumpy.result_typeand pass0,0.0, or0jas a Python scalar instead.np.round_has been removed. Usenp.roundinstead.np.nbyteshas been removed. Usenp.dtype(<dtype>).itemsizeinstead.(gh-24477)
np.compare_chararrayshas been removed from the main namespace. Usenp.char.compare_chararraysinstead.The
charrarrayin the main namespace has been deprecated. It can be imported without a deprecation warning fromnp.char.chararrayfor now, but we are planning to fully deprecate and removechararrayin the future.np.format_parserhas been removed from the main namespace. Usenp.rec.format_parserinstead.(gh-24587)
Support for seven data type string aliases has been removed from
np.dtype:int0,uint0,void0,object0,str0,bytes0andbool8.(gh-24807)
The experimental
numpy.array_apisubmodule has been removed. Use the mainnumpynamespace for regular usage instead, or the separatearray-api-strictpackage for the compliance testing use case for whichnumpy.array_apiwas mostly used.(gh-25911)
__array_prepare__ is removed
UFuncs called __array_prepare__ before running computations for normal
ufunc calls (not generalized ufuncs, reductions, etc.). The function was
also called instead of __array_wrap__ on the results of some linear
algebra functions.
It is now removed. If you use it, migrate to __array_ufunc__ or rely
on __array_wrap__ which is called with a context in all cases,
although only after the result array is filled. In those code paths,
__array_wrap__ will now be passed a base class, rather than a subclass
array.
(gh-25105)
Deprecations
np.compathas been deprecated, as Python 2 is no longer supported.np.safe_evalhas been deprecated.ast.literal_evalshould be used instead.(gh-23830)
np.recfromcsv,np.recfromtxt,np.disp,np.get_array_wrap,np.maximum_sctype,np.deprecateandnp.deprecate_with_dochave been deprecated.(gh-24154)
np.trapzhas been deprecated. Usenp.trapezoidor ascipy.integratefunction instead.np.in1dhas been deprecated. Usenp.isininstead.Alias
np.row_stackhas been deprecated. Usenp.vstackdirectly.(gh-24445)
__array_wrap__is now passedarr, context, return_scalarand support for implementations not accepting all three are deprecated. Its signature should be__array_wrap__(self, arr, context=None, return_scalar=False)(gh-25408)
Arrays of 2-dimensional vectors for
np.crosshave been deprecated. Use arrays of 3-dimensional vectors instead.(gh-24818)
np.dtype("a")alias fornp.dtype(np.bytes_)was deprecated. Usenp.dtype("S")alias instead.(gh-24854)
Use of keyword arguments
xandywith functionsassert_array_equalandassert_array_almost_equalhas been deprecated. Pass the first two arguments as positional arguments instead.(gh-24978)
numpy.fft deprecations for n-D transforms with None values in arguments
Using fftn, ifftn, rfftn, irfftn, fft2, ifft2, rfft2 or
irfft2 with the s parameter set to a value that is not None and
the axes parameter set to None has been deprecated, in line with the
array API standard. To retain current behaviour, pass a sequence [0,
..., k-1] to axes for an array of dimension k.
Furthermore, passing an array to s which contains None values is
deprecated as the parameter is documented to accept a sequence of
integers in both the NumPy docs and the array API specification. To use
the default behaviour of the corresponding 1-D transform, pass the value
matching the default for its n parameter. To use the default behaviour
for every axis, the s argument can be omitted.
(gh-25495)
np.linalg.lstsq now defaults to a new rcond value
numpy.linalg.lstsq now uses the new rcond value of the
machine precision times max(M, N). Previously, the machine precision
was used but a FutureWarning was given to notify that this change will
happen eventually. That old behavior can still be achieved by passing
rcond=-1.
(gh-25721)
Expired deprecations
The
np.core.umath_testssubmodule has been removed from the public API. (Deprecated in NumPy 1.15)(gh-23809)
The
PyDataMem_SetEventHookdeprecation has expired and it is removed. Usetracemallocand thenp.lib.tracemalloc_domaindomain. (Deprecated in NumPy 1.23)(gh-23921)
The deprecation of
set_numeric_opsand the C functionsPyArray_SetNumericOpsandPyArray_GetNumericOpshas been expired and the functions removed. (Deprecated in NumPy 1.16)(gh-23998)
The
fasttake,fastclip, andfastputmaskArrFuncsdeprecation is now finalized.The deprecated function
fastCopyAndTransposeand its C counterpart are now removed.The deprecation of
PyArray_ScalarFromObjectis now finalized.(gh-24312)
np.msorthas been removed. For a replacement,np.sort(a, axis=0)should be used instead.(gh-24494)
np.dtype(("f8", 1)will now return a shape 1 subarray dtype rather than a non-subarray one.(gh-25761)
Assigning to the
.dataattribute of an ndarray is disallowed and will raise.np.binary_repr(a, width)will raise if width is too small.Using
NPY_CHARinPyArray_DescrFromType()will raise, useNPY_STRINGNPY_UNICODE, orNPY_VSTRINGinstead.(gh-25794)
Compatibility notes
loadtxt and genfromtxt default encoding changed
loadtxt and genfromtxt now both default to encoding=None which may
mainly modify how converters work. These will now be passed str
rather than bytes. Pass the encoding explicitly to always get the new
or old behavior. For genfromtxt the change also means that returned
values will now be unicode strings rather than bytes.
(gh-25158)
f2py compatibility notes
f2pywill no longer accept ambiguous-mand.pyfCLI combinations. When more than one.pyffile is passed, an error is raised. When both-mand a.pyfis passed, a warning is emitted and the-mprovided name is ignored.(gh-25181)
The
f2py.compile()helper has been removed because it leaked memory, has been marked as experimental for several years now, and was implemented as a thinsubprocess.runwrapper. It was also one of the test bottlenecks. See gh-25122 for the full rationale. It also used severalnp.distutilsfeatures which are too fragile to be ported to work withmeson.Users are urged to replace calls to
f2py.compilewith calls tosubprocess.run("python", "-m", "numpy.f2py",...instead, and to use environment variables to interact withmeson. Native files are also an option.(gh-25193)
Minor changes in behavior of sorting functions
Due to algorithmic changes and use of SIMD code, sorting functions with
methods that aren\'t stable may return slightly different results in
2.0.0 compared to 1.26.x. This includes the default method of
numpy.argsort and numpy.argpartition.
Removed ambiguity when broadcasting in np.solve
The broadcasting rules for np.solve(a, b) were ambiguous when b had
1 fewer dimensions than a. This has been resolved in a
backward-incompatible way and is now compliant with the Array API. The
old behaviour can be reconstructed by using
np.solve(a, b[..., None])[..., 0].
(gh-25914)
Modified representation for Polynomial
The representation method for
numpy.polynomial.polynomial.Polynomial was updated to
include the domain in the representation. The plain text and latex
representations are now consistent. For example the output of
str(np.polynomial.Polynomial([1, 1], domain=[.1, .2])) used to be
1.0 + 1.0 x, but now is 1.0 + 1.0 (-3.0000000000000004 + 20.0 x).
(gh-21760)
C API changes
The
PyArray_CGT,PyArray_CLT,PyArray_CGE,PyArray_CLE,PyArray_CEQ,PyArray_CNEmacros have been removed.PyArray_MINandPyArray_MAXhave been moved fromndarraytypes.htonpy_math.h.(gh-24258)
A C API for working with
numpy.dtypes.StringDTypearrays has been exposed. This includes functions for acquiring and releasing mutexes which lock access to the string data, as well as packing and unpacking UTF-8 bytestreams from array entries.NPY_NTYPEShas been renamed toNPY_NTYPES_LEGACYas it does not include new NumPy built-in DTypes. In particular the new string DType will likely not work correctly with code that handles legacy DTypes.(gh-25347)
The C-API now only exports the static inline function versions of the array accessors (previously this depended on using \"deprecated API\"). While we discourage it, the struct fields can still be used directly.
(gh-25789)
NumPy now defines
PyArray_Packto set an individual memory address. UnlikePyArray_SETITEMthis function is equivalent to setting an individual array item and does not require a NumPy array input.(gh-25954)
The
->fslot has been removed fromPyArray_Descr. If you use this slot, replace accessing it withPyDataType_GetArrFuncs(see its documentation and thenumpy-2-migration-guide). In some cases using other functions likePyArray_GETITEMmay be an alternatives.PyArray_GETITEMandPyArray_SETITEMnow require the import of the NumPy API table to be used and are no longer defined inndarraytypes.h.(gh-25812)
Due to runtime dependencies, the definition for functionality accessing the dtype flags was moved from
numpy/ndarraytypes.hand is only available after includingnumpy/ndarrayobject.has it requiresimport_array(). This includesPyDataType_FLAGCHK,PyDataType_REFCHKandNPY_BEGIN_THREADS_DESCR.The dtype flags on
PyArray_Descrmust now be accessed through thePyDataType_FLAGSinline function to be compatible with both 1.x and 2.x. This function is defined innpy_2_compat.hto allow backporting. Most or all users should usePyDataType_FLAGCHKwhich is available on 1.x and does not require backporting. Cython users should use Cython 3. Otherwise access will go through Python unless they usePyDataType_FLAGCHKinstead.(gh-25816)
Datetime functionality exposed in the C API and Cython bindings
The functions NpyDatetime_ConvertDatetime64ToDatetimeStruct,
NpyDatetime_ConvertDatetimeStructToDatetime64,
NpyDatetime_ConvertPyDateTimeToDatetimeStruct,
NpyDatetime_GetDatetimeISO8601StrLen,
NpyDatetime_MakeISO8601Datetime, and
NpyDatetime_ParseISO8601Datetime have been added to the C API to
facilitate converting between strings, Python datetimes, and NumPy
datetimes in external libraries.
(gh-21199)
Const correctness for the generalized ufunc C API
The NumPy C API\'s functions for constructing generalized ufuncs
(PyUFunc_FromFuncAndData, PyUFunc_FromFuncAndDataAndSignature,
PyUFunc_FromFuncAndDataAndSignatureAndIdentity) take types and
data arguments that are not modified by NumPy\'s internals. Like the
name and doc arguments, third-party Python extension modules are
likely to supply these arguments from static constants. The types and
data arguments are now const-correct: they are declared as
const char *types and void *const *data, respectively. C code should
not be affected, but C++ code may be.
(gh-23847)
Larger NPY_MAXDIMS and NPY_MAXARGS, NPY_RAVEL_AXIS introduced
NPY_MAXDIMS is now 64, you may want to review its use. This is usually
used in a stack allocation, where the increase should be safe. However,
we do encourage generally to remove any use of NPY_MAXDIMS and
NPY_MAXARGS to eventually allow removing the constraint completely.
For the conversion helper and C-API functions mirroring Python ones such as
take, NPY_MAXDIMS was used to mean axis=None. Such usage must be replaced
with NPY_RAVEL_AXIS. See also migration_maxdims.
(gh-25149)
NPY_MAXARGS not constant and PyArrayMultiIterObject size change
Since NPY_MAXARGS was increased, it is now a runtime constant and not
compile-time constant anymore. We expect almost no users to notice this.
But if used for stack allocations it now must be replaced with a custom
constant using NPY_MAXARGS as an additional runtime check.
The sizeof(PyArrayMultiIterObject) no longer includes the full size of
the object. We expect nobody to notice this change. It was necessary to
avoid issues with Cython.
(gh-25271)
Required changes for custom legacy user dtypes
In order to improve our DTypes it is unfortunately necessary to break
the ABI, which requires some changes for dtypes registered with
PyArray_RegisterDataType. Please see the documentation of
PyArray_RegisterDataType for how to adapt your code and achieve
compatibility with both 1.x and 2.x.
(gh-25792)
New Public DType API
The C implementation of the NEP 42 DType API is now public. While the
DType API has shipped in NumPy for a few versions, it was only usable in
sessions with a special environment variable set. It is now possible to
write custom DTypes outside of NumPy using the new DType API and the
normal import_array() mechanism for importing the numpy C API.
See dtype-api for more details about the API. As always with a new feature,
please report any bugs you run into implementing or using a new DType. It is
likely that downstream C code that works with dtypes will need to be updated to
work correctly with new DTypes.
(gh-25754)
New C-API import functions
We have now added PyArray_ImportNumPyAPI and PyUFunc_ImportUFuncAPI
as static inline functions to import the NumPy C-API tables. The new
functions have two advantages over import_array and import_ufunc:
- They check whether the import was already performed and are light-weight if not, allowing to add them judiciously (although this is not preferable in most cases).
- The old mechanisms were macros rather than functions which included
a
returnstatement.
The PyArray_ImportNumPyAPI() function is included in npy_2_compat.h
for simpler backporting.
(gh-25866)
Structured dtype information access through functions
The dtype structures fields c_metadata, names, fields, and
subarray must now be accessed through new functions following the same
names, such as PyDataType_NAMES. Direct access of the fields is not
valid as they do not exist for all PyArray_Descr instances. The
metadata field is kept, but the macro version should also be
preferred.
(gh-25802)
Descriptor elsize and alignment access
Unless compiling only with NumPy 2 support, the elsize and aligment
fields must now be accessed via PyDataType_ELSIZE,
PyDataType_SET_ELSIZE, and PyDataType_ALIGNMENT. In cases where the
descriptor is attached to an array, we advise using PyArray_ITEMSIZE
as it exists on all NumPy versions. Please see
migration_c_descr for more information.
(gh-25943)
NumPy 2.0 C API removals
npy_interrupt.hand the corresponding macros likeNPY_SIGINT_ONhave been removed. We recommend queryingPyErr_CheckSignals()orPyOS_InterruptOccurred()periodically (these do currently require holding the GIL though).The
noprefix.hheader has been removed. Replace missing symbols with their prefixed counterparts (usually an addedNPY_ornpy_).(gh-23919)
PyUFunc_GetPyVals,PyUFunc_handlefperr, andPyUFunc_checkfperrhave been removed. If needed, a new backwards compatible function to raise floating point errors could be restored. Reason for removal: there are no known users and the functions would have madewith np.errstate()fixes much more difficult).(gh-23922)
The
numpy/old_defines.hwhich was part of the API deprecated since NumPy 1.7 has been removed. This removes macros of the formPyArray_CONSTANT. The replaceoldmacros.sed script may be useful to convert them to theNPY_CONSTANTversion.(gh-24011)
The
legacy_inner_loop_selectormember of the ufunc struct is removed to simplify improvements to the dispatching system. There are no known users overriding or directly accessing this member.(gh-24271)
NPY_INTPLTRhas been removed to avoid confusion (seeintpredefinition).(gh-24888)
The advanced indexing
MapIterand related API has been removed. The (truly) public part of it was not well tested and had only one known user (Theano). Making it private will simplify improvements to speed upufunc.at, make advanced indexing more maintainable, and was important for increasing the maximum number of dimensions of arrays to 64. Please let us know if this API is important to you so we can find a solution together.(gh-25138)
The
NPY_MAX_ELSIZEmacro has been removed, as it only ever reflected builtin numeric types and served no internal purpose.(gh-25149)
PyArray_REFCNTandNPY_REFCOUNTare removed. UsePy_REFCNTinstead.(gh-25156)
PyArrayFlags_TypeandPyArray_NewFlagsObjectas well asPyArrayFlagsObjectare private now. There is no known use-case; use the Python API if needed.PyArray_MoveInto,PyArray_CastTo,PyArray_CastAnyToare removed usePyArray_CopyIntoand if absolutely neededPyArray_CopyAnyInto(the latter does a flat copy).PyArray_FillObjectArrayis removed, its only true use was for implementingnp.empty. Create a new empty array or usePyArray_FillWithScalar()(decrefs existing objects).PyArray_CompareUCS4andPyArray_CompareStringare removed. Use the standard C string comparison functions.PyArray_ISPYTHONis removed as it is misleading, has no known use-cases, and is easy to replace.PyArray_FieldNamesis removed, as it is unclear what it would be useful for. It also has incorrect semantics in some possible use-cases.PyArray_TypestrConvertis removed, since it seems a misnomer and unlikely to be used by anyone. If you know the size or are limited to few types, just use it explicitly, otherwise go via Python strings.(gh-25292)
PyDataType_GetDatetimeMetaDatais removed, it did not actually do anything since at least NumPy 1.7.(gh-25802)
PyArray_GetCastFuncis removed. Note that custom legacy user dtypes can still provide a castfunc as their implementation, but any access to them is now removed. The reason for this is that NumPy never used these internally for many years. If you use simple numeric types, please just use C casts directly. In case you require an alternative, please let us know so we can create new API such asPyArray_CastBuffer()which could use old or new cast functions depending on the NumPy version.(gh-25161)
New Features
np.add was extended to work with unicode and bytes dtypes.
(gh-24858)
A new bitwise_count function
This new function counts the number of 1-bits in a number.
numpy.bitwise_count works on all the numpy integer types
and integer-like objects.
``` python
a = np.array([2**i - 1 for i in range(16)]) np.bitwise_count(a) array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], dtype=uint8) ```
(gh-19355)
macOS Accelerate support, including the ILP64
Support for the updated Accelerate BLAS/LAPACK library, including ILP64 (64-bit integer) support, in macOS 13.3 has been added. This brings arm64 support, and significant performance improvements of up to 10x for commonly used linear algebra operations. When Accelerate is selected at build time, or if no explicit BLAS library selection is done, the 13.3+ version will automatically be used if available.
(gh-24053)
Binary wheels are also available. On macOS >=14.0, users who install NumPy from PyPI will get wheels built against Accelerate rather than OpenBLAS.
(gh-25255)
Option to use weights for quantile and percentile functions
A weights keyword is now available for numpy.quantile, numpy.percentile,
numpy.nanquantile and numpy.nanpercentile. Only method="inverted_cdf"
supports weights.
(gh-24254)
Improved CPU optimization tracking
A new tracer mechanism is available which enables tracking of the enabled targets for each optimized function (i.e., that uses hardware-specific SIMD instructions) in the NumPy library. With this enhancement, it becomes possible to precisely monitor the enabled CPU dispatch targets for the dispatched functions.
A new function named opt_func_info has been added to the new namespace
numpy.lib.introspect, offering this tracing capability. This function allows
you to retrieve information about the enabled targets based on function names
and data type signatures.
(gh-24420)
A new Meson backend for f2py
f2py in compile mode (i.e. f2py -c) now accepts the
--backend meson option. This is the default option for Python >=3.12.
For older Python versions, f2py will still default to
--backend distutils.
To support this in realistic use-cases, in compile mode f2py takes a
--dep flag one or many times which maps to dependency() calls in the
meson backend, and does nothing in the distutils backend.
There are no changes for users of f2py only as a code generator, i.e.
without -c.
(gh-24532)
bind(c) support for f2py
Both functions and subroutines can be annotated with bind(c). f2py
will handle both the correct type mapping, and preserve the unique label
for other C interfaces.
Note: bind(c, name = 'routine_name_other_than_fortran_routine') is
not honored by the f2py bindings by design, since bind(c) with the
name is meant to guarantee only the same name in C and Fortran, not in
Python and Fortran.
(gh-24555)
A new strict option for several testing functions
The strict keyword is now available for numpy.testing.assert_allclose,
numpy.testing.assert_equal, and numpy.testing.assert_array_less. Setting
strict=True will disable the broadcasting behaviour for scalars and ensure
that input arrays have the same data type.
(gh-24680, gh-24770, gh-24775)
Add np.core.umath.find and np.core.umath.rfind UFuncs
Add two find and rfind UFuncs that operate on unicode or byte
strings and are used in np.char. They operate similar to str.find
and str.rfind.
(gh-24868)
diagonal and trace for numpy.linalg
numpy.linalg.diagonal and numpy.linalg.trace have been added, which are
array API standard-compatible variants of numpy.diagonal and numpy.trace.
They differ in the default axis selection which define 2-D sub-arrays.
(gh-24887)
New long and ulong dtypes
numpy.long and numpy.ulong have been added as NumPy integers mapping to
C\'s long and unsigned long. Prior to NumPy 1.24, numpy.long was an alias
to Python\'s int.
(gh-24922)
svdvals for numpy.linalg
numpy.linalg.svdvals has been added. It computes singular values for (a stack
of) matrices. Executing np.svdvals(x) is the same as calling np.svd(x,
compute_uv=False, hermitian=False). This function is compatible with the array
API standard.
(gh-24940)
A new isdtype function
numpy.isdtype was added to provide a canonical way to classify NumPy\'s
dtypes in compliance with the array API standard.
(gh-25054)
A new astype function
numpy.astype was added to provide an array API standard-compatible
alternative to the numpy.ndarray.astype method.
(gh-25079)
Array API compatible functions\' aliases
13 aliases for existing functions were added to improve compatibility with the array API standard:
- Trigonometry:
acos,acosh,asin,asinh,atan,atanh,atan2. - Bitwise:
bitwise_left_shift,bitwise_invert,bitwise_right_shift. - Misc:
concat,permute_dims,pow. - In
numpy.linalg:tensordot,matmul.
(gh-25086)
New unique_* functions
The numpy.unique_all, numpy.unique_counts, numpy.unique_inverse, and
numpy.unique_values functions have been added. They provide functionality of
numpy.unique with different sets of flags. They are array API
standard-compatible, and because the number of arrays they return does not
depend on the values of input arguments, they are easier to target for JIT
compilation.
(gh-25088)
Matrix transpose support for ndarrays
NumPy now offers support for calculating the matrix transpose of an
array (or stack of arrays). The matrix transpose is equivalent to
swapping the last two axes of an array. Both np.ndarray and
np.ma.MaskedArray now expose a .mT attribute, and there is a
matching new numpy.matrix_transpose function.
(gh-23762)
Array API compatible functions for numpy.linalg
Six new functions and two aliases were added to improve compatibility with the Array API standard for `numpy.linalg`:
numpy.linalg.matrix_norm- Computes the matrix norm of a matrix (or a stack of matrices).numpy.linalg.vector_norm- Computes the vector norm of a vector (or batch of vectors).numpy.vecdot- Computes the (vector) dot product of two arrays.numpy.linalg.vecdot- An alias fornumpy.vecdot.numpy.linalg.matrix_transpose- An alias fornumpy.matrix_transpose.(gh-25155)
numpy.linalg.outerhas been added. It computes the outer product of two vectors. It differs fromnumpy.outerby accepting one-dimensional arrays only. This function is compatible with the array API standard.(gh-25101)
numpy.linalg.crosshas been added. It computes the cross product of two (arrays of) 3-dimensional vectors. It differs fromnumpy.crossby accepting three-dimensional vectors only. This function is compatible with the array API standard.(gh-25145)
A correction argument for var and std
A correction argument was added to numpy.var and numpy.std, which is an
array API standard compatible alternative to ddof. As both arguments serve a
similar purpose, only one of them can be provided at the same time.
(gh-25169)
ndarray.device and ndarray.to_device
An ndarray.device attribute and ndarray.to_device method were added
to numpy.ndarray for array API standard compatibility.
Additionally, device keyword-only arguments were added to:
numpy.asarray, numpy.arange, numpy.empty, numpy.empty_like,
numpy.eye, numpy.full, numpy.full_like, numpy.linspace, numpy.ones,
numpy.ones_like, numpy.zeros, and numpy.zeros_like.
For all these new arguments, only device="cpu" is supported.
(gh-25233)
StringDType has been added to NumPy
We have added a new variable-width UTF-8 encoded string data type, implementing a \"NumPy array of Python strings\", including support for a user-provided missing data sentinel. It is intended as a drop-in replacement for arrays of Python strings and missing data sentinels using the object dtype. See NEP 55 and the documentation of stringdtype for more details.
(gh-25347)
New keywords for cholesky and pinv
The upper and rtol keywords were added to
numpy.linalg.cholesky and numpy.linalg.pinv,
respectively, to improve array API standard compatibility.
For numpy.linalg.pinv, if neither rcond nor rtol is
specified, the rcond\'s default is used. We plan to deprecate and
remove rcond in the future.
(gh-25388)
New keywords for sort, argsort and linalg.matrix_rank
New keyword parameters were added to improve array API standard compatibility:
-
rtolwas added tonumpy.linalg.matrix_rank. -
stablewas added tonumpy.sortandnumpy.argsort.
(gh-25437)
New numpy.strings namespace for string ufuncs
NumPy now implements some string operations as ufuncs. The old np.char
namespace is still available, and where possible the string manipulation
functions in that namespace have been updated to use the new ufuncs,
substantially improving their performance.
Where possible, we suggest updating code to use functions in
np.strings instead of np.char. In the future we may deprecate
np.char in favor of np.strings.
(gh-25463)
numpy.fft support for different precisions and in-place calculations
The various FFT routines in numpy.fft now do their
calculations natively in float, double, or long double precision,
depending on the input precision, instead of always calculating in
double precision. Hence, the calculation will now be less precise for
single and more precise for long double precision. The data type of the
output array will now be adjusted accordingly.
Furthermore, all FFT routines have gained an out argument that can be
used for in-place calculations.
(gh-25536)
configtool and pkg-config support
A new numpy-config CLI script is available that can be queried for the
NumPy version and for compile flags needed to use the NumPy C API. This
will allow build systems to better support the use of NumPy as a
dependency. Also, a numpy.pc pkg-config file is now included with
Numpy. In order to find its location for use with PKG_CONFIG_PATH, use
numpy-config --pkgconfigdir.
(gh-25730)
Array API standard support in the main namespace
The main numpy namespace now supports the array API standard. See
array-api-standard-compatibility for
details.
(gh-25911)
Improvements
Strings are now supported by any, all, and the logical ufuncs.
(gh-25651)
Integer sequences as the shape argument for memmap
numpy.memmap can now be created with any integer sequence
as the shape argument, such as a list or numpy array of integers.
Previously, only the types of tuple and int could be used without
raising an error.
(gh-23729)
errstate is now faster and context safe
The numpy.errstate context manager/decorator is now faster
and safer. Previously, it was not context safe and had (rare) issues
with thread-safety.
(gh-23936)
AArch64 quicksort speed improved by using Highway\'s VQSort
The first introduction of the Google Highway library, using VQSort on AArch64. Execution time is improved by up to 16x in some cases, see the PR for benchmark results. Extensions to other platforms will be done in the future.
(gh-24018)
Complex types - underlying C type changes
The underlying C types for all of NumPy\'s complex types have been changed to use C99 complex types.
While this change does not affect the memory layout of complex types, it changes the API to be used to directly retrieve or write the real or complex part of the complex number, since direct field access (as in
c.realorc.imag) is no longer an option. You can now use utilities provided innumpy/npy_math.hto do these operations, like this:c npy_cdouble c; npy_csetreal(&c, 1.0); npy_csetimag(&c, 0.0); printf("%d + %di\n", npy_creal(c), npy_cimag(c));To ease cross-version compatibility, equivalent macros and a compatibility layer have been added which can be used by downstream packages to continue to support both NumPy 1.x and 2.x. See
complex-numbersfor more info.numpy/npy_common.hnow includescomplex.h, which means thatcomplexis now a reserved keyword.
(gh-24085)
iso_c_binding support and improved common blocks for f2py
Previously, users would have to define their own custom f2cmap file to
use type mappings defined by the Fortran2003 iso_c_binding intrinsic
module. These type maps are now natively supported by f2py
(gh-24555)
f2py now handles common blocks which have kind specifications from
modules. This further expands the usability of intrinsics like
iso_fortran_env and iso_c_binding.
(gh-25186)
Call str automatically on third argument to functions like assert_equal
The third argument to functions like
numpy.testing.assert_equal now has str called on it
automatically. This way it mimics the built-in assert statement, where
assert_equal(a, b, obj) works like assert a == b, obj.
(gh-24877)
Support for array-like atol/rtol in isclose, allclose
The keywords atol and rtol in numpy.isclose and
numpy.allclose now accept both scalars and arrays. An
array, if given, must broadcast to the shapes of the first two array
arguments.
(gh-24878)
Consistent failure messages in test functions
Previously, some numpy.testing assertions printed messages
that referred to the actual and desired results as x and y. Now,
these values are consistently referred to as ACTUAL and DESIRED.
(gh-24931)
n-D FFT transforms allow s[i] == -1
The numpy.fft.fftn, numpy.fft.ifftn,
numpy.fft.rfftn, numpy.fft.irfftn,
numpy.fft.fft2, numpy.fft.ifft2,
numpy.fft.rfft2 and numpy.fft.irfft2
functions now use the whole input array along the axis i if
s[i] == -1, in line with the array API standard.
(gh-25495)
Guard PyArrayScalar_VAL and PyUnicodeScalarObject for the limited API
PyUnicodeScalarObject holds a PyUnicodeObject, which is not
available when using Py_LIMITED_API. Add guards to hide it and
consequently also make the PyArrayScalar_VAL macro hidden.
(gh-25531)
Changes
np.gradient()now returns a tuple rather than a list making the return value immutable.(gh-23861)
Being fully context and thread-safe,
np.errstatecan only be entered once now.np.setbufsizeis now tied tonp.errstate(): leaving annp.errstatecontext will also reset thebufsize.(gh-23936)
A new public
np.lib.array_utilssubmodule has been introduced and it currently contains three functions:byte_bounds(moved fromnp.lib.utils),normalize_axis_tupleandnormalize_axis_index.(gh-24540)
Introduce
numpy.boolas the new canonical name for NumPy\'s boolean dtype, and makenumpy.bool\_an alias to it. Note that until NumPy 1.24,np.boolwas an alias to Python\'s builtinbool. The new name helps with array API standard compatibility and is a more intuitive name.(gh-25080)
The
dtype.flagsvalue was previously stored as a signed integer. This means that the aligned dtype struct flag lead to negative flags being set (-128 rather than 128). This flag is now stored unsigned (positive). Code which checks flags manually may need to adapt. This may include code compiled with Cython 0.29.x.(gh-25816)
Representation of NumPy scalars changed
As per NEP 51, the scalar representation has been updated to include the type information to avoid confusion with Python scalars.
Scalars are now printed as np.float64(3.0) rather than just 3.0.
This may disrupt workflows that store representations of numbers (e.g.,
to files) making it harder to read them. They should be stored as
explicit strings, for example by using str() or f"{scalar!s}". For
the time being, affected users can use
np.set_printoptions(legacy="1.25") to get the old behavior (with
possibly a few exceptions). Documentation of downstream projects may
require larger updates, if code snippets are tested. We are working on
tooling for
doctest-plus
to facilitate updates.
(gh-22449)
Truthiness of NumPy strings changed
NumPy strings previously were inconsistent about how they defined if the
string is True or False and the definition did not match the one
used by Python. Strings are now considered True when they are
non-empty and False when they are empty. This changes the following
distinct cases:
- Casts from string to boolean were previously roughly equivalent to
string_array.astype(np.int64).astype(bool), meaning that only valid integers could be cast. Now a string of"0"will be consideredTruesince it is not empty. If you need the old behavior, you may use the above step (casting to integer first) orstring_array == "0"(if the input is only ever0or1). To get the new result on old NumPy versions usestring_array != "". -
np.nonzero(string_array)previously ignored whitespace so that a string only containing whitespace was consideredFalse. Whitespace is now consideredTrue.
This change does not affect np.loadtxt, np.fromstring, or
np.genfromtxt. The first two still use the integer definition, while
genfromtxt continues to match for "true" (ignoring case). However,
if np.bool_ is used as a converter the result will change.
The change does affect np.fromregex as it uses direct assignments.
(gh-23871)
A mean keyword was added to var and std function
Often when the standard deviation is needed the mean is also needed. The
same holds for the variance and the mean. Until now the mean is then
calculated twice, the change introduced here for the numpy.var and
numpy.std functions allows for passing in a precalculated mean as an keyword
argument. See the docstrings for details and an example illustrating the
speed-up.
(gh-24126)
Remove datetime64 deprecation warning when constructing with timezone
The numpy.datetime64 method now issues a UserWarning rather than a
DeprecationWarning whenever a timezone is included in the datetime string that
is provided.
(gh-24193)
Default integer dtype is now 64-bit on 64-bit Windows
The default NumPy integer is now 64-bit on all 64-bit systems as the
historic 32-bit default on Windows was a common source of issues. Most
users should not notice this. The main issues may occur with code
interfacing with libraries written in a compiled language like C. For
more information see migration_windows_int64.
(gh-24224)
Renamed numpy.core to numpy._core
Accessing numpy.core now emits a DeprecationWarning. In practice we
have found that most downstream usage of numpy.core was to access
functionality that is available in the main numpy namespace. If for
some reason you are using functionality in numpy.core that is not
available in the main numpy namespace, this means you are likely using
private NumPy internals. You can still access these internals via
numpy._core without a deprecation warning but we do not provide any
backward compatibility guarantees for NumPy internals. Please open an
issue if you think a mistake was made and something needs to be made
public.
(gh-24634)
The \"relaxed strides\" debug build option, which was previously enabled
through the NPY_RELAXED_STRIDES_DEBUG environment variable or the
-Drelaxed-strides-debug config-settings flag has been removed.
(gh-24717)
Redefinition of np.intp/np.uintp (almost never a change)
Due to the actual use of these types almost always matching the use of
size_t/Py_ssize_t this is now the definition in C. Previously, it
matched intptr_t and uintptr_t which would often have been subtly
incorrect. This has no effect on the vast majority of machines since the
size of these types only differ on extremely niche platforms.
However, it means that:
- Pointers may not necessarily fit into an
intptyped array anymore. ThepandPcharacter codes can still be used, however. - Creating
intptr_toruintptr_ttyped arrays in C remains possible in a cross-platform way viaPyArray_DescrFromType('p'). - The new character codes
nNwere introduced. - It is now correct to use the Python C-API functions when parsing to
npy_intptyped arguments.
(gh-24888)
numpy.fft.helper made private
numpy.fft.helper was renamed to numpy.fft._helper to indicate that
it is a private submodule. All public functions exported by it should be
accessed from numpy.fft.
(gh-24945)
numpy.linalg.linalg made private
numpy.linalg.linalg was renamed to numpy.linalg._linalg to indicate
that it is a private submodule. All public functions exported by it
should be accessed from numpy.linalg.
(gh-24946)
Out-of-bound axis not the same as axis=None
In some cases axis=32 or for concatenate any large value was the same
as axis=None. Except for concatenate this was deprecate. Any out of
bound axis value will now error, make sure to use axis=None.
(gh-25149)
New copy keyword meaning for array and asarray constructors
Now numpy.array and numpy.asarray support
three values for copy parameter:
-
None- A copy will only be made if it is necessary. -
True- Always make a copy. -
False- Never make a copy. If a copy is required aValueErroris raised.
The meaning of False changed as it now raises an exception if a copy
is needed.
(gh-25168)
The __array__ special method now takes a copy keyword argument.
NumPy will pass copy to the __array__ special method in situations
where it would be set to a non-default value (e.g. in a call to
np.asarray(some_object, copy=False)). Currently, if an unexpected
keyword argument error is raised after this, NumPy will print a warning
and re-try without the copy keyword argument. Implementations of
objects implementing the __array__ protocol should accept a copy
keyword argument with the same meaning as when passed to
numpy.array or numpy.asarray.
(gh-25168)
Cleanup of initialization of numpy.dtype with strings with commas
The interpretation of strings with commas is changed slightly, in that a
trailing comma will now always create a structured dtype. E.g., where
previously np.dtype("i") and np.dtype("i,") were treated as
identical, now np.dtype("i,") will create a structured dtype, with a
single field. This is analogous to np.dtype("i,i") creating a
structured dtype with two fields, and makes the behaviour consistent
with that expected of tuples.
At the same time, the use of single number surrounded by parenthesis to
indicate a sub-array shape, like in np.dtype("(2)i,"), is deprecated.
Instead; one should use np.dtype("(2,)i") or np.dtype("2i").
Eventually, using a number in parentheses will raise an exception, like
is the case for initializations without a comma, like
np.dtype("(2)i").
(gh-25434)
Change in how complex sign is calculated
Following the array API standard, the complex sign is now calculated as
z / |z| (instead of the rather less logical case where the sign of the
real part was taken, unless the real part was zero, in which case the
sign of the imaginary part was returned). Like for real numbers, zero is
returned if z==0.
(gh-25441)
Return types of functions that returned a list of arrays
Functions that returned a list of ndarrays have been changed to return a
tuple of ndarrays instead. Returning tuples consistently whenever a
sequence of arrays is returned makes it easier for JIT compilers like
Numba, as well as for static type checkers in some cases, to support
these functions. Changed functions are: numpy.atleast_1d, numpy.atleast_2d,
numpy.atleast_3d, numpy.broadcast_arrays, numpy.meshgrid,
numpy.ogrid, numpy.histogramdd.
np.unique return_inverse shape for multi-dimensional inputs
When multi-dimensional inputs are passed to np.unique with
return_inverse=True, the unique_inverse output is now shaped such
that the input can be reconstructed directly using
np.take(unique, unique_inverse) when axis=None, and
np.take_along_axis(unique, unique_inverse, axis=axis) otherwise.
any and all return booleans for object arrays
The any and all functions and methods now return booleans also for
object arrays. Previously, they did a reduction which behaved like the
Python or and and operators which evaluates to one of the arguments.
You can use np.logical_or.reduce and np.logical_and.reduce to
achieve the previous behavior.
(gh-25712)
Checksums
MD5
097c3c7e3d5159bee4fd60fabb6f7c15 numpy-2.0.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
dcf4a04f08be737a3224a3fe0f408857 numpy-2.0.0rc1-cp310-cp310-macosx_11_0_arm64.whl
ceee44fdc825abe8945030cc74d78340 numpy-2.0.0rc1-cp310-cp310-macosx_14_0_arm64.whl
0d77ca403f1c03ea0cf3005136d0adbe numpy-2.0.0rc1-cp310-cp310-macosx_14_0_x86_64.whl
e1a620f15fd797e0e6fe0d3af7dfac6f numpy-2.0.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c356e0c2c7afde1c1e208bab64541e78 numpy-2.0.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
106c02ca9f2dd023d3d1fa67c00de71f numpy-2.0.0rc1-cp310-cp310-musllinux_1_1_aarch64.whl
ebbb64f3bf69a58cc2a410d4e9265e7f numpy-2.0.0rc1-cp310-cp310-musllinux_1_1_x86_64.whl
a9cbb955a541f4e9fd55a779b35e986e numpy-2.0.0rc1-cp310-cp310-win32.whl
e54e931ca6b7d51919952f8bb5dc46ee numpy-2.0.0rc1-cp310-cp310-win_amd64.whl
dafd6406b44c5675b002456a4ceb6a26 numpy-2.0.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
4f8b3c8f5cfcb69c78ce41e41cc33085 numpy-2.0.0rc1-cp311-cp311-macosx_11_0_arm64.whl
921260667355fc407dbcf1ec11b75bd2 numpy-2.0.0rc1-cp311-cp311-macosx_14_0_arm64.whl
9554e7e501b7751d144aacc8658e9a45 numpy-2.0.0rc1-cp311-cp311-macosx_14_0_x86_64.whl
683df12eba035788df3092869f6003f0 numpy-2.0.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3df4b3fb1e4d865c393e2938991481d2 numpy-2.0.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f1a8fdcb957b9f04aa2d621c3f8c3ece numpy-2.0.0rc1-cp311-cp311-musllinux_1_1_aarch64.whl
0a12d7d664d450efb24c801df03d58ac numpy-2.0.0rc1-cp311-cp311-musllinux_1_1_x86_64.whl
272659018425cca4123bb46985b48fbd numpy-2.0.0rc1-cp311-cp311-win32.whl
fc6707777a4d21c554cbd1ee40d02efa numpy-2.0.0rc1-cp311-cp311-win_amd64.whl
1ab256609e0eb2b86f72e238becd9b49 numpy-2.0.0rc1-cp312-cp312-macosx_10_9_x86_64.whl
71e858d89823dfc3a005218092af49a6 numpy-2.0.0rc1-cp312-cp312-macosx_11_0_arm64.whl
77bd5f87b628b0e6f39e0df7166f3ae1 numpy-2.0.0rc1-cp312-cp312-macosx_14_0_arm64.whl
efda4b10dc0fe086e1d33747d9102cd7 numpy-2.0.0rc1-cp312-cp312-macosx_14_0_x86_64.whl
d2e813366f0ab4fd6ec6077390fc9de2 numpy-2.0.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
616efe037e2538681f5ab223b6428e69 numpy-2.0.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
46da92334bd791c759bf414ed61e4a7a numpy-2.0.0rc1-cp312-cp312-musllinux_1_1_aarch64.whl
2f45fe8fa2648093ba0578416fc3f7a9 numpy-2.0.0rc1-cp312-cp312-musllinux_1_1_x86_64.whl
edc8cf6127019ed7773ed8e5b27a52e8 numpy-2.0.0rc1-cp312-cp312-win32.whl
47b8fcfe22189f9bbc97d30be3f6ba29 numpy-2.0.0rc1-cp312-cp312-win_amd64.whl
3578edf376be61c3173f9eecf4bdeb08 numpy-2.0.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
1571b789456e859b9fa1550e9fcca88a numpy-2.0.0rc1-cp39-cp39-macosx_11_0_arm64.whl
d09858e54060d0bd38b30f59488b6e9f numpy-2.0.0rc1-cp39-cp39-macosx_14_0_arm64.whl
2cb1770fb5f426b9c542672d6a39253c numpy-2.0.0rc1-cp39-cp39-macosx_14_0_x86_64.whl
21f7304c982fb92c4d6c165fc6e9c672 numpy-2.0.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
96101f85cc666c5666fcb9b8eebd7cbc numpy-2.0.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1469682f758821e6657cbb7469bad713 numpy-2.0.0rc1-cp39-cp39-musllinux_1_1_aarch64.whl
8664fc00fed8e741265dce45b9b13054 numpy-2.0.0rc1-cp39-cp39-musllinux_1_1_x86_64.whl
2098687405b0e05a952ad72121d26365 numpy-2.0.0rc1-cp39-cp39-win32.whl
b54376b8422df10f4bbed2fa7070395f numpy-2.0.0rc1-cp39-cp39-win_amd64.whl
fef9749bcacad7b4fdece4d0b5b8bb47 numpy-2.0.0rc1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
3f8303f1768278acb0fcc8ed8fb919f2 numpy-2.0.0rc1-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
227fc258d8b40361ddc1ecbd8b95b6bc numpy-2.0.0rc1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
466e180fd734cccf2ea3170cc3a97d53 numpy-2.0.0rc1-pp39-pypy39_pp73-win_amd64.whl
04b5c7de86e2883a5aed5a9f1a7f414c numpy-2.0.0rc1.tar.gz
SHA256
9d96878db0d4f267e62e21f6feb7d0e7f07ec02784e705f37b7f6493a935c7fd numpy-2.0.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
f9e566457284cb55447eab7566fad2b59e17f01776bb1b76828a6a931d111c72 numpy-2.0.0rc1-cp310-cp310-macosx_11_0_arm64.whl
6e0438e248b5e7e46e80a686868d36d6a4ce875cedce87122d1616ffd8e2a669 numpy-2.0.0rc1-cp310-cp310-macosx_14_0_arm64.whl
015df68fd97bc00e1b7719e80cea401b23a601b639c6d6545922f7a21876b771 numpy-2.0.0rc1-cp310-cp310-macosx_14_0_x86_64.whl
cdea89bba67157bd8ec2ba9613d9f5ba2d18deab113171ca106953fdf8f7f314 numpy-2.0.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
cfd4e2f1605e3a607674dd3173c03b2e2f8520fa3ec2db04f2da2a3d5339df1b numpy-2.0.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
25d43c681fefb4d7e0ffa949097b20eacbad4be9af7c136b1f69dc4c34c1f6d4 numpy-2.0.0rc1-cp310-cp310-musllinux_1_1_aarch64.whl
9da7cddeaf312a3645325a7da3b18bfad345cae5005cb4d6fcf24796bedaf239 numpy-2.0.0rc1-cp310-cp310-musllinux_1_1_x86_64.whl
d4b56e9abe2c3cec5615725320e002396c1e4b78011831a78427c7ff7b185816 numpy-2.0.0rc1-cp310-cp310-win32.whl
5c62c0d071681391b9c73ba09b35cb46477659012fd88af2c877a2a9da84aa2f numpy-2.0.0rc1-cp310-cp310-win_amd64.whl
060635ab843ea0e2aa6ad153d5656193014eedd90ec4ef6e2b738d81bfe28170 numpy-2.0.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
91103edc14b5b70bc25af26ea5d75a45b6490bed5f1da9478f5bbe82542ba1b5 numpy-2.0.0rc1-cp311-cp311-macosx_11_0_arm64.whl
7d990411f2821bf2812ec66ae85e8f351103fe7c3a229152ab6f8c9a620e82eb numpy-2.0.0rc1-cp311-cp311-macosx_14_0_arm64.whl
5e289dafe89a0dd756430fa03332c428c897c41cc3143230c38d7d2bb9ad475e numpy-2.0.0rc1-cp311-cp311-macosx_14_0_x86_64.whl
2b5f87d88212e54263f64257b28daa04f3fde627c204abd7557a80b582de4a63 numpy-2.0.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
67f9707c3df26ca5bce34162fe0721646504c5961ccfca94c294fbeaf42cfa5b numpy-2.0.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7511694264a1219458a4e77d185a7ee350506b4e1e3b2b82845a5e9db044b6f5 numpy-2.0.0rc1-cp311-cp311-musllinux_1_1_aarch64.whl
09e7a6cab5eac8aca0f17ad29b42ee1cd357e09a76076d5f4cb90ca62a0229b8 numpy-2.0.0rc1-cp311-cp311-musllinux_1_1_x86_64.whl
dfcd76a018c728ce7a3e6e09717e7a3dfbffdf87a57118dbc5ddc2167a678258 numpy-2.0.0rc1-cp311-cp311-win32.whl
afa4679bcbade6a4197c27874c0dacf5d45470d56cee8b1e2398e80859ab797c numpy-2.0.0rc1-cp311-cp311-win_amd64.whl
1e2478ca8b4b0c5a7146fc316c83843bc47b2d73cf6c02000561794ae5dba537 numpy-2.0.0rc1-cp312-cp312-macosx_10_9_x86_64.whl
09bedcb99b9ac5472d2e63cd18be861750acc7570ae3661be7cb6018ce376694 numpy-2.0.0rc1-cp312-cp312-macosx_11_0_arm64.whl
8a7c01e9c14216e386e42a0c75c76a015a002dd5ed833ffbdaa6a7f2aeed9258 numpy-2.0.0rc1-cp312-cp312-macosx_14_0_arm64.whl
00236e0e8a588fef8f70e0535b898bcebd97becc0b27686d2fc7cb35b5d1ab91 numpy-2.0.0rc1-cp312-cp312-macosx_14_0_x86_64.whl
f36b7ccac6a3bfb342a61dd08be73fbe0286d2cb64c976bb1ed22feda0deb16f numpy-2.0.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fb009d69b3a362240acc5155e3de8f90311eb7f9f3958803af866945b8c9ee43 numpy-2.0.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
684eef178a2039cba72bce740cdf2f592e67a41885a0f09d5622380fc59af0f8 numpy-2.0.0rc1-cp312-cp312-musllinux_1_1_aarch64.whl
8b510bab996ad7b7fa59ca14fdaae4c68a36ff0f71ccd9ddec769b58f9d19258 numpy-2.0.0rc1-cp312-cp312-musllinux_1_1_x86_64.whl
08d7d73d5b7d97decfb6584f41492f5584f81a3147514b67ac21ccccb3418b35 numpy-2.0.0rc1-cp312-cp312-win32.whl
39a65e8c127d51419942a9e0ec467273536acd373507ce64e63451690ed47bfc numpy-2.0.0rc1-cp312-cp312-win_amd64.whl
5be315e916e7d4d372acf62dcc86900eb47b2f76c185d835634dd0503f441e35 numpy-2.0.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
b1bfbde0e9221920d02735ced823e53be46786589a5e8db91824bccd5115e5c8 numpy-2.0.0rc1-cp39-cp39-macosx_11_0_arm64.whl
f6539759d26e9b60dd9691732528dda7fe46a8c82be6294d109203dce4a8b89c numpy-2.0.0rc1-cp39-cp39-macosx_14_0_arm64.whl
7517f752cad3d8bf297ed6421c63be769a03b8e3c34282eec803bae693dae67a numpy-2.0.0rc1-cp39-cp39-macosx_14_0_x86_64.whl
8798ee3db69d2f531b12897929583021206feb4d45234d035e5511a5bd0cee38 numpy-2.0.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
070a8b1c93b0bf21c1a3c51514145acbba612e9f3fd86870c1ca37a36cebbfce numpy-2.0.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
706f66648712385f5ca5e22ad4f32d1a1a93c143882969d951122b5cf9e40a24 numpy-2.0.0rc1-cp39-cp39-musllinux_1_1_aarch64.whl
cf1b08d8ee6d24576c0552dee71f36859de157481ed283e839d630b50242bbe1 numpy-2.0.0rc1-cp39-cp39-musllinux_1_1_x86_64.whl
c0af260d6818eab709b65953e1e5ce31a34d68230f488589b4bb96b13a28d18f numpy-2.0.0rc1-cp39-cp39-win32.whl
1860507cb082ee8d9920db806d74d8a3936081b9ecf274b0fdb6d99b664680a1 numpy-2.0.0rc1-cp39-cp39-win_amd64.whl
9085f9a3e4f994ee8027db503627ae34aa867dc5f00ee7fe2b930608534a9293 numpy-2.0.0rc1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
fbee730ae5265735e2c9b006a0d3fe1443d08d9399d0103245b99ecba10ddff0 numpy-2.0.0rc1-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
d93d29d07b2da78869793ec30321adda61a5a48b9e00d12160d0cd658f5f2e0b numpy-2.0.0rc1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fe19044006aeaf783c64f22ee03330caccb4d3e54fe605b57444f448954b022d numpy-2.0.0rc1-pp39-pypy39_pp73-win_amd64.whl
f0e169ec6cbc1b8e5f6a235845a80961f76f88352082213a1728a0967a761ad2 numpy-2.0.0rc1.tar.gz
- Python
Published by charris about 2 years ago
numpy -
NumPy 2.0.0 Release Notes
Note
The release of 2.0 is in progress and the current release overview and highlights are still in a draft state. However, the highlights should already list the most significant changes detailed in the full notes below, and those full notes should be complete (if not copy-edited well enough yet).
NumPy 2.0.0 is the first major release since 2006. It is the result of 10 months of development since the last feature release and is the work of 190 contributors spread over 968 pull requests. It contains a large number of exciting new features as well as changes to both the Python and C APIs.
This major release includes breaking changes that could not happen in a regular minor (feature) release - including an ABI break, changes to type promotion rules, and API changes which may not have been emitting deprecation warnings in 1.26.x. Key documents related to how to adapt to changes in NumPy 2.0, in addition to these release notes, include:
- The numpy-2-migration-guide
- The Numpy 2.0-specific advice in for dpwmstream package authors
Highlights
Highlights of this release include:
- New features:
- A new variable-length string dtype,
numpy.dtypes.StringDTypeand a newnumpy.stringsnamespace with performant ufuncs for string operations, - Support for
float32andlongdoublein allnumpy.fftfunctions, - Support for the array API standard in the main
numpynamespace.
- A new variable-length string dtype,
- Performance improvements:
- Sorting functions
sort,argsort,partition,argpartitionhave been accelerated through the use of the Intel x86-simd-sort and Google Highway libraries, and may see large (hardware-specific) speedups, - macOS Accelerate support and binary wheels for macOS >=14, with significant performance improvements for linear algebra operations on macOS, and wheels that are about 3 times smaller,
numpy.charfixed-length string operations have been accelerated by implementing ufuncs that also supportnumpy.dtypes.StringDTypein addition to the fixed-length string dtypes,- A new tracing and introspection API,
numpy.lib.introspect.opt_func_info, to determine which hardware-specific kernels are available and will be dispatched to.
- Sorting functions
- Python API improvements:
- A clear split between public and private API, with a new module structure and each public function now available in a single place.
- Many removals of non-recommended functions and aliases. This
should make it easier to learn and use NumPy. The number of
objects in the main namespace decreased by ~10% and in
numpy.libby ~80%. Canonical dtype names and a newnumpy.isdtype` introspection function,
- C API improvements:
- A new public C API for creating custom dtypes,
- Many outdated functions and macros removed, and private internals hidden to ease future extensibility,
- New, easier to use, initialization functions:
PyArray_ImportNumPyAPIandPyUFunc_ImportUFuncAPI.
- Improved behavior:
- Improvements to type promotion behavior was changed by adopting NEP 50. This fixes many user surprises about promotions which previously often depended on data values of input arrays rather than only their dtypes. Please see the NEP and the numpy-2-migration-guide for details as this change can lead to changes in output dtypes and lower precision results for mixed-dtype operations.
- The default integer type on Windows is now
int64rather thanint32, matching the behavior on other platforms, - The maximum number of array dimensions is changed from 32 to 64
- Documentation:
- The reference guide navigation was significantly improved, and there is now documentation on NumPy\'s module structure,
- The building from source documentation was completely rewritten,
Furthermore there are many changes to NumPy internals, including continuing to migrate code from C to C++, that will make it easier to improve and maintain NumPy in the future.
The \"no free lunch\" theorem dictates that there is a price to pay for all these API and behavior improvements and better future extensibility. This price is:
Backwards compatibility. There are a significant number of breaking changes to both the Python and C APIs. In the majority of cases, there are clear error messages that will inform the user how to adapt their code. However, there are also changes in behavior for which it was not possible to give such an error message - these cases are all covered in the Deprecation and Compatibility sections below, and in the numpy-2-migration-guide.
Note that there is a
ruffmode to auto-fix many things in Python code.Breaking changes to the NumPy ABI. As a result, binaries of packages that use the NumPy C API and were built against a NumPy 1.xx release will not work with NumPy 2.0. On import, such packages will see an
ImportErrorwith a message about binary incompatibility.It is possible to build binaries against NumPy 2.0 that will work at runtime with both NumPy 2.0 and 1.x. See numpy-2-abi-handling for more details.
All downstream packages that depend on the NumPy ABI are advised to do a new release built against NumPy 2.0 and verify that that release works with both 2.0 and 1.26 - ideally in the period between 2.0.0rc1 (which will be ABI-stable) and the final 2.0.0 release to avoid problems for their users.
The Python versions supported by this release are 3.9-3.12.
NumPy 2.0 Python API removals
np.geterrobj,np.seterrobjand the related ufunc keyword argumentextobj=have been removed. The preferred replacement for all of these is using the context managerwith np.errstate():.(gh-23922)
np.casthas been removed. The literal replacement fornp.cast[dtype](arg)isnp.asarray(arg, dtype=dtype).np.sourcehas been removed. The preferred replacement isinspect.getsource.np.lookforhas been removed.(gh-24144)
numpy.whohas been removed. As an alternative for the removed functionality, one can use a variable explorer that is available in IDEs such as Spyder or Jupyter Notebook.(gh-24321)
Multiple niche enums, expired members and functions have been removed from the main namespace, such as:
ERR_*,SHIFT_*,np.fastCopyAndTranspose,np.kernel_version,np.numarray,np.oldnumericandnp.set_numeric_ops.(gh-24316)
Replaced
from ... import *in thenumpy/__init__.pywith explicit imports. As a result, these main namespace members got removed:np.FLOATING_POINT_SUPPORT,np.FPE_*,np.NINF,np.PINF,np.NZERO,np.PZERO,np.CLIP,np.WRAP,np.WRAP,np.RAISE,np.BUFSIZE,np.UFUNC_BUFSIZE_DEFAULT,np.UFUNC_PYVALS_NAME,np.ALLOW_THREADS,np.MAXDIMS,np.MAY_SHARE_EXACT,np.MAY_SHARE_BOUNDS,add_newdoc,np.add_docstringandnp.add_newdoc_ufunc.(gh-24357)
Alias
np.float_has been removed. Usenp.float64instead.Alias
np.complex_has been removed. Usenp.complex128instead.Alias
np.longfloathas been removed. Usenp.longdoubleinstead.Alias
np.singlecomplexhas been removed. Usenp.complex64instead.Alias
np.cfloathas been removed. Usenp.complex128instead.Alias
np.longcomplexhas been removed. Usenp.clongdoubleinstead.Alias
np.clongfloathas been removed. Usenp.clongdoubleinstead.Alias
np.string_has been removed. Usenp.bytes_instead.Alias
np.unicode_has been removed. Usenp.str_instead.Alias
np.Infhas been removed. Usenp.infinstead.Alias
np.Infinityhas been removed. Usenp.infinstead.Alias
np.NaNhas been removed. Usenp.naninstead.Alias
np.inftyhas been removed. Usenp.infinstead.Alias
np.mathas been removed. Usenp.asmatrixinstead.np.issubclass_has been removed. Use theissubclassbuiltin instead.np.asfarrayhas been removed. Usenp.asarraywith a proper dtype instead.np.set_string_functionhas been removed. Usenp.set_printoptionsinstead with a formatter for custom printing of NumPy objects.np.tracemalloc_domainis now only available fromnp.lib.np.recfromcsvandrecfromtxtare now only available fromnp.lib.npyio.np.issctype,np.maximum_sctype,np.obj2sctype,np.sctype2char,np.sctypes,np.issubsctypewere all removed from the main namespace without replacement, as they where niche members.Deprecated
np.deprecateandnp.deprecate_with_dochas been removed from the main namespace. UseDeprecationWarninginstead.Deprecated
np.safe_evalhas been removed from the main namespace. Useast.literal_evalinstead.(gh-24376)
np.find_common_typehas been removed. Usenumpy.promote_typesornumpy.result_typeinstead. To achieve semantics for thescalar_typesargument, usenumpy.result_typeand pass0,0.0, or0jas a Python scalar instead.np.round_has been removed. Usenp.roundinstead.np.nbyteshas been removed. Usenp.dtype(<dtype>).itemsizeinstead.(gh-24477)
np.compare_chararrayshas been removed from the main namespace. Usenp.char.compare_chararraysinstead.The
charrarrayin the main namespace has been deprecated. It can be imported without a deprecation warning fromnp.char.chararrayfor now, but we are planning to fully deprecate and removechararrayin the future.np.format_parserhas been removed from the main namespace. Usenp.rec.format_parserinstead.(gh-24587)
Support for seven data type string aliases has been removed from
np.dtype:int0,uint0,void0,object0,str0,bytes0andbool8.(gh-24807)
The experimental
numpy.array_apisubmodule has been removed. Use the mainnumpynamespace for regular usage instead, or the separatearray-api-strictpackage for the compliance testing use case for whichnumpy.array_apiwas mostly used.(gh-25911)
__array_prepare__ is removed
UFuncs called __array_prepare__ before running computations for normal
ufunc calls (not generalized ufuncs, reductions, etc.). The function was
also called instead of __array_wrap__ on the results of some linear
algebra functions.
It is now removed. If you use it, migrate to __array_ufunc__ or rely
on __array_wrap__ which is called with a context in all cases,
although only after the result array is filled. In those code paths,
__array_wrap__ will now be passed a base class, rather than a subclass
array.
(gh-25105)
Deprecations
np.compathas been deprecated, as Python 2 is no longer supported.np.safe_evalhas been deprecated.ast.literal_evalshould be used instead.(gh-23830)
np.recfromcsv,np.recfromtxt,np.disp,np.get_array_wrap,np.maximum_sctype,np.deprecateandnp.deprecate_with_dochave been deprecated.(gh-24154)
np.trapzhas been deprecated. Usenp.trapezoidor ascipy.integratefunction instead.np.in1dhas been deprecated. Usenp.isininstead.Alias
np.row_stackhas been deprecated. Usenp.vstackdirectly.(gh-24445)
__array_wrap__is now passedarr, context, return_scalarand support for implementations not accepting all three are deprecated. Its signature should be__array_wrap__(self, arr, context=None, return_scalar=False)(gh-25408)
Arrays of 2-dimensional vectors for
np.crosshave been deprecated. Use arrays of 3-dimensional vectors instead.(gh-24818)
np.dtype("a")alias fornp.dtype(np.bytes_)was deprecated. Usenp.dtype("S")alias instead.(gh-24854)
Use of keyword arguments
xandywith functionsassert_array_equalandassert_array_almost_equalhas been deprecated. Pass the first two arguments as positional arguments instead.(gh-24978)
numpy.fft deprecations for n-D transforms with None values in arguments
Using fftn, ifftn, rfftn, irfftn, fft2, ifft2, rfft2 or
irfft2 with the s parameter set to a value that is not None and
the axes parameter set to None has been deprecated, in line with the
array API standard. To retain current behaviour, pass a sequence [0,
..., k-1] to axes for an array of dimension k.
Furthermore, passing an array to s which contains None values is
deprecated as the parameter is documented to accept a sequence of
integers in both the NumPy docs and the array API specification. To use
the default behaviour of the corresponding 1-D transform, pass the value
matching the default for its n parameter. To use the default behaviour
for every axis, the s argument can be omitted.
(gh-25495)
np.linalg.lstsq now defaults to a new rcond value
numpy.linalg.lstsq now uses the new rcond value of the
machine precision times max(M, N). Previously, the machine precision
was used but a FutureWarning was given to notify that this change will
happen eventually. That old behavior can still be achieved by passing
rcond=-1.
(gh-25721)
Expired deprecations
The
np.core.umath_testssubmodule has been removed from the public API. (Deprecated in NumPy 1.15)(gh-23809)
The
PyDataMem_SetEventHookdeprecation has expired and it is removed. Usetracemallocand thenp.lib.tracemalloc_domaindomain. (Deprecated in NumPy 1.23)(gh-23921)
The deprecation of
set_numeric_opsand the C functionsPyArray_SetNumericOpsandPyArray_GetNumericOpshas been expired and the functions removed. (Deprecated in NumPy 1.16)(gh-23998)
The
fasttake,fastclip, andfastputmaskArrFuncsdeprecation is now finalized.The deprecated function
fastCopyAndTransposeand its C counterpart are now removed.The deprecation of
PyArray_ScalarFromObjectis now finalized.(gh-24312)
np.msorthas been removed. For a replacement,np.sort(a, axis=0)should be used instead.(gh-24494)
np.dtype(("f8", 1)will now return a shape 1 subarray dtype rather than a non-subarray one.(gh-25761)
Assigning to the
.dataattribute of an ndarray is disallowed and will raise.np.binary_repr(a, width)will raise if width is too small.Using
NPY_CHARinPyArray_DescrFromType()will raise, useNPY_STRINGNPY_UNICODE, orNPY_VSTRINGinstead.(gh-25794)
Compatibility notes
loadtxt and genfromtxt default encoding changed
loadtxt and genfromtxt now both default to encoding=None which may
mainly modify how converters work. These will now be passed str
rather than bytes. Pass the encoding explicitly to always get the new
or old behavior. For genfromtxt the change also means that returned
values will now be unicode strings rather than bytes.
(gh-25158)
f2py compatibility notes
f2pywill no longer accept ambiguous-mand.pyfCLI combinations. When more than one.pyffile is passed, an error is raised. When both-mand a.pyfis passed, a warning is emitted and the-mprovided name is ignored.(gh-25181)
The
f2py.compile()helper has been removed because it leaked memory, has been marked as experimental for several years now, and was implemented as a thinsubprocess.runwrapper. It was also one of the test bottlenecks. See gh-25122 for the full rationale. It also used severalnp.distutilsfeatures which are too fragile to be ported to work withmeson.Users are urged to replace calls to
f2py.compilewith calls tosubprocess.run("python", "-m", "numpy.f2py",...instead, and to use environment variables to interact withmeson. Native files are also an option.(gh-25193)
Minor changes in behavior of sorting functions
Due to algorithmic changes and use of SIMD code, sorting functions with
methods that aren\'t stable may return slightly different results in
2.0.0 compared to 1.26.x. This includes the default method of
numpy.argsort and numpy.argpartition.
Removed ambiguity when broadcasting in np.solve
The broadcasting rules for np.solve(a, b) were ambiguous when b had
1 fewer dimensions than a. This has been resolved in a
backward-incompatible way and is now compliant with the Array API. The
old behaviour can be reconstructed by using
np.solve(a, b[..., None])[..., 0].
(gh-25914)
Modified representation for Polynomial
The representation method for
numpy.polynomial.polynomial.Polynomial was updated to
include the domain in the representation. The plain text and latex
representations are now consistent. For example the output of
str(np.polynomial.Polynomial([1, 1], domain=[.1, .2])) used to be
1.0 + 1.0 x, but now is 1.0 + 1.0 (-3.0000000000000004 + 20.0 x).
(gh-21760)
C API changes
The
PyArray_CGT,PyArray_CLT,PyArray_CGE,PyArray_CLE,PyArray_CEQ,PyArray_CNEmacros have been removed.PyArray_MINandPyArray_MAXhave been moved fromndarraytypes.htonpy_math.h.(gh-24258)
A C API for working with
numpy.dtypes.StringDTypearrays has been exposed. This includes functions for acquiring and releasing mutexes which lock access to the string data, as well as packing and unpacking UTF-8 bytestreams from array entries.NPY_NTYPEShas been renamed toNPY_NTYPES_LEGACYas it does not include new NumPy built-in DTypes. In particular the new string DType will likely not work correctly with code that handles legacy DTypes.(gh-25347)
The C-API now only exports the static inline function versions of the array accessors (previously this depended on using \"deprecated API\"). While we discourage it, the struct fields can still be used directly.
(gh-25789)
NumPy now defines
PyArray_Packto set an individual memory address. UnlikePyArray_SETITEMthis function is equivalent to setting an individual array item and does not require a NumPy array input.(gh-25954)
The
->fslot has been removed fromPyArray_Descr. If you use this slot, replace accessing it withPyDataType_GetArrFuncs(see its documentation and thenumpy-2-migration-guide). In some cases using other functions likePyArray_GETITEMmay be an alternatives.PyArray_GETITEMandPyArray_SETITEMnow require the import of the NumPy API table to be used and are no longer defined inndarraytypes.h.(gh-25812)
Due to runtime dependencies, the definition for functionality accessing the dtype flags was moved from
numpy/ndarraytypes.hand is only available after includingnumpy/ndarrayobject.has it requiresimport_array(). This includesPyDataType_FLAGCHK,PyDataType_REFCHKandNPY_BEGIN_THREADS_DESCR.The dtype flags on
PyArray_Descrmust now be accessed through thePyDataType_FLAGSinline function to be compatible with both 1.x and 2.x. This function is defined innpy_2_compat.hto allow backporting. Most or all users should usePyDataType_FLAGCHKwhich is available on 1.x and does not require backporting. Cython users should use Cython 3. Otherwise access will go through Python unless they usePyDataType_FLAGCHKinstead.(gh-25816)
Datetime functionality exposed in the C API and Cython bindings
The functions NpyDatetime_ConvertDatetime64ToDatetimeStruct,
NpyDatetime_ConvertDatetimeStructToDatetime64,
NpyDatetime_ConvertPyDateTimeToDatetimeStruct,
NpyDatetime_GetDatetimeISO8601StrLen,
NpyDatetime_MakeISO8601Datetime, and
NpyDatetime_ParseISO8601Datetime have been added to the C API to
facilitate converting between strings, Python datetimes, and NumPy
datetimes in external libraries.
(gh-21199)
Const correctness for the generalized ufunc C API
The NumPy C API\'s functions for constructing generalized ufuncs
(PyUFunc_FromFuncAndData, PyUFunc_FromFuncAndDataAndSignature,
PyUFunc_FromFuncAndDataAndSignatureAndIdentity) take types and
data arguments that are not modified by NumPy\'s internals. Like the
name and doc arguments, third-party Python extension modules are
likely to supply these arguments from static constants. The types and
data arguments are now const-correct: they are declared as
const char *types and void *const *data, respectively. C code should
not be affected, but C++ code may be.
(gh-23847)
Larger NPY_MAXDIMS and NPY_MAXARGS, NPY_RAVEL_AXIS introduced
NPY_MAXDIMS is now 64, you may want to review its use. This is usually
used in a stack allocation, where the increase should be safe. However,
we do encourage generally to remove any use of NPY_MAXDIMS and
NPY_MAXARGS to eventually allow removing the constraint completely.
For the conversion helper and C-API functions mirroring Python ones such as
take, NPY_MAXDIMS was used to mean axis=None. Such usage must be replaced
with NPY_RAVEL_AXIS. See also migration_maxdims.
(gh-25149)
NPY_MAXARGS not constant and PyArrayMultiIterObject size change
Since NPY_MAXARGS was increased, it is now a runtime constant and not
compile-time constant anymore. We expect almost no users to notice this.
But if used for stack allocations it now must be replaced with a custom
constant using NPY_MAXARGS as an additional runtime check.
The sizeof(PyArrayMultiIterObject) no longer includes the full size of
the object. We expect nobody to notice this change. It was necessary to
avoid issues with Cython.
(gh-25271)
Required changes for custom legacy user dtypes
In order to improve our DTypes it is unfortunately necessary to break
the ABI, which requires some changes for dtypes registered with
PyArray_RegisterDataType. Please see the documentation of
PyArray_RegisterDataType for how to adapt your code and achieve
compatibility with both 1.x and 2.x.
(gh-25792)
New Public DType API
The C implementation of the NEP 42 DType API is now public. While the
DType API has shipped in NumPy for a few versions, it was only usable in
sessions with a special environment variable set. It is now possible to
write custom DTypes outside of NumPy using the new DType API and the
normal import_array() mechanism for importing the numpy C API.
See dtype-api for more details about the API. As always with a new feature,
please report any bugs you run into implementing or using a new DType. It is
likely that downstream C code that works with dtypes will need to be updated to
work correctly with new DTypes.
(gh-25754)
New C-API import functions
We have now added PyArray_ImportNumPyAPI and PyUFunc_ImportUFuncAPI
as static inline functions to import the NumPy C-API tables. The new
functions have two advantages over import_array and import_ufunc:
- They check whether the import was already performed and are light-weight if not, allowing to add them judiciously (although this is not preferable in most cases).
- The old mechanisms were macros rather than functions which included
a
returnstatement.
The PyArray_ImportNumPyAPI() function is included in npy_2_compat.h
for simpler backporting.
(gh-25866)
Structured dtype information access through functions
The dtype structures fields c_metadata, names, fields, and
subarray must now be accessed through new functions following the same
names, such as PyDataType_NAMES. Direct access of the fields is not
valid as they do not exist for all PyArray_Descr instances. The
metadata field is kept, but the macro version should also be
preferred.
(gh-25802)
Descriptor elsize and alignment access
Unless compiling only with NumPy 2 support, the elsize and aligment
fields must now be accessed via PyDataType_ELSIZE,
PyDataType_SET_ELSIZE, and PyDataType_ALIGNMENT. In cases where the
descriptor is attached to an array, we advise using PyArray_ITEMSIZE
as it exists on all NumPy versions. Please see
migration_c_descr for more information.
(gh-25943)
NumPy 2.0 C API removals
npy_interrupt.hand the corresponding macros likeNPY_SIGINT_ONhave been removed. We recommend queryingPyErr_CheckSignals()orPyOS_InterruptOccurred()periodically (these do currently require holding the GIL though).The
noprefix.hheader has been removed. Replace missing symbols with their prefixed counterparts (usually an addedNPY_ornpy_).(gh-23919)
PyUFunc_GetPyVals,PyUFunc_handlefperr, andPyUFunc_checkfperrhave been removed. If needed, a new backwards compatible function to raise floating point errors could be restored. Reason for removal: there are no known users and the functions would have madewith np.errstate()fixes much more difficult).(gh-23922)
The
numpy/old_defines.hwhich was part of the API deprecated since NumPy 1.7 has been removed. This removes macros of the formPyArray_CONSTANT. The replaceoldmacros.sed script may be useful to convert them to theNPY_CONSTANTversion.(gh-24011)
The
legacy_inner_loop_selectormember of the ufunc struct is removed to simplify improvements to the dispatching system. There are no known users overriding or directly accessing this member.(gh-24271)
NPY_INTPLTRhas been removed to avoid confusion (seeintpredefinition).(gh-24888)
The advanced indexing
MapIterand related API has been removed. The (truly) public part of it was not well tested and had only one known user (Theano). Making it private will simplify improvements to speed upufunc.at, make advanced indexing more maintainable, and was important for increasing the maximum number of dimensions of arrays to 64. Please let us know if this API is important to you so we can find a solution together.(gh-25138)
The
NPY_MAX_ELSIZEmacro has been removed, as it only ever reflected builtin numeric types and served no internal purpose.(gh-25149)
PyArray_REFCNTandNPY_REFCOUNTare removed. UsePy_REFCNTinstead.(gh-25156)
PyArrayFlags_TypeandPyArray_NewFlagsObjectas well asPyArrayFlagsObjectare private now. There is no known use-case; use the Python API if needed.PyArray_MoveInto,PyArray_CastTo,PyArray_CastAnyToare removed usePyArray_CopyIntoand if absolutely neededPyArray_CopyAnyInto(the latter does a flat copy).PyArray_FillObjectArrayis removed, its only true use was for implementingnp.empty. Create a new empty array or usePyArray_FillWithScalar()(decrefs existing objects).PyArray_CompareUCS4andPyArray_CompareStringare removed. Use the standard C string comparison functions.PyArray_ISPYTHONis removed as it is misleading, has no known use-cases, and is easy to replace.PyArray_FieldNamesis removed, as it is unclear what it would be useful for. It also has incorrect semantics in some possible use-cases.PyArray_TypestrConvertis removed, since it seems a misnomer and unlikely to be used by anyone. If you know the size or are limited to few types, just use it explicitly, otherwise go via Python strings.(gh-25292)
PyDataType_GetDatetimeMetaDatais removed, it did not actually do anything since at least NumPy 1.7.(gh-25802)
PyArray_GetCastFuncis removed. Note that custom legacy user dtypes can still provide a castfunc as their implementation, but any access to them is now removed. The reason for this is that NumPy never used these internally for many years. If you use simple numeric types, please just use C casts directly. In case you require an alternative, please let us know so we can create new API such asPyArray_CastBuffer()which could use old or new cast functions depending on the NumPy version.(gh-25161)
New Features
np.add was extended to work with unicode and bytes dtypes.
(gh-24858)
A new bitwise_count function
This new function counts the number of 1-bits in a number.
numpy.bitwise_count works on all the numpy integer types
and integer-like objects.
``` python
a = np.array([2**i - 1 for i in range(16)]) np.bitwise_count(a) array([ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15], dtype=uint8) ```
(gh-19355)
macOS Accelerate support, including the ILP64
Support for the updated Accelerate BLAS/LAPACK library, including ILP64 (64-bit integer) support, in macOS 13.3 has been added. This brings arm64 support, and significant performance improvements of up to 10x for commonly used linear algebra operations. When Accelerate is selected at build time, or if no explicit BLAS library selection is done, the 13.3+ version will automatically be used if available.
(gh-24053)
Binary wheels are also available. On macOS >=14.0, users who install NumPy from PyPI will get wheels built against Accelerate rather than OpenBLAS.
(gh-25255)
Option to use weights for quantile and percentile functions
A weights keyword is now available for numpy.quantile, numpy.percentile,
numpy.nanquantile and numpy.nanpercentile. Only method="inverted_cdf"
supports weights.
(gh-24254)
Improved CPU optimization tracking
A new tracer mechanism is available which enables tracking of the enabled targets for each optimized function (i.e., that uses hardware-specific SIMD instructions) in the NumPy library. With this enhancement, it becomes possible to precisely monitor the enabled CPU dispatch targets for the dispatched functions.
A new function named opt_func_info has been added to the new namespace
numpy.lib.introspect, offering this tracing capability. This function allows
you to retrieve information about the enabled targets based on function names
and data type signatures.
(gh-24420)
A new Meson backend for f2py
f2py in compile mode (i.e. f2py -c) now accepts the
--backend meson option. This is the default option for Python >=3.12.
For older Python versions, f2py will still default to
--backend distutils.
To support this in realistic use-cases, in compile mode f2py takes a
--dep flag one or many times which maps to dependency() calls in the
meson backend, and does nothing in the distutils backend.
There are no changes for users of f2py only as a code generator, i.e.
without -c.
(gh-24532)
bind(c) support for f2py
Both functions and subroutines can be annotated with bind(c). f2py
will handle both the correct type mapping, and preserve the unique label
for other C interfaces.
Note: bind(c, name = 'routine_name_other_than_fortran_routine') is
not honored by the f2py bindings by design, since bind(c) with the
name is meant to guarantee only the same name in C and Fortran, not in
Python and Fortran.
(gh-24555)
A new strict option for several testing functions
The strict keyword is now available for numpy.testing.assert_allclose,
numpy.testing.assert_equal, and numpy.testing.assert_array_less. Setting
strict=True will disable the broadcasting behaviour for scalars and ensure
that input arrays have the same data type.
(gh-24680, gh-24770, gh-24775)
Add np.core.umath.find and np.core.umath.rfind UFuncs
Add two find and rfind UFuncs that operate on unicode or byte
strings and are used in np.char. They operate similar to str.find
and str.rfind.
(gh-24868)
diagonal and trace for numpy.linalg
numpy.linalg.diagonal and numpy.linalg.trace have been added, which are
array API standard-compatible variants of numpy.diagonal and numpy.trace.
They differ in the default axis selection which define 2-D sub-arrays.
(gh-24887)
New long and ulong dtypes
numpy.long and numpy.ulong have been added as NumPy integers mapping to
C\'s long and unsigned long. Prior to NumPy 1.24, numpy.long was an alias
to Python\'s int.
(gh-24922)
svdvals for numpy.linalg
numpy.linalg.svdvals has been added. It computes singular values for (a stack
of) matrices. Executing np.svdvals(x) is the same as calling np.svd(x,
compute_uv=False, hermitian=False). This function is compatible with the array
API standard.
(gh-24940)
A new isdtype function
numpy.isdtype was added to provide a canonical way to classify NumPy\'s
dtypes in compliance with the array API standard.
(gh-25054)
A new astype function
numpy.astype was added to provide an array API standard-compatible
alternative to the numpy.ndarray.astype method.
(gh-25079)
Array API compatible functions\' aliases
13 aliases for existing functions were added to improve compatibility with the array API standard:
- Trigonometry:
acos,acosh,asin,asinh,atan,atanh,atan2. - Bitwise:
bitwise_left_shift,bitwise_invert,bitwise_right_shift. - Misc:
concat,permute_dims,pow. - In
numpy.linalg:tensordot,matmul.
(gh-25086)
New unique_* functions
The numpy.unique_all, numpy.unique_counts, numpy.unique_inverse, and
numpy.unique_values functions have been added. They provide functionality of
numpy.unique with different sets of flags. They are array API
standard-compatible, and because the number of arrays they return does not
depend on the values of input arguments, they are easier to target for JIT
compilation.
(gh-25088)
Matrix transpose support for ndarrays
NumPy now offers support for calculating the matrix transpose of an
array (or stack of arrays). The matrix transpose is equivalent to
swapping the last two axes of an array. Both np.ndarray and
np.ma.MaskedArray now expose a .mT attribute, and there is a
matching new numpy.matrix_transpose function.
(gh-23762)
Array API compatible functions for numpy.linalg
Six new functions and two aliases were added to improve compatibility with the Array API standard for `numpy.linalg`:
numpy.linalg.matrix_norm- Computes the matrix norm of a matrix (or a stack of matrices).numpy.linalg.vector_norm- Computes the vector norm of a vector (or batch of vectors).numpy.vecdot- Computes the (vector) dot product of two arrays.numpy.linalg.vecdot- An alias fornumpy.vecdot.numpy.linalg.matrix_transpose- An alias fornumpy.matrix_transpose.(gh-25155)
numpy.linalg.outerhas been added. It computes the outer product of two vectors. It differs fromnumpy.outerby accepting one-dimensional arrays only. This function is compatible with the array API standard.(gh-25101)
numpy.linalg.crosshas been added. It computes the cross product of two (arrays of) 3-dimensional vectors. It differs fromnumpy.crossby accepting three-dimensional vectors only. This function is compatible with the array API standard.(gh-25145)
A correction argument for var and std
A correction argument was added to numpy.var and numpy.std, which is an
array API standard compatible alternative to ddof. As both arguments serve a
similar purpose, only one of them can be provided at the same time.
(gh-25169)
ndarray.device and ndarray.to_device
An ndarray.device attribute and ndarray.to_device method were added
to numpy.ndarray for array API standard compatibility.
Additionally, device keyword-only arguments were added to:
numpy.asarray, numpy.arange, numpy.empty, numpy.empty_like,
numpy.eye, numpy.full, numpy.full_like, numpy.linspace, numpy.ones,
numpy.ones_like, numpy.zeros, and numpy.zeros_like.
For all these new arguments, only device="cpu" is supported.
(gh-25233)
StringDType has been added to NumPy
We have added a new variable-width UTF-8 encoded string data type, implementing a \"NumPy array of Python strings\", including support for a user-provided missing data sentinel. It is intended as a drop-in replacement for arrays of Python strings and missing data sentinels using the object dtype. See NEP 55 and the documentation of stringdtype for more details.
(gh-25347)
New keywords for cholesky and pinv
The upper and rtol keywords were added to
numpy.linalg.cholesky and numpy.linalg.pinv,
respectively, to improve array API standard compatibility.
For numpy.linalg.pinv, if neither rcond nor rtol is
specified, the rcond\'s default is used. We plan to deprecate and
remove rcond in the future.
(gh-25388)
New keywords for sort, argsort and linalg.matrix_rank
New keyword parameters were added to improve array API standard compatibility:
-
rtolwas added tonumpy.linalg.matrix_rank. -
stablewas added tonumpy.sortandnumpy.argsort.
(gh-25437)
New numpy.strings namespace for string ufuncs
NumPy now implements some string operations as ufuncs. The old np.char
namespace is still available, and where possible the string manipulation
functions in that namespace have been updated to use the new ufuncs,
substantially improving their performance.
Where possible, we suggest updating code to use functions in
np.strings instead of np.char. In the future we may deprecate
np.char in favor of np.strings.
(gh-25463)
numpy.fft support for different precisions and in-place calculations
The various FFT routines in numpy.fft now do their
calculations natively in float, double, or long double precision,
depending on the input precision, instead of always calculating in
double precision. Hence, the calculation will now be less precise for
single and more precise for long double precision. The data type of the
output array will now be adjusted accordingly.
Furthermore, all FFT routines have gained an out argument that can be
used for in-place calculations.
(gh-25536)
configtool and pkg-config support
A new numpy-config CLI script is available that can be queried for the
NumPy version and for compile flags needed to use the NumPy C API. This
will allow build systems to better support the use of NumPy as a
dependency. Also, a numpy.pc pkg-config file is now included with
Numpy. In order to find its location for use with PKG_CONFIG_PATH, use
numpy-config --pkgconfigdir.
(gh-25730)
Array API standard support in the main namespace
The main numpy namespace now supports the array API standard. See
array-api-standard-compatibility for
details.
(gh-25911)
Improvements
Strings are now supported by any, all, and the logical ufuncs.
(gh-25651)
Integer sequences as the shape argument for memmap
numpy.memmap can now be created with any integer sequence
as the shape argument, such as a list or numpy array of integers.
Previously, only the types of tuple and int could be used without
raising an error.
(gh-23729)
errstate is now faster and context safe
The numpy.errstate context manager/decorator is now faster
and safer. Previously, it was not context safe and had (rare) issues
with thread-safety.
(gh-23936)
AArch64 quicksort speed improved by using Highway\'s VQSort
The first introduction of the Google Highway library, using VQSort on AArch64. Execution time is improved by up to 16x in some cases, see the PR for benchmark results. Extensions to other platforms will be done in the future.
(gh-24018)
Complex types - underlying C type changes
The underlying C types for all of NumPy\'s complex types have been changed to use C99 complex types.
While this change does not affect the memory layout of complex types, it changes the API to be used to directly retrieve or write the real or complex part of the complex number, since direct field access (as in
c.realorc.imag) is no longer an option. You can now use utilities provided innumpy/npy_math.hto do these operations, like this:c npy_cdouble c; npy_csetreal(&c, 1.0); npy_csetimag(&c, 0.0); printf("%d + %di\n", npy_creal(c), npy_cimag(c));To ease cross-version compatibility, equivalent macros and a compatibility layer have been added which can be used by downstream packages to continue to support both NumPy 1.x and 2.x. See
complex-numbersfor more info.numpy/npy_common.hnow includescomplex.h, which means thatcomplexis now a reserved keyword.
(gh-24085)
iso_c_binding support and improved common blocks for f2py
Previously, users would have to define their own custom f2cmap file to
use type mappings defined by the Fortran2003 iso_c_binding intrinsic
module. These type maps are now natively supported by f2py
(gh-24555)
f2py now handles common blocks which have kind specifications from
modules. This further expands the usability of intrinsics like
iso_fortran_env and iso_c_binding.
(gh-25186)
Call str automatically on third argument to functions like assert_equal
The third argument to functions like
numpy.testing.assert_equal now has str called on it
automatically. This way it mimics the built-in assert statement, where
assert_equal(a, b, obj) works like assert a == b, obj.
(gh-24877)
Support for array-like atol/rtol in isclose, allclose
The keywords atol and rtol in numpy.isclose and
numpy.allclose now accept both scalars and arrays. An
array, if given, must broadcast to the shapes of the first two array
arguments.
(gh-24878)
Consistent failure messages in test functions
Previously, some numpy.testing assertions printed messages
that referred to the actual and desired results as x and y. Now,
these values are consistently referred to as ACTUAL and DESIRED.
(gh-24931)
n-D FFT transforms allow s[i] == -1
The numpy.fft.fftn, numpy.fft.ifftn,
numpy.fft.rfftn, numpy.fft.irfftn,
numpy.fft.fft2, numpy.fft.ifft2,
numpy.fft.rfft2 and numpy.fft.irfft2
functions now use the whole input array along the axis i if
s[i] == -1, in line with the array API standard.
(gh-25495)
Guard PyArrayScalar_VAL and PyUnicodeScalarObject for the limited API
PyUnicodeScalarObject holds a PyUnicodeObject, which is not
available when using Py_LIMITED_API. Add guards to hide it and
consequently also make the PyArrayScalar_VAL macro hidden.
(gh-25531)
Changes
np.gradient()now returns a tuple rather than a list making the return value immutable.(gh-23861)
Being fully context and thread-safe,
np.errstatecan only be entered once now.np.setbufsizeis now tied tonp.errstate(): leaving annp.errstatecontext will also reset thebufsize.(gh-23936)
A new public
np.lib.array_utilssubmodule has been introduced and it currently contains three functions:byte_bounds(moved fromnp.lib.utils),normalize_axis_tupleandnormalize_axis_index.(gh-24540)
Introduce
numpy.boolas the new canonical name for NumPy\'s boolean dtype, and makenumpy.bool\_an alias to it. Note that until NumPy 1.24,np.boolwas an alias to Python\'s builtinbool. The new name helps with array API standard compatibility and is a more intuitive name.(gh-25080)
The
dtype.flagsvalue was previously stored as a signed integer. This means that the aligned dtype struct flag lead to negative flags being set (-128 rather than 128). This flag is now stored unsigned (positive). Code which checks flags manually may need to adapt. This may include code compiled with Cython 0.29.x.(gh-25816)
Representation of NumPy scalars changed
As per NEP 51, the scalar representation has been updated to include the type information to avoid confusion with Python scalars.
Scalars are now printed as np.float64(3.0) rather than just 3.0.
This may disrupt workflows that store representations of numbers (e.g.,
to files) making it harder to read them. They should be stored as
explicit strings, for example by using str() or f"{scalar!s}". For
the time being, affected users can use
np.set_printoptions(legacy="1.25") to get the old behavior (with
possibly a few exceptions). Documentation of downstream projects may
require larger updates, if code snippets are tested. We are working on
tooling for
doctest-plus
to facilitate updates.
(gh-22449)
Truthiness of NumPy strings changed
NumPy strings previously were inconsistent about how they defined if the
string is True or False and the definition did not match the one
used by Python. Strings are now considered True when they are
non-empty and False when they are empty. This changes the following
distinct cases:
- Casts from string to boolean were previously roughly equivalent to
string_array.astype(np.int64).astype(bool), meaning that only valid integers could be cast. Now a string of"0"will be consideredTruesince it is not empty. If you need the old behavior, you may use the above step (casting to integer first) orstring_array == "0"(if the input is only ever0or1). To get the new result on old NumPy versions usestring_array != "". -
np.nonzero(string_array)previously ignored whitespace so that a string only containing whitespace was consideredFalse. Whitespace is now consideredTrue.
This change does not affect np.loadtxt, np.fromstring, or
np.genfromtxt. The first two still use the integer definition, while
genfromtxt continues to match for "true" (ignoring case). However,
if np.bool_ is used as a converter the result will change.
The change does affect np.fromregex as it uses direct assignments.
(gh-23871)
A mean keyword was added to var and std function
Often when the standard deviation is needed the mean is also needed. The
same holds for the variance and the mean. Until now the mean is then
calculated twice, the change introduced here for the numpy.var and
numpy.std functions allows for passing in a precalculated mean as an keyword
argument. See the docstrings for details and an example illustrating the
speed-up.
(gh-24126)
Remove datetime64 deprecation warning when constructing with timezone
The numpy.datetime64 method now issues a UserWarning rather than a
DeprecationWarning whenever a timezone is included in the datetime string that
is provided.
(gh-24193)
Default integer dtype is now 64-bit on 64-bit Windows
The default NumPy integer is now 64-bit on all 64-bit systems as the
historic 32-bit default on Windows was a common source of issues. Most
users should not notice this. The main issues may occur with code
interfacing with libraries written in a compiled language like C. For
more information see migration_windows_int64.
(gh-24224)
Renamed numpy.core to numpy._core
Accessing numpy.core now emits a DeprecationWarning. In practice we
have found that most downstream usage of numpy.core was to access
functionality that is available in the main numpy namespace. If for
some reason you are using functionality in numpy.core that is not
available in the main numpy namespace, this means you are likely using
private NumPy internals. You can still access these internals via
numpy._core without a deprecation warning but we do not provide any
backward compatibility guarantees for NumPy internals. Please open an
issue if you think a mistake was made and something needs to be made
public.
(gh-24634)
The \"relaxed strides\" debug build option, which was previously enabled
through the NPY_RELAXED_STRIDES_DEBUG environment variable or the
-Drelaxed-strides-debug config-settings flag has been removed.
(gh-24717)
Redefinition of np.intp/np.uintp (almost never a change)
Due to the actual use of these types almost always matching the use of
size_t/Py_ssize_t this is now the definition in C. Previously, it
matched intptr_t and uintptr_t which would often have been subtly
incorrect. This has no effect on the vast majority of machines since the
size of these types only differ on extremely niche platforms.
However, it means that:
- Pointers may not necessarily fit into an
intptyped array anymore. ThepandPcharacter codes can still be used, however. - Creating
intptr_toruintptr_ttyped arrays in C remains possible in a cross-platform way viaPyArray_DescrFromType('p'). - The new character codes
nNwere introduced. - It is now correct to use the Python C-API functions when parsing to
npy_intptyped arguments.
(gh-24888)
numpy.fft.helper made private
numpy.fft.helper was renamed to numpy.fft._helper to indicate that
it is a private submodule. All public functions exported by it should be
accessed from numpy.fft.
(gh-24945)
numpy.linalg.linalg made private
numpy.linalg.linalg was renamed to numpy.linalg._linalg to indicate
that it is a private submodule. All public functions exported by it
should be accessed from numpy.linalg.
(gh-24946)
Out-of-bound axis not the same as axis=None
In some cases axis=32 or for concatenate any large value was the same
as axis=None. Except for concatenate this was deprecate. Any out of
bound axis value will now error, make sure to use axis=None.
(gh-25149)
New copy keyword meaning for array and asarray constructors
Now numpy.array and numpy.asarray support
three values for copy parameter:
-
None- A copy will only be made if it is necessary. -
True- Always make a copy. -
False- Never make a copy. If a copy is required aValueErroris raised.
The meaning of False changed as it now raises an exception if a copy
is needed.
(gh-25168)
The __array__ special method now takes a copy keyword argument.
NumPy will pass copy to the __array__ special method in situations
where it would be set to a non-default value (e.g. in a call to
np.asarray(some_object, copy=False)). Currently, if an unexpected
keyword argument error is raised after this, NumPy will print a warning
and re-try without the copy keyword argument. Implementations of
objects implementing the __array__ protocol should accept a copy
keyword argument with the same meaning as when passed to
numpy.array or numpy.asarray.
(gh-25168)
Cleanup of initialization of numpy.dtype with strings with commas
The interpretation of strings with commas is changed slightly, in that a
trailing comma will now always create a structured dtype. E.g., where
previously np.dtype("i") and np.dtype("i,") were treated as
identical, now np.dtype("i,") will create a structured dtype, with a
single field. This is analogous to np.dtype("i,i") creating a
structured dtype with two fields, and makes the behaviour consistent
with that expected of tuples.
At the same time, the use of single number surrounded by parenthesis to
indicate a sub-array shape, like in np.dtype("(2)i,"), is deprecated.
Instead; one should use np.dtype("(2,)i") or np.dtype("2i").
Eventually, using a number in parentheses will raise an exception, like
is the case for initializations without a comma, like
np.dtype("(2)i").
(gh-25434)
Change in how complex sign is calculated
Following the array API standard, the complex sign is now calculated as
z / |z| (instead of the rather less logical case where the sign of the
real part was taken, unless the real part was zero, in which case the
sign of the imaginary part was returned). Like for real numbers, zero is
returned if z==0.
(gh-25441)
Return types of functions that returned a list of arrays
Functions that returned a list of ndarrays have been changed to return a
tuple of ndarrays instead. Returning tuples consistently whenever a
sequence of arrays is returned makes it easier for JIT compilers like
Numba, as well as for static type checkers in some cases, to support
these functions. Changed functions are: numpy.atleast_1d, numpy.atleast_2d,
numpy.atleast_3d, numpy.broadcast_arrays, numpy.meshgrid,
numpy.ogrid, numpy.histogramdd.
np.unique return_inverse shape for multi-dimensional inputs
When multi-dimensional inputs are passed to np.unique with
return_inverse=True, the unique_inverse output is now shaped such
that the input can be reconstructed directly using
np.take(unique, unique_inverse) when axis=None, and
np.take_along_axis(unique, unique_inverse, axis=axis) otherwise.
any and all return booleans for object arrays
The any and all functions and methods now return booleans also for
object arrays. Previously, they did a reduction which behaved like the
Python or and and operators which evaluates to one of the arguments.
You can use np.logical_or.reduce and np.logical_and.reduce to
achieve the previous behavior.
(gh-25712)
Content from release note snippets in doc/release/upcoming_changes:
Checksums
MD5
b2f97f907cc640f5f619ea4ebd1231d3 numpy-2.0.0b1-cp310-cp310-macosx_10_9_x86_64.whl
db158043b6fad6e523e23b3eb2de5d88 numpy-2.0.0b1-cp310-cp310-macosx_11_0_arm64.whl
39086961c062d97c5b42da057b9b1947 numpy-2.0.0b1-cp310-cp310-macosx_14_0_arm64.whl
3362d35bf69b852b98b41b8373253a0f numpy-2.0.0b1-cp310-cp310-macosx_14_0_x86_64.whl
66e907969e32ec43e887cabcc1884763 numpy-2.0.0b1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b8d1bece144e3b6aae641d44821f815f numpy-2.0.0b1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
96ab156ec312bb451e8c5e19de4a28b7 numpy-2.0.0b1-cp310-cp310-musllinux_1_1_aarch64.whl
c04819a4f3395b81d124ffc6330925e9 numpy-2.0.0b1-cp310-cp310-musllinux_1_1_x86_64.whl
6af68b8eb8fe583ffabab9bd7da1c620 numpy-2.0.0b1-cp310-cp310-win32.whl
3b8a9514e5795985bcba20e213d55b54 numpy-2.0.0b1-cp310-cp310-win_amd64.whl
0128ad9249f70d97a057a23e0cef1515 numpy-2.0.0b1-cp311-cp311-macosx_10_9_x86_64.whl
612c018a7676ce3747cb863762750e1d numpy-2.0.0b1-cp311-cp311-macosx_11_0_arm64.whl
6b1480446aff53c71c903fc1248bca94 numpy-2.0.0b1-cp311-cp311-macosx_14_0_arm64.whl
8d66a0af99edf30dc9de487b3f8c1639 numpy-2.0.0b1-cp311-cp311-macosx_14_0_x86_64.whl
f9154a0885b2647d7e81f32900390ebb numpy-2.0.0b1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9dd14e2b594a2d47eb25ecc759d5adaa numpy-2.0.0b1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8434d07fc4eb80c5df9ae5ebf95546eb numpy-2.0.0b1-cp311-cp311-musllinux_1_1_aarch64.whl
a0402697c93a9d6bc8d979fabd6bf179 numpy-2.0.0b1-cp311-cp311-musllinux_1_1_x86_64.whl
2ba67ffb4b92b54394b6929b3a899cb2 numpy-2.0.0b1-cp311-cp311-win32.whl
d75e2f02c698e492b7b07f0659f9bbe4 numpy-2.0.0b1-cp311-cp311-win_amd64.whl
558fefd135de6fcebe2b94d857a84c32 numpy-2.0.0b1-cp312-cp312-macosx_10_9_x86_64.whl
d684790e4509e7daa99a1aef1d0be536 numpy-2.0.0b1-cp312-cp312-macosx_11_0_arm64.whl
fd5d4f1d1da0cc685c54e9abd2f9dceb numpy-2.0.0b1-cp312-cp312-macosx_14_0_arm64.whl
65183c1302348d3db60eaf3b62c1e577 numpy-2.0.0b1-cp312-cp312-macosx_14_0_x86_64.whl
305eaf68e214011557303988f4635271 numpy-2.0.0b1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e3a84e27effd888cf93eb2c1aad759e7 numpy-2.0.0b1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
88eef47ecdd11ac0939291abe0c74b6f numpy-2.0.0b1-cp312-cp312-musllinux_1_1_aarch64.whl
fd390078c0046c20a659035c1826185f numpy-2.0.0b1-cp312-cp312-musllinux_1_1_x86_64.whl
23db11989d2d0086ff12655355245a2a numpy-2.0.0b1-cp312-cp312-win32.whl
323d05ef29a9c8166d865ab221faf7dc numpy-2.0.0b1-cp312-cp312-win_amd64.whl
f5ad7adf599b65050ccd116802f0265d numpy-2.0.0b1-cp39-cp39-macosx_10_9_x86_64.whl
89a94dddb18e4210e01ee6ca24012fcb numpy-2.0.0b1-cp39-cp39-macosx_11_0_arm64.whl
409a537dc5ea249b3e6868dd37932342 numpy-2.0.0b1-cp39-cp39-macosx_14_0_arm64.whl
0db893de846425d58b90f05c1db3d191 numpy-2.0.0b1-cp39-cp39-macosx_14_0_x86_64.whl
c73ba41d166a5f2e72cdc48b8554c6e6 numpy-2.0.0b1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
786236fc9099283255133273535b8de0 numpy-2.0.0b1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f2e8717957a6b3b37f881e8939a2af37 numpy-2.0.0b1-cp39-cp39-musllinux_1_1_aarch64.whl
dad671b45f6e13c28ead06064b03eaee numpy-2.0.0b1-cp39-cp39-musllinux_1_1_x86_64.whl
76f8f89ff91d06df684cf47d7ea6d8ab numpy-2.0.0b1-cp39-cp39-win32.whl
d4dcbd6157783aa0e78710549f13876f numpy-2.0.0b1-cp39-cp39-win_amd64.whl
41a13de3afff77390b0d1ea3c7e407db numpy-2.0.0b1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
fc2ff82233376f853161c7f9bc6d44b7 numpy-2.0.0b1-pp39-pypy39_pp73-macosx_14_0_arm64.whl
860609ee9f1f24d4f28fbbcf3d31cdc9 numpy-2.0.0b1-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
2a97175cec7a5b1280ed2a991fea23ff numpy-2.0.0b1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1656013175e650e053c15fd886be58f1 numpy-2.0.0b1-pp39-pypy39_pp73-win_amd64.whl
c06e95d7cadfa33a1f4549c9a5dcba05 numpy-2.0.0b1.tar.gz
SHA256
411ed8eb48eb679fc732f22e90c9adb994ec6ad2d9c2f53593325a975f9fa501 numpy-2.0.0b1-cp310-cp310-macosx_10_9_x86_64.whl
f8aca0561166702070ea9abcafd70da44df48be70d16f0a886e359127436fdcc numpy-2.0.0b1-cp310-cp310-macosx_11_0_arm64.whl
0d217dae0f20a3400c1d80aa8401af9de93b9bb4ea7518b8ba200ff8ff62529e numpy-2.0.0b1-cp310-cp310-macosx_14_0_arm64.whl
824351cb4cce66c1f8e16c1698c01de8d5e4197461f78197c327281f107fc1b2 numpy-2.0.0b1-cp310-cp310-macosx_14_0_x86_64.whl
cae0959a4f5a9c16896a87a43c9e81384f48b69f835f55050948071488820486 numpy-2.0.0b1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3d47a42c1e48e46dbbe32e0395f8aa6e8ddd251771ed9ec47fc07aa89b8aac89 numpy-2.0.0b1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
909024f923c019d1b9dca16871844f1c313c422bd430a0b7e4a24a3acb766483 numpy-2.0.0b1-cp310-cp310-musllinux_1_1_aarch64.whl
fc6e82bea99727aeed964808f26bed95323825a75e94c015eb913fb6ec3dbdf8 numpy-2.0.0b1-cp310-cp310-musllinux_1_1_x86_64.whl
36862cad55650afbcb3f0e3a5edc07ba4c1090eb649208a41fadcf82cf1b2966 numpy-2.0.0b1-cp310-cp310-win32.whl
0e6a63c725143a6be0e48effcf01b8361b80ab20e2444704356f9d9db48ba429 numpy-2.0.0b1-cp310-cp310-win_amd64.whl
e6c3ba4bcb6cf3fd4ace244075fa214b4f0c090f12437378200a2de68144c166 numpy-2.0.0b1-cp311-cp311-macosx_10_9_x86_64.whl
89bbb14534e53c6175aabc8449a8bdf83f02da62f13d1b5facbb2fd1fecae2e2 numpy-2.0.0b1-cp311-cp311-macosx_11_0_arm64.whl
b14b6e6ca51afdcfc589cb9d6fb73aedf38009a1a0ecab15f77e3d0e0754cac0 numpy-2.0.0b1-cp311-cp311-macosx_14_0_arm64.whl
ffef68423c1edc5d10321f9787fb9d8c20a36fc08ffdba863d103924d02dadce numpy-2.0.0b1-cp311-cp311-macosx_14_0_x86_64.whl
7e8725313b8a8aaa9cfac450713b1a74a8d79ae010ee0d0dd97505abf54d247b numpy-2.0.0b1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d83e18f1c4164dbcaa01adc8f4a3aebc3c5fa635d2009d8dc1bf53dd7eab0063 numpy-2.0.0b1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
91e37a5bb38c11bde547aefeb79dd382b5d9d1d140931927bca46c9d198e08f3 numpy-2.0.0b1-cp311-cp311-musllinux_1_1_aarch64.whl
d39f1005a627c5960f67b02c1f76f265e0d4219b6d7948a7809dc14443fcbeb6 numpy-2.0.0b1-cp311-cp311-musllinux_1_1_x86_64.whl
3ed4afbcdb8db622b90ef33bf0c0d080f287ec590032f9033be5cbc51e005b66 numpy-2.0.0b1-cp311-cp311-win32.whl
941382abe21d26222310275a91f053386450b5364f1307641d03babfec5b1931 numpy-2.0.0b1-cp311-cp311-win_amd64.whl
a78a38ff86aa651534979d597fdb178c7ae2c9934d95bcc921971ceea14ef54a numpy-2.0.0b1-cp312-cp312-macosx_10_9_x86_64.whl
e5222fb05011c310d294c40e2b8640c9351aaf3238c0605486a3f041a7befabd numpy-2.0.0b1-cp312-cp312-macosx_11_0_arm64.whl
0f69c008a8533879ea0480fe11b28154c0dc12567522406f2c887bc549a98865 numpy-2.0.0b1-cp312-cp312-macosx_14_0_arm64.whl
a5b47099876fceefb5ac4d2cfe4ee7337de22253aafe6f2e545b84d100bf9e22 numpy-2.0.0b1-cp312-cp312-macosx_14_0_x86_64.whl
a81816e4dc75351dd1ce2d84f381856b8962eef1757ddfe13007d2a8bb966fda numpy-2.0.0b1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3ecb219af16b0dbf58bbe1fdb4d074582f9a99567d85c630cf82c3b40168a15d numpy-2.0.0b1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7479d8f43dd78a3bd1c8a3c7c9b06e71639c480a0223c31a4aeb2c7e8fd62151 numpy-2.0.0b1-cp312-cp312-musllinux_1_1_aarch64.whl
1665b832541449c7079ee9d41f334ab832a1d84511cc834c0bc8d98bf96d1df5 numpy-2.0.0b1-cp312-cp312-musllinux_1_1_x86_64.whl
585471edf1f205fb589632581cc7b30c6c0e78d79b3c754739bb62ff568fa587 numpy-2.0.0b1-cp312-cp312-win32.whl
881df25d857873947d54dbed01d98c417f3feb5df86ece719eebf1edbbb2095c numpy-2.0.0b1-cp312-cp312-win_amd64.whl
797dc478feed31f78bca1c69d9a167c6294599927c184f4e9b569ad8895ca6e5 numpy-2.0.0b1-cp39-cp39-macosx_10_9_x86_64.whl
49cb06682f4588c2553a63445b7e37aec731452fe380c3bd142377783a9ba014 numpy-2.0.0b1-cp39-cp39-macosx_11_0_arm64.whl
5fd7ec50b9650ac0aa4fd318eceb9059ed3c0ab3aa79d5f260a10158521f9770 numpy-2.0.0b1-cp39-cp39-macosx_14_0_arm64.whl
72526252a5d1da5067181bfd3df9cc6d7dcd024b757f5d35e8f1d0c08cb729c1 numpy-2.0.0b1-cp39-cp39-macosx_14_0_x86_64.whl
7870b854823217f34e6258328f46e40f68784f61408deb37a29ca64762c60c10 numpy-2.0.0b1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
26a0978595ac2e8160d27f7537ff94402eaaf3ea7a768e7f99170ed91453d1bf numpy-2.0.0b1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5801a93e424c12366d8b0b411dfeb7102f7429f0934059a39b1529f02ea2606b numpy-2.0.0b1-cp39-cp39-musllinux_1_1_aarch64.whl
2f67038ecdf4b372d81fa00530547a5d04b77da5b1e4fc55f58021f3135331ea numpy-2.0.0b1-cp39-cp39-musllinux_1_1_x86_64.whl
f32b6ec16518b3ba1a2d3a100d9b413cf24aaeeefdec19f1cddec55cb4a31dac numpy-2.0.0b1-cp39-cp39-win32.whl
70a22408ed088725fe44a6f55a077d1f704977b262e53d30ba485a01229028a3 numpy-2.0.0b1-cp39-cp39-win_amd64.whl
a69f1624d036953f3f2795f22e6be452ee6d24937ae14f77c2e536589e20caa2 numpy-2.0.0b1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
c27970540ee6b4b8325779cd22eee0283cb9dc6511130ff54e774fcd0a261d4b numpy-2.0.0b1-pp39-pypy39_pp73-macosx_14_0_arm64.whl
393adcc241ff7010b43e4660710a43c322189ff67461afba18bbaf9f5581b221 numpy-2.0.0b1-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
4205b3efa27b74cb096443bdda178f5032ffc6b41306a7d4a0b903b4b614b146 numpy-2.0.0b1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
52f9cd632f9f5e179e98769d76702ce9a307439f36191607d5ee06cb8a986d01 numpy-2.0.0b1-pp39-pypy39_pp73-win_amd64.whl
e0bb33a37d0d0b9a19cd41a093877f830e06bd4d989341b9792896cf08e629f7 numpy-2.0.0b1.tar.gz
- Python
Published by charris about 2 years ago
numpy -
NumPy 1.26.4 Release Notes
NumPy 1.26.4 is a maintenance release that fixes bugs and regressions discovered after the 1.26.3 release. The Python versions supported by this release are 3.9-3.12. This is the last planned release in the 1.26.x series.
Contributors
A total of 13 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Charles Harris
- Elliott Sales de Andrade
- Lucas Colley +
- Mark Ryan +
- Matti Picus
- Nathan Goldbaum
- Ola x Nilsson +
- Pieter Eendebak
- Ralf Gommers
- Sayed Adel
- Sebastian Berg
- Stefan van der Walt
- Stefano Rivera
Pull requests merged
A total of 19 pull requests were merged for this release.
- #25323: BUG: Restore missing asstr import
- #25523: MAINT: prepare 1.26.x for further development
- #25539: BUG:
numpy.array_api: fixlinalg.choleskyupper decomp... - #25584: CI: Bump azure pipeline timeout to 120 minutes
- #25585: MAINT, BLD: Fix unused inline functions warnings on clang
- #25599: BLD: include fix for MinGW platform detection
- #25618: TST: Fix test_numeric on riscv64
- #25619: BLD: fix building for windows ARM64
- #25620: MAINT: add
newaxisto__all__innumpy.array_api - #25630: BUG: Use large file fallocate on 32 bit linux platforms
- #25643: TST: Fix testwarningcalls on Python 3.12
- #25645: TST: Bump pytz to 2023.3.post1
- #25658: BUG: Fix AVX512 build flags on Intel Classic Compiler
- #25670: BLD: fix potential issue with escape sequences in
__config__.py - #25718: CI: pin cygwin python to 3.9.16-1 and fix typing tests [skip...
- #25720: MAINT: Bump cibuildwheel to v2.16.4
- #25748: BLD: unvendor meson-python on 1.26.x and upgrade to meson-python...
- #25755: MAINT: Include header defining backtrace
- #25756: BUG: Fix np.quantile([Fraction(2,1)], 0.5) (#24711)
Checksums
MD5
90f33cdd8934cd07192d6ede114d8d4d numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl
63ac60767f6724490e587f6010bd6839 numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl
ad4e82b225aaaf5898ea9798b50978d8 numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d428e3da2df4fa359313348302cf003a numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
89937c3bb596193f8ca9eae2ff84181e numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl
de4f9da0a4e6dfd4cec39c7ad5139803 numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl
2c1f73fd9b3acf4b9b0c23e985cdd38f numpy-1.26.4-cp310-cp310-win32.whl
920ad1f50e478b1a877fe7b7a46cc520 numpy-1.26.4-cp310-cp310-win_amd64.whl
719d1ff12db38903dcfd6749078fb11d numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl
eb601e80194d2e1c00d8daedd8dc68c4 numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl
71a7ab11996fa370dc28e28731bd5c32 numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
eb0cdd03e1ee2eb45c57c7340c98cf48 numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9d4ae1b0b27a625400f81ed1846a5667 numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl
1b6771350d2f496157430437a895ba4b numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl
1e4a18612ee4d0e54e0833574ebc6d25 numpy-1.26.4-cp311-cp311-win32.whl
5fd325dd8704023c1110835d7a1b095a numpy-1.26.4-cp311-cp311-win_amd64.whl
d95ce582923d24dbddbc108aa5fd2128 numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl
6f16f3d70e0d95ce2b032167c546cc95 numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl
5369536d4c45fbe384147ff23185b48a numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
1ceb224096686831ad731e472b65e96a numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cd8d3c00bbc89f9bc07e2df762f9e2ae numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl
5bd81ce840bb2e42befe01efb0402b79 numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl
2cc3b0757228078395da3efa3dc99f23 numpy-1.26.4-cp312-cp312-win32.whl
305155bd5ae879344c58968879584ed1 numpy-1.26.4-cp312-cp312-win_amd64.whl
ec2310f67215743e9c5d16b6c9fb87b6 numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl
406aea6081c1affbebdb6ad56b5deaf4 numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl
fee12f0a3cbac7bbf1a1c2d82d3b02a9 numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
baf4b7143c7b9ce170e62b33380fb573 numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
376ff29f90b7840ae19ecd59ad1ddf53 numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl
86785b3a7cd156c08c2ebc26f7816fb3 numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl
ab8a9ab69f16b7005f238cda76bc0bac numpy-1.26.4-cp39-cp39-win32.whl
fafa4453e820c7ff40907e5dc79d8199 numpy-1.26.4-cp39-cp39-win_amd64.whl
7f13e2f07bd3e4a439ade0e4d27905c6 numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
928954b41c1cd0e856f1a31d41722661 numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
57bbd5c0b3848d804c416cbcab4a0ae8 numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl
19550cbe7bedd96a928da9d4ad69509d numpy-1.26.4.tar.gz
SHA256
9ff0f4f29c51e2803569d7a51c2304de5554655a60c5d776e35b4a41413830d0 numpy-1.26.4-cp310-cp310-macosx_10_9_x86_64.whl
2e4ee3380d6de9c9ec04745830fd9e2eccb3e6cf790d39d7b98ffd19b0dd754a numpy-1.26.4-cp310-cp310-macosx_11_0_arm64.whl
d209d8969599b27ad20994c8e41936ee0964e6da07478d6c35016bc386b66ad4 numpy-1.26.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ffa75af20b44f8dba823498024771d5ac50620e6915abac414251bd971b4529f numpy-1.26.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
62b8e4b1e28009ef2846b4c7852046736bab361f7aeadeb6a5b89ebec3c7055a numpy-1.26.4-cp310-cp310-musllinux_1_1_aarch64.whl
a4abb4f9001ad2858e7ac189089c42178fcce737e4169dc61321660f1a96c7d2 numpy-1.26.4-cp310-cp310-musllinux_1_1_x86_64.whl
bfe25acf8b437eb2a8b2d49d443800a5f18508cd811fea3181723922a8a82b07 numpy-1.26.4-cp310-cp310-win32.whl
b97fe8060236edf3662adfc2c633f56a08ae30560c56310562cb4f95500022d5 numpy-1.26.4-cp310-cp310-win_amd64.whl
4c66707fabe114439db9068ee468c26bbdf909cac0fb58686a42a24de1760c71 numpy-1.26.4-cp311-cp311-macosx_10_9_x86_64.whl
edd8b5fe47dab091176d21bb6de568acdd906d1887a4584a15a9a96a1dca06ef numpy-1.26.4-cp311-cp311-macosx_11_0_arm64.whl
7ab55401287bfec946ced39700c053796e7cc0e3acbef09993a9ad2adba6ca6e numpy-1.26.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
666dbfb6ec68962c033a450943ded891bed2d54e6755e35e5835d63f4f6931d5 numpy-1.26.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
96ff0b2ad353d8f990b63294c8986f1ec3cb19d749234014f4e7eb0112ceba5a numpy-1.26.4-cp311-cp311-musllinux_1_1_aarch64.whl
60dedbb91afcbfdc9bc0b1f3f402804070deed7392c23eb7a7f07fa857868e8a numpy-1.26.4-cp311-cp311-musllinux_1_1_x86_64.whl
1af303d6b2210eb850fcf03064d364652b7120803a0b872f5211f5234b399f20 numpy-1.26.4-cp311-cp311-win32.whl
cd25bcecc4974d09257ffcd1f098ee778f7834c3ad767fe5db785be9a4aa9cb2 numpy-1.26.4-cp311-cp311-win_amd64.whl
b3ce300f3644fb06443ee2222c2201dd3a89ea6040541412b8fa189341847218 numpy-1.26.4-cp312-cp312-macosx_10_9_x86_64.whl
03a8c78d01d9781b28a6989f6fa1bb2c4f2d51201cf99d3dd875df6fbd96b23b numpy-1.26.4-cp312-cp312-macosx_11_0_arm64.whl
9fad7dcb1aac3c7f0584a5a8133e3a43eeb2fe127f47e3632d43d677c66c102b numpy-1.26.4-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
675d61ffbfa78604709862923189bad94014bef562cc35cf61d3a07bba02a7ed numpy-1.26.4-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ab47dbe5cc8210f55aa58e4805fe224dac469cde56b9f731a4c098b91917159a numpy-1.26.4-cp312-cp312-musllinux_1_1_aarch64.whl
1dda2e7b4ec9dd512f84935c5f126c8bd8b9f2fc001e9f54af255e8c5f16b0e0 numpy-1.26.4-cp312-cp312-musllinux_1_1_x86_64.whl
50193e430acfc1346175fcbdaa28ffec49947a06918b7b92130744e81e640110 numpy-1.26.4-cp312-cp312-win32.whl
08beddf13648eb95f8d867350f6a018a4be2e5ad54c8d8caed89ebca558b2818 numpy-1.26.4-cp312-cp312-win_amd64.whl
7349ab0fa0c429c82442a27a9673fc802ffdb7c7775fad780226cb234965e53c numpy-1.26.4-cp39-cp39-macosx_10_9_x86_64.whl
52b8b60467cd7dd1e9ed082188b4e6bb35aa5cdd01777621a1658910745b90be numpy-1.26.4-cp39-cp39-macosx_11_0_arm64.whl
d5241e0a80d808d70546c697135da2c613f30e28251ff8307eb72ba696945764 numpy-1.26.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f870204a840a60da0b12273ef34f7051e98c3b5961b61b0c2c1be6dfd64fbcd3 numpy-1.26.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
679b0076f67ecc0138fd2ede3a8fd196dddc2ad3254069bcb9faf9a79b1cebcd numpy-1.26.4-cp39-cp39-musllinux_1_1_aarch64.whl
47711010ad8555514b434df65f7d7b076bb8261df1ca9bb78f53d3b2db02e95c numpy-1.26.4-cp39-cp39-musllinux_1_1_x86_64.whl
a354325ee03388678242a4d7ebcd08b5c727033fcff3b2f536aea978e15ee9e6 numpy-1.26.4-cp39-cp39-win32.whl
3373d5d70a5fe74a2c1bb6d2cfd9609ecf686d47a2d7b1d37a8f3b6bf6003aea numpy-1.26.4-cp39-cp39-win_amd64.whl
afedb719a9dcfc7eaf2287b839d8198e06dcd4cb5d276a3df279231138e83d30 numpy-1.26.4-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
95a7476c59002f2f6c590b9b7b998306fba6a5aa646b1e22ddfeaf8f78c3a29c numpy-1.26.4-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7e50d0a0cc3189f9cb0aeb3a6a6af18c16f59f004b866cd2be1c14b36134a4a0 numpy-1.26.4-pp39-pypy39_pp73-win_amd64.whl
2a02aba9ed12e4ac4eb3ea9421c420301a0c6460d9830d74a9df87efa4912010 numpy-1.26.4.tar.gz
- Python
Published by charris over 2 years ago
numpy -
NumPy 1.26.3 Release Notes
NumPy 1.26.3 is a maintenance release that fixes bugs and regressions discovered after the 1.26.2 release. The most notable changes are the f2py bug fixes. The Python versions supported by this release are 3.9-3.12.
Compatibility
f2py will no longer accept ambiguous -m and .pyf CLI combinations.
When more than one .pyf file is passed, an error is raised. When both
-m and a .pyf is passed, a warning is emitted and the -m provided
name is ignored.
Improvements
f2py now handles common blocks which have kind specifications from
modules. This further expands the usability of intrinsics like
iso_fortran_env and iso_c_binding.
Contributors
A total of 18 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- \@DWesl
- \@Illviljan
- Alexander Grund
- Andrea Bianchi +
- Charles Harris
- Daniel Vanzo
- Johann Rohwer +
- Matti Picus
- Nathan Goldbaum
- Peter Hawkins
- Raghuveer Devulapalli
- Ralf Gommers
- Rohit Goswami
- Sayed Adel
- Sebastian Berg
- Stefano Rivera +
- Thomas A Caswell
- matoro
Pull requests merged
A total of 42 pull requests were merged for this release.
- #25130: MAINT: prepare 1.26.x for further development
- #25188: TYP: add None to
__getitem__innumpy.array_api - #25189: BLD,BUG: quadmath required where available [f2py]
- #25190: BUG: alpha doesn\'t use REAL(10)
- #25191: BUG: Fix FP overflow error in division when the divisor is scalar
- #25192: MAINT: Pin scipy-openblas version.
- #25201: BUG: Fix f2py to enable use of string optional inout argument
- #25202: BUG: Fix -fsanitize=alignment issue in numpy/_core/src/multiarray/arraytypes.c.src
- #25203: TST: Explicitly pass NumPy path to cython during tests (also...
- #25204: BUG: fix issues with
newaxisandlinalg.solveinnumpy.array_api - #25205: BUG: Disallow shadowed modulenames
- #25217: BUG: Handle common blocks with kind specifications from modules
- #25218: BUG: Fix moving compiled executable to root with f2py -c on Windows
- #25219: BUG: Fix single to half-precision conversion on PPC64/VSX3
- #25227: TST: f2py: fix issue in test skip condition
- #25240: Revert \"MAINT: Pin scipy-openblas version.\"
- #25249: MAINT: do not use
longtype - #25377: TST: PyPy needs another gc.collect on latest versions
- #25378: CI: Install Lapack runtime on Cygwin.
- #25379: MAINT: Bump conda-incubator/setup-miniconda from 2.2.0 to 3.0.1
- #25380: BLD: update vendored Meson for AIX shared library fix
- #25419: MAINT: Init
basein cpuavx512kn - #25420: BUG: Fix failing test_features on SapphireRapids
- #25422: BUG: Fix non-contiguous memory load when ARM/Neon is enabled
- #25428: MAINT,BUG: Never import distutils above 3.12 [f2py]
- #25452: MAINT: make the import-time check for old Accelerate more specific
- #25458: BUG: fix macOS version checks for Accelerate support
- #25465: MAINT: Bump actions/setup-node and larsoner/circleci-artifacts-redirector-action
- #25466: BUG: avoid seg fault from OOB access in RandomState.set_state()
- #25467: BUG: Fix two errors related to not checking for failed allocations
- #25468: BUG: Fix regression with
f2pywrappers when modules and subroutines... - #25475: BUG: Fix build issues on SPR
- #25478: BLD: fix uninitialized variable warnings from simd/neon/memory.h
- #25480: BUG: Handle
iso_c_typemappings more consistently - #25481: BUG: Fix module name bug in signature files [urgent] [f2py]
- #25482: BUG: Handle .pyf.src and fix SciPy [urgent]
- #25483: DOC:
f2pyrewrite withmesondetails - #25485: BUG: Add external library handling for meson [f2py]
- #25486: MAINT: Run f2py\'s meson backend with the same python that ran...
- #25489: MAINT: Update
numpy/f2py/_backendsfrom main. - #25490: MAINT: Easy updates of
f2py/*.pyfrom main. - #25491: MAINT: Update crackfortran.py and f2py2e.py from main
Checksums
MD5
7660db27715df261948e7f0f13634f16 numpy-1.26.3-cp310-cp310-macosx_10_9_x86_64.whl
98d5b98c822de4bed0cf1b0b8f367192 numpy-1.26.3-cp310-cp310-macosx_11_0_arm64.whl
b71cd0710cec5460292a97a02fa349cd numpy-1.26.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0f98a05c92598f849b1be2595f4a52a8 numpy-1.26.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b866c6aea8070c0753b776d2b521e875 numpy-1.26.3-cp310-cp310-musllinux_1_1_aarch64.whl
cfdde5868e469fb27655ea73b0b9593b numpy-1.26.3-cp310-cp310-musllinux_1_1_x86_64.whl
2655440d61671b5e32b049d30397c58f numpy-1.26.3-cp310-cp310-win32.whl
7718a5d33344784ca7821f3bdd467550 numpy-1.26.3-cp310-cp310-win_amd64.whl
28e4b2ed9192c392f792d88b3c246d1c numpy-1.26.3-cp311-cp311-macosx_10_9_x86_64.whl
fb1ae72749463e2c82f0127699728364 numpy-1.26.3-cp311-cp311-macosx_11_0_arm64.whl
304dec822b508a1d495917610e7562bf numpy-1.26.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2cc0d8b073dfd55946a60ba8ed4369f6 numpy-1.26.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c99962375c599501820899c8ccab6960 numpy-1.26.3-cp311-cp311-musllinux_1_1_aarch64.whl
47ed42d067ce4863bbf1f40da61ba7d1 numpy-1.26.3-cp311-cp311-musllinux_1_1_x86_64.whl
3ab3757255feb54ca3793fb9db226586 numpy-1.26.3-cp311-cp311-win32.whl
c33f2a4518bae535645357a08a93be1a numpy-1.26.3-cp311-cp311-win_amd64.whl
bea43600aaff3a4d9978611ccfa44198 numpy-1.26.3-cp312-cp312-macosx_10_9_x86_64.whl
c678d909ebe737fdabf215d8622ce2a3 numpy-1.26.3-cp312-cp312-macosx_11_0_arm64.whl
9f21f1875c92425cec1060564b3abb1c numpy-1.26.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c44a1998965d45ec136078ee09d880f2 numpy-1.26.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9274f5c51fa4f3c8fac5efa3d78acd63 numpy-1.26.3-cp312-cp312-musllinux_1_1_aarch64.whl
07c9f8f86f45077febc46c87ebc0b644 numpy-1.26.3-cp312-cp312-musllinux_1_1_x86_64.whl
a4857b2f7b6a23bca41178bd344bb28a numpy-1.26.3-cp312-cp312-win32.whl
495d9534961d7b10f16fec4515a3d72b numpy-1.26.3-cp312-cp312-win_amd64.whl
6494f2d94fd1f184923a33e634692b5e numpy-1.26.3-cp39-cp39-macosx_10_9_x86_64.whl
515a7314a0ff6aaba8d53a7a1aaa73ab numpy-1.26.3-cp39-cp39-macosx_11_0_arm64.whl
c856adc6a6a78773c43e9c738d662ed5 numpy-1.26.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
09848456158a01feff28f88c6106aef1 numpy-1.26.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
adec00ea2bc98580a436f82e188c0e2f numpy-1.26.3-cp39-cp39-musllinux_1_1_aarch64.whl
718bd35dd0431a6434bb30bf8d91d77d numpy-1.26.3-cp39-cp39-musllinux_1_1_x86_64.whl
e813aa59cb807efb4a8fee52a6dd41ba numpy-1.26.3-cp39-cp39-win32.whl
08e1b0973d0ae5976b38563eaec1253f numpy-1.26.3-cp39-cp39-win_amd64.whl
e8887a14750161709636e9fb87df4f36 numpy-1.26.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
0bdb19040525451553fb5758b65caf4c numpy-1.26.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b931c14d06cc37d85d63ed1ddd88e875 numpy-1.26.3-pp39-pypy39_pp73-win_amd64.whl
1c915dc6c36dd4c674d9379e9470ff8b numpy-1.26.3.tar.gz
SHA256
806dd64230dbbfaca8a27faa64e2f414bf1c6622ab78cc4264f7f5f028fee3bf numpy-1.26.3-cp310-cp310-macosx_10_9_x86_64.whl
02f98011ba4ab17f46f80f7f8f1c291ee7d855fcef0a5a98db80767a468c85cd numpy-1.26.3-cp310-cp310-macosx_11_0_arm64.whl
6d45b3ec2faed4baca41c76617fcdcfa4f684ff7a151ce6fc78ad3b6e85af0a6 numpy-1.26.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bdd2b45bf079d9ad90377048e2747a0c82351989a2165821f0c96831b4a2a54b numpy-1.26.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
211ddd1e94817ed2d175b60b6374120244a4dd2287f4ece45d49228b4d529178 numpy-1.26.3-cp310-cp310-musllinux_1_1_aarch64.whl
b1240f767f69d7c4c8a29adde2310b871153df9b26b5cb2b54a561ac85146485 numpy-1.26.3-cp310-cp310-musllinux_1_1_x86_64.whl
21a9484e75ad018974a2fdaa216524d64ed4212e418e0a551a2d83403b0531d3 numpy-1.26.3-cp310-cp310-win32.whl
9e1591f6ae98bcfac2a4bbf9221c0b92ab49762228f38287f6eeb5f3f55905ce numpy-1.26.3-cp310-cp310-win_amd64.whl
b831295e5472954104ecb46cd98c08b98b49c69fdb7040483aff799a755a7374 numpy-1.26.3-cp311-cp311-macosx_10_9_x86_64.whl
9e87562b91f68dd8b1c39149d0323b42e0082db7ddb8e934ab4c292094d575d6 numpy-1.26.3-cp311-cp311-macosx_11_0_arm64.whl
8c66d6fec467e8c0f975818c1796d25c53521124b7cfb760114be0abad53a0a2 numpy-1.26.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f25e2811a9c932e43943a2615e65fc487a0b6b49218899e62e426e7f0a57eeda numpy-1.26.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
af36e0aa45e25c9f57bf684b1175e59ea05d9a7d3e8e87b7ae1a1da246f2767e numpy-1.26.3-cp311-cp311-musllinux_1_1_aarch64.whl
51c7f1b344f302067b02e0f5b5d2daa9ed4a721cf49f070280ac202738ea7f00 numpy-1.26.3-cp311-cp311-musllinux_1_1_x86_64.whl
7ca4f24341df071877849eb2034948459ce3a07915c2734f1abb4018d9c49d7b numpy-1.26.3-cp311-cp311-win32.whl
39763aee6dfdd4878032361b30b2b12593fb445ddb66bbac802e2113eb8a6ac4 numpy-1.26.3-cp311-cp311-win_amd64.whl
a7081fd19a6d573e1a05e600c82a1c421011db7935ed0d5c483e9dd96b99cf13 numpy-1.26.3-cp312-cp312-macosx_10_9_x86_64.whl
12c70ac274b32bc00c7f61b515126c9205323703abb99cd41836e8125ea0043e numpy-1.26.3-cp312-cp312-macosx_11_0_arm64.whl
7f784e13e598e9594750b2ef6729bcd5a47f6cfe4a12cca13def35e06d8163e3 numpy-1.26.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5f24750ef94d56ce6e33e4019a8a4d68cfdb1ef661a52cdaee628a56d2437419 numpy-1.26.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
77810ef29e0fb1d289d225cabb9ee6cf4d11978a00bb99f7f8ec2132a84e0166 numpy-1.26.3-cp312-cp312-musllinux_1_1_aarch64.whl
8ed07a90f5450d99dad60d3799f9c03c6566709bd53b497eb9ccad9a55867f36 numpy-1.26.3-cp312-cp312-musllinux_1_1_x86_64.whl
f73497e8c38295aaa4741bdfa4fda1a5aedda5473074369eca10626835445511 numpy-1.26.3-cp312-cp312-win32.whl
da4b0c6c699a0ad73c810736303f7fbae483bcb012e38d7eb06a5e3b432c981b numpy-1.26.3-cp312-cp312-win_amd64.whl
1666f634cb3c80ccbd77ec97bc17337718f56d6658acf5d3b906ca03e90ce87f numpy-1.26.3-cp39-cp39-macosx_10_9_x86_64.whl
18c3319a7d39b2c6a9e3bb75aab2304ab79a811ac0168a671a62e6346c29b03f numpy-1.26.3-cp39-cp39-macosx_11_0_arm64.whl
0b7e807d6888da0db6e7e75838444d62495e2b588b99e90dd80c3459594e857b numpy-1.26.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b4d362e17bcb0011738c2d83e0a65ea8ce627057b2fdda37678f4374a382a137 numpy-1.26.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b8c275f0ae90069496068c714387b4a0eba5d531aace269559ff2b43655edd58 numpy-1.26.3-cp39-cp39-musllinux_1_1_aarch64.whl
cc0743f0302b94f397a4a65a660d4cd24267439eb16493fb3caad2e4389bccbb numpy-1.26.3-cp39-cp39-musllinux_1_1_x86_64.whl
9bc6d1a7f8cedd519c4b7b1156d98e051b726bf160715b769106661d567b3f03 numpy-1.26.3-cp39-cp39-win32.whl
867e3644e208c8922a3be26fc6bbf112a035f50f0a86497f98f228c50c607bb2 numpy-1.26.3-cp39-cp39-win_amd64.whl
3c67423b3703f8fbd90f5adaa37f85b5794d3366948efe9a5190a5f3a83fc34e numpy-1.26.3-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
46f47ee566d98849323f01b349d58f2557f02167ee301e5e28809a8c0e27a2d0 numpy-1.26.3-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a8474703bffc65ca15853d5fd4d06b18138ae90c17c8d12169968e998e448bb5 numpy-1.26.3-pp39-pypy39_pp73-win_amd64.whl
697df43e2b6310ecc9d95f05d5ef20eacc09c7c4ecc9da3f235d39e71b7da1e4 numpy-1.26.3.tar.gz
- Python
Published by charris over 2 years ago
numpy - 1.26.2 release
NumPy 1.26.2 Release Notes
NumPy 1.26.2 is a maintenance release that fixes bugs and regressions discovered after the 1.26.1 release. The 1.26.release series is the last planned minor release series before NumPy 2.0. The Python versions supported by this release are 3.9-3.12.
Contributors
A total of 13 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- \@stefan6419846
- \@thalassemia +
- Andrew Nelson
- Charles Bousseau +
- Charles Harris
- Marcel Bargull +
- Mark Mentovai +
- Matti Picus
- Nathan Goldbaum
- Ralf Gommers
- Sayed Adel
- Sebastian Berg
- William Ayd +
Pull requests merged
A total of 25 pull requests were merged for this release.
- #24814: MAINT: align testdispatcher s390x targets with _umathtests_mtargets
- #24929: MAINT: prepare 1.26.x for further development
- #24955: ENH: Add Cython enumeration for NPYFRGENERIC
- #24962: REL: Remove Python upper version from the release branch
- #24971: BLD: Use the correct Python interpreter when running tempita.py
- #24972: MAINT: Remove unhelpful error replacements from
import_array() - #24977: BLD: use classic linker on macOS, the new one in XCode 15 has...
- #25003: BLD: musllinux_aarch64 [wheel build]
- #25043: MAINT: Update mailmap
- #25049: MAINT: Update meson build infrastructure.
- #25071: MAINT: Split up .github/workflows to match main
- #25083: BUG: Backport fix build on ppc64 when the baseline set to Power9...
- #25093: BLD: Fix features.h detection for Meson builds [1.26.x Backport]
- #25095: BUG: Avoid intp conversion regression in Cython 3 (backport)
- #25107: CI: remove obsolete jobs, and move macOS and conda Azure jobs...
- #25108: CI: Add linux_qemu action and remove travis testing.
- #25112: MAINT: Update .spin/cmds.py from main.
- #25113: DOC: Visually divide main license and bundled licenses in wheels
- #25115: MAINT: Add missing
noexceptto shuffle helpers - #25116: DOC: Fix license identifier for OpenBLAS
- #25117: BLD: improve detection of Netlib libblas/libcblas/liblapack
- #25118: MAINT: Make bitfield integers unsigned
- #25119: BUG: Make n a long int for np.random.multinomial
- #25120: BLD: change default of the
allow-noblasoption to true. - #25121: BUG: ensure passing
np.dtypeto itself doesn\'t crash
Checksums
MD5
1a5dc6b5b3bf11ad40a59eedb3b69fa1 numpy-1.26.2-cp310-cp310-macosx_10_9_x86_64.whl
4b741c6dfe4e6e22e34e9c5c788d4f04 numpy-1.26.2-cp310-cp310-macosx_11_0_arm64.whl
2953687fb26e1dd8a2d1bb7109551fcd numpy-1.26.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ea9127a3a03f27fd101c62425c661d8d numpy-1.26.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7a6be7c6c1cc3e1ff73f64052fe30677 numpy-1.26.2-cp310-cp310-musllinux_1_1_aarch64.whl
4f45d3f69f54fd1638609fde34c33a5c numpy-1.26.2-cp310-cp310-musllinux_1_1_x86_64.whl
f22f5ea26c86eb126ff502fff75d6c21 numpy-1.26.2-cp310-cp310-win32.whl
49871452488e1a55d15ab54c6f3e546e numpy-1.26.2-cp310-cp310-win_amd64.whl
676740bf60fb1c8f5a6b31e00b9a4e9b numpy-1.26.2-cp311-cp311-macosx_10_9_x86_64.whl
7170545dcc2a38a1c2386a6081043b64 numpy-1.26.2-cp311-cp311-macosx_11_0_arm64.whl
feae1190c73d811e2e7ebcad4baf6edf numpy-1.26.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
03131896abade61b77e0f6e53abb988a numpy-1.26.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f160632f128a3fd46787aa02d8731fbb numpy-1.26.2-cp311-cp311-musllinux_1_1_aarch64.whl
014250db593d589b5533ef7127839c46 numpy-1.26.2-cp311-cp311-musllinux_1_1_x86_64.whl
fb437346dac24d0cb23f5314db043c8b numpy-1.26.2-cp311-cp311-win32.whl
7359adc233874898ea768cd4aec28bb3 numpy-1.26.2-cp311-cp311-win_amd64.whl
207a678bea75227428e7fb84d4dc457a numpy-1.26.2-cp312-cp312-macosx_10_9_x86_64.whl
302ff6cc047a408cdf21981bd7b26056 numpy-1.26.2-cp312-cp312-macosx_11_0_arm64.whl
7526faaea58c76aed395c7128dd6e14d numpy-1.26.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
28d3b1943d3a8ad4bbb2ae9da0a77cb9 numpy-1.26.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d91f5b2bb2c931e41ae7c80ec7509a31 numpy-1.26.2-cp312-cp312-musllinux_1_1_aarch64.whl
b2504d4239419f012c08fa1eab12f940 numpy-1.26.2-cp312-cp312-musllinux_1_1_x86_64.whl
57944ba30adc07f33e83a9b45f5c625a numpy-1.26.2-cp312-cp312-win32.whl
fe38cd95bbee405ce0cf51c8753a2676 numpy-1.26.2-cp312-cp312-win_amd64.whl
28e1bc3efaf89cf6f0a2b616c0e16401 numpy-1.26.2-cp39-cp39-macosx_10_9_x86_64.whl
9932ccff54855f12ee24f60528279bf1 numpy-1.26.2-cp39-cp39-macosx_11_0_arm64.whl
b52c1e987074dad100ad234122a397b9 numpy-1.26.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
1d1bd7e0d2a89ce795a9566a38ed9bb5 numpy-1.26.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
01d2abfe8e9b35415efb791ac6c5865e numpy-1.26.2-cp39-cp39-musllinux_1_1_aarch64.whl
5a6d6ac287ebd93a221e59590329e202 numpy-1.26.2-cp39-cp39-musllinux_1_1_x86_64.whl
4e4e4d8cf661a8d2838ee700fabae87e numpy-1.26.2-cp39-cp39-win32.whl
b8e52ecac110471502686abbdf774b78 numpy-1.26.2-cp39-cp39-win_amd64.whl
aed2d2914be293f60fedda360b64abf8 numpy-1.26.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
6bd88e0f33933445d0e18c1a850f60e0 numpy-1.26.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
010aeb2a50af0af1f7ef56f76f8cf463 numpy-1.26.2-pp39-pypy39_pp73-win_amd64.whl
8f6446a32e47953a03f8fe8533e21e98 numpy-1.26.2.tar.gz
SHA256
3703fc9258a4a122d17043e57b35e5ef1c5a5837c3db8be396c82e04c1cf9b0f numpy-1.26.2-cp310-cp310-macosx_10_9_x86_64.whl
cc392fdcbd21d4be6ae1bb4475a03ce3b025cd49a9be5345d76d7585aea69440 numpy-1.26.2-cp310-cp310-macosx_11_0_arm64.whl
36340109af8da8805d8851ef1d74761b3b88e81a9bd80b290bbfed61bd2b4f75 numpy-1.26.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bcc008217145b3d77abd3e4d5ef586e3bdfba8fe17940769f8aa09b99e856c00 numpy-1.26.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3ced40d4e9e18242f70dd02d739e44698df3dcb010d31f495ff00a31ef6014fe numpy-1.26.2-cp310-cp310-musllinux_1_1_aarch64.whl
b272d4cecc32c9e19911891446b72e986157e6a1809b7b56518b4f3755267523 numpy-1.26.2-cp310-cp310-musllinux_1_1_x86_64.whl
22f8fc02fdbc829e7a8c578dd8d2e15a9074b630d4da29cda483337e300e3ee9 numpy-1.26.2-cp310-cp310-win32.whl
26c9d33f8e8b846d5a65dd068c14e04018d05533b348d9eaeef6c1bd787f9919 numpy-1.26.2-cp310-cp310-win_amd64.whl
b96e7b9c624ef3ae2ae0e04fa9b460f6b9f17ad8b4bec6d7756510f1f6c0c841 numpy-1.26.2-cp311-cp311-macosx_10_9_x86_64.whl
aa18428111fb9a591d7a9cc1b48150097ba6a7e8299fb56bdf574df650e7d1f1 numpy-1.26.2-cp311-cp311-macosx_11_0_arm64.whl
06fa1ed84aa60ea6ef9f91ba57b5ed963c3729534e6e54055fc151fad0423f0a numpy-1.26.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
96ca5482c3dbdd051bcd1fce8034603d6ebfc125a7bd59f55b40d8f5d246832b numpy-1.26.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
854ab91a2906ef29dc3925a064fcd365c7b4da743f84b123002f6139bcb3f8a7 numpy-1.26.2-cp311-cp311-musllinux_1_1_aarch64.whl
f43740ab089277d403aa07567be138fc2a89d4d9892d113b76153e0e412409f8 numpy-1.26.2-cp311-cp311-musllinux_1_1_x86_64.whl
a2bbc29fcb1771cd7b7425f98b05307776a6baf43035d3b80c4b0f29e9545186 numpy-1.26.2-cp311-cp311-win32.whl
2b3fca8a5b00184828d12b073af4d0fc5fdd94b1632c2477526f6bd7842d700d numpy-1.26.2-cp311-cp311-win_amd64.whl
a4cd6ed4a339c21f1d1b0fdf13426cb3b284555c27ac2f156dfdaaa7e16bfab0 numpy-1.26.2-cp312-cp312-macosx_10_9_x86_64.whl
5d5244aabd6ed7f312268b9247be47343a654ebea52a60f002dc70c769048e75 numpy-1.26.2-cp312-cp312-macosx_11_0_arm64.whl
6a3cdb4d9c70e6b8c0814239ead47da00934666f668426fc6e94cce869e13fd7 numpy-1.26.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
aa317b2325f7aa0a9471663e6093c210cb2ae9c0ad824732b307d2c51983d5b6 numpy-1.26.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
174a8880739c16c925799c018f3f55b8130c1f7c8e75ab0a6fa9d41cab092fd6 numpy-1.26.2-cp312-cp312-musllinux_1_1_aarch64.whl
f79b231bf5c16b1f39c7f4875e1ded36abee1591e98742b05d8a0fb55d8a3eec numpy-1.26.2-cp312-cp312-musllinux_1_1_x86_64.whl
4a06263321dfd3598cacb252f51e521a8cb4b6df471bb12a7ee5cbab20ea9167 numpy-1.26.2-cp312-cp312-win32.whl
b04f5dc6b3efdaab541f7857351aac359e6ae3c126e2edb376929bd3b7f92d7e numpy-1.26.2-cp312-cp312-win_amd64.whl
4eb8df4bf8d3d90d091e0146f6c28492b0be84da3e409ebef54349f71ed271ef numpy-1.26.2-cp39-cp39-macosx_10_9_x86_64.whl
1a13860fdcd95de7cf58bd6f8bc5a5ef81c0b0625eb2c9a783948847abbef2c2 numpy-1.26.2-cp39-cp39-macosx_11_0_arm64.whl
64308ebc366a8ed63fd0bf426b6a9468060962f1a4339ab1074c228fa6ade8e3 numpy-1.26.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
baf8aab04a2c0e859da118f0b38617e5ee65d75b83795055fb66c0d5e9e9b818 numpy-1.26.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d73a3abcac238250091b11caef9ad12413dab01669511779bc9b29261dd50210 numpy-1.26.2-cp39-cp39-musllinux_1_1_aarch64.whl
b361d369fc7e5e1714cf827b731ca32bff8d411212fccd29ad98ad622449cc36 numpy-1.26.2-cp39-cp39-musllinux_1_1_x86_64.whl
bd3f0091e845164a20bd5a326860c840fe2af79fa12e0469a12768a3ec578d80 numpy-1.26.2-cp39-cp39-win32.whl
2beef57fb031dcc0dc8fa4fe297a742027b954949cabb52a2a376c144e5e6060 numpy-1.26.2-cp39-cp39-win_amd64.whl
1cc3d5029a30fb5f06704ad6b23b35e11309491c999838c31f124fee32107c79 numpy-1.26.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
94cc3c222bb9fb5a12e334d0479b97bb2df446fbe622b470928f5284ffca3f8d numpy-1.26.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fe6b44fb8fcdf7eda4ef4461b97b3f63c466b27ab151bec2366db8b197387841 numpy-1.26.2-pp39-pypy39_pp73-win_amd64.whl
f65738447676ab5777f11e6bbbdb8ce11b785e105f690bc45966574816b6d3ea numpy-1.26.2.tar.gz
- Python
Published by charris over 2 years ago
numpy -
NumPy 1.26.1 Release Notes
NumPy 1.26.1 is a maintenance release that fixes bugs and regressions discovered after the 1.26.0 release. In addition, it adds new functionality for detecting BLAS and LAPACK when building from source. Highlights are:
- Improved detection of BLAS and LAPACK libraries for meson builds
- Pickle compatibility with the upcoming NumPy 2.0.
The 1.26.release series is the last planned minor release series before NumPy 2.0. The Python versions supported by this release are 3.9-3.12.
Build system changes
Improved BLAS/LAPACK detection and control
Auto-detection for a number of BLAS and LAPACK is now implemented for Meson. By default, the build system will try to detect MKL, Accelerate (on macOS >=13.3), OpenBLAS, FlexiBLAS, BLIS and reference BLAS/LAPACK. Support for MKL was significantly improved, and support for FlexiBLAS was added.
New command-line flags are available to further control the selection of the BLAS and LAPACK libraries to build against.
To select a specific library, use the config-settings interface via
pip or pypa/build. E.g., to select libblas/liblapack, use:
$ pip install numpy -Csetup-args=-Dblas=blas -Csetup-args=-Dlapack=lapack
$ # OR
$ python -m build . -Csetup-args=-Dblas=blas -Csetup-args=-Dlapack=lapack
This works not only for the libraries named above, but for any library
that Meson is able to detect with the given name through pkg-config or
CMake.
Besides -Dblas and -Dlapack, a number of other new flags are
available to control BLAS/LAPACK selection and behavior:
-
-Dblas-orderand-Dlapack-order: a list of library names to search for in order, overriding the default search order. -
-Duse-ilp64: if set totrue, use ILP64 (64-bit integer) BLAS and LAPACK. Note that with this release, ILP64 support has been extended to include MKL and FlexiBLAS. OpenBLAS and Accelerate were supported in previous releases. -
-Dallow-noblas: if set totrue, allow NumPy to build with its internal (very slow) fallback routines instead of linking against an external BLAS/LAPACK library. The default for this flag may be changed to ``true`` in a future 1.26.x release, however for 1.26.1 we\'d prefer to keep it as ``false`` because if failures to detect an installed library are happening, we\'d like a bug report for that, so we can quickly assess whether the new auto-detection machinery needs further improvements. -
-Dmkl-threading: to select the threading layer for MKL. There are four options:seq,iomp,gompandtbb. The default isauto, which selects from those four as appropriate given the version of MKL selected. -
-Dblas-symbol-suffix: manually select the symbol suffix to use for the library - should only be needed for linking against libraries built in a non-standard way.
New features
numpy._core submodule stubs
numpy._core submodule stubs were added to provide compatibility with
pickled arrays created using NumPy 2.0 when running Numpy 1.26.
Contributors
A total of 13 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Andrew Nelson
- Anton Prosekin +
- Charles Harris
- Chongyun Lee +
- Ivan A. Melnikov +
- Jake Lishman +
- Mahder Gebremedhin +
- Mateusz Sokół
- Matti Picus
- Munira Alduraibi +
- Ralf Gommers
- Rohit Goswami
- Sayed Adel
Pull requests merged
A total of 20 pull requests were merged for this release.
- #24742: MAINT: Update cibuildwheel version
- #24748: MAINT: fix version string in wheels built with setup.py
- #24771: BLD, BUG: Fix build failure for host flags e.g.
-march=native... - #24773: DOC: Updated the f2py docs to remove a note on -fimplicit-none
- #24776: BUG: Fix SIMD f32 trunc test on s390x when baseline is none
- #24785: BLD: add libquadmath to licences and other tweaks (#24753)
- #24786: MAINT: Activate
use-compute-creditsfor Cirrus. - #24803: BLD: updated vendored-meson/meson for mips64 fix
- #24804: MAINT: fix licence path win
- #24813: BUG: Fix order of Windows OS detection macros.
- #24831: BUG, SIMD: use scalar cmul on bad Apple clang x86_64 (#24828)
- #24840: BUG: Fix DATA statements for f2py
- #24870: API: Add
NumpyUnpicklerfor backporting - #24872: MAINT: Xfail test failing on PyPy.
- #24879: BLD: fix math func feature checks, fix FreeBSD build, add CI...
- #24899: ENH: meson: implement BLAS/LAPACK auto-detection and many CI...
- #24902: DOC: add a 1.26.1 release notes section for BLAS/LAPACK build...
- #24906: MAINT: Backport
numpy._corestubs. RemoveNumpyUnpickler - #24911: MAINT: Bump pypa/cibuildwheel from 2.16.1 to 2.16.2
- #24912: BUG: loongarch doesn\'t use REAL(10)
Checksums
MD5
bda38de1a047dd9fdddae16c0d9fb358 numpy-1.26.1-cp310-cp310-macosx_10_9_x86_64.whl
196d2e39047da64ab28e177760c95461 numpy-1.26.1-cp310-cp310-macosx_11_0_arm64.whl
9d25010a7bf50e624d2fed742790afbd numpy-1.26.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9b22fa3d030807f0708007d9c0659f65 numpy-1.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
eea626b8b930acb4b32302a9e95714f5 numpy-1.26.1-cp310-cp310-musllinux_1_1_x86_64.whl
3c40ef068f50d2ac2913c5b9fa1233fa numpy-1.26.1-cp310-cp310-win32.whl
315c251d2f284af25761a37ce6dd4d10 numpy-1.26.1-cp310-cp310-win_amd64.whl
ebdd5046937df50e9f54a6d38c5775dd numpy-1.26.1-cp311-cp311-macosx_10_9_x86_64.whl
682f9beebe8547f205d6cdc8ff96a984 numpy-1.26.1-cp311-cp311-macosx_11_0_arm64.whl
e86da9b6040ea88b3835c4d8f8578658 numpy-1.26.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ebcb6cf7f64454215e29d8a89829c8e1 numpy-1.26.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a8c89e13dc9a63712104e2fb06fb63a6 numpy-1.26.1-cp311-cp311-musllinux_1_1_x86_64.whl
339795930404988dbc664ff4cc72b399 numpy-1.26.1-cp311-cp311-win32.whl
4ef5e1bdd7726c19615843f5ac72e618 numpy-1.26.1-cp311-cp311-win_amd64.whl
3aad6bc72db50e9cc88aa5813e8f35bd numpy-1.26.1-cp312-cp312-macosx_10_9_x86_64.whl
fd62f65ae7798dbda9a3f7af7aa5c8db numpy-1.26.1-cp312-cp312-macosx_11_0_arm64.whl
104d939e080f1baf0a56aed1de0e79e3 numpy-1.26.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c44b56c96097f910bbec1420abcf3db5 numpy-1.26.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1dce230368ae5fc47dd0fe8de8ff771d numpy-1.26.1-cp312-cp312-musllinux_1_1_x86_64.whl
d93338e7d60e1d294ca326450e99806b numpy-1.26.1-cp312-cp312-win32.whl
a1832f46521335c1ee4c56dbf12e600b numpy-1.26.1-cp312-cp312-win_amd64.whl
946fbb0b6caca9258985495532d3f9ab numpy-1.26.1-cp39-cp39-macosx_10_9_x86_64.whl
78c2ab13d395d67d90bcd6583a6f61a8 numpy-1.26.1-cp39-cp39-macosx_11_0_arm64.whl
0a9d80d8b646abf4ffe51fff3e075d10 numpy-1.26.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0229ba8145d4f58500873b540a55d60e numpy-1.26.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9179fc57c03260374c86e18867c24463 numpy-1.26.1-cp39-cp39-musllinux_1_1_x86_64.whl
246a3103fdbe5d891d7a8aee28875a26 numpy-1.26.1-cp39-cp39-win32.whl
4589dcb7f754fade6ea3946416bee638 numpy-1.26.1-cp39-cp39-win_amd64.whl
3af340d5487a6c045f00fe5eb889957c numpy-1.26.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
28aece4f1ceb92ec463aa353d4a91c8b numpy-1.26.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
bbd0461a1e31017b05509e9971b3478e numpy-1.26.1-pp39-pypy39_pp73-win_amd64.whl
2d770f4c281d405b690c4bcb3dbe99e2 numpy-1.26.1.tar.gz
SHA256
82e871307a6331b5f09efda3c22e03c095d957f04bf6bc1804f30048d0e5e7af numpy-1.26.1-cp310-cp310-macosx_10_9_x86_64.whl
cdd9ec98f0063d93baeb01aad472a1a0840dee302842a2746a7a8e92968f9575 numpy-1.26.1-cp310-cp310-macosx_11_0_arm64.whl
d78f269e0c4fd365fc2992c00353e4530d274ba68f15e968d8bc3c69ce5f5244 numpy-1.26.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8ab9163ca8aeb7fd32fe93866490654d2f7dda4e61bc6297bf72ce07fdc02f67 numpy-1.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
78ca54b2f9daffa5f323f34cdf21e1d9779a54073f0018a3094ab907938331a2 numpy-1.26.1-cp310-cp310-musllinux_1_1_x86_64.whl
d1cfc92db6af1fd37a7bb58e55c8383b4aa1ba23d012bdbba26b4bcca45ac297 numpy-1.26.1-cp310-cp310-win32.whl
d2984cb6caaf05294b8466966627e80bf6c7afd273279077679cb010acb0e5ab numpy-1.26.1-cp310-cp310-win_amd64.whl
cd7837b2b734ca72959a1caf3309457a318c934abef7a43a14bb984e574bbb9a numpy-1.26.1-cp311-cp311-macosx_10_9_x86_64.whl
1c59c046c31a43310ad0199d6299e59f57a289e22f0f36951ced1c9eac3665b9 numpy-1.26.1-cp311-cp311-macosx_11_0_arm64.whl
d58e8c51a7cf43090d124d5073bc29ab2755822181fcad978b12e144e5e5a4b3 numpy-1.26.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6081aed64714a18c72b168a9276095ef9155dd7888b9e74b5987808f0dd0a974 numpy-1.26.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
97e5d6a9f0702c2863aaabf19f0d1b6c2628fbe476438ce0b5ce06e83085064c numpy-1.26.1-cp311-cp311-musllinux_1_1_x86_64.whl
b9d45d1dbb9de84894cc50efece5b09939752a2d75aab3a8b0cef6f3a35ecd6b numpy-1.26.1-cp311-cp311-win32.whl
3649d566e2fc067597125428db15d60eb42a4e0897fc48d28cb75dc2e0454e53 numpy-1.26.1-cp311-cp311-win_amd64.whl
1d1bd82d539607951cac963388534da3b7ea0e18b149a53cf883d8f699178c0f numpy-1.26.1-cp312-cp312-macosx_10_9_x86_64.whl
afd5ced4e5a96dac6725daeb5242a35494243f2239244fad10a90ce58b071d24 numpy-1.26.1-cp312-cp312-macosx_11_0_arm64.whl
a03fb25610ef560a6201ff06df4f8105292ba56e7cdd196ea350d123fc32e24e numpy-1.26.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
dcfaf015b79d1f9f9c9fd0731a907407dc3e45769262d657d754c3a028586124 numpy-1.26.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e509cbc488c735b43b5ffea175235cec24bbc57b227ef1acc691725beb230d1c numpy-1.26.1-cp312-cp312-musllinux_1_1_x86_64.whl
af22f3d8e228d84d1c0c44c1fbdeb80f97a15a0abe4f080960393a00db733b66 numpy-1.26.1-cp312-cp312-win32.whl
9f42284ebf91bdf32fafac29d29d4c07e5e9d1af862ea73686581773ef9e73a7 numpy-1.26.1-cp312-cp312-win_amd64.whl
bb894accfd16b867d8643fc2ba6c8617c78ba2828051e9a69511644ce86ce83e numpy-1.26.1-cp39-cp39-macosx_10_9_x86_64.whl
e44ccb93f30c75dfc0c3aa3ce38f33486a75ec9abadabd4e59f114994a9c4617 numpy-1.26.1-cp39-cp39-macosx_11_0_arm64.whl
9696aa2e35cc41e398a6d42d147cf326f8f9d81befcb399bc1ed7ffea339b64e numpy-1.26.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a5b411040beead47a228bde3b2241100454a6abde9df139ed087bd73fc0a4908 numpy-1.26.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1e11668d6f756ca5ef534b5be8653d16c5352cbb210a5c2a79ff288e937010d5 numpy-1.26.1-cp39-cp39-musllinux_1_1_x86_64.whl
d1d2c6b7dd618c41e202c59c1413ef9b2c8e8a15f5039e344af64195459e3104 numpy-1.26.1-cp39-cp39-win32.whl
59227c981d43425ca5e5c01094d59eb14e8772ce6975d4b2fc1e106a833d5ae2 numpy-1.26.1-cp39-cp39-win_amd64.whl
06934e1a22c54636a059215d6da99e23286424f316fddd979f5071093b648668 numpy-1.26.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
76ff661a867d9272cd2a99eed002470f46dbe0943a5ffd140f49be84f68ffc42 numpy-1.26.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6965888d65d2848e8768824ca8288db0a81263c1efccec881cb35a0d805fcd2f numpy-1.26.1-pp39-pypy39_pp73-win_amd64.whl
c8c6c72d4a9f831f328efb1312642a1cafafaa88981d9ab76368d50d07d93cbe numpy-1.26.1.tar.gz
- Python
Published by charris over 2 years ago
numpy -
NumPy 1.26.0 Release Notes
The NumPy 1.26.0 release is a continuation of the 1.25.x release cycle with the addition of Python 3.12.0 support. Python 3.12 dropped distutils, consequently supporting it required finding a replacement for the setup.py/distutils based build system NumPy was using. We have chosen to use the Meson build system instead, and this is the first NumPy release supporting it. This is also the first release that supports Cython 3.0 in addition to retaining 0.29.X compatibility. Supporting those two upgrades was a large project, over 100 files have been touched in this release. The changelog doesn\'t capture the full extent of the work, special thanks to Ralf Gommers, Sayed Adel, Stéfan van der Walt, and Matti Picus who did much of the work in the main development branch.
The highlights of this release are:
- Python 3.12.0 support.
- Cython 3.0.0 compatibility.
- Use of the Meson build system
- Updated SIMD support
- f2py fixes, meson and bind(x) support
- Support for the updated Accelerate BLAS/LAPACK library
The Python versions supported in this release are 3.9-3.12.
New Features
Array API v2022.12 support in numpy.array_api
numpy.array_api now full supports the
v2022.12 version of the array API standard. Note that this does not
yet include the optional fft extension in the standard.
(gh-23789)
Support for the updated Accelerate BLAS/LAPACK library
Support for the updated Accelerate BLAS/LAPACK library, including ILP64 (64-bit integer) support, in macOS 13.3 has been added. This brings arm64 support, and significant performance improvements of up to 10x for commonly used linear algebra operations. When Accelerate is selected at build time, the 13.3+ version will automatically be used if available.
(gh-24053)
meson backend for f2py
f2py in compile mode (i.e. f2py -c) now accepts the
--backend meson option. This is the default option for Python 3.12
on-wards. Older versions will still default to --backend distutils.
To support this in realistic use-cases, in compile mode f2py takes a
--dep flag one or many times which maps to dependency() calls in the
meson backend, and does nothing in the distutils backend.
There are no changes for users of f2py only as a code generator, i.e.
without -c.
(gh-24532)
bind(c) support for f2py
Both functions and subroutines can be annotated with bind(c). f2py
will handle both the correct type mapping, and preserve the unique label
for other C interfaces.
Note: bind(c, name = 'routine_name_other_than_fortran_routine') is
not honored by the f2py bindings by design, since bind(c) with the
name is meant to guarantee only the same name in C and Fortran,
not in Python and Fortran.
(gh-24555)
Improvements
iso_c_binding support for f2py
Previously, users would have to define their own custom f2cmap file to
use type mappings defined by the Fortran2003 iso_c_binding intrinsic
module. These type maps are now natively supported by f2py
(gh-24555)
Build system changes
In this release, NumPy has switched to Meson as the build system and
meson-python as the build backend. Installing NumPy or building a wheel
can be done with standard tools like pip and pypa/build. The
following are supported:
- Regular installs:
pip install numpyor (in a cloned repo)pip install . - Building a wheel:
python -m build(preferred), orpip wheel . - Editable installs:
pip install -e . --no-build-isolation - Development builds through the custom CLI implemented with
spin:
spin build.
All the regular pip and pypa/build flags (e.g.,
--no-build-isolation) should work as expected.
NumPy-specific build customization
Many of the NumPy-specific ways of customizing builds have changed. The
NPY_* environment variables which control BLAS/LAPACK, SIMD,
threading, and other such options are no longer supported, nor is a
site.cfg file to select BLAS and LAPACK. Instead, there are
command-line flags that can be passed to the build via pip/build\'s
config-settings interface. These flags are all listed in the
meson_options.txt file in the root of the repo. Detailed documented
will be available before the final 1.26.0 release; for now please see
the SciPy \"building from source\" docs
since most build customization works in an almost identical way in SciPy as it
does in NumPy.
Build dependencies
While the runtime dependencies of NumPy have not changed, the build
dependencies have. Because we temporarily vendor Meson and meson-python,
there are several new dependencies - please see the [build-system]
section of pyproject.toml for details.
Troubleshooting
This build system change is quite large. In case of unexpected issues,
it is still possible to use a setup.py-based build as a temporary
workaround (on Python 3.9-3.11, not 3.12), by copying
pyproject.toml.setuppy to pyproject.toml. However, please open an
issue with details on the NumPy issue tracker. We aim to phase out
setup.py builds as soon as possible, and therefore would like to see
all potential blockers surfaced early on in the 1.26.0 release cycle.
Contributors
A total of 20 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- \@DWesl
- Albert Steppi +
- Bas van Beek
- Charles Harris
- Developer-Ecosystem-Engineering
- Filipe Laíns +
- Jake Vanderplas
- Liang Yan +
- Marten van Kerkwijk
- Matti Picus
- Melissa Weber Mendonça
- Namami Shanker
- Nathan Goldbaum
- Ralf Gommers
- Rohit Goswami
- Sayed Adel
- Sebastian Berg
- Stefan van der Walt
- Tyler Reddy
- Warren Weckesser
Pull requests merged
A total of 59 pull requests were merged for this release.
- #24305: MAINT: Prepare 1.26.x branch for development
- #24308: MAINT: Massive update of files from main for numpy 1.26
- #24322: CI: fix wheel builds on the 1.26.x branch
- #24326: BLD: update openblas to newer version
- #24327: TYP: Trim down the
_NestedSequence.__getitem__signature - #24328: BUG: fix choose refcount leak
- #24337: TST: fix running the test suite in builds without BLAS/LAPACK
- #24338: BUG: random: Fix generation of nan by dirichlet.
- #24340: MAINT: Dependabot updates from main
- #24342: MAINT: Add back NPYRUNMYPYINTESTSUITE=1
- #24353: MAINT: Update
extbuild.pyfrom main. - #24356: TST: fix distutils tests for deprecations in recent setuptools...
- #24375: MAINT: Update cibuildwheel to version 2.15.0
- #24381: MAINT: Fix codespaces setup.sh script
- #24403: ENH: Vendor meson for multi-target build support
- #24404: BLD: vendor meson-python to make the Windows builds with SIMD...
- #24405: BLD, SIMD: The meson CPU dispatcher implementation
- #24406: MAINT: Remove versioneer
- #24409: REL: Prepare for the NumPy 1.26.0b1 release.
- #24453: MAINT: Pin upper version of sphinx.
- #24455: ENH: Add prefix to _ALIGN Macro
- #24456: BUG: cleanup warnings
- #24460: MAINT: Upgrade to spin 0.5
- #24495: BUG:
asv devhas been removed, useasv run. - #24496: BUG: Fix meson build failure due to unchanged inplace auto-generated...
- #24521: BUG: fix issue with git-version script, needs a shebang to run
- #24522: BUG: Use a default assignment for git_hash
- #24524: BUG: fix NPYcastinfo error handling in choose
- #24526: BUG: Fix common block handling in f2py
- #24541: CI,TYP: Bump mypy to 1.4.1
- #24542: BUG: Fix assumed length f2py regression
- #24544: MAINT: Harmonize fortranobject
- #24545: TYP: add kind argument to numpy.isin type specification
- #24561: BUG: fix comparisons between masked and unmasked structured arrays
- #24590: CI: Exclude import libraries from list of DLLs on Cygwin.
- #24591: BLD: fix
_umath_linalgdependencies - #24594: MAINT: Stop testing on ppc64le.
- #24602: BLD: meson-cpu: fix SIMD support on platforms with no features
- #24606: BUG: Change Cython
bindingdirective to \"False\". - #24613: ENH: Adopt new macOS Accelerate BLAS/LAPACK Interfaces, including...
- #24614: DOC: Update building docs to use Meson
- #24615: TYP: Add the missing
castingkeyword tonp.clip - #24616: TST: convert cython test from setup.py to meson
- #24617: MAINT: Fixup
fromnumeric.pyi - #24622: BUG, ENH: Fix
iso_c_bindingtype maps and fixbind(c)... - #24629: TYP: Allow
binary_reprto accept any object implementing... - #24630: TYP: Explicitly declare
dtypeandgenerichashable - #24637: ENH: Refactor the typing \"reveal\" tests using
typing.assert_type - #24638: MAINT: Bump actions/checkout from 3.6.0 to 4.0.0
- #24647: ENH:
mesonbackend forf2py - #24648: MAINT: Refactor partial load Workaround for Clang
- #24653: REL: Prepare for the NumPy 1.26.0rc1 release.
- #24659: BLD: allow specifying the long double format to avoid the runtime...
- #24665: BLD: fix bug in random.mtrand extension, don\'t link libnpyrandom
- #24675: BLD: build wheels for 32-bit Python on Windows, using MSVC
- #24700: BLD: fix issue with compiler selection during cross compilation
- #24701: BUG: Fix data stmt handling for complex values in f2py
- #24707: TYP: Add annotations for the py3.12 buffer protocol
- #24718: DOC: fix a few doc build issues on 1.26.x and update
spin docs...
Checksums
MD5
052d84a2aaad4d5a455b64f5ff3f160b numpy-1.26.0-cp310-cp310-macosx_10_9_x86_64.whl
874567083be194080e97bea39ea7befd numpy-1.26.0-cp310-cp310-macosx_11_0_arm64.whl
1a5fa023e05e050b95549d355890fbb6 numpy-1.26.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2af03fbadd96360b26b993975709d072 numpy-1.26.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
32717dd51a915e9aee4dcca72acb00d0 numpy-1.26.0-cp310-cp310-musllinux_1_1_x86_64.whl
3f101e51b3b5f8c3f01256da645a1962 numpy-1.26.0-cp310-cp310-win32.whl
d523a40f0a5f5ba94f09679adbabf825 numpy-1.26.0-cp310-cp310-win_amd64.whl
6115698fdf5fb8cf895540a57d12bfb9 numpy-1.26.0-cp311-cp311-macosx_10_9_x86_64.whl
207603ee822d8af4542f239b8c0a7a67 numpy-1.26.0-cp311-cp311-macosx_11_0_arm64.whl
0cc5f95c4aebab0ca4f9f66463981016 numpy-1.26.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a4654b46bc10738825f37a1797e1eba5 numpy-1.26.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3b037dc746499f2a19bb58b55fdd0bfb numpy-1.26.0-cp311-cp311-musllinux_1_1_x86_64.whl
7bfb0c44e95f765e7fc5a7a86968a56c numpy-1.26.0-cp311-cp311-win32.whl
3355b510410cb20bacfb3c87632a731a numpy-1.26.0-cp311-cp311-win_amd64.whl
9624a97f1df9f64054409d274c1502f3 numpy-1.26.0-cp312-cp312-macosx_10_9_x86_64.whl
53429b1349542c38b2f3822c7f2904d5 numpy-1.26.0-cp312-cp312-macosx_11_0_arm64.whl
66a21bf4d8a6372cc3c4c89a67b96279 numpy-1.26.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
cb9abc312090046563eae619c0b68210 numpy-1.26.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
49e3498e0e0ec5c1f6314fb86d7f006e numpy-1.26.0-cp312-cp312-musllinux_1_1_x86_64.whl
f4a31765889478341597a7140044db85 numpy-1.26.0-cp312-cp312-win32.whl
e7d7ded11f89baf760e5ba69249606e4 numpy-1.26.0-cp312-cp312-win_amd64.whl
19698f330ae322c4813eed6e790a04d5 numpy-1.26.0-cp39-cp39-macosx_10_9_x86_64.whl
a3628f551d851fbcde6551adb8fcfe2b numpy-1.26.0-cp39-cp39-macosx_11_0_arm64.whl
b34af2ddf43b28207ec7e2c837cbe35f numpy-1.26.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3d888129c86357ccfb779d9f0c1256f5 numpy-1.26.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e49d00c779df59a786d9f41e0d73c520 numpy-1.26.0-cp39-cp39-musllinux_1_1_x86_64.whl
69f6aa8a0f3919797cb28fab7069a578 numpy-1.26.0-cp39-cp39-win32.whl
8233224840dcdda49b08da1d5e91a730 numpy-1.26.0-cp39-cp39-win_amd64.whl
c11b4d1181b825407b71a1ac8ec04a10 numpy-1.26.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
1515773d4f569d44c6a757cb5a636cb2 numpy-1.26.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
60dc766d863d8ab561b494a7a759d562 numpy-1.26.0-pp39-pypy39_pp73-win_amd64.whl
69bd28f07afbeed2bb6ecd467afcd469 numpy-1.26.0.tar.gz
SHA256
f8db2f125746e44dce707dd44d4f4efeea8d7e2b43aace3f8d1f235cfa2733dd numpy-1.26.0-cp310-cp310-macosx_10_9_x86_64.whl
0621f7daf973d34d18b4e4bafb210bbaf1ef5e0100b5fa750bd9cde84c7ac292 numpy-1.26.0-cp310-cp310-macosx_11_0_arm64.whl
51be5f8c349fdd1a5568e72713a21f518e7d6707bcf8503b528b88d33b57dc68 numpy-1.26.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
767254ad364991ccfc4d81b8152912e53e103ec192d1bb4ea6b1f5a7117040be numpy-1.26.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
436c8e9a4bdeeee84e3e59614d38c3dbd3235838a877af8c211cfcac8a80b8d3 numpy-1.26.0-cp310-cp310-musllinux_1_1_x86_64.whl
c2e698cb0c6dda9372ea98a0344245ee65bdc1c9dd939cceed6bb91256837896 numpy-1.26.0-cp310-cp310-win32.whl
09aaee96c2cbdea95de76ecb8a586cb687d281c881f5f17bfc0fb7f5890f6b91 numpy-1.26.0-cp310-cp310-win_amd64.whl
637c58b468a69869258b8ae26f4a4c6ff8abffd4a8334c830ffb63e0feefe99a numpy-1.26.0-cp311-cp311-macosx_10_9_x86_64.whl
306545e234503a24fe9ae95ebf84d25cba1fdc27db971aa2d9f1ab6bba19a9dd numpy-1.26.0-cp311-cp311-macosx_11_0_arm64.whl
8c6adc33561bd1d46f81131d5352348350fc23df4d742bb246cdfca606ea1208 numpy-1.26.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e062aa24638bb5018b7841977c360d2f5917268d125c833a686b7cbabbec496c numpy-1.26.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
546b7dd7e22f3c6861463bebb000646fa730e55df5ee4a0224408b5694cc6148 numpy-1.26.0-cp311-cp311-musllinux_1_1_x86_64.whl
c0b45c8b65b79337dee5134d038346d30e109e9e2e9d43464a2970e5c0e93229 numpy-1.26.0-cp311-cp311-win32.whl
eae430ecf5794cb7ae7fa3808740b015aa80747e5266153128ef055975a72b99 numpy-1.26.0-cp311-cp311-win_amd64.whl
166b36197e9debc4e384e9c652ba60c0bacc216d0fc89e78f973a9760b503388 numpy-1.26.0-cp312-cp312-macosx_10_9_x86_64.whl
f042f66d0b4ae6d48e70e28d487376204d3cbf43b84c03bac57e28dac6151581 numpy-1.26.0-cp312-cp312-macosx_11_0_arm64.whl
e5e18e5b14a7560d8acf1c596688f4dfd19b4f2945b245a71e5af4ddb7422feb numpy-1.26.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7f6bad22a791226d0a5c7c27a80a20e11cfe09ad5ef9084d4d3fc4a299cca505 numpy-1.26.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4acc65dd65da28060e206c8f27a573455ed724e6179941edb19f97e58161bb69 numpy-1.26.0-cp312-cp312-musllinux_1_1_x86_64.whl
bb0d9a1aaf5f1cb7967320e80690a1d7ff69f1d47ebc5a9bea013e3a21faec95 numpy-1.26.0-cp312-cp312-win32.whl
ee84ca3c58fe48b8ddafdeb1db87388dce2c3c3f701bf447b05e4cfcc3679112 numpy-1.26.0-cp312-cp312-win_amd64.whl
4a873a8180479bc829313e8d9798d5234dfacfc2e8a7ac188418189bb8eafbd2 numpy-1.26.0-cp39-cp39-macosx_10_9_x86_64.whl
914b28d3215e0c721dc75db3ad6d62f51f630cb0c277e6b3bcb39519bed10bd8 numpy-1.26.0-cp39-cp39-macosx_11_0_arm64.whl
c78a22e95182fb2e7874712433eaa610478a3caf86f28c621708d35fa4fd6e7f numpy-1.26.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
86f737708b366c36b76e953c46ba5827d8c27b7a8c9d0f471810728e5a2fe57c numpy-1.26.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b44e6a09afc12952a7d2a58ca0a2429ee0d49a4f89d83a0a11052da696440e49 numpy-1.26.0-cp39-cp39-musllinux_1_1_x86_64.whl
5671338034b820c8d58c81ad1dafc0ed5a00771a82fccc71d6438df00302094b numpy-1.26.0-cp39-cp39-win32.whl
020cdbee66ed46b671429c7265cf00d8ac91c046901c55684954c3958525dab2 numpy-1.26.0-cp39-cp39-win_amd64.whl
0792824ce2f7ea0c82ed2e4fecc29bb86bee0567a080dacaf2e0a01fe7654369 numpy-1.26.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
7d484292eaeb3e84a51432a94f53578689ffdea3f90e10c8b203a99be5af57d8 numpy-1.26.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
186ba67fad3c60dbe8a3abff3b67a91351100f2661c8e2a80364ae6279720299 numpy-1.26.0-pp39-pypy39_pp73-win_amd64.whl
f93fc78fe8bf15afe2b8d6b6499f1c73953169fad1e9a8dd086cdff3190e7fdf numpy-1.26.0.tar.gz
- Python
Published by charris over 2 years ago
numpy -
NumPy 1.26.0 Release Notes
The NumPy 1.26.0 release is a continuation of the 1.25.x release cycle with the addition of Python 3.12.0 support. Python 3.12 dropped distutils, consequently supporting it required finding a replacement for the setup.py/distutils based build system NumPy was using. We have chosen to use the Meson build system instead, and this is the first NumPy release supporting it. This is also the first release that supports Cython 3.0 in addition to retaining 0.29.X compatibility. Supporting those two upgrades was a large project, over 100 files have been touched in this release. The changelog doesn\'t capture the full extent of the work, special thanks to Ralf Gommers, Sayed Adel, Stéfan van der Walt, and Matti Picus who did much of the work in the main development branch.
The highlights of this release are:
- Python 3.12.0 support.
- Cython 3.0.0 compatibility.
- Use of the Meson build system
- Updated SIMD support
- f2py fixes, meson and bind(x) support
The Python versions supported in this release are 3.9-3.12.
New Features
Array API v2022.12 support in numpy.array_api
numpy.array_api now full supports the
v2022.12 version
of the array API standard. Note that this does not yet include the optional
fft extension in the standard.
(gh-23789)
Support for the updated Accelerate BLAS/LAPACK library
Support for the updated Accelerate BLAS/LAPACK library, including ILP64 (64-bit integer) support, in macOS 13.3 has been added. This brings arm64 support, and significant performance improvements of up to 10x for commonly used linear algebra operations. When Accelerate is selected at build time, the 13.3+ version will automatically be used if available.
(gh-24053)
meson backend for f2py
f2py in compile mode (i.e. f2py -c) now accepts the
--backend meson option. This is the default option for Python 3.12
on-wards. Older versions will still default to --backend distutils.
To support this in realistic use-cases, in compile mode f2py takes a
--dep flag one or many times which maps to dependency() calls in the
meson backend, and does nothing in the distutils backend.
There are no changes for users of f2py only as a code generator, i.e.
without -c.
(gh-24532)
bind(c) support for f2py
Both functions and subroutines can be annotated with bind(c). f2py
will handle both the correct type mapping, and preserve the unique label
for other C interfaces.
Note: bind(c, name = 'routine_name_other_than_fortran_routine') is
not honored by the f2py bindings by design, since bind(c) with the
name is meant to guarantee only the same name in C and Fortran,
not in Python and Fortran.
(gh-24555)
Improvements
iso_c_binding support for f2py
Previously, users would have to define their own custom f2cmap file to
use type mappings defined by the Fortran2003 iso_c_binding intrinsic
module. These type maps are now natively supported by f2py
(gh-24555)
Build system changes
In this release, NumPy has switched to Meson as the build system and
meson-python as the build backend. Installing NumPy or building a wheel
can be done with standard tools like pip and pypa/build. The
following are supported:
- Regular installs:
pip install numpyor (in a cloned repo)pip install . - Building a wheel:
python -m build(preferred), orpip wheel . - Editable installs:
pip install -e . --no-build-isolation - Development builds through the custom CLI implemented with
spin:
spin build.
All the regular pip and pypa/build flags (e.g.,
--no-build-isolation) should work as expected.
NumPy-specific build customization
Many of the NumPy-specific ways of customizing builds have changed. The
NPY_* environment variables which control BLAS/LAPACK, SIMD,
threading, and other such options are no longer supported, nor is a
site.cfg file to select BLAS and LAPACK. Instead, there are
command-line flags that can be passed to the build via pip/build\'s
config-settings interface. These flags are all listed in the
meson_options.txt file in the root of the repo. Detailed documented
will be available before the final 1.26.0 release; for now please see
the SciPy \"building from source\" docs
since most build customization works in an almost identical way in SciPy as it
does in NumPy.
Build dependencies
While the runtime dependencies of NumPy have not changed, the build
dependencies have. Because we temporarily vendor Meson and meson-python,
there are several new dependencies - please see the [build-system]
section of pyproject.toml for details.
Troubleshooting
This build system change is quite large. In case of unexpected issues,
it is still possible to use a setup.py-based build as a temporary
workaround (on Python 3.9-3.11, not 3.12), by copying
pyproject.toml.setuppy to pyproject.toml. However, please open an
issue with details on the NumPy issue tracker. We aim to phase out
setup.py builds as soon as possible, and therefore would like to see
all potential blockers surfaced early on in the 1.26.0 release cycle.
Contributors
A total of 18 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- \@DWesl
- Albert Steppi +
- Bas van Beek
- Charles Harris
- Developer-Ecosystem-Engineering
- Jake Vanderplas
- Marten van Kerkwijk
- Matti Picus
- Melissa Weber Mendonça
- Namami Shanker
- Nathan Goldbaum
- Ralf Gommers
- Rohit Goswami
- Sayed Adel
- Sebastian Berg
- Stefan van der Walt
- Tyler Reddy
- Warren Weckesser
Pull requests merged
A total of 51 pull requests were merged for this release.
- #24305: MAINT: Prepare 1.26.x branch for development
- #24308: MAINT: Massive update of files from main for numpy 1.26
- #24322: CI: fix wheel builds on the 1.26.x branch
- #24326: BLD: update openblas to newer version
- #24327: TYP: Trim down the
_NestedSequence.__getitem__signature - #24328: BUG: fix choose refcount leak
- #24337: TST: fix running the test suite in builds without BLAS/LAPACK
- #24338: BUG: random: Fix generation of nan by dirichlet.
- #24340: MAINT: Dependabot updates from main
- #24342: MAINT: Add back
NPY_RUN_MYPY_IN_TESTSUITE=1 - #24353: MAINT: Update
extbuild.pyfrom main. - #24356: TST: fix distutils tests for deprecations in recent setuptools...
- #24375: MAINT: Update cibuildwheel to version 2.15.0
- #24381: MAINT: Fix codespaces setup.sh script
- #24403: ENH: Vendor meson for multi-target build support
- #24404: BLD: vendor meson-python to make the Windows builds with SIMD...
- #24405: BLD, SIMD: The meson CPU dispatcher implementation
- #24406: MAINT: Remove versioneer
- #24409: REL: Prepare for the NumPy 1.26.0b1 release.
- #24453: MAINT: Pin upper version of sphinx.
- #24455: ENH: Add prefix to _ALIGN Macro
- #24456: BUG: cleanup warnings [skip azp][skip circle][skip travis][skip...
- #24460: MAINT: Upgrade to spin 0.5
- #24495: BUG:
asv devhas been removed, useasv run. - #24496: BUG: Fix meson build failure due to unchanged inplace auto-generated...
- #24521: BUG: fix issue with git-version script, needs a shebang to run
- #24522: BUG: Use a default assignment for git_hash [skip ci]
- #24524: BUG: fix NPYcastinfo error handling in choose
- #24526: BUG: Fix common block handling in f2py
- #24541: CI,TYP: Bump mypy to 1.4.1
- #24542: BUG: Fix assumed length f2py regression
- #24544: MAINT: Harmonize fortranobject
- #24545: TYP: add kind argument to numpy.isin type specification
- #24561: BUG: fix comparisons between masked and unmasked structured arrays
- #24590: CI: Exclude import libraries from list of DLLs on Cygwin.
- #24591: BLD: fix
_umath_linalgdependencies - #24594: MAINT: Stop testing on ppc64le.
- #24602: BLD: meson-cpu: fix SIMD support on platforms with no features
- #24606: BUG: Change Cython
bindingdirective to \"False\". - #24613: ENH: Adopt new macOS Accelerate BLAS/LAPACK Interfaces, including...
- #24614: DOC: Update building docs to use Meson
- #24615: TYP: Add the missing
castingkeyword tonp.clip - #24616: TST: convert cython test from setup.py to meson
- #24617: MAINT: Fixup
fromnumeric.pyi - #24622: BUG, ENH: Fix
iso_c_bindingtype maps and fixbind(c)... - #24629: TYP: Allow
binary_reprto accept any object implementing... - #24630: TYP: Explicitly declare
dtypeandgenerichashable - #24637: ENH: Refactor the typing \"reveal\" tests using [typing.assert_type]{.title-ref}
- #24638: MAINT: Bump actions/checkout from 3.6.0 to 4.0.0
- #24647: ENH:
mesonbackend forf2py - #24648: MAINT: Refactor partial load Workaround for Clang
Checksums
MD5
9bcab451e9d0eadcc00ca8ce2f5938e7 numpy-1.26.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
4b1c33742eaba91fb2a3fdf531c086f8 numpy-1.26.0rc1-cp310-cp310-macosx_11_0_arm64.whl
6adb6b6a762f256f5ca6c82b6a302912 numpy-1.26.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c4dbed88820255134bcae15d02c658ed numpy-1.26.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
72dbf4449513dc1ef51b59266199cf37 numpy-1.26.0rc1-cp310-cp310-musllinux_1_1_x86_64.whl
c25812360af41a904324503d7ca02cce numpy-1.26.0rc1-cp310-cp310-win_amd64.whl
6bbaeaa8c54a084c749ad4ede57bbeb6 numpy-1.26.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
f0585ce50c22914e0f039fd817a847c4 numpy-1.26.0rc1-cp311-cp311-macosx_11_0_arm64.whl
79e7deab2a43552aa4f4097183e6287d numpy-1.26.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
1f94542339a4e6327914398b7785876b numpy-1.26.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3c3c3ea226bcf0e92796da621c0ac7fe numpy-1.26.0rc1-cp311-cp311-musllinux_1_1_x86_64.whl
5d6bca28d5c43fc839e4d8eff3b3a35c numpy-1.26.0rc1-cp311-cp311-win_amd64.whl
94df9fa058c650073de474555cc6f0dc numpy-1.26.0rc1-cp312-cp312-macosx_10_9_x86_64.whl
2ef744a42b9db31f7ce4a0c7cb8b546d numpy-1.26.0rc1-cp312-cp312-macosx_11_0_arm64.whl
cf2b61c8480245995348fc2ddc4f556f numpy-1.26.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
18cea65bce62f924c34d3b0148db4669 numpy-1.26.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5aede55c449bdc62e59230f786faa400 numpy-1.26.0rc1-cp312-cp312-musllinux_1_1_x86_64.whl
15c8199396b8adcfc9a6e4fb730d6faf numpy-1.26.0rc1-cp312-cp312-win_amd64.whl
c9d97598b2bcaac53dc082106d0bc926 numpy-1.26.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
8359d919806089cf48086c923e1b2e81 numpy-1.26.0rc1-cp39-cp39-macosx_11_0_arm64.whl
4322ecb6dd6db9dc704f54603622da72 numpy-1.26.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a275abd27929fa7428c94b6c493798d7 numpy-1.26.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a374c440c6233a78b0bb1bf11776e48f numpy-1.26.0rc1-cp39-cp39-musllinux_1_1_x86_64.whl
3e540eca6628510c604099a6c0a79fb5 numpy-1.26.0rc1-cp39-cp39-win_amd64.whl
a7b15d45d9b18bd2f065be1eafa3cfea numpy-1.26.0rc1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
b7e926a0415c30df7010400936922cd7 numpy-1.26.0rc1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8430d4acc483c66d76b8263ac90195e6 numpy-1.26.0rc1-pp39-pypy39_pp73-win_amd64.whl
23bf7c39807a9cce5c8ea0ba293b7dd9 numpy-1.26.0rc1.tar.gz
SHA256
abe4b4414edd3dc61a2f6df6f0aa7711c654fc59f41a0eeae4c34b9bfc18aa22 numpy-1.26.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
0e294b045e6fa8f071e4c88836b0df2167fc74ff8561138aa5cd69d1ee98b15e numpy-1.26.0rc1-cp310-cp310-macosx_11_0_arm64.whl
38324eb42bcd45db0b509d02325cb0e3058b6cf05beaf5bd02c221a3133cc9ff numpy-1.26.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
302003be9baeb79f07153426544f87f534eb9fe3b8399ac8ee8420f5cfd7ed5c numpy-1.26.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f8a9eb3d3f74978cb155a12a77046dae5b8d76bfcf56f76cc92f0d5976857ef9 numpy-1.26.0rc1-cp310-cp310-musllinux_1_1_x86_64.whl
a9b4723216f7970f571d0d71935b32ffe0eacd011befbaa977f34e928ece8c71 numpy-1.26.0rc1-cp310-cp310-win_amd64.whl
5db29b5d2c73a05ef7ed2a37a1ca8f9391579c402a57f6e0944daf755cf7d437 numpy-1.26.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
180ef984616afd4d746961ac8c874ddd5d547ba8f7dd8a58c30bde398c95d15c numpy-1.26.0rc1-cp311-cp311-macosx_11_0_arm64.whl
0e3c8d925204ba0aa887244adec030e71003b828d24731f9feb01526aed76458 numpy-1.26.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
01851e82e3256a6c0088e43e69279a0c96214bafa1be326c7a87390d91eb7d44 numpy-1.26.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
26571d9f63f49e7612fcfc4375ad23d6882e951bca335115ce440add1a565556 numpy-1.26.0rc1-cp311-cp311-musllinux_1_1_x86_64.whl
f10ef55f19e6634c10b87c5a7c3687461fe950680ebe16e85c03905bcbf6b205 numpy-1.26.0rc1-cp311-cp311-win_amd64.whl
b28cc269bbdd2b6e005241100a97460fdd574ce495fa0eeda3d290d8fd0c66fa numpy-1.26.0rc1-cp312-cp312-macosx_10_9_x86_64.whl
965fedf11de8b621a20fe7182b95ef9ee76764bc1fc288e5b2cb6e8440372560 numpy-1.26.0rc1-cp312-cp312-macosx_11_0_arm64.whl
2ff5f4f14a772e0f86a250d6db86c4121bc1ce7d788f64053e82638e735bb61b numpy-1.26.0rc1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
290c9be374026e63c6e5f5099a06c2cdfea33ff2935e7f46fcd9a1b38728c80c numpy-1.26.0rc1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d915b8e07e277a443da4525fd36403ca4f14dcb9cd237ab6a9aff73119b71820 numpy-1.26.0rc1-cp312-cp312-musllinux_1_1_x86_64.whl
3042f503964e1e5decacdfd0eeb0ed9eadf9b70ad1a8bb085ee277bd3ddf4362 numpy-1.26.0rc1-cp312-cp312-win_amd64.whl
3080a9ec21470a9b485e92a09baedb5136468d89b2f2a1896a27fa9e36341af2 numpy-1.26.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
dd42d283561d0fe8911ff0576495a09928a3b53de2c5a6d1959e34a393e8ff65 numpy-1.26.0rc1-cp39-cp39-macosx_11_0_arm64.whl
d881436a9b325fa357b7ac32aac0be8c74921ab0f09d47139553e5da23383bc6 numpy-1.26.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
1c6967bfadb4723aa025a8a9870ff554f1b03c428740167ac6616c7df0c9d817 numpy-1.26.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
69580fae06143eb07300d1f1dace92f22dd4d47600e4832bea2b1685d7bc89e9 numpy-1.26.0rc1-cp39-cp39-musllinux_1_1_x86_64.whl
5241d904c9b651183c48b5b7f49e76715d96177def6a7a9bb5aa9e9984000786 numpy-1.26.0rc1-cp39-cp39-win_amd64.whl
6aa0bda5c93d09f8a0253cc902c6dc66de30228c08bd746d4cb4c73d7daee5bc numpy-1.26.0rc1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
b6e353a18acbbd0253115477879fef4253e284891f37d08eeda6bf77556d1534 numpy-1.26.0rc1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
53a6d1f073f8cad9c97a6e7f16eac552475db8246ce379c961edeafb3d0e3152 numpy-1.26.0rc1-pp39-pypy39_pp73-win_amd64.whl
49a8cafece27db51fd9ec78c044546b15b0c9bf95466c57ada9eeae64075c2f8 numpy-1.26.0rc1.tar.gz
- Python
Published by charris over 2 years ago
numpy -
NumPy 1.26.0 Release Notes
The NumPy 1.26.0 release is a continuation of the 1.25.x release cycle with the addition of Python 3.12.0 support. Python 3.12 dropped distutils, consequently supporting it required finding a replacement for the setup.py/distutils based build system NumPy was using. We have chosen to use the Meson build system instead, and this is the first NumPy release supporting it. This is also the first release that supports Cython 3.0 in addition to retaining 0.29.X compatibility. Supporting those two upgrades was a large project, over 100 files have been touched in this release. The changelog doesn\'t capture the full extent of the work, special thanks to Ralf Gommers, Sayed Adel, Stéfan van der Walt, and Matti Picus who did much of the work in the main development branch.
The highlights of this release are:
- Python 3.12.0 support.
- Cython 3.0.0 compatibility.
- Use of the Meson build system
- Updated SIMD support
The Python versions supported in this release are 3.9-3.12.
Build system changes
In this release, NumPy has switched to Meson as the build system and
meson-python as the build backend. Installing NumPy or building a wheel
can be done with standard tools like pip and pypa/build. The
following are supported:
- Regular installs:
pip install numpyor (in a cloned repo)pip install . - Building a wheel:
python -m build(preferred), orpip wheel . - Editable installs:
pip install -e . --no-build-isolation - Development builds through the custom CLI implemented with
spin:
spin build.
All the regular pip and pypa/build flags (e.g.,
--no-build-isolation) should work as expected.
NumPy-specific build customization
Many of the NumPy-specific ways of customizing builds have changed. The
NPY_* environment variables which control BLAS/LAPACK, SIMD,
threading, and other such options are no longer supported, nor is a
site.cfg file to select BLAS and LAPACK. Instead, there are
command-line flags that can be passed to the build via pip/build\'s
config-settings interface. These flags are all listed in the
meson_options.txt file in the root of the repo. Detailed documented
will be available before the final 1.26.0 release; for now please see
the SciPy \"building from source\"docs since most
build customization works in an almost identical way in SciPy as it does
in NumPy.
Build dependencies
While the runtime dependencies of NumPy have not changed, the build
dependencies have. Because we temporarily vendor Meson and meson-python,
there are several new dependencies - please see the [build-system]
section of pyproject.toml for details.
Troubleshooting
This build system change is quite large. In case of unexpected issues,
it is still possible to use a setup.py-based build as a temporary
workaround (on Python 3.9-3.11, not 3.12), by copying
pyproject.toml.setuppy to pyproject.toml. However, please open an
issue with details on the NumPy issue tracker. We aim to phase out
setup.py builds as soon as possible, and therefore would like to see
all potential blockers surfaced early on in the 1.26.0 release cycle.
Contributors
A total of 11 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Bas van Beek
- Charles Harris
- Matti Picus
- Melissa Weber Mendonça
- Ralf Gommers
- Sayed Adel
- Sebastian Berg
- Stefan van der Walt
- Tyler Reddy
- Warren Weckesser
Pull requests merged
A total of 18 pull requests were merged for this release.
- #24305: MAINT: Prepare 1.26.x branch for development
- #24308: MAINT: Massive update of files from main for numpy 1.26
- #24322: CI: fix wheel builds on the 1.26.x branch
- #24326: BLD: update openblas to newer version
- #24327: TYP: Trim down the
_NestedSequence.__getitem__signature - #24328: BUG: fix choose refcount leak
- #24337: TST: fix running the test suite in builds without BLAS/LAPACK
- #24338: BUG: random: Fix generation of nan by dirichlet.
- #24340: MAINT: Dependabot updates from main
- #24342: MAINT: Add back NPYRUNMYPYINTESTSUITE=1
- #24353: MAINT: Update
extbuild.pyfrom main. - #24356: TST: fix distutils tests for deprecations in recent setuptools...
- #24375: MAINT: Update cibuildwheel to version 2.15.0
- #24381: MAINT: Fix codespaces setup.sh script
- #24403: ENH: Vendor meson for multi-target build support
- #24404: BLD: vendor meson-python to make the Windows builds with SIMD...
- #24405: BLD, SIMD: The meson CPU dispatcher implementation
- #24406: MAINT: Remove versioneer
Checksums
MD5
875d02016f215f8ce2513453393f0089 numpy-1.26.0b1-cp310-cp310-macosx_10_9_x86_64.whl
7df1856729096fbbbbb82b58c1695810 numpy-1.26.0b1-cp310-cp310-macosx_11_0_arm64.whl
928037510906572ecadb154b8089853f numpy-1.26.0b1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
93fb7c8a0e7af169c9bf42d8bfa17c2c numpy-1.26.0b1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a865069d224bf3830671de8e1f374344 numpy-1.26.0b1-cp310-cp310-musllinux_1_1_x86_64.whl
c53d1d8cb653fc08bd3f931e4c965430 numpy-1.26.0b1-cp310-cp310-win_amd64.whl
c7e212fbb7e64231747c6c8aac0f8678 numpy-1.26.0b1-cp311-cp311-macosx_10_9_x86_64.whl
f2df03cdaee283c1f7486d2f66e497dd numpy-1.26.0b1-cp311-cp311-macosx_11_0_arm64.whl
8af359b78166474b7a621a482f3073fd numpy-1.26.0b1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4eec2761b87ccd43028697410ed8909d numpy-1.26.0b1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d9f0b03e455e9e99bdbe69e2e729c197 numpy-1.26.0b1-cp311-cp311-musllinux_1_1_x86_64.whl
dd1c5e4492988e2b3641602b295e7de3 numpy-1.26.0b1-cp311-cp311-win_amd64.whl
88e35ab901c8315ccdb172abc0d2350c numpy-1.26.0b1-cp312-cp312-macosx_10_9_x86_64.whl
ad426a4203844eaa8de6b519e94dc2c0 numpy-1.26.0b1-cp312-cp312-macosx_11_0_arm64.whl
2e0e7a297de88cfe930c205b1ab8fdb0 numpy-1.26.0b1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5d4ea12ab53e506a9887ab8a587f68f6 numpy-1.26.0b1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1b3c3a80d2fb928b753545ded60312f3 numpy-1.26.0b1-cp312-cp312-musllinux_1_1_x86_64.whl
e27356122ee42d84f6965ac802792bc3 numpy-1.26.0b1-cp312-cp312-win_amd64.whl
1cc0d71476548fa30c27a542e3c3f9bf numpy-1.26.0b1-cp39-cp39-macosx_10_9_x86_64.whl
ec4882af449c1754cc7af84a82305aed numpy-1.26.0b1-cp39-cp39-macosx_11_0_arm64.whl
142493180019de1ec22c4510bf650366 numpy-1.26.0b1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4a0c76b75fa36c54c0d2a9107c838910 numpy-1.26.0b1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cb4d1c3b95e3a2662f94475b4b525da0 numpy-1.26.0b1-cp39-cp39-musllinux_1_1_x86_64.whl
afa3f60467530e022eb1a584a8c48f84 numpy-1.26.0b1-cp39-cp39-win_amd64.whl
35c77e2f2b25225ae62354f91c26a693 numpy-1.26.0b1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
1986181def7286ae37ced5df7c0ca312 numpy-1.26.0b1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e013942d0d71cb6a680afa89c9aa5259 numpy-1.26.0b1-pp39-pypy39_pp73-win_amd64.whl
3268568cee06327fa34175aa3805829d numpy-1.26.0b1.tar.gz
SHA256
9a74361204dc604ba53916ed55aef0ca73e7aa3d0b7e47e1c28aece8c2ad4f59 numpy-1.26.0b1-cp310-cp310-macosx_10_9_x86_64.whl
ab9e86bb7c9d3e009945b24a92318ff5d8c245e0e0aaaa765825c4561c292d53 numpy-1.26.0b1-cp310-cp310-macosx_11_0_arm64.whl
b0b73599c80b29dfa7f812cb2e8738ce3f058b413e9f2f478e3cc4e038bb8f8e numpy-1.26.0b1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4a6d4c99396c57e02b0181f01ba42b482f327774057e51fb7fb390a130c95cff numpy-1.26.0b1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
02af7482f34aeb9658ece615c922942f1a3908c449a9a6cd9f33fa233ce486d4 numpy-1.26.0b1-cp310-cp310-musllinux_1_1_x86_64.whl
5a8f04e957259ef93a1e4a29da0b64d49ee842af456257bbb7253925cfe2f7bd numpy-1.26.0b1-cp310-cp310-win_amd64.whl
f71e10402e705aaa5908464e489d38e6583c48e40a4721f83195772178c7da9f numpy-1.26.0b1-cp311-cp311-macosx_10_9_x86_64.whl
94d5572fea8dca0fa929da9d17fa49e525ceee1e59b04372dfa5bd8a5f688f5f numpy-1.26.0b1-cp311-cp311-macosx_11_0_arm64.whl
1f88e6fe42b0d6418e53332e525b299762dbd9e33055d2e0398e6298da5b0cc9 numpy-1.26.0b1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c466707e5ce5a44caadb85fd672a5ce0bfc060012df465771e7b10506e1e5dad numpy-1.26.0b1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
16313a28cf703ae722b3ac139809360ffef81a45e758f196e538be3bcbee85c9 numpy-1.26.0b1-cp311-cp311-musllinux_1_1_x86_64.whl
ea85e8e297af49d30830177ecb0c54d1cbca051e4306161f3ceabfa66560b17c numpy-1.26.0b1-cp311-cp311-win_amd64.whl
321a063fabc302931029f831f284cf43c301fdeead1b15df2f8aa87673294d4d numpy-1.26.0b1-cp312-cp312-macosx_10_9_x86_64.whl
dc36a9e8df48b72dad668d6f4036ed477d8bc2cb1f7a23b688e8e8057afdfee3 numpy-1.26.0b1-cp312-cp312-macosx_11_0_arm64.whl
3c6c5804671fa1697e3d0cbc608a65c55794fb6682f4e04e9f6d65d0ddfc47c7 numpy-1.26.0b1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3aa806da215e9c10ba89e9037a69c7a56367e059615679ef1a5cf937eedfbf61 numpy-1.26.0b1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b66135c02ee55f9113dce3c8c5130b5feaead8767cd2c7ad36547a3d5e264230 numpy-1.26.0b1-cp312-cp312-musllinux_1_1_x86_64.whl
87f2799f475e9e7aee69254dfe357975b163d409550d4641a0bca4cb4f64b725 numpy-1.26.0b1-cp312-cp312-win_amd64.whl
2b258f67ca4a8245c74470da66a87684ddb3f06dde98760efc7ca792a44ee254 numpy-1.26.0b1-cp39-cp39-macosx_10_9_x86_64.whl
a31d9109ffed9fc5566e73346a076fffbc7db00e626579ae4d5dfec933b29bfc numpy-1.26.0b1-cp39-cp39-macosx_11_0_arm64.whl
18e29ab806ec5e0b05df900d44b3b257a5901c32fc3ddaeb818c520cd9279b4e numpy-1.26.0b1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
216b47882877ea5272f279c08bf7e42935728f35c6db2e4843b37db7b29ce016 numpy-1.26.0b1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
eea337d6d5ab2b6eb657b3f18e8b57a280f16fb5f94df484d9c1a8d3450d9ae9 numpy-1.26.0b1-cp39-cp39-musllinux_1_1_x86_64.whl
db698c9008217c54a8005ea58bd5836241d7b519c8bb16a698a1b4ec4ca296a8 numpy-1.26.0b1-cp39-cp39-win_amd64.whl
f250b3099649137f1021f8f95a9404273bcb7539f0bef6d6cf2c91260285edc4 numpy-1.26.0b1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
22584a41b1be30543dd8c030affc90d8cb7ec19a56fda7f27fc33f64f8b0fbaa numpy-1.26.0b1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8aefe8ab1228e00146e5ae88290c7fdb8221aef45b357aed7f3dff6ac3b3b25a numpy-1.26.0b1-pp39-pypy39_pp73-win_amd64.whl
c67eea90827e1e9aa220a3fc380ce8776428deba8ac9e7c931ce7b69e8dce115 numpy-1.26.0b1.tar.gz
- Python
Published by charris almost 3 years ago
numpy -
NumPy 1.25.2 Release Notes
NumPy 1.25.2 is a maintenance release that fixes bugs and regressions discovered after the 1.25.1 release. This is the last planned release in the 1.25.x series, the next release will be 1.26.0, which will use the meson build system and support Python 3.12. The Python versions supported by this release are 3.9-3.11.
Contributors
A total of 13 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Aaron Meurer
- Andrew Nelson
- Charles Harris
- Kevin Sheppard
- Matti Picus
- Nathan Goldbaum
- Peter Hawkins
- Ralf Gommers
- Randy Eckenrode +
- Sam James +
- Sebastian Berg
- Tyler Reddy
- dependabot[bot]
Pull requests merged
A total of 19 pull requests were merged for this release.
- #24148: MAINT: prepare 1.25.x for further development
- #24174: ENH: Improve clang-cl compliance
- #24179: MAINT: Upgrade various build dependencies.
- #24182: BLD: use
-ftrapping-mathwith Clang on macOS - #24183: BUG: properly handle negative indexes in ufunc_at fast path
- #24184: BUG: PyObjectIsTrue and PyObjectNot error handling in setflags
- #24185: BUG: histogram small range robust
- #24186: MAINT: Update meson.build files from main branch
- #24234: MAINT: exclude min, max and round from
np.__all__ - #24241: MAINT: Dependabot updates
- #24242: BUG: Fix the signature for np.array_api.take
- #24243: BLD: update OpenBLAS to an intermeidate commit
- #24244: BUG: Fix reference count leak in str(scalar).
- #24245: BUG: fix invalid function pointer conversion error
- #24255: BUG: Factor out slow
getenvcall used for memory policy warning - #24292: CI: correct URL in cirrus.star
- #24293: BUG: Fix C types in scalartypes
- #24294: BUG: do not modify the input to ufunc_at
- #24295: BUG: Further fixes to indexing loop and added tests
Checksums
MD5
33518ccb4da8ee11f1dee4b9fef1e468 numpy-1.25.2-cp310-cp310-macosx_10_9_x86_64.whl
b5cb0c3b33ef6d93ec2888f25b065636 numpy-1.25.2-cp310-cp310-macosx_11_0_arm64.whl
ae027dd38bd73f09c07220b2f516f148 numpy-1.25.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
88cf69dc3c0d293492c4c7e75dccf3d8 numpy-1.25.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3e4e3ad02375ba71ae2cd05ccd97aba4 numpy-1.25.2-cp310-cp310-musllinux_1_1_x86_64.whl
f52bb644682deb26c35ddec77198b65c numpy-1.25.2-cp310-cp310-win32.whl
4944cf36652be7560a6bcd0d5d56e8ea numpy-1.25.2-cp310-cp310-win_amd64.whl
5a56e639defebb7b871c8c5613960ca3 numpy-1.25.2-cp311-cp311-macosx_10_9_x86_64.whl
3988b96944e7218e629255214f2598bd numpy-1.25.2-cp311-cp311-macosx_11_0_arm64.whl
302d65015ddd908a862fb3761a2a0363 numpy-1.25.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e54a2e23272d1c5e5b278bd7e304c948 numpy-1.25.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
961d390e8ccaf11b1b0d6200d2c8b1c0 numpy-1.25.2-cp311-cp311-musllinux_1_1_x86_64.whl
e113865b90f97079d344100c41226fbe numpy-1.25.2-cp311-cp311-win32.whl
834a147aa1adaec97655018b882232bd numpy-1.25.2-cp311-cp311-win_amd64.whl
fb55f93a8033bde854c8a2b994045686 numpy-1.25.2-cp39-cp39-macosx_10_9_x86_64.whl
d96e754217d29bf045e082b695667e62 numpy-1.25.2-cp39-cp39-macosx_11_0_arm64.whl
beab540edebecbb257e482dd9e498b44 numpy-1.25.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e0d608c9e09cd8feba48567586cfefc0 numpy-1.25.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fe1fc32c8bb005ca04b8f10ebdcff6dd numpy-1.25.2-cp39-cp39-musllinux_1_1_x86_64.whl
41df58a9935c8ed869c92307c95f02eb numpy-1.25.2-cp39-cp39-win32.whl
a4371272c64493beb8b04ac46c4c1521 numpy-1.25.2-cp39-cp39-win_amd64.whl
bbe051cbd5f8661dd054277f0b0f0c3d numpy-1.25.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
3f68e6b4af6922989dc0133e37db34ee numpy-1.25.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fc89421b79e8800240999d3a1d06a4d2 numpy-1.25.2-pp39-pypy39_pp73-win_amd64.whl
cee1996a80032d47bdf1d9d17249c34e numpy-1.25.2.tar.gz
SHA256
db3ccc4e37a6873045580d413fe79b68e47a681af8db2e046f1dacfa11f86eb3 numpy-1.25.2-cp310-cp310-macosx_10_9_x86_64.whl
90319e4f002795ccfc9050110bbbaa16c944b1c37c0baeea43c5fb881693ae1f numpy-1.25.2-cp310-cp310-macosx_11_0_arm64.whl
dfe4a913e29b418d096e696ddd422d8a5d13ffba4ea91f9f60440a3b759b0187 numpy-1.25.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f08f2e037bba04e707eebf4bc934f1972a315c883a9e0ebfa8a7756eabf9e357 numpy-1.25.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
bec1e7213c7cb00d67093247f8c4db156fd03075f49876957dca4711306d39c9 numpy-1.25.2-cp310-cp310-musllinux_1_1_x86_64.whl
7dc869c0c75988e1c693d0e2d5b26034644399dd929bc049db55395b1379e044 numpy-1.25.2-cp310-cp310-win32.whl
834b386f2b8210dca38c71a6e0f4fd6922f7d3fcff935dbe3a570945acb1b545 numpy-1.25.2-cp310-cp310-win_amd64.whl
c5462d19336db4560041517dbb7759c21d181a67cb01b36ca109b2ae37d32418 numpy-1.25.2-cp311-cp311-macosx_10_9_x86_64.whl
c5652ea24d33585ea39eb6a6a15dac87a1206a692719ff45d53c5282e66d4a8f numpy-1.25.2-cp311-cp311-macosx_11_0_arm64.whl
0d60fbae8e0019865fc4784745814cff1c421df5afee233db6d88ab4f14655a2 numpy-1.25.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
60e7f0f7f6d0eee8364b9a6304c2845b9c491ac706048c7e8cf47b83123b8dbf numpy-1.25.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
bb33d5a1cf360304754913a350edda36d5b8c5331a8237268c48f91253c3a364 numpy-1.25.2-cp311-cp311-musllinux_1_1_x86_64.whl
5883c06bb92f2e6c8181df7b39971a5fb436288db58b5a1c3967702d4278691d numpy-1.25.2-cp311-cp311-win32.whl
5c97325a0ba6f9d041feb9390924614b60b99209a71a69c876f71052521d42a4 numpy-1.25.2-cp311-cp311-win_amd64.whl
b79e513d7aac42ae918db3ad1341a015488530d0bb2a6abcbdd10a3a829ccfd3 numpy-1.25.2-cp39-cp39-macosx_10_9_x86_64.whl
eb942bfb6f84df5ce05dbf4b46673ffed0d3da59f13635ea9b926af3deb76926 numpy-1.25.2-cp39-cp39-macosx_11_0_arm64.whl
3e0746410e73384e70d286f93abf2520035250aad8c5714240b0492a7302fdca numpy-1.25.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d7806500e4f5bdd04095e849265e55de20d8cc4b661b038957354327f6d9b295 numpy-1.25.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8b77775f4b7df768967a7c8b3567e309f617dd5e99aeb886fa14dc1a0791141f numpy-1.25.2-cp39-cp39-musllinux_1_1_x86_64.whl
2792d23d62ec51e50ce4d4b7d73de8f67a2fd3ea710dcbc8563a51a03fb07b01 numpy-1.25.2-cp39-cp39-win32.whl
76b4115d42a7dfc5d485d358728cdd8719be33cc5ec6ec08632a5d6fca2ed380 numpy-1.25.2-cp39-cp39-win_amd64.whl
1a1329e26f46230bf77b02cc19e900db9b52f398d6722ca853349a782d4cff55 numpy-1.25.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
4c3abc71e8b6edba80a01a52e66d83c5d14433cbcd26a40c329ec7ed09f37901 numpy-1.25.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1b9735c27cea5d995496f46a8b1cd7b408b3f34b6d50459d9ac8fe3a20cc17bf numpy-1.25.2-pp39-pypy39_pp73-win_amd64.whl
fd608e19c8d7c55021dffd43bfe5492fab8cc105cc8986f813f8c3c048b38760 numpy-1.25.2.tar.gz
- Python
Published by charris almost 3 years ago
numpy -
NumPy 1.25.1 Release Notes
NumPy 1.25.1 is a maintenance release that fixes bugs and regressions discovered after the 1.25.0 release. The Python versions supported by this release are 3.9-3.11.
Contributors
A total of 10 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Andrew Nelson
- Charles Harris
- Developer-Ecosystem-Engineering
- Hood Chatham
- Nathan Goldbaum
- Rohit Goswami
- Sebastian Berg
- Tim Paine +
- dependabot[bot]
- matoro +
Pull requests merged
A total of 14 pull requests were merged for this release.
- #23968: MAINT: prepare 1.25.x for further development
- #24036: BLD: Port long double identification to C for meson
- #24037: BUG: Fix reduction
return NULLto begoto fail - #24038: BUG: Avoid undefined behavior in array.astype()
- #24039: BUG: Ensure
__array_ufunc__works without any kwargs passed - #24117: MAINT: Pin urllib3 to avoid anaconda-client bug.
- #24118: TST: Pin pydantic<2 in Pyodide workflow
- #24119: MAINT: Bump pypa/cibuildwheel from 2.13.0 to 2.13.1
- #24120: MAINT: Bump actions/checkout from 3.5.2 to 3.5.3
- #24122: BUG: Multiply or Divides using SIMD without a full vector can...
- #24127: MAINT: testing for IS_MUSL closes #24074
- #24128: BUG: Only replace dtype temporarily if dimensions changed
- #24129: MAINT: Bump actions/setup-node from 3.6.0 to 3.7.0
- #24134: BUG: Fix private procedures in f2py modules
Checksums
MD5
d09d98643db31e892fad11b8c2b7af22 numpy-1.25.1-cp310-cp310-macosx_10_9_x86_64.whl
d5b8d3b0424e2af41018f35a087c4500 numpy-1.25.1-cp310-cp310-macosx_11_0_arm64.whl
1007893b1a8bfd97d445a63d29d33642 numpy-1.25.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6a62d7a6cee310b41dc872aa7f3d7e8b numpy-1.25.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e81f6264aecfa2269c5d29d10c362cbc numpy-1.25.1-cp310-cp310-musllinux_1_1_x86_64.whl
ab8ecd125ca86eac0b3ada67ab66dad6 numpy-1.25.1-cp310-cp310-win32.whl
5466bebeaafcc3d6e1b98858d77ff945 numpy-1.25.1-cp310-cp310-win_amd64.whl
f31b059256ae09b7b83df63f52d8371e numpy-1.25.1-cp311-cp311-macosx_10_9_x86_64.whl
099f74d654888869704469c321af845d numpy-1.25.1-cp311-cp311-macosx_11_0_arm64.whl
20d04dccd2bfca5cfd88780d1dc9a3f8 numpy-1.25.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
61dfd7c00638e83a7af59b86615ee9d2 numpy-1.25.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4eb459c3d9479c4da2fdf20e4c4085d0 numpy-1.25.1-cp311-cp311-musllinux_1_1_x86_64.whl
5e84e797866c68ba65fa89a4bf4ba8ce numpy-1.25.1-cp311-cp311-win32.whl
87bb1633b2e8029dbfa1e59f7ab22625 numpy-1.25.1-cp311-cp311-win_amd64.whl
3fcf2eb5970d848a26abdff1b10228e7 numpy-1.25.1-cp39-cp39-macosx_10_9_x86_64.whl
d71e1cbe18fe05944219e5a5be1796bf numpy-1.25.1-cp39-cp39-macosx_11_0_arm64.whl
5b457e10834c991bca84aae7eaa49f34 numpy-1.25.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5cbb4c2f2892fafdf6f34fcb37c9e743 numpy-1.25.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7d9d1ae23cf5420652088bfe8e048d89 numpy-1.25.1-cp39-cp39-musllinux_1_1_x86_64.whl
7e5bed491b85f0d7c718d6809f9b3ed2 numpy-1.25.1-cp39-cp39-win32.whl
838e97b751bebadf47e2196b2c88ffa2 numpy-1.25.1-cp39-cp39-win_amd64.whl
9ba95d8d6004d9659d7728fe93f67be9 numpy-1.25.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
fbccb20254a2dc85bdec549a03b8eb56 numpy-1.25.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
95e36689e6dd078caf11e7e2a2d5f5f1 numpy-1.25.1-pp39-pypy39_pp73-win_amd64.whl
768d0ebf15e2242f4c7ca7565bb5dd3e numpy-1.25.1.tar.gz
SHA256
77d339465dff3eb33c701430bcb9c325b60354698340229e1dff97745e6b3efa numpy-1.25.1-cp310-cp310-macosx_10_9_x86_64.whl
d736b75c3f2cb96843a5c7f8d8ccc414768d34b0a75f466c05f3a739b406f10b numpy-1.25.1-cp310-cp310-macosx_11_0_arm64.whl
4a90725800caeaa160732d6b31f3f843ebd45d6b5f3eec9e8cc287e30f2805bf numpy-1.25.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6c6c9261d21e617c6dc5eacba35cb68ec36bb72adcff0dee63f8fbc899362588 numpy-1.25.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0def91f8af6ec4bb94c370e38c575855bf1d0be8a8fbfba42ef9c073faf2cf19 numpy-1.25.1-cp310-cp310-musllinux_1_1_x86_64.whl
fd67b306320dcadea700a8f79b9e671e607f8696e98ec255915c0c6d6b818503 numpy-1.25.1-cp310-cp310-win32.whl
c1516db588987450b85595586605742879e50dcce923e8973f79529651545b57 numpy-1.25.1-cp310-cp310-win_amd64.whl
6b82655dd8efeea69dbf85d00fca40013d7f503212bc5259056244961268b66e numpy-1.25.1-cp311-cp311-macosx_10_9_x86_64.whl
e8f6049c4878cb16960fbbfb22105e49d13d752d4d8371b55110941fb3b17800 numpy-1.25.1-cp311-cp311-macosx_11_0_arm64.whl
41a56b70e8139884eccb2f733c2f7378af06c82304959e174f8e7370af112e09 numpy-1.25.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d5154b1a25ec796b1aee12ac1b22f414f94752c5f94832f14d8d6c9ac40bcca6 numpy-1.25.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
38eb6548bb91c421261b4805dc44def9ca1a6eef6444ce35ad1669c0f1a3fc5d numpy-1.25.1-cp311-cp311-musllinux_1_1_x86_64.whl
791f409064d0a69dd20579345d852c59822c6aa087f23b07b1b4e28ff5880fcb numpy-1.25.1-cp311-cp311-win32.whl
c40571fe966393b212689aa17e32ed905924120737194b5d5c1b20b9ed0fb171 numpy-1.25.1-cp311-cp311-win_amd64.whl
3d7abcdd85aea3e6cdddb59af2350c7ab1ed764397f8eec97a038ad244d2d105 numpy-1.25.1-cp39-cp39-macosx_10_9_x86_64.whl
1a180429394f81c7933634ae49b37b472d343cccb5bb0c4a575ac8bbc433722f numpy-1.25.1-cp39-cp39-macosx_11_0_arm64.whl
d412c1697c3853c6fc3cb9751b4915859c7afe6a277c2bf00acf287d56c4e625 numpy-1.25.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
20e1266411120a4f16fad8efa8e0454d21d00b8c7cee5b5ccad7565d95eb42dd numpy-1.25.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f76aebc3358ade9eacf9bc2bb8ae589863a4f911611694103af05346637df1b7 numpy-1.25.1-cp39-cp39-musllinux_1_1_x86_64.whl
247d3ffdd7775bdf191f848be8d49100495114c82c2bd134e8d5d075fb386a1c numpy-1.25.1-cp39-cp39-win32.whl
1d5d3c68e443c90b38fdf8ef40e60e2538a27548b39b12b73132456847f4b631 numpy-1.25.1-cp39-cp39-win_amd64.whl
35a9527c977b924042170a0887de727cd84ff179e478481404c5dc66b4170009 numpy-1.25.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
0d3fe3dd0506a28493d82dc3cf254be8cd0d26f4008a417385cbf1ae95b54004 numpy-1.25.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
012097b5b0d00a11070e8f2e261128c44157a8689f7dedcf35576e525893f4fe numpy-1.25.1-pp39-pypy39_pp73-win_amd64.whl
9a3a9f3a61480cc086117b426a8bd86869c213fc4072e606f01c4e4b66eb92bf numpy-1.25.1.tar.gz
- Python
Published by charris almost 3 years ago
numpy -
NumPy 1.24.4 Release Notes
NumPy 1.24.4 is a maintenance release that fixes a few bugs discovered after the 1.24.3 release. It is the last planned release in the 1.24.x cycle. The Python versions supported by this release are 3.8-3.11.
Contributors
A total of 4 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Bas van Beek
- Charles Harris
- Sebastian Berg
- Hongyang Peng +
Pull requests merged
A total of 6 pull requests were merged for this release.
- #23720: MAINT, BLD: Pin rtools to version 4.0 for Windows builds.
- #23739: BUG: fix the method for checking local files for 1.24.x
- #23760: MAINT: Copy rtools installation from install-rtools.
- #23761: BUG: Fix masked array ravel order for A (and somewhat K)
- #23890: TYP,DOC: Annotate and document the
metadataparameter of... - #23994: MAINT: Update rtools installation
Checksums
MD5
25049e3aee79dde29e7a498d3ad13379 numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl
579b5c357c918feaef4af03af8afb721 numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl
c873a14fa4f0210884db9c05e2904286 numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
110a13ac016286059f0658b52b3646c0 numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fa67218966c0aef4094867cad7703648 numpy-1.24.4-cp310-cp310-win32.whl
6ee768803d8ebac43ee0a04e628a69f9 numpy-1.24.4-cp310-cp310-win_amd64.whl
0c918c16b58cb7f6773ea7d76e0bdaff numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl
20506ae8003faf097c6b3a8915b4140e numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl
902df9d5963e89d88a1939d94207857f numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2543611d802c141c8276e4868b4d9619 numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
37b23a4e4e148d61dd3a515ac5dbf7ec numpy-1.24.4-cp311-cp311-win32.whl
25e9f6bee2b65ff2a87588e717f15165 numpy-1.24.4-cp311-cp311-win_amd64.whl
f39a0cc3655a482af7d300bcaff5978e numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl
9ed27941388fdb392e8969169f3fc600 numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl
dee3f0c7482f1dc8bd1cd27b9b028a2c numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2cc0967af29df3caef9fb3520f14e071 numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8572a3a0973fa78355bcb5f737745b47 numpy-1.24.4-cp38-cp38-win32.whl
771c63f2ef0d31466bbb12362a532265 numpy-1.24.4-cp38-cp38-win_amd64.whl
5713d9dc3dff287fb72121fe1960c48d numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl
4e6718e3b655219a2a733b4fa242ca32 numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl
31487f9a52ef81f8f88ec7fce8738dad numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ea597b30187e55eb16ee31631e66f60d numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
98adbf30c67154056474001c125f6188 numpy-1.24.4-cp39-cp39-win32.whl
49c444b0e572ef45f1d92c106a36004e numpy-1.24.4-cp39-cp39-win_amd64.whl
cdddfdeac437b0f20b4e366f00b5c42e numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
3778338c15628caa3abd61e6f7bd46ec numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e16bd49d5295dc1b01ed50d76229fb54 numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl
3f3995540a17854a29dc79f8eeecd832 numpy-1.24.4.tar.gz
SHA256
c0bfb52d2169d58c1cdb8cc1f16989101639b34c7d3ce60ed70b19c63eba0b64 numpy-1.24.4-cp310-cp310-macosx_10_9_x86_64.whl
ed094d4f0c177b1b8e7aa9cba7d6ceed51c0e569a5318ac0ca9a090680a6a1b1 numpy-1.24.4-cp310-cp310-macosx_11_0_arm64.whl
79fc682a374c4a8ed08b331bef9c5f582585d1048fa6d80bc6c35bc384eee9b4 numpy-1.24.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7ffe43c74893dbf38c2b0a1f5428760a1a9c98285553c89e12d70a96a7f3a4d6 numpy-1.24.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4c21decb6ea94057331e111a5bed9a79d335658c27ce2adb580fb4d54f2ad9bc numpy-1.24.4-cp310-cp310-win32.whl
b4bea75e47d9586d31e892a7401f76e909712a0fd510f58f5337bea9572c571e numpy-1.24.4-cp310-cp310-win_amd64.whl
f136bab9c2cfd8da131132c2cf6cc27331dd6fae65f95f69dcd4ae3c3639c810 numpy-1.24.4-cp311-cp311-macosx_10_9_x86_64.whl
e2926dac25b313635e4d6cf4dc4e51c8c0ebfed60b801c799ffc4c32bf3d1254 numpy-1.24.4-cp311-cp311-macosx_11_0_arm64.whl
222e40d0e2548690405b0b3c7b21d1169117391c2e82c378467ef9ab4c8f0da7 numpy-1.24.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7215847ce88a85ce39baf9e89070cb860c98fdddacbaa6c0da3ffb31b3350bd5 numpy-1.24.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4979217d7de511a8d57f4b4b5b2b965f707768440c17cb70fbf254c4b225238d numpy-1.24.4-cp311-cp311-win32.whl
b7b1fc9864d7d39e28f41d089bfd6353cb5f27ecd9905348c24187a768c79694 numpy-1.24.4-cp311-cp311-win_amd64.whl
1452241c290f3e2a312c137a9999cdbf63f78864d63c79039bda65ee86943f61 numpy-1.24.4-cp38-cp38-macosx_10_9_x86_64.whl
04640dab83f7c6c85abf9cd729c5b65f1ebd0ccf9de90b270cd61935eef0197f numpy-1.24.4-cp38-cp38-macosx_11_0_arm64.whl
a5425b114831d1e77e4b5d812b69d11d962e104095a5b9c3b641a218abcc050e numpy-1.24.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
dd80e219fd4c71fc3699fc1dadac5dcf4fd882bfc6f7ec53d30fa197b8ee22dc numpy-1.24.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4602244f345453db537be5314d3983dbf5834a9701b7723ec28923e2889e0bb2 numpy-1.24.4-cp38-cp38-win32.whl
692f2e0f55794943c5bfff12b3f56f99af76f902fc47487bdfe97856de51a706 numpy-1.24.4-cp38-cp38-win_amd64.whl
2541312fbf09977f3b3ad449c4e5f4bb55d0dbf79226d7724211acc905049400 numpy-1.24.4-cp39-cp39-macosx_10_9_x86_64.whl
9667575fb6d13c95f1b36aca12c5ee3356bf001b714fc354eb5465ce1609e62f numpy-1.24.4-cp39-cp39-macosx_11_0_arm64.whl
f3a86ed21e4f87050382c7bc96571755193c4c1392490744ac73d660e8f564a9 numpy-1.24.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d11efb4dbecbdf22508d55e48d9c8384db795e1b7b51ea735289ff96613ff74d numpy-1.24.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6620c0acd41dbcb368610bb2f4d83145674040025e5536954782467100aa8835 numpy-1.24.4-cp39-cp39-win32.whl
befe2bf740fd8373cf56149a5c23a0f601e82869598d41f8e188a0e9869926f8 numpy-1.24.4-cp39-cp39-win_amd64.whl
31f13e25b4e304632a4619d0e0777662c2ffea99fcae2029556b17d8ff958aef numpy-1.24.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
95f7ac6540e95bc440ad77f56e520da5bf877f87dca58bd095288dce8940532a numpy-1.24.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e98f220aa76ca2a977fe435f5b04d7b3470c0a2e6312907b37ba6068f26787f2 numpy-1.24.4-pp38-pypy38_pp73-win_amd64.whl
80f5e3a4e498641401868df4208b74581206afbee7cf7b8329daae82676d9463 numpy-1.24.4.tar.gz
- Python
Published by charris almost 3 years ago
numpy -
NumPy 1.25.0 Release Notes
The NumPy 1.25.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, and clarify the documentation. There has also been work to prepare for the future NumPy 2.0.0 release, resulting in a large number of new and expired deprecation. Highlights are:
- Support for MUSL, there are now MUSL wheels.
- Support the Fujitsu C/C++ compiler.
- Object arrays are now supported in einsum
- Support for inplace matrix multiplication (
@=).
We will be releasing a NumPy 1.26 when Python 3.12 comes out. That is needed because distutils has been dropped by Python 3.12 and we will be switching to using meson for future builds. The next mainline release will be NumPy 2.0.0. We plan that the 2.0 series will still support downstream projects built against earlier versions of NumPy.
The Python versions supported in this release are 3.9-3.11.
Deprecations
np.core.MachAris deprecated. It is private API. In names defined innp.coreshould generally be considered private.(gh-22638)
np.finfo(None)is deprecated.(gh-23011)
np.round_is deprecated. Usenp.roundinstead.(gh-23302)
np.productis deprecated. Usenp.prodinstead.(gh-23314)
np.cumproductis deprecated. Usenp.cumprodinstead.(gh-23314)
np.sometrueis deprecated. Usenp.anyinstead.(gh-23314)
np.alltrueis deprecated. Usenp.allinstead.(gh-23314)
Only ndim-0 arrays are treated as scalars. NumPy used to treat all arrays of size 1 (e.g.,
np.array([3.14])) as scalars. In the future, this will be limited to arrays of ndim 0 (e.g.,np.array(3.14)). The following expressions will report a deprecation warning:``` python a = np.array([3.14]) float(a) # better: a[0] to get the numpy.float or a.item()
b = np.array([[3.14]]) c = numpy.random.rand(10) c[0] = b # better: c[0] = b[0, 0] ```
(gh-10615)
numpy.find_common_typeis now deprecated and its use should be replaced with eithernumpy.result_typeornumpy.promote_types. Most users leave the secondscalar_typesargument tofind_common_typeas[]in which casenp.result_typeandnp.promote_typesare both faster and more robust. When not usingscalar_typesthe main difference is that the replacement intentionally converts non-native byte-order to native byte order. Further,find_common_typereturnsobjectdtype rather than failing promotion. This leads to differences when the inputs are not all numeric. Importantly, this also happens for e.g. timedelta/datetime for which NumPy promotion rules are currently sometimes surprising.When the
scalar_typesargument is not[]things are more complicated. In most cases, usingnp.result_typeand passing the Python values0,0.0, or0jhas the same result as usingint,float, orcomplexinscalar_types.When
scalar_typesis constructed,np.result_typeis the correct replacement and it may be passed scalar values likenp.float32(0.0). Passing values other than 0, may lead to value-inspecting behavior (whichnp.find_common_typenever used and NEP 50 may change in the future). The main possible change in behavior in this case, is when the array types are signed integers and scalar types are unsigned.If you are unsure about how to replace a use of
scalar_typesor when non-numeric dtypes are likely, please do not hesitate to open a NumPy issue to ask for help.(gh-22539)
Expired deprecations
np.core.macharandnp.finfo.macharhave been removed.(gh-22638)
+arrwill now raise an error when the dtype is not numeric (and positive is undefined).(gh-22998)
A sequence must now be passed into the stacking family of functions (
stack,vstack,hstack,dstackandcolumn_stack).(gh-23019)
np.clipnow defaults to same-kind casting. Falling back to unsafe casting was deprecated in NumPy 1.17.(gh-23403)
np.clipwill now propagatenp.nanvalues passed asminormax. Previously, a scalar NaN was usually ignored. This was deprecated in NumPy 1.17.(gh-23403)
The
np.dualsubmodule has been removed.(gh-23480)
NumPy now always ignores sequence behavior for an array-like (defining one of the array protocols). (Deprecation started NumPy 1.20)
(gh-23660)
The niche
FutureWarningwhen casting to a subarray dtype inastypeor the array creation functions such asasarrayis now finalized. The behavior is now always the same as if the subarray dtype was wrapped into a single field (which was the workaround, previously). (FutureWarning since NumPy 1.20)(gh-23666)
==and!=warnings have been finalized. The==and!=operators on arrays now always:- raise errors that occur during comparisons such as when the
arrays have incompatible shapes
(
np.array([1, 2]) == np.array([1, 2, 3])). return an array of all
Trueor allFalsewhen values are fundamentally not comparable (e.g. have different dtypes). An example isnp.array(["a"]) == np.array([1]).This mimics the Python behavior of returning
FalseandTruewhen comparing incompatible types like"a" == 1and"a" != 1. For a long time these gaveDeprecationWarningorFutureWarning.
(gh-22707)
- raise errors that occur during comparisons such as when the
arrays have incompatible shapes
(
Nose support has been removed. NumPy switched to using pytest in 2018 and nose has been unmaintained for many years. We have kept NumPy\'s nose support to avoid breaking downstream projects who might have been using it and not yet switched to pytest or some other testing framework. With the arrival of Python 3.12, unpatched nose will raise an error. It is time to move on.
Decorators removed:
- raises
- slow
- setastest
- skipif
- knownfailif
- deprecated
- parametrize
- _needs_refcount
These are not to be confused with pytest versions with similar names, e.g., pytest.mark.slow, pytest.mark.skipif, pytest.mark.parametrize.
Functions removed: - Tester - importnose - runmodule_suite
(gh-23041)
The
numpy.testing.utilsshim has been removed. Importing from thenumpy.testing.utilsshim has been deprecated since 2019, the shim has now been removed. All imports should be made directly fromnumpy.testing.(gh-23060)
The environment variable to disable dispatching has been removed. Support for the
NUMPY_EXPERIMENTAL_ARRAY_FUNCTIONenvironment variable has been removed. This variable disabled dispatching with__array_function__.(gh-23376)
Support for
y=as an alias ofout=has been removed. Thefix,isposinfandisneginffunctions allowed usingy=as a (deprecated) alias forout=. This is no longer supported.(gh-23376)
Compatibility notes
The
busday_countmethod now correctly handles cases where thebegindatesis later in time than theenddates. Previously, theenddateswas included, even though the documentation states it is always excluded.(gh-23229)
When comparing datetimes and timedelta using
np.equalornp.not_equalnumpy previously allowed the comparison withcasting="unsafe". This operation now fails. Forcing the output dtype using thedtypekwarg can make the operation succeed, but we do not recommend it.(gh-22707)
When loading data from a file handle using
np.load, if the handle is at the end of file, as can happen when reading multiple arrays by callingnp.loadrepeatedly, numpy previously raisedValueErrorifallow_pickle=False, andOSErrorifallow_pickle=True. Now it raisesEOFErrorinstead, in both cases.(gh-23105)
np.pad with mode=wrap pads with strict multiples of original data
Code based on earlier version of pad that uses mode="wrap" will
return different results when the padding size is larger than initial
array.
np.pad with mode=wrap now always fills the space with strict
multiples of original data even if the padding size is larger than the
initial array.
(gh-22575)
Cython long_t and ulong_t removed
long_t and ulong_t were aliases for longlong_t and ulonglong_t
and confusing (a remainder from of Python 2). This change may lead to
the errors:
'long_t' is not a type identifier
'ulong_t' is not a type identifier
We recommend use of bit-sized types such as cnp.int64_t or the use of
cnp.intp_t which is 32 bits on 32 bit systems and 64 bits on 64 bit
systems (this is most compatible with indexing). If C long is desired,
use plain long or npy_long. cnp.int_t is also long (NumPy\'s
default integer). However, long is 32 bit on 64 bit windows and we may
wish to adjust this even in NumPy. (Please do not hesitate to contact
NumPy developers if you are curious about this.)
(gh-22637)
Changed error message and type for bad axes argument to ufunc
The error message and type when a wrong axes value is passed to
ufunc(..., axes=[...]) has changed. The message is now more
indicative of the problem, and if the value is mismatched an
AxisError will be raised. A TypeError will still be raised for
invalidinput types.
(gh-22675)
Array-likes that define __array_ufunc__ can now override ufuncs if used as where
If the where keyword argument of a numpy.ufunc{.interpreted-text
role="class"} is a subclass of numpy.ndarray{.interpreted-text
role="class"} or is a duck type that defines
numpy.class.__array_ufunc__{.interpreted-text role="func"} it can
override the behavior of the ufunc using the same mechanism as the input
and output arguments. Note that for this to work properly, the
where.__array_ufunc__ implementation will have to unwrap the where
argument to pass it into the default implementation of the ufunc or,
for numpy.ndarray{.interpreted-text role="class"} subclasses before
using super().__array_ufunc__.
(gh-23240)
Compiling against the NumPy C API is now backwards compatible by default
NumPy now defaults to exposing a backwards compatible subset of the
C-API. This makes the use of oldest-supported-numpy unnecessary.
Libraries can override the default minimal version to be compatible with
using:
#define NPY_TARGET_VERSION NPY_1_22_API_VERSION
before including NumPy or by passing the equivalent -D option to the
compiler. The NumPy 1.25 default is NPY_1_19_API_VERSION. Because the
NumPy 1.19 C API was identical to the NumPy 1.16 one resulting programs
will be compatible with NumPy 1.16 (from a C-API perspective). This
default will be increased in future non-bugfix releases. You can still
compile against an older NumPy version and run on a newer one.
For more details please see
for-downstream-package-authors{.interpreted-text role="ref"}.
(gh-23528)
New Features
np.einsum now accepts arrays with object dtype
The code path will call python operators on object dtype arrays, much
like np.dot and np.matmul.
(gh-18053)
Add support for inplace matrix multiplication
It is now possible to perform inplace matrix multiplication via the @=
operator.
``` python
import numpy as np
a = np.arange(6).reshape(3, 2) print(a) [[0 1] [2 3] [4 5]]
b = np.ones((2, 2), dtype=int) a @= b print(a) [[1 1] [5 5] [9 9]] ```
(gh-21120)
Added NPY_ENABLE_CPU_FEATURES environment variable
Users may now choose to enable only a subset of the built CPU features
at runtime by specifying the NPY_ENABLE_CPU_FEATURES
environment variable. Note that these specified features must be outside
the baseline, since those are always assumed. Errors will be raised if
attempting to enable a feature that is either not supported by your CPU,
or that NumPy was not built with.
(gh-22137)
NumPy now has an np.exceptions namespace
NumPy now has a dedicated namespace making most exceptions and warnings available. All of these remain available in the main namespace, although some may be moved slowly in the future. The main reason for this is to increase discoverability and add future exceptions.
(gh-22644)
np.linalg functions return NamedTuples
np.linalg functions that return tuples now return namedtuples. These
functions are eig(), eigh(), qr(), slogdet(), and svd(). The
return type is unchanged in instances where these functions return
non-tuples with certain keyword arguments (like
svd(compute_uv=False)).
(gh-22786)
String functions in np.char are compatible with NEP 42 custom dtypes
Custom dtypes that represent unicode strings or byte strings can now be
passed to the string functions in np.char.
(gh-22863)
String dtype instances can be created from the string abstract dtype classes
It is now possible to create a string dtype instance with a size without
using the string name of the dtype. For example,
type(np.dtype('U'))(8) will create a dtype that is equivalent to
np.dtype('U8'). This feature is most useful when writing generic code
dealing with string dtype classes.
(gh-22963)
Fujitsu C/C++ compiler is now supported
Support for Fujitsu compiler has been added. To build with Fujitsu compiler, run:
python setup.py build -c fujitsu
SSL2 is now supported
Support for SSL2 has been added. SSL2 is a library that provides OpenBLAS compatible GEMM functions. To enable SSL2, it need to edit site.cfg and build with Fujitsu compiler. See site.cfg.example.
(gh-22982)
Improvements
NDArrayOperatorsMixin specifies that it has no __slots__
The NDArrayOperatorsMixin class now specifies that it contains no
__slots__, ensuring that subclasses can now make use of this feature
in Python.
(gh-23113)
Fix power of complex zero
np.power now returns a different result for 0^{non-zero} for complex
numbers. Note that the value is only defined when the real part of the
exponent is larger than zero. Previously, NaN was returned unless the
imaginary part was strictly zero. The return value is either 0+0j or
0-0j.
(gh-18535)
New DTypePromotionError
NumPy now has a new DTypePromotionError which is used when two dtypes
cannot be promoted to a common one, for example:
np.result_type("M8[s]", np.complex128)
raises this new exception.
(gh-22707)
np.show_config uses information from Meson
Build and system information now contains information from Meson.
np.show_config now has a new optional parameter mode to
help customize the output.
(gh-22769)
Fix np.ma.diff not preserving the mask when called with arguments prepend/append.
Calling np.ma.diff with arguments prepend and/or append now returns a
MaskedArray with the input mask preserved.
Previously, a MaskedArray without the mask was returned.
(gh-22776)
Corrected error handling for NumPy C-API in Cython
Many NumPy C functions defined for use in Cython were lacking the
correct error indicator like except -1 or except *. These have now
been added.
(gh-22997)
Ability to directly spawn random number generators
numpy.random.Generator.spawn now allows to directly spawn new independent
child generators via the numpy.random.SeedSequence.spawn mechanism.
numpy.random.BitGenerator.spawn does the same for the underlying bit
generator.
Additionally, numpy.random.BitGenerator.seed_seq now gives
direct access to the seed sequence used for initializing the bit
generator. This allows for example:
seed = 0x2e09b90939db40c400f8f22dae617151
rng = np.random.default_rng(seed)
child_rng1, child_rng2 = rng.spawn(2)
# safely use rng, child_rng1, and child_rng2
Previously, this was hard to do without passing the SeedSequence
explicitly. Please see numpy.random.SeedSequence for more
information.
(gh-23195)
numpy.logspace now supports a non-scalar base argument
The base argument of numpy.logspace can now be array-like if it is
broadcastable against the start and stop arguments.
(gh-23275)
np.ma.dot() now supports for non-2d arrays
Previously np.ma.dot() only worked if a and b were both 2d. Now it
works for non-2d arrays as well as np.dot().
(gh-23322)
Explicitly show keys of .npz file in repr
NpzFile shows keys of loaded .npz file when printed.
``` python
npzfile = np.load('arr.npz') npzfile NpzFile 'arr.npz' with keys arr0, arr1, arr2, arr3, arr_4... ```
(gh-23357)
NumPy now exposes DType classes in np.dtypes
The new numpy.dtypes module now exposes DType classes and will contain
future dtype related functionality. Most users should have no need to
use these classes directly.
(gh-23358)
Drop dtype metadata before saving in .npy or .npz files
Currently, a *.npy file containing a table with a dtype with metadata cannot
be read back. Now, np.save and np.savez drop metadata before saving.
(gh-23371)
numpy.lib.recfunctions.structured_to_unstructured returns views in more cases
structured_to_unstructured now returns a view, if the stride between
the fields is constant. Prior, padding between the fields or a reversed
field would lead to a copy. This change only applies to ndarray,
memmap and recarray. For all other array subclasses, the behavior
remains unchanged.
(gh-23652)
Signed and unsigned integers always compare correctly
When uint64 and int64 are mixed in NumPy, NumPy typically promotes
both to float64. This behavior may be argued about but is confusing
for comparisons ==, <=, since the results returned can be incorrect
but the conversion is hidden since the result is a boolean. NumPy will
now return the correct results for these by avoiding the cast to float.
(gh-23713)
Performance improvements and changes
Faster np.argsort on AVX-512 enabled processors
32-bit and 64-bit quicksort algorithm for np.argsort gain up to 6x speed up on processors that support AVX-512 instruction set.
Thanks to Intel corporation for sponsoring this work.
(gh-23707)
Faster np.sort on AVX-512 enabled processors
Quicksort for 16-bit and 64-bit dtypes gain up to 15x and 9x speed up on processors that support AVX-512 instruction set.
Thanks to Intel corporation for sponsoring this work.
(gh-22315)
__array_function__ machinery is now much faster
The overhead of the majority of functions in NumPy is now smaller especially when keyword arguments are used. This change significantly speeds up many simple function calls.
(gh-23020)
ufunc.at can be much faster
Generic ufunc.at can be up to 9x faster. The conditions for this
speedup:
- operands are aligned
- no casting
If ufuncs with appropriate indexed loops on 1d arguments with the above
conditions, ufunc.at can be up to 60x faster (an additional 7x
speedup). Appropriate indexed loops have been added to add,
subtract, multiply, floor_divide, maximum, minimum, fmax,
and fmin.
The internal logic is similar to the logic used for regular ufuncs, which also have fast paths.
Thanks to the D. E. Shaw group for sponsoring this work.
(gh-23136)
Faster membership test on NpzFile
Membership test on NpzFile will no longer decompress the archive if it
is successful.
(gh-23661)
Changes
np.r_[] and np.c_[] with certain scalar values
In rare cases, using mainly np.r_ with scalars can lead to different
results. The main potential changes are highlighted by the following:
>>> np.r_[np.arange(5, dtype=np.uint8), -1].dtype
int16 # rather than the default integer (int64 or int32)
>>> np.r_[np.arange(5, dtype=np.int8), 255]
array([ 0, 1, 2, 3, 4, 255], dtype=int16)
Where the second example returned:
array([ 0, 1, 2, 3, 4, -1], dtype=int8)
The first one is due to a signed integer scalar with an unsigned integer
array, while the second is due to 255 not fitting into int8 and
NumPy currently inspecting values to make this work. (Note that the
second example is expected to change in the future due to
NEP 50 <NEP50>{.interpreted-text role="ref"}; it will then raise an
error.)
(gh-22539)
Most NumPy functions are wrapped into a C-callable
To speed up the __array_function__ dispatching, most NumPy functions
are now wrapped into C-callables and are not proper Python functions or
C methods. They still look and feel the same as before (like a Python
function), and this should only improve performance and user experience
(cleaner tracebacks). However, please inform the NumPy developers if
this change confuses your program for some reason.
(gh-23020)
C++ standard library usage
NumPy builds now depend on the C++ standard library, because the
numpy.core._multiarray_umath extension is linked with the C++ linker.
(gh-23601)
Checksums
MD5
4657f046d9d9d62e4baeae9b2cc1b4ea numpy-1.25.0-cp310-cp310-macosx_10_9_x86_64.whl
f57f98fee3da2d98f752f755a880a508 numpy-1.25.0-cp310-cp310-macosx_11_0_arm64.whl
72b0ad52f96a41a7a82f511cb35c7ef1 numpy-1.25.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a61227341b8903fa66ab0e0fdaa15430 numpy-1.25.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
bfccabfbd866c59545ce11ecdac60701 numpy-1.25.0-cp310-cp310-musllinux_1_1_x86_64.whl
22402904f194376b8d2de01481f04b03 numpy-1.25.0-cp310-cp310-win32.whl
e983b193f7d63568eac85d8bda8be62e numpy-1.25.0-cp310-cp310-win_amd64.whl
5f6477db172f59a4fd7f591e1007e632 numpy-1.25.0-cp311-cp311-macosx_10_9_x86_64.whl
6a85cca47af69e3d45b4efab9490af4d numpy-1.25.0-cp311-cp311-macosx_11_0_arm64.whl
ad1c0b4b406c9a2f1b42792502bc456b numpy-1.25.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
39e241f265611a9c1e89499054ead1c9 numpy-1.25.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e36b37acf1acfbc185face67c67bfe09 numpy-1.25.0-cp311-cp311-musllinux_1_1_x86_64.whl
67862d7849b4f0f943760142f1628aed numpy-1.25.0-cp311-cp311-win32.whl
6e8ed7865792246cac2213bad404f4da numpy-1.25.0-cp311-cp311-win_amd64.whl
25e843425697364f50dd7288ff9d2ce1 numpy-1.25.0-cp39-cp39-macosx_10_9_x86_64.whl
58641e53bcb1e13dfed1f5af1aff94bc numpy-1.25.0-cp39-cp39-macosx_11_0_arm64.whl
ce15327793c39beecee8401356bc6c9b numpy-1.25.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
34b734a2c7698d59954c29fe7c0536f3 numpy-1.25.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6652d9df23c84e54466b10f4a2a290be numpy-1.25.0-cp39-cp39-musllinux_1_1_x86_64.whl
c228105e3c4c8887823d99e35eea9d2b numpy-1.25.0-cp39-cp39-win32.whl
1322210ae6a874293d13c4bb3abf24ee numpy-1.25.0-cp39-cp39-win_amd64.whl
dc36096628e65077c2a44c493606c668 numpy-1.25.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
942b4276f8d563efb111921d5995834c numpy-1.25.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0fa0734a8ff952dd643e7b9826168099 numpy-1.25.0-pp39-pypy39_pp73-win_amd64.whl
b236497153bc19b4a560ac485e4c2754 numpy-1.25.0.tar.gz
SHA256
8aa130c3042052d656751df5e81f6d61edff3e289b5994edcf77f54118a8d9f4 numpy-1.25.0-cp310-cp310-macosx_10_9_x86_64.whl
9e3f2b96e3b63c978bc29daaa3700c028fe3f049ea3031b58aa33fe2a5809d24 numpy-1.25.0-cp310-cp310-macosx_11_0_arm64.whl
d6b267f349a99d3908b56645eebf340cb58f01bd1e773b4eea1a905b3f0e4208 numpy-1.25.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4aedd08f15d3045a4e9c648f1e04daca2ab1044256959f1f95aafeeb3d794c16 numpy-1.25.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6d183b5c58513f74225c376643234c369468e02947b47942eacbb23c1671f25d numpy-1.25.0-cp310-cp310-musllinux_1_1_x86_64.whl
d76a84998c51b8b68b40448ddd02bd1081bb33abcdc28beee6cd284fe11036c6 numpy-1.25.0-cp310-cp310-win32.whl
c0dc071017bc00abb7d7201bac06fa80333c6314477b3d10b52b58fa6a6e38f6 numpy-1.25.0-cp310-cp310-win_amd64.whl
4c69fe5f05eea336b7a740e114dec995e2f927003c30702d896892403df6dbf0 numpy-1.25.0-cp311-cp311-macosx_10_9_x86_64.whl
9c7211d7920b97aeca7b3773a6783492b5b93baba39e7c36054f6e749fc7490c numpy-1.25.0-cp311-cp311-macosx_11_0_arm64.whl
ecc68f11404930e9c7ecfc937aa423e1e50158317bf67ca91736a9864eae0232 numpy-1.25.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e559c6afbca484072a98a51b6fa466aae785cfe89b69e8b856c3191bc8872a82 numpy-1.25.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6c284907e37f5e04d2412950960894b143a648dea3f79290757eb878b91acbd1 numpy-1.25.0-cp311-cp311-musllinux_1_1_x86_64.whl
95367ccd88c07af21b379be1725b5322362bb83679d36691f124a16357390153 numpy-1.25.0-cp311-cp311-win32.whl
b76aa836a952059d70a2788a2d98cb2a533ccd46222558b6970348939e55fc24 numpy-1.25.0-cp311-cp311-win_amd64.whl
b792164e539d99d93e4e5e09ae10f8cbe5466de7d759fc155e075237e0c274e4 numpy-1.25.0-cp39-cp39-macosx_10_9_x86_64.whl
7cd981ccc0afe49b9883f14761bb57c964df71124dcd155b0cba2b591f0d64b9 numpy-1.25.0-cp39-cp39-macosx_11_0_arm64.whl
5aa48bebfb41f93043a796128854b84407d4df730d3fb6e5dc36402f5cd594c0 numpy-1.25.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5177310ac2e63d6603f659fadc1e7bab33dd5a8db4e0596df34214eeab0fee3b numpy-1.25.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0ac6edfb35d2a99aaf102b509c8e9319c499ebd4978df4971b94419a116d0790 numpy-1.25.0-cp39-cp39-musllinux_1_1_x86_64.whl
7412125b4f18aeddca2ecd7219ea2d2708f697943e6f624be41aa5f8a9852cc4 numpy-1.25.0-cp39-cp39-win32.whl
26815c6c8498dc49d81faa76d61078c4f9f0859ce7817919021b9eba72b425e3 numpy-1.25.0-cp39-cp39-win_amd64.whl
5b1b90860bf7d8a8c313b372d4f27343a54f415b20fb69dd601b7efe1029c91e numpy-1.25.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
85cdae87d8c136fd4da4dad1e48064d700f63e923d5af6c8c782ac0df8044542 numpy-1.25.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cc3fda2b36482891db1060f00f881c77f9423eead4c3579629940a3e12095fe8 numpy-1.25.0-pp39-pypy39_pp73-win_amd64.whl
f1accae9a28dc3cda46a91de86acf69de0d1b5f4edd44a9b0c3ceb8036dfff19 numpy-1.25.0.tar.gz
- Python
Published by charris almost 3 years ago
numpy -
NumPy 1.24.3 Release Notes
NumPy 1.24.3 is a maintenance release that fixes bugs and regressions discovered after the 1.24.2 release. The Python versions supported by this release are 3.8-3.11.
Contributors
A total of 12 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Aleksei Nikiforov +
- Alexander Heger
- Bas van Beek
- Bob Eldering
- Brock Mendel
- Charles Harris
- Kyle Sunden
- Peter Hawkins
- Rohit Goswami
- Sebastian Berg
- Warren Weckesser
- dependabot[bot]
Pull requests merged
A total of 17 pull requests were merged for this release.
- #23206: BUG: fix for f2py string scalars (#23194)
- #23207: BUG: datetime64/timedelta64 comparisons return NotImplemented
- #23208: MAINT: Pin matplotlib to version 3.6.3 for refguide checks
- #23221: DOC: Fix matplotlib error in documentation
- #23226: CI: Ensure submodules are initialized in gitpod.
- #23341: TYP: Replace duplicate reduce in ufunc type signature with reduceat.
- #23342: TYP: Remove duplicate CLIP/WRAP/RAISE in
__init__.pyi. - #23343: TYP: Mark
dargument to fftfreq and rfftfreq as optional... - #23344: TYP: Add type annotations for comparison operators to MaskedArray.
- #23345: TYP: Remove some stray type-check-only imports of
msort - #23370: BUG: Ensure like is only stripped for
like=dispatched functions - #23543: BUG: fix loading and storing big arrays on s390x
- #23544: MAINT: Bump larsoner/circleci-artifacts-redirector-action
- #23634: BUG: Ignore invalid and overflow warnings in masked setitem
- #23635: BUG: Fix masked array raveling when
order="A"ororder="K" - #23636: MAINT: Update conftest for newer hypothesis versions
- #23637: BUG: Fix bug in parsing F77 style string arrays.
Checksums
MD5
93a3ce07e3773842c54d831f18e3eb8d numpy-1.24.3-cp310-cp310-macosx_10_9_x86_64.whl
39691ff3d1612438dfcd3266c9765aab numpy-1.24.3-cp310-cp310-macosx_11_0_arm64.whl
a99234799a239e7e9c6fa15c212996df numpy-1.24.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3673aa638746851dd19d5199e1eb3a91 numpy-1.24.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3c72962360bcd0938a6bddee6cdca766 numpy-1.24.3-cp310-cp310-win32.whl
a3329efa646012fa4ee06ce5e08eadaf numpy-1.24.3-cp310-cp310-win_amd64.whl
5323fb0323d1ec10ee3c35a2fa79cbcd numpy-1.24.3-cp311-cp311-macosx_10_9_x86_64.whl
cfa001dcd07cdf6414ced433e88959d4 numpy-1.24.3-cp311-cp311-macosx_11_0_arm64.whl
d75bbfb06ed00d04232dce0e865eb42c numpy-1.24.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fe18b810bcf284572467ce585dbc533b numpy-1.24.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e97699a4ef96a81e0916bdf15440abe0 numpy-1.24.3-cp311-cp311-win32.whl
e6de5b7d77dc43ed47f516eb10bbe8b6 numpy-1.24.3-cp311-cp311-win_amd64.whl
dd04ebf441a8913f4900b56e7a33a75e numpy-1.24.3-cp38-cp38-macosx_10_9_x86_64.whl
e47ac5521b0bfc3effb040072d8a7902 numpy-1.24.3-cp38-cp38-macosx_11_0_arm64.whl
7b7dae3309e7ca8a8859633a5d337431 numpy-1.24.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8cc87b88163ed84e70c48fd0f5f8f20e numpy-1.24.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
350934bae971d0ebe231a59b640069db numpy-1.24.3-cp38-cp38-win32.whl
c4708ef009bb5d427ea94a4fc4a10e12 numpy-1.24.3-cp38-cp38-win_amd64.whl
44b08a293a4e12d62c27b8f15ba5664e numpy-1.24.3-cp39-cp39-macosx_10_9_x86_64.whl
3ae7ac30f86c720e42b2324a0ae1adf5 numpy-1.24.3-cp39-cp39-macosx_11_0_arm64.whl
065464a8d918c670c7863d1e72e3e6dd numpy-1.24.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
1f163b9ea417c253e84480aa8d99dee6 numpy-1.24.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c86e648389e333e062bea11c749b9a32 numpy-1.24.3-cp39-cp39-win32.whl
bfe332e577c604d6d62a57381e6aa0a6 numpy-1.24.3-cp39-cp39-win_amd64.whl
374695eeef5aca32a5b7f2f518dd3ba1 numpy-1.24.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
6abd9dba54405182e6e7bb32dbe377bb numpy-1.24.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0848bd41c08dd5ebbc5a7f0788678e0e numpy-1.24.3-pp38-pypy38_pp73-win_amd64.whl
89e5e2e78407032290ae6acf6dcaea46 numpy-1.24.3.tar.gz
SHA256
3c1104d3c036fb81ab923f507536daedc718d0ad5a8707c6061cdfd6d184e570 numpy-1.24.3-cp310-cp310-macosx_10_9_x86_64.whl
202de8f38fc4a45a3eea4b63e2f376e5f2dc64ef0fa692838e31a808520efaf7 numpy-1.24.3-cp310-cp310-macosx_11_0_arm64.whl
8535303847b89aa6b0f00aa1dc62867b5a32923e4d1681a35b5eef2d9591a463 numpy-1.24.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2d926b52ba1367f9acb76b0df6ed21f0b16a1ad87c6720a1121674e5cf63e2b6 numpy-1.24.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f21c442fdd2805e91799fbe044a7b999b8571bb0ab0f7850d0cb9641a687092b numpy-1.24.3-cp310-cp310-win32.whl
ab5f23af8c16022663a652d3b25dcdc272ac3f83c3af4c02eb8b824e6b3ab9d7 numpy-1.24.3-cp310-cp310-win_amd64.whl
9a7721ec204d3a237225db3e194c25268faf92e19338a35f3a224469cb6039a3 numpy-1.24.3-cp311-cp311-macosx_10_9_x86_64.whl
d6cc757de514c00b24ae8cf5c876af2a7c3df189028d68c0cb4eaa9cd5afc2bf numpy-1.24.3-cp311-cp311-macosx_11_0_arm64.whl
76e3f4e85fc5d4fd311f6e9b794d0c00e7002ec122be271f2019d63376f1d385 numpy-1.24.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a1d3c026f57ceaad42f8231305d4653d5f05dc6332a730ae5c0bea3513de0950 numpy-1.24.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c91c4afd8abc3908e00a44b2672718905b8611503f7ff87390cc0ac3423fb096 numpy-1.24.3-cp311-cp311-win32.whl
5342cf6aad47943286afa6f1609cad9b4266a05e7f2ec408e2cf7aea7ff69d80 numpy-1.24.3-cp311-cp311-win_amd64.whl
7776ea65423ca6a15255ba1872d82d207bd1e09f6d0894ee4a64678dd2204078 numpy-1.24.3-cp38-cp38-macosx_10_9_x86_64.whl
ae8d0be48d1b6ed82588934aaaa179875e7dc4f3d84da18d7eae6eb3f06c242c numpy-1.24.3-cp38-cp38-macosx_11_0_arm64.whl
ecde0f8adef7dfdec993fd54b0f78183051b6580f606111a6d789cd14c61ea0c numpy-1.24.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4749e053a29364d3452c034827102ee100986903263e89884922ef01a0a6fd2f numpy-1.24.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d933fabd8f6a319e8530d0de4fcc2e6a61917e0b0c271fded460032db42a0fe4 numpy-1.24.3-cp38-cp38-win32.whl
56e48aec79ae238f6e4395886b5eaed058abb7231fb3361ddd7bfdf4eed54289 numpy-1.24.3-cp38-cp38-win_amd64.whl
4719d5aefb5189f50887773699eaf94e7d1e02bf36c1a9d353d9f46703758ca4 numpy-1.24.3-cp39-cp39-macosx_10_9_x86_64.whl
0ec87a7084caa559c36e0a2309e4ecb1baa03b687201d0a847c8b0ed476a7187 numpy-1.24.3-cp39-cp39-macosx_11_0_arm64.whl
ea8282b9bcfe2b5e7d491d0bf7f3e2da29700cec05b49e64d6246923329f2b02 numpy-1.24.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
210461d87fb02a84ef243cac5e814aad2b7f4be953b32cb53327bb49fd77fbb4 numpy-1.24.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
784c6da1a07818491b0ffd63c6bbe5a33deaa0e25a20e1b3ea20cf0e43f8046c numpy-1.24.3-cp39-cp39-win32.whl
d5036197ecae68d7f491fcdb4df90082b0d4960ca6599ba2659957aafced7c17 numpy-1.24.3-cp39-cp39-win_amd64.whl
352ee00c7f8387b44d19f4cada524586f07379c0d49270f87233983bc5087ca0 numpy-1.24.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
1a7d6acc2e7524c9955e5c903160aa4ea083736fde7e91276b0e5d98e6332812 numpy-1.24.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
35400e6a8d102fd07c71ed7dcadd9eb62ee9a6e84ec159bd48c28235bbb0f8e4 numpy-1.24.3-pp38-pypy38_pp73-win_amd64.whl
ab344f1bf21f140adab8e47fdbc7c35a477dc01408791f8ba00d018dd0bc5155 numpy-1.24.3.tar.gz
- Python
Published by charris about 3 years ago
numpy -
NumPy 1.24.2 Release Notes
NumPy 1.24.2 is a maintenance release that fixes bugs and regressions discovered after the 1.24.1 release. The Python versions supported by this release are 3.8-3.11.
Contributors
A total of 14 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Bas van Beek
- Charles Harris
- Khem Raj +
- Mark Harfouche
- Matti Picus
- Panagiotis Zestanakis +
- Peter Hawkins
- Pradipta Ghosh
- Ross Barnowski
- Sayed Adel
- Sebastian Berg
- Syam Gadde +
- dmbelov +
- pkubaj +
Pull requests merged
A total of 17 pull requests were merged for this release.
- #22965: MAINT: Update python 3.11-dev to 3.11.
- #22966: DOC: Remove dangling deprecation warning
- #22967: ENH: Detect CPU features on FreeBSD/powerpc64*
- #22968: BUG: np.loadtxt cannot load text file with quoted fields separated...
- #22969: TST: Add fixture to avoid issue with randomizing test order.
- #22970: BUG: Fix fill violating read-only flag. (#22959)
- #22971: MAINT: Add additional information to missing scalar AttributeError
- #22972: MAINT: Move export for scipy arm64 helper into main module
- #22976: BUG, SIMD: Fix spurious invalid exception for sin/cos on arm64/clang
- #22989: BUG: Ensure correct loop order in sin, cos, and arctan2
- #23030: DOC: Add version added information for the strict parameter in...
- #23031: BUG: use
_Alignofrather thanoffsetof()on most compilers - #23147: BUG: Fix for npyv__truncs32f32 (VXE)
- #23148: BUG: Fix integer / float scalar promotion
- #23149: BUG: Add missing <type_traits> header.
- #23150: TYP, MAINT: Add a missing explicit
Anyparameter to thenpt.ArrayLike... - #23161: BLD: remove redundant definition of npy_nextafter [wheel build]
Checksums
MD5
73fe0b507f56c0baf43171a76ad2003f numpy-1.24.2-cp310-cp310-macosx_10_9_x86_64.whl
2dbbe6f8a14e14978d24de9fcc8b49fe numpy-1.24.2-cp310-cp310-macosx_11_0_arm64.whl
9ddadbf9cac2742318d8b292cb9ca579 numpy-1.24.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
969f4f33baaff53dbbbaf1a146c43534 numpy-1.24.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6df575dff02feac835d22debb15d190e numpy-1.24.2-cp310-cp310-win32.whl
2f939228a8c33265f2a8a1fce349d6f1 numpy-1.24.2-cp310-cp310-win_amd64.whl
c093e61421be01ffff435387839949f1 numpy-1.24.2-cp311-cp311-macosx_10_9_x86_64.whl
03d71e3d9a086b56837c461fd7c9188b numpy-1.24.2-cp311-cp311-macosx_11_0_arm64.whl
c0dc33697d156e2b9a029095efeb1b10 numpy-1.24.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
13b57957a1f40e13f8826d14b031a6fe numpy-1.24.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5afd966db0b59655618c1859d98d87f6 numpy-1.24.2-cp311-cp311-win32.whl
e0b850f9c20871cd65ecb35235688f4d numpy-1.24.2-cp311-cp311-win_amd64.whl
9a30452135ab0387b8ea9007e94e9f81 numpy-1.24.2-cp38-cp38-macosx_10_9_x86_64.whl
bdd6eede4524a230574b37e1f631f2c0 numpy-1.24.2-cp38-cp38-macosx_11_0_arm64.whl
4f930a9030d77d45a1cb6f374c91fb53 numpy-1.24.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e77155c010f9dd63ea2815579a28c503 numpy-1.24.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1a45f4373945eaeabeaa4020ce04e8fd numpy-1.24.2-cp38-cp38-win32.whl
66e93d70fad16b4ccb4531e31aad36e3 numpy-1.24.2-cp38-cp38-win_amd64.whl
93a4984da83c6811367d3daf709ed25c numpy-1.24.2-cp39-cp39-macosx_10_9_x86_64.whl
e0281b96c490ba00f1382eb3984b4e51 numpy-1.24.2-cp39-cp39-macosx_11_0_arm64.whl
ce97d81e4ae6e10241d471492391b1be numpy-1.24.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0c0ea440190705f98abeaa856e7da690 numpy-1.24.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c25f7fbb185f1b8f7761bc22082d9939 numpy-1.24.2-cp39-cp39-win32.whl
7705c6b0bcf22b5e64cf248144b2f554 numpy-1.24.2-cp39-cp39-win_amd64.whl
07b6361e36e0093b580dc05799b1f03d numpy-1.24.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
4c1466ae486b39d1a35aacb46256ec1e numpy-1.24.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4fea9d95e0489d06c3a24a87697d2fc0 numpy-1.24.2-pp38-pypy38_pp73-win_amd64.whl
c4212a8da1ecf17ece37e2afd0319806 numpy-1.24.2.tar.gz
SHA256
eef70b4fc1e872ebddc38cddacc87c19a3709c0e3e5d20bf3954c147b1dd941d numpy-1.24.2-cp310-cp310-macosx_10_9_x86_64.whl
e8d2859428712785e8a8b7d2b3ef0a1d1565892367b32f915c4a4df44d0e64f5 numpy-1.24.2-cp310-cp310-macosx_11_0_arm64.whl
6524630f71631be2dabe0c541e7675db82651eb998496bbe16bc4f77f0772253 numpy-1.24.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a51725a815a6188c662fb66fb32077709a9ca38053f0274640293a14fdd22978 numpy-1.24.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2620e8592136e073bd12ee4536149380695fbe9ebeae845b81237f986479ffc9 numpy-1.24.2-cp310-cp310-win32.whl
97cf27e51fa078078c649a51d7ade3c92d9e709ba2bfb97493007103c741f1d0 numpy-1.24.2-cp310-cp310-win_amd64.whl
7de8fdde0003f4294655aa5d5f0a89c26b9f22c0a58790c38fae1ed392d44a5a numpy-1.24.2-cp311-cp311-macosx_10_9_x86_64.whl
4173bde9fa2a005c2c6e2ea8ac1618e2ed2c1c6ec8a7657237854d42094123a0 numpy-1.24.2-cp311-cp311-macosx_11_0_arm64.whl
4cecaed30dc14123020f77b03601559fff3e6cd0c048f8b5289f4eeabb0eb281 numpy-1.24.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9a23f8440561a633204a67fb44617ce2a299beecf3295f0d13c495518908e910 numpy-1.24.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e428c4fbfa085f947b536706a2fc349245d7baa8334f0c5723c56a10595f9b95 numpy-1.24.2-cp311-cp311-win32.whl
557d42778a6869c2162deb40ad82612645e21d79e11c1dc62c6e82a2220ffb04 numpy-1.24.2-cp311-cp311-win_amd64.whl
d0a2db9d20117bf523dde15858398e7c0858aadca7c0f088ac0d6edd360e9ad2 numpy-1.24.2-cp38-cp38-macosx_10_9_x86_64.whl
c72a6b2f4af1adfe193f7beb91ddf708ff867a3f977ef2ec53c0ffb8283ab9f5 numpy-1.24.2-cp38-cp38-macosx_11_0_arm64.whl
c29e6bd0ec49a44d7690ecb623a8eac5ab8a923bce0bea6293953992edf3a76a numpy-1.24.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2eabd64ddb96a1239791da78fa5f4e1693ae2dadc82a76bc76a14cbb2b966e96 numpy-1.24.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e3ab5d32784e843fc0dd3ab6dcafc67ef806e6b6828dc6af2f689be0eb4d781d numpy-1.24.2-cp38-cp38-win32.whl
76807b4063f0002c8532cfeac47a3068a69561e9c8715efdad3c642eb27c0756 numpy-1.24.2-cp38-cp38-win_amd64.whl
4199e7cfc307a778f72d293372736223e39ec9ac096ff0a2e64853b866a8e18a numpy-1.24.2-cp39-cp39-macosx_10_9_x86_64.whl
adbdce121896fd3a17a77ab0b0b5eedf05a9834a18699db6829a64e1dfccca7f numpy-1.24.2-cp39-cp39-macosx_11_0_arm64.whl
889b2cc88b837d86eda1b17008ebeb679d82875022200c6e8e4ce6cf549b7acb numpy-1.24.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f64bb98ac59b3ea3bf74b02f13836eb2e24e48e0ab0145bbda646295769bd780 numpy-1.24.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
63e45511ee4d9d976637d11e6c9864eae50e12dc9598f531c035265991910468 numpy-1.24.2-cp39-cp39-win32.whl
a77d3e1163a7770164404607b7ba3967fb49b24782a6ef85d9b5f54126cc39e5 numpy-1.24.2-cp39-cp39-win_amd64.whl
92011118955724465fb6853def593cf397b4a1367495e0b59a7e69d40c4eb71d numpy-1.24.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
f9006288bcf4895917d02583cf3411f98631275bc67cce355a7f39f8c14338fa numpy-1.24.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
150947adbdfeceec4e5926d956a06865c1c690f2fd902efede4ca6fe2e657c3f numpy-1.24.2-pp38-pypy38_pp73-win_amd64.whl
003a9f530e880cb2cd177cba1af7220b9aa42def9c4afc2a2fc3ee6be7eb2b22 numpy-1.24.2.tar.gz
- Python
Published by charris over 3 years ago
numpy -
NumPy 1.24.1 Release Notes
NumPy 1.24.1 is a maintenance release that fixes bugs and regressions discovered after the 1.24.0 release. The Python versions supported by this release are 3.8-3.11.
Contributors
A total of 12 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Andrew Nelson
- Ben Greiner +
- Charles Harris
- Clément Robert
- Matteo Raso
- Matti Picus
- Melissa Weber Mendonça
- Miles Cranmer
- Ralf Gommers
- Rohit Goswami
- Sayed Adel
- Sebastian Berg
Pull requests merged
A total of 18 pull requests were merged for this release.
- #22820: BLD: add workaround in setup.py for newer setuptools
- #22830: BLD: CIRRUS_TAG redux
- #22831: DOC: fix a couple typos in 1.23 notes
- #22832: BUG: Fix refcounting errors found using pytest-leaks
- #22834: BUG, SIMD: Fix invalid value encountered in several ufuncs
- #22837: TST: ignore more np.distutils.log imports
- #22839: BUG: Do not use getdata() in np.ma.masked_invalid
- #22847: BUG: Ensure correct behavior for rows ending in delimiter in...
- #22848: BUG, SIMD: Fix the bitmask of the boolean comparison
- #22857: BLD: Help raspian arm + clang 13 about __builtinmuloverflow
- #22858: API: Ensure a full mask is returned for masked_invalid
- #22866: BUG: Polynomials now copy properly (#22669)
- #22867: BUG, SIMD: Fix memory overlap in ufunc comparison loops
- #22868: BUG: Fortify string casts against floating point warnings
- #22875: TST: Ignore nan-warnings in randomized out tests
- #22883: MAINT: restore npymath implementations needed for freebsd
- #22884: BUG: Fix integer overflow in in1d for mixed integer dtypes #22877
- #22887: BUG: Use whole file for encoding checks with
charset_normalizer.
Checksums
MD5
9e543db90493d6a00939bd54c2012085 numpy-1.24.1-cp310-cp310-macosx_10_9_x86_64.whl
4ebd7af622bf617b4876087e500d7586 numpy-1.24.1-cp310-cp310-macosx_11_0_arm64.whl
0c0a3012b438bb455a6c2fadfb1be76a numpy-1.24.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0bddb527345449df624d3cb9aa0e1b75 numpy-1.24.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b246beb773689d97307f7b4c2970f061 numpy-1.24.1-cp310-cp310-win32.whl
1f3823999fce821a28dee10ac6fdd721 numpy-1.24.1-cp310-cp310-win_amd64.whl
8eedcacd6b096a568e4cb393d43b3ae5 numpy-1.24.1-cp311-cp311-macosx_10_9_x86_64.whl
50bddb05acd54b4396100a70522496dd numpy-1.24.1-cp311-cp311-macosx_11_0_arm64.whl
2a76bd9da8a78b44eb816bd70fa3aee3 numpy-1.24.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9e86658a414272f9749bde39344f9b76 numpy-1.24.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
915dfb89054e1631574a22a9b53a2b25 numpy-1.24.1-cp311-cp311-win32.whl
ab7caa2c6c20e1fab977e1a94dede976 numpy-1.24.1-cp311-cp311-win_amd64.whl
8246de961f813f5aad89bca3d12f81e7 numpy-1.24.1-cp38-cp38-macosx_10_9_x86_64.whl
58366b1a559baa0547ce976e416ed76d numpy-1.24.1-cp38-cp38-macosx_11_0_arm64.whl
a96f29bf106a64f82b9ba412635727d1 numpy-1.24.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4c32a43bdb85121614ab3e99929e33c7 numpy-1.24.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
09b20949ed21683ad7c9cbdf9ebb2439 numpy-1.24.1-cp38-cp38-win32.whl
9e9f1577f874286a8bdff8dc5551eb9f numpy-1.24.1-cp38-cp38-win_amd64.whl
4383c1137f0287df67c364fbdba2bc72 numpy-1.24.1-cp39-cp39-macosx_10_9_x86_64.whl
987f22c49b2be084b5d72f88f347d31e numpy-1.24.1-cp39-cp39-macosx_11_0_arm64.whl
848ad020bba075ed8f19072c64dcd153 numpy-1.24.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
864b159e644848bc25f881907dbcf062 numpy-1.24.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
db339ec0b2693cac2d7cf9ca75c334b1 numpy-1.24.1-cp39-cp39-win32.whl
fec91d4c85066ad8a93816d71b627701 numpy-1.24.1-cp39-cp39-win_amd64.whl
619af9cd4f33b668822ae2350f446a15 numpy-1.24.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
46f19b4b147f8836c2bd34262fabfffa numpy-1.24.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e85b245c57a10891b3025579bf0cf298 numpy-1.24.1-pp38-pypy38_pp73-win_amd64.whl
dd3aaeeada8e95cc2edf9a3a4aa8b5af numpy-1.24.1.tar.gz
SHA256
179a7ef0889ab769cc03573b6217f54c8bd8e16cef80aad369e1e8185f994cd7 numpy-1.24.1-cp310-cp310-macosx_10_9_x86_64.whl
b09804ff570b907da323b3d762e74432fb07955701b17b08ff1b5ebaa8cfe6a9 numpy-1.24.1-cp310-cp310-macosx_11_0_arm64.whl
f1b739841821968798947d3afcefd386fa56da0caf97722a5de53e07c4ccedc7 numpy-1.24.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0e3463e6ac25313462e04aea3fb8a0a30fb906d5d300f58b3bc2c23da6a15398 numpy-1.24.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b31da69ed0c18be8b77bfce48d234e55d040793cebb25398e2a7d84199fbc7e2 numpy-1.24.1-cp310-cp310-win32.whl
b07b40f5fb4fa034120a5796288f24c1fe0e0580bbfff99897ba6267af42def2 numpy-1.24.1-cp310-cp310-win_amd64.whl
7094891dcf79ccc6bc2a1f30428fa5edb1e6fb955411ffff3401fb4ea93780a8 numpy-1.24.1-cp311-cp311-macosx_10_9_x86_64.whl
28e418681372520c992805bb723e29d69d6b7aa411065f48216d8329d02ba032 numpy-1.24.1-cp311-cp311-macosx_11_0_arm64.whl
e274f0f6c7efd0d577744f52032fdd24344f11c5ae668fe8d01aac0422611df1 numpy-1.24.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0044f7d944ee882400890f9ae955220d29b33d809a038923d88e4e01d652acd9 numpy-1.24.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
442feb5e5bada8408e8fcd43f3360b78683ff12a4444670a7d9e9824c1817d36 numpy-1.24.1-cp311-cp311-win32.whl
de92efa737875329b052982e37bd4371d52cabf469f83e7b8be9bb7752d67e51 numpy-1.24.1-cp311-cp311-win_amd64.whl
b162ac10ca38850510caf8ea33f89edcb7b0bb0dfa5592d59909419986b72407 numpy-1.24.1-cp38-cp38-macosx_10_9_x86_64.whl
26089487086f2648944f17adaa1a97ca6aee57f513ba5f1c0b7ebdabbe2b9954 numpy-1.24.1-cp38-cp38-macosx_11_0_arm64.whl
caf65a396c0d1f9809596be2e444e3bd4190d86d5c1ce21f5fc4be60a3bc5b36 numpy-1.24.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b0677a52f5d896e84414761531947c7a330d1adc07c3a4372262f25d84af7bf7 numpy-1.24.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
dae46bed2cb79a58d6496ff6d8da1e3b95ba09afeca2e277628171ca99b99db1 numpy-1.24.1-cp38-cp38-win32.whl
6ec0c021cd9fe732e5bab6401adea5a409214ca5592cd92a114f7067febcba0c numpy-1.24.1-cp38-cp38-win_amd64.whl
28bc9750ae1f75264ee0f10561709b1462d450a4808cd97c013046073ae64ab6 numpy-1.24.1-cp39-cp39-macosx_10_9_x86_64.whl
84e789a085aabef2f36c0515f45e459f02f570c4b4c4c108ac1179c34d475ed7 numpy-1.24.1-cp39-cp39-macosx_11_0_arm64.whl
8e669fbdcdd1e945691079c2cae335f3e3a56554e06bbd45d7609a6cf568c700 numpy-1.24.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ef85cf1f693c88c1fd229ccd1055570cb41cdf4875873b7728b6301f12cd05bf numpy-1.24.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
87a118968fba001b248aac90e502c0b13606721b1343cdaddbc6e552e8dfb56f numpy-1.24.1-cp39-cp39-win32.whl
ddc7ab52b322eb1e40521eb422c4e0a20716c271a306860979d450decbb51b8e numpy-1.24.1-cp39-cp39-win_amd64.whl
ed5fb71d79e771ec930566fae9c02626b939e37271ec285e9efaf1b5d4370e7d numpy-1.24.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
ad2925567f43643f51255220424c23d204024ed428afc5aad0f86f3ffc080086 numpy-1.24.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cfa1161c6ac8f92dea03d625c2d0c05e084668f4a06568b77a25a89111621566 numpy-1.24.1-pp38-pypy38_pp73-win_amd64.whl
2386da9a471cc00a1f47845e27d916d5ec5346ae9696e01a8a34760858fe9dd2 numpy-1.24.1.tar.gz
- Python
Published by charris over 3 years ago
numpy -
NumPy 1.24 Release Notes
The NumPy 1.24.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, and clarify the documentation. There are also a large number of new and expired deprecations due to changes in promotion and cleanups. This might be called a deprecation release. Highlights are
- Many new deprecations, check them out.
- Many expired deprecations,
- New F2PY features and fixes.
- New \"dtype\" and \"casting\" keywords for stacking functions.
See below for the details,
This release supports Python versions 3.8-3.11.
Deprecations
Deprecate fastCopyAndTranspose and PyArray_CopyAndTranspose
The numpy.fastCopyAndTranspose function has been deprecated. Use the
corresponding copy and transpose methods directly:
arr.T.copy()
The underlying C function PyArray_CopyAndTranspose has also been
deprecated from the NumPy C-API.
(gh-22313)
Conversion of out-of-bound Python integers
Attempting a conversion from a Python integer to a NumPy value will now
always check whether the result can be represented by NumPy. This means
the following examples will fail in the future and give a
DeprecationWarning now:
np.uint8(-1)
np.array([3000], dtype=np.int8)
Many of these did succeed before. Such code was mainly useful for
unsigned integers with negative values such as np.uint8(-1) giving
np.iinfo(np.uint8).max.
Note that conversion between NumPy integers is unaffected, so that
np.array(-1).astype(np.uint8) continues to work and use C integer
overflow logic. For negative values, it will also work to view the
array: np.array(-1, dtype=np.int8).view(np.uint8). In some cases,
using np.iinfo(np.uint8).max or val % 2**8 may also work well.
In rare cases input data may mix both negative values and very large
unsigned values (i.e. -1 and 2**63). There it is unfortunately
necessary to use % on the Python value or use signed or unsigned
conversion depending on whether negative values are expected.
(gh-22385)
Deprecate msort
The numpy.msort function is deprecated. Use np.sort(a, axis=0)
instead.
(gh-22456)
np.str0 and similar are now deprecated
The scalar type aliases ending in a 0 bit size: np.object0, np.str0,
np.bytes0, np.void0, np.int0, np.uint0 as well as np.bool8 are
now deprecated and will eventually be removed.
(gh-22607)
Expired deprecations
The
normedkeyword argument has been removed from [np.histogram]{.title-ref}, [np.histogram2d]{.title-ref}, and [np.histogramdd]{.title-ref}. Usedensityinstead. Ifnormedwas passed by position,densityis now used.(gh-21645)
Ragged array creation will now always raise a
ValueErrorunlessdtype=objectis passed. This includes very deeply nested sequences.(gh-22004)
Support for Visual Studio 2015 and earlier has been removed.
Support for the Windows Interix POSIX interop layer has been removed.
(gh-22139)
Support for Cygwin < 3.3 has been removed.
(gh-22159)
The mini() method of
np.ma.MaskedArrayhas been removed. Use eithernp.ma.MaskedArray.min()ornp.ma.minimum.reduce().The single-argument form of
np.ma.minimumandnp.ma.maximumhas been removed. Usenp.ma.minimum.reduce()ornp.ma.maximum.reduce()instead.(gh-22228)
Passing dtype instances other than the canonical (mainly native byte-order) ones to
dtype=orsignature=in ufuncs will now raise aTypeError. We recommend passing the strings"int8"or scalar typesnp.int8since the byte-order, datetime/timedelta unit, etc. are never enforced. (Initially deprecated in NumPy 1.21.)(gh-22540)
The
dtype=argument to comparison ufuncs is now applied correctly. That means that onlyboolandobjectare valid values anddtype=objectis enforced.(gh-22541)
The deprecation for the aliases
np.object,np.bool,np.float,np.complex,np.str, andnp.intis expired (introduces NumPy 1.20). Some of these will now give a FutureWarning in addition to raising an error since they will be mapped to the NumPy scalars in the future.(gh-22607)
Compatibility notes
array.fill(scalar) may behave slightly different
numpy.ndarray.fill may in some cases behave slightly different now due
to the fact that the logic is aligned with item assignment:
arr = np.array([1]) # with any dtype/value
arr.fill(scalar)
# is now identical to:
arr[0] = scalar
Previously casting may have produced slightly different answers when
using values that could not be represented in the target dtype or when
the target had object dtype.
(gh-20924)
Subarray to object cast now copies
Casting a dtype that includes a subarray to an object will now ensure a copy of the subarray. Previously an unsafe view was returned:
arr = np.ones(3, dtype=[("f", "i", 3)])
subarray_fields = arr.astype(object)[0]
subarray = subarray_fields[0] # "f" field
np.may_share_memory(subarray, arr)
Is now always false. While previously it was true for the specific cast.
(gh-21925)
Returned arrays respect uniqueness of dtype kwarg objects
When the dtype keyword argument is used with
:pynp.array(){.interpreted-text role="func"} or
:pyasarray(){.interpreted-text role="func"}, the dtype of the returned
array now always exactly matches the dtype provided by the caller.
In some cases this change means that a view rather than the input
array is returned. The following is an example for this on 64bit Linux
where long and longlong are the same precision but different
dtypes:
>>> arr = np.array([1, 2, 3], dtype="long")
>>> new_dtype = np.dtype("longlong")
>>> new = np.asarray(arr, dtype=new_dtype)
>>> new.dtype is new_dtype
True
>>> new is arr
False
Before the change, the dtype did not match because new is arr was
True.
(gh-21995)
DLPack export raises BufferError
When an array buffer cannot be exported via DLPack a BufferError is
now always raised where previously TypeError or RuntimeError was
raised. This allows falling back to the buffer protocol or
__array_interface__ when DLPack was tried first.
(gh-22542)
NumPy builds are no longer tested on GCC-6
Ubuntu 18.04 is deprecated for GitHub actions and GCC-6 is not available on Ubuntu 20.04, so builds using that compiler are no longer tested. We still test builds using GCC-7 and GCC-8.
(gh-22598)
New Features
New attribute symbol added to polynomial classes
The polynomial classes in the numpy.polynomial package have a new
symbol attribute which is used to represent the indeterminate of the
polynomial. This can be used to change the value of the variable when
printing:
>>> P_y = np.polynomial.Polynomial([1, 0, -1], symbol="y")
>>> print(P_y)
1.0 + 0.0·y¹ - 1.0·y²
Note that the polynomial classes only support 1D polynomials, so operations that involve polynomials with different symbols are disallowed when the result would be multivariate:
>>> P = np.polynomial.Polynomial([1, -1]) # default symbol is "x"
>>> P_z = np.polynomial.Polynomial([1, 1], symbol="z")
>>> P * P_z
Traceback (most recent call last)
...
ValueError: Polynomial symbols differ
The symbol can be any valid Python identifier. The default is
symbol=x, consistent with existing behavior.
(gh-16154)
F2PY support for Fortran character strings
F2PY now supports wrapping Fortran functions with:
- character (e.g.
character x) - character array (e.g.
character, dimension(n) :: x) - character string (e.g.
character(len=10) x) - and character string array (e.g.
character(len=10), dimension(n, m) :: x)
arguments, including passing Python unicode strings as Fortran character string arguments.
(gh-19388)
New function np.show_runtime
A new function numpy.show_runtime has been added to display the
runtime information of the machine in addition to numpy.show_config
which displays the build-related information.
(gh-21468)
strict option for testing.assert_array_equal
The strict option is now available for testing.assert_array_equal.
Setting strict=True will disable the broadcasting behaviour for
scalars and ensure that input arrays have the same data type.
(gh-21595)
New parameter equal_nan added to np.unique
np.unique was changed in 1.21 to treat all NaN values as equal and
return a single NaN. Setting equal_nan=False will restore pre-1.21
behavior to treat NaNs as unique. Defaults to True.
(gh-21623)
casting and dtype keyword arguments for numpy.stack
The casting and dtype keyword arguments are now available for
numpy.stack. To use them, write
np.stack(..., dtype=None, casting='same_kind').
casting and dtype keyword arguments for numpy.vstack
The casting and dtype keyword arguments are now available for
numpy.vstack. To use them, write
np.vstack(..., dtype=None, casting='same_kind').
casting and dtype keyword arguments for numpy.hstack
The casting and dtype keyword arguments are now available for
numpy.hstack. To use them, write
np.hstack(..., dtype=None, casting='same_kind').
(gh-21627)
The bit generator underlying the singleton RandomState can be changed
The singleton RandomState instance exposed in the numpy.random
module is initialized at startup with the MT19937 bit generator. The
new function set_bit_generator allows the default bit generator to be
replaced with a user-provided bit generator. This function has been
introduced to provide a method allowing seamless integration of a
high-quality, modern bit generator in new code with existing code that
makes use of the singleton-provided random variate generating functions.
The companion function get_bit_generator returns the current bit
generator being used by the singleton RandomState. This is provided to
simplify restoring the original source of randomness if required.
The preferred method to generate reproducible random numbers is to use a
modern bit generator in an instance of Generator. The function
default_rng simplifies instantiation:
>>> rg = np.random.default_rng(3728973198)
>>> rg.random()
The same bit generator can then be shared with the singleton instance so
that calling functions in the random module will use the same bit
generator:
>>> orig_bit_gen = np.random.get_bit_generator()
>>> np.random.set_bit_generator(rg.bit_generator)
>>> np.random.normal()
The swap is permanent (until reversed) and so any call to functions in
the random module will use the new bit generator. The original can be
restored if required for code to run correctly:
>>> np.random.set_bit_generator(orig_bit_gen)
(gh-21976)
np.void now has a dtype argument
NumPy now allows constructing structured void scalars directly by
passing the dtype argument to np.void.
(gh-22316)
Improvements
F2PY Improvements
- The generated extension modules don\'t use the deprecated NumPy-C API anymore
- Improved
f2pygenerated exception messages - Numerous bug and
flake8warning fixes - various CPP macros that one can use within C-expressions of
signature files are prefixed with
f2py_. For example, one should usef2py_len(x)instead oflen(x) - A new construct
character(f2py_len=...)is introduced to support returning assumed length character strings (e.g.character(len=*)) from wrapper functions
A hook to support rewriting f2py internal data structures after
reading all its input files is introduced. This is required, for
instance, for BC of SciPy support where character arguments are treated
as character strings arguments in C expressions.
(gh-19388)
IBM zSystems Vector Extension Facility (SIMD)
Added support for SIMD extensions of zSystem (z13, z14, z15), through the universal intrinsics interface. This support leads to performance improvements for all SIMD kernels implemented using the universal intrinsics, including the following operations: rint, floor, trunc, ceil, sqrt, absolute, square, reciprocal, tanh, sin, cos, equal, notequal, greater, greaterequal, less, less_equal, maximum, minimum, fmax, fmin, argmax, argmin, add, subtract, multiply, divide.
(gh-20913)
NumPy now gives floating point errors in casts
In most cases, NumPy previously did not give floating point warnings or errors when these happened during casts. For examples, casts like:
np.array([2e300]).astype(np.float32) # overflow for float32
np.array([np.inf]).astype(np.int64)
Should now generally give floating point warnings. These warnings should warn that floating point overflow occurred. For errors when converting floating point values to integers users should expect invalid value warnings.
Users can modify the behavior of these warnings using np.errstate.
Note that for float to int casts, the exact warnings that are given may be platform dependent. For example:
arr = np.full(100, value=1000, dtype=np.float64)
arr.astype(np.int8)
May give a result equivalent to (the intermediate cast means no warning is given):
arr.astype(np.int64).astype(np.int8)
May return an undefined result, with a warning set:
RuntimeWarning: invalid value encountered in cast
The precise behavior is subject to the C99 standard and its implementation in both software and hardware.
(gh-21437)
F2PY supports the value attribute
The Fortran standard requires that variables declared with the value
attribute must be passed by value instead of reference. F2PY now
supports this use pattern correctly. So
integer, intent(in), value :: x in Fortran codes will have correct
wrappers generated.
(gh-21807)
Added pickle support for third-party BitGenerators
The pickle format for bit generators was extended to allow each bit
generator to supply its own constructor when during pickling. Previous
versions of NumPy only supported unpickling Generator instances
created with one of the core set of bit generators supplied with NumPy.
Attempting to unpickle a Generator that used a third-party bit
generators would fail since the constructor used during the unpickling
was only aware of the bit generators included in NumPy.
(gh-22014)
arange() now explicitly fails with dtype=str
Previously, the np.arange(n, dtype=str) function worked for n=1 and
n=2, but would raise a non-specific exception message for other values
of n. Now, it raises a [TypeError]{.title-ref} informing that arange
does not support string dtypes:
>>> np.arange(2, dtype=str)
Traceback (most recent call last)
...
TypeError: arange() not supported for inputs with DType <class 'numpy.dtype[str_]'>.
(gh-22055)
numpy.typing protocols are now runtime checkable
The protocols used in numpy.typing.ArrayLike and
numpy.typing.DTypeLike are now properly marked as runtime checkable,
making them easier to use for runtime type checkers.
(gh-22357)
Performance improvements and changes
Faster version of np.isin and np.in1d for integer arrays
np.in1d (used by np.isin) can now switch to a faster algorithm (up
to >10x faster) when it is passed two integer arrays. This is often
automatically used, but you can use kind="sort" or kind="table" to
force the old or new method, respectively.
(gh-12065)
Faster comparison operators
The comparison functions (numpy.equal, numpy.not_equal,
numpy.less, numpy.less_equal, numpy.greater and
numpy.greater_equal) are now much faster as they are now vectorized
with universal intrinsics. For a CPU with SIMD extension AVX512BW, the
performance gain is up to 2.57x, 1.65x and 19.15x for integer, float and
boolean data types, respectively (with N=50000).
(gh-21483)
Changes
Better reporting of integer division overflow
Integer division overflow of scalars and arrays used to provide a
RuntimeWarning and the return value was undefined leading to crashes
at rare occasions:
>>> np.array([np.iinfo(np.int32).min]*10, dtype=np.int32) // np.int32(-1)
<stdin>:1: RuntimeWarning: divide by zero encountered in floor_divide
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int32)
Integer division overflow now returns the input dtype\'s minimum value
and raise the following RuntimeWarning:
>>> np.array([np.iinfo(np.int32).min]*10, dtype=np.int32) // np.int32(-1)
<stdin>:1: RuntimeWarning: overflow encountered in floor_divide
array([-2147483648, -2147483648, -2147483648, -2147483648, -2147483648,
-2147483648, -2147483648, -2147483648, -2147483648, -2147483648],
dtype=int32)
(gh-21506)
masked_invalid now modifies the mask in-place
When used with copy=False, numpy.ma.masked_invalid now modifies the
input masked array in-place. This makes it behave identically to
masked_where and better matches the documentation.
(gh-22046)
nditer/NpyIter allows all allocating all operands
The NumPy iterator available through np.nditer in Python and as
NpyIter in C now supports allocating all arrays. The iterator shape
defaults to () in this case. The operands dtype must be provided,
since a \"common dtype\" cannot be inferred from the other inputs.
(gh-22457)
Checksums
MD5
d60311246bd71b177258ce06e2a4ec57 numpy-1.24.0-cp310-cp310-macosx_10_9_x86_64.whl
02022b335938af55cb83bbaebdbff8e1 numpy-1.24.0-cp310-cp310-macosx_11_0_arm64.whl
02b35d6612369fcc614c6223aaec0119 numpy-1.24.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7b8ad389a9619db3e1f8243fc0cfe63d numpy-1.24.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6ff4acbb7b1258ccbd528c151eb0fe84 numpy-1.24.0-cp310-cp310-win32.whl
d194c96601222db97b0af54fce1cfb1d numpy-1.24.0-cp310-cp310-win_amd64.whl
5fe4eb551a9312e37492da9f5bfb8545 numpy-1.24.0-cp311-cp311-macosx_10_9_x86_64.whl
a8e836a768f73e9f509b11c3873c7e09 numpy-1.24.0-cp311-cp311-macosx_11_0_arm64.whl
10404d6d1a5a9624f85018f61110b2be numpy-1.24.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
cfdb0cb844f1db9be2cde998be54d65f numpy-1.24.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
73bc66ad3ae8656ba18d64db98feb5e1 numpy-1.24.0-cp311-cp311-win32.whl
4bbc30a53009c48d364d4dc2c612af95 numpy-1.24.0-cp311-cp311-win_amd64.whl
94ce5f6a09605a9675a0d464b1ec6597 numpy-1.24.0-cp38-cp38-macosx_10_9_x86_64.whl
e5e42b69a209eda7e6895dda39ea8610 numpy-1.24.0-cp38-cp38-macosx_11_0_arm64.whl
36eb6143d1e2aac3c618275edf636983 numpy-1.24.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
712c3718e8b53ff04c626cc4c78492aa numpy-1.24.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0a1a48a8e458bd4ce581169484c17e4f numpy-1.24.0-cp38-cp38-win32.whl
c8ab7e4b919548663568a5b5a8b5eab4 numpy-1.24.0-cp38-cp38-win_amd64.whl
1783a5d769566111d93c474c79892c01 numpy-1.24.0-cp39-cp39-macosx_10_9_x86_64.whl
c9e77130674372c73f8209d58396624d numpy-1.24.0-cp39-cp39-macosx_11_0_arm64.whl
14c0f2f52f20f13a81bba7df27f30145 numpy-1.24.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c106393b46fa0302dbac49b14a4dfed4 numpy-1.24.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c83e6d6946f32820f166c3f1ff010ab6 numpy-1.24.0-cp39-cp39-win32.whl
acd5a4737d1094d5f40afa584dbd6d79 numpy-1.24.0-cp39-cp39-win_amd64.whl
26e32f942c9fd62f64fd9bf6df95b5b1 numpy-1.24.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
4f027df0cc313ca626b106849999de13 numpy-1.24.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ac58db9a90d0bec95bc7850b9e462f34 numpy-1.24.0-pp38-pypy38_pp73-win_amd64.whl
1ca41c84ad9a116402a025d21e35bc64 numpy-1.24.0.tar.gz
SHA256
6e73a1f4f5b74a42abb55bc2b3d869f1b38cbc8776da5f8b66bf110284f7a437 numpy-1.24.0-cp310-cp310-macosx_10_9_x86_64.whl
9387c7d6d50e8f8c31e7bfc034241e9c6f4b3eb5db8d118d6487047b922f82af numpy-1.24.0-cp310-cp310-macosx_11_0_arm64.whl
7ad6a024a32ee61d18f5b402cd02e9c0e22c0fb9dc23751991b3a16d209d972e numpy-1.24.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
73cf2c5b5a07450f20a0c8e04d9955491970177dce8df8d6903bf253e53268e0 numpy-1.24.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cec79ff3984b2d1d103183fc4a3361f5b55bbb66cb395cbf5a920a4bb1fd588d numpy-1.24.0-cp310-cp310-win32.whl
4f5e78b8b710cd7cd1a8145994cfffc6ddd5911669a437777d8cedfce6c83a98 numpy-1.24.0-cp310-cp310-win_amd64.whl
4445f472b246cad6514cc09fbb5ecb7aab09ca2acc3c16f29f8dca6c468af501 numpy-1.24.0-cp311-cp311-macosx_10_9_x86_64.whl
ec3e5e8172a0a6a4f3c2e7423d4a8434c41349141b04744b11a90e017a95bad5 numpy-1.24.0-cp311-cp311-macosx_11_0_arm64.whl
f9168790149f917ad8e3cf5047b353fefef753bd50b07c547da0bdf30bc15d91 numpy-1.24.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ada6c1e9608ceadaf7020e1deea508b73ace85560a16f51bef26aecb93626a72 numpy-1.24.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f3c4a9a9f92734a4728ddbd331e0124eabbc968a0359a506e8e74a9b0d2d419b numpy-1.24.0-cp311-cp311-win32.whl
90075ef2c6ac6397d0035bcd8b298b26e481a7035f7a3f382c047eb9c3414db0 numpy-1.24.0-cp311-cp311-win_amd64.whl
0885d9a7666cafe5f9876c57bfee34226e2b2847bfb94c9505e18d81011e5401 numpy-1.24.0-cp38-cp38-macosx_10_9_x86_64.whl
e63d2157f9fc98cc178870db83b0e0c85acdadd598b134b00ebec9e0db57a01f numpy-1.24.0-cp38-cp38-macosx_11_0_arm64.whl
cf8960f72997e56781eb1c2ea256a70124f92a543b384f89e5fb3503a308b1d3 numpy-1.24.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2f8e0df2ecc1928ef7256f18e309c9d6229b08b5be859163f5caa59c93d53646 numpy-1.24.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fe44e925c68fb5e8db1334bf30ac1a1b6b963b932a19cf41d2e899cf02f36aab numpy-1.24.0-cp38-cp38-win32.whl
d7f223554aba7280e6057727333ed357b71b7da7422d02ff5e91b857888c25d1 numpy-1.24.0-cp38-cp38-win_amd64.whl
ab11f6a7602cf8ea4c093e091938207de3068c5693a0520168ecf4395750f7ea numpy-1.24.0-cp39-cp39-macosx_10_9_x86_64.whl
12bba5561d8118981f2f1ff069ecae200c05d7b6c78a5cdac0911f74bc71cbd1 numpy-1.24.0-cp39-cp39-macosx_11_0_arm64.whl
9af91f794d2d3007d91d749ebc955302889261db514eb24caef30e03e8ec1e41 numpy-1.24.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8b1ddfac6a82d4f3c8e99436c90b9c2c68c0bb14658d1684cdd00f05fab241f5 numpy-1.24.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ac4fe68f1a5a18136acebd4eff91aab8bed00d1ef2fdb34b5d9192297ffbbdfc numpy-1.24.0-cp39-cp39-win32.whl
667b5b1f6a352419e340f6475ef9930348ae5cb7fca15f2cc3afcb530823715e numpy-1.24.0-cp39-cp39-win_amd64.whl
4d01f7832fa319a36fd75ba10ea4027c9338ede875792f7bf617f4b45056fc3a numpy-1.24.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
dbb0490f0a880700a6cc4d000384baf19c1f4df59fff158d9482d4dbbca2b239 numpy-1.24.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0104d8adaa3a4cc60c2777cab5196593bf8a7f416eda133be1f3803dd0838886 numpy-1.24.0-pp38-pypy38_pp73-win_amd64.whl
c4ab7c9711fe6b235e86487ca74c1b092a6dd59a3cb45b63241ea0a148501853 numpy-1.24.0.tar.gz
- Python
Published by charris over 3 years ago
numpy -
NumPy 1.24 Release Notes
The NumPy 1.24.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, and clarify the documentation. There are also a large number of new and expired deprecations due to changes in promotion and cleanups. This might be called a deprecation release. Highlights are
- Many new deprecations, check them out.
- Many expired deprecations,
- New F2PY features and fixes.
- New \"dtype\" and \"casting\" keywords for stacking functions.
See below for the details,
Deprecations
Deprecate fastCopyAndTranspose and PyArray_CopyAndTranspose
The numpy.fastCopyAndTranspose function has been deprecated. Use the
corresponding copy and transpose methods directly:
arr.T.copy()
The underlying C function PyArray_CopyAndTranspose has also been
deprecated from the NumPy C-API.
(gh-22313)
Conversion of out-of-bound Python integers
Attempting a conversion from a Python integer to a NumPy value will now
always check whether the result can be represented by NumPy. This means
the following examples will fail in the future and give a
DeprecationWarning now:
np.uint8(-1)
np.array([3000], dtype=np.int8)
Many of these did succeed before. Such code was mainly useful for
unsigned integers with negative values such as np.uint8(-1) giving
np.iinfo(np.uint8).max.
Note that conversion between NumPy integers is unaffected, so that
np.array(-1).astype(np.uint8) continues to work and use C integer
overflow logic.
(gh-22393)
Deprecate msort
The numpy.msort function is deprecated. Use np.sort(a, axis=0)
instead.
(gh-22456)
np.str0 and similar are now deprecated
The scalar type aliases ending in a 0 bit size: np.object0, np.str0,
np.bytes0, np.void0, np.int0, np.uint0 as well as np.bool8 are
now deprecated and will eventually be removed.
(gh-22607)
Expired deprecations
The
normedkeyword argument has been removed from [np.histogram]{.title-ref}, [np.histogram2d]{.title-ref}, and [np.histogramdd]{.title-ref}. Usedensityinstead. Ifnormedwas passed by position,densityis now used.(gh-21645)
Ragged array creation will now always raise a
ValueErrorunlessdtype=objectis passed. This includes very deeply nested sequences.(gh-22004)
Support for Visual Studio 2015 and earlier has been removed.
Support for the Windows Interix POSIX interop layer has been removed.
(gh-22139)
Support for cygwin < 3.3 has been removed.
(gh-22159)
The mini() method of
np.ma.MaskedArrayhas been removed. Use eithernp.ma.MaskedArray.min()ornp.ma.minimum.reduce().The single-argument form of
np.ma.minimumandnp.ma.maximumhas been removed. Usenp.ma.minimum.reduce()ornp.ma.maximum.reduce()instead.(gh-22228)
Passing dtype instances other than the canonical (mainly native byte-order) ones to
dtype=orsignature=in ufuncs will now raise aTypeError. We recommend passing the strings"int8"or scalar typesnp.int8since the byte-order, datetime/timedelta unit, etc. are never enforced. (Initially deprecated in NumPy 1.21.)(gh-22540)
The
dtype=argument to comparison ufuncs is now applied correctly. That means that onlyboolandobjectare valid values anddtype=objectis enforced.(gh-22541)
The deprecation for the aliases
np.object,np.bool,np.float,np.complex,np.str, andnp.intis expired (introduces NumPy 1.20). Some of these will now give a FutureWarning in addition to raising an error since they will be mapped to the NumPy scalars in the future.(gh-22607)
Compatibility notes
array.fill(scalar) may behave slightly different
numpy.ndarray.fill may in some cases behave slightly different now due
to the fact that the logic is aligned with item assignment:
arr = np.array([1]) # with any dtype/value
arr.fill(scalar)
# is now identical to:
arr[0] = scalar
Previously casting may have produced slightly different answers when
using values that could not be represented in the target dtype or when
the target had object dtype.
(gh-20924)
Subarray to object cast now copies
Casting a dtype that includes a subarray to an object will now ensure a copy of the subarray. Previously an unsafe view was returned:
arr = np.ones(3, dtype=[("f", "i", 3)])
subarray_fields = arr.astype(object)[0]
subarray = subarray_fields[0] # "f" field
np.may_share_memory(subarray, arr)
Is now always false. While previously it was true for the specific cast.
(gh-21925)
Returned arrays respect uniqueness of dtype kwarg objects
When the dtype keyword argument is used with
:pynp.array(){.interpreted-text role="func"} or
:pyasarray(){.interpreted-text role="func"}, the dtype of the returned
array now always exactly matches the dtype provided by the caller.
In some cases this change means that a view rather than the input
array is returned. The following is an example for this on 64bit Linux
where long and longlong are the same precision but different
dtypes:
>>> arr = np.array([1, 2, 3], dtype="long")
>>> new_dtype = np.dtype("longlong")
>>> new = np.asarray(arr, dtype=new_dtype)
>>> new.dtype is new_dtype
True
>>> new is arr
False
Before the change, the dtype did not match because new is arr was
True.
(gh-21995)
DLPack export raises BufferError
When an array buffer cannot be exported via DLPack a BufferError is
now always raised where previously TypeError or RuntimeError was
raised. This allows falling back to the buffer protocol or
__array_interface__ when DLPack was tried first.
(gh-22542)
NumPy builds are no longer tested on GCC-6
Ubuntu 18.04 is deprecated for GitHub actions and GCC-6 is not available on Ubuntu 20.04, so builds using that compiler are no longer tested. We still test builds using GCC-7 and GCC-8.
(gh-22598)
New Features
New attribute symbol added to polynomial classes
The polynomial classes in the numpy.polynomial package have a new
symbol attribute which is used to represent the indeterminate of the
polynomial. This can be used to change the value of the variable when
printing:
>>> P_y = np.polynomial.Polynomial([1, 0, -1], symbol="y")
>>> print(P_y)
1.0 + 0.0·y¹ - 1.0·y²
Note that the polynomial classes only support 1D polynomials, so operations that involve polynomials with different symbols are disallowed when the result would be multivariate:
>>> P = np.polynomial.Polynomial([1, -1]) # default symbol is "x"
>>> P_z = np.polynomial.Polynomial([1, 1], symbol="z")
>>> P * P_z
Traceback (most recent call last)
...
ValueError: Polynomial symbols differ
The symbol can be any valid Python identifier. The default is
symbol=x, consistent with existing behavior.
(gh-16154)
F2PY support for Fortran character strings
F2PY now supports wrapping Fortran functions with:
- character (e.g.
character x) - character array (e.g.
character, dimension(n) :: x) - character string (e.g.
character(len=10) x) - and character string array (e.g.
character(len=10), dimension(n, m) :: x)
arguments, including passing Python unicode strings as Fortran character string arguments.
(gh-19388)
New function np.show_runtime
A new function numpy.show_runtime has been added to display the
runtime information of the machine in addition to numpy.show_config
which displays the build-related information.
(gh-21468)
strict option for testing.assert_array_equal
The strict option is now available for testing.assert_array_equal.
Setting strict=True will disable the broadcasting behaviour for
scalars and ensure that input arrays have the same data type.
(gh-21595)
New parameter equal_nan added to np.unique
np.unique was changed in 1.21 to treat all NaN values as equal and
return a single NaN. Setting equal_nan=False will restore pre-1.21
behavior to treat NaNs as unique. Defaults to True.
(gh-21623)
casting and dtype keyword arguments for numpy.stack
The casting and dtype keyword arguments are now available for
numpy.stack. To use them, write
np.stack(..., dtype=None, casting='same_kind').
casting and dtype keyword arguments for numpy.vstack
The casting and dtype keyword arguments are now available for
numpy.vstack. To use them, write
np.vstack(..., dtype=None, casting='same_kind').
casting and dtype keyword arguments for numpy.hstack
The casting and dtype keyword arguments are now available for
numpy.hstack. To use them, write
np.hstack(..., dtype=None, casting='same_kind').
(gh-21627)
The bit generator underlying the singleton RandomState can be changed
The singleton RandomState instance exposed in the numpy.random
module is initialized at startup with the MT19937 bit generator. The
new function set_bit_generator allows the default bit generator to be
replaced with a user-provided bit generator. This function has been
introduced to provide a method allowing seamless integration of a
high-quality, modern bit generator in new code with existing code that
makes use of the singleton-provided random variate generating functions.
The companion function get_bit_generator returns the current bit
generator being used by the singleton RandomState. This is provided to
simplify restoring the original source of randomness if required.
The preferred method to generate reproducible random numbers is to use a
modern bit generator in an instance of Generator. The function
default_rng simplifies instantiation:
>>> rg = np.random.default_rng(3728973198)
>>> rg.random()
The same bit generator can then be shared with the singleton instance so
that calling functions in the random module will use the same bit
generator:
>>> orig_bit_gen = np.random.get_bit_generator()
>>> np.random.set_bit_generator(rg.bit_generator)
>>> np.random.normal()
The swap is permanent (until reversed) and so any call to functions in
the random module will use the new bit generator. The original can be
restored if required for code to run correctly:
>>> np.random.set_bit_generator(orig_bit_gen)
(gh-21976)
np.void now has a dtype argument
NumPy now allows constructing structured void scalars directly by
passing the dtype argument to np.void.
(gh-22316)
Improvements
F2PY Improvements
- The generated extension modules don\'t use the deprecated NumPy-C API anymore
- Improved
f2pygenerated exception messages - Numerous bug and
flake8warning fixes - various CPP macros that one can use within C-expressions of
signature files are prefixed with
f2py_. For example, one should usef2py_len(x)instead oflen(x) - A new construct
character(f2py_len=...)is introduced to support returning assumed length character strings (e.g.character(len=*)) from wrapper functions
A hook to support rewriting f2py internal data structures after
reading all its input files is introduced. This is required, for
instance, for BC of SciPy support where character arguments are treated
as character strings arguments in C expressions.
(gh-19388)
IBM zSystems Vector Extension Facility (SIMD)
Added support for SIMD extensions of zSystem (z13, z14, z15), through the universal intrinsics interface. This support leads to performance improvements for all SIMD kernels implemented using the universal intrinsics, including the following operations: rint, floor, trunc, ceil, sqrt, absolute, square, reciprocal, tanh, sin, cos, equal, notequal, greater, greaterequal, less, less_equal, maximum, minimum, fmax, fmin, argmax, argmin, add, subtract, multiply, divide.
(gh-20913)
NumPy now gives floating point errors in casts
In most cases, NumPy previously did not give floating point warnings or errors when these happened during casts. For examples, casts like:
np.array([2e300]).astype(np.float32) # overflow for float32
np.array([np.inf]).astype(np.int64)
Should now generally give floating point warnings. These warnings should warn that floating point overflow occurred. For errors when converting floating point values to integers users should expect invalid value warnings.
Users can modify the behavior of these warnings using np.errstate.
Note that for float to int casts, the exact warnings that are given may be platform dependent. For example:
arr = np.full(100, value=1000, dtype=np.float64)
arr.astype(np.int8)
May give a result equivalent to (the intermediate cast means no warning is given):
arr.astype(np.int64).astype(np.int8)
May return an undefined result, with a warning set:
RuntimeWarning: invalid value encountered in cast
The precise behavior is subject to the C99 standard and its implementation in both software and hardware.
(gh-21437)
F2PY supports the value attribute
The Fortran standard requires that variables declared with the value
attribute must be passed by value instead of reference. F2PY now
supports this use pattern correctly. So
integer, intent(in), value :: x in Fortran codes will have correct
wrappers generated.
(gh-21807)
Added pickle support for third-party BitGenerators
The pickle format for bit generators was extended to allow each bit
generator to supply its own constructor when during pickling. Previous
versions of NumPy only supported unpickling Generator instances
created with one of the core set of bit generators supplied with NumPy.
Attempting to unpickle a Generator that used a third-party bit
generators would fail since the constructor used during the unpickling
was only aware of the bit generators included in NumPy.
(gh-22014)
arange() now explicitly fails with dtype=str
Previously, the np.arange(n, dtype=str) function worked for n=1 and
n=2, but would raise a non-specific exception message for other values
of n. Now, it raises a [TypeError]{.title-ref} informing that arange
does not support string dtypes:
>>> np.arange(2, dtype=str)
Traceback (most recent call last)
...
TypeError: arange() not supported for inputs with DType <class 'numpy.dtype[str_]'>.
(gh-22055)
numpy.typing protocols are now runtime checkable
The protocols used in numpy.typing.ArrayLike and
numpy.typing.DTypeLike are now properly marked as runtime checkable,
making them easier to use for runtime type checkers.
(gh-22357)
Performance improvements and changes
Faster version of np.isin and np.in1d for integer arrays
np.in1d (used by np.isin) can now switch to a faster algorithm (up
to >10x faster) when it is passed two integer arrays. This is often
automatically used, but you can use kind="sort" or kind="table" to
force the old or new method, respectively.
(gh-12065)
Faster comparison operators
The comparison functions (numpy.equal, numpy.not_equal,
numpy.less, numpy.less_equal, numpy.greater and
numpy.greater_equal) are now much faster as they are now vectorized
with universal intrinsics. For a CPU with SIMD extension AVX512BW, the
performance gain is up to 2.57x, 1.65x and 19.15x for integer, float and
boolean data types, respectively (with N=50000).
(gh-21483)
Changes
Better reporting of integer division overflow
Integer division overflow of scalars and arrays used to provide a
RuntimeWarning and the return value was undefined leading to crashes
at rare occasions:
>>> np.array([np.iinfo(np.int32).min]*10, dtype=np.int32) // np.int32(-1)
<stdin>:1: RuntimeWarning: divide by zero encountered in floor_divide
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int32)
Integer division overflow now returns the input dtype\'s minimum value
and raise the following RuntimeWarning:
>>> np.array([np.iinfo(np.int32).min]*10, dtype=np.int32) // np.int32(-1)
<stdin>:1: RuntimeWarning: overflow encountered in floor_divide
array([-2147483648, -2147483648, -2147483648, -2147483648, -2147483648,
-2147483648, -2147483648, -2147483648, -2147483648, -2147483648],
dtype=int32)
(gh-21506)
masked_invalid now modifies the mask in-place
When used with copy=False, numpy.ma.masked_invalid now modifies the
input masked array in-place. This makes it behave identically to
masked_where and better matches the documentation.
(gh-22046)
nditer/NpyIter allows all allocating all operands
The NumPy iterator available through np.nditer in Python and as
NpyIter in C now supports allocating all arrays. The iterator shape
defaults to () in this case. The operands dtype must be provided,
since a \"common dtype\" cannot be inferred from the other inputs.
(gh-22457)
Checksums
MD5
0f45cfebcb56027a7c9fc14577082789 numpy-1.24.0rc2-cp310-cp310-macosx_10_9_x86_64.whl
c895f8af0f548ba2bbb948119a151cf7 numpy-1.24.0rc2-cp310-cp310-macosx_11_0_arm64.whl
4552d324786e3c05732135c59a73fbc6 numpy-1.24.0rc2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
99e4634eb1474e8c443cd6cee5dbc39e numpy-1.24.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f0304cb2aa708dfe1e0aa16cdfa3046d numpy-1.24.0rc2-cp310-cp310-win32.whl
501424e62329ac7996be850a2fc58963 numpy-1.24.0rc2-cp310-cp310-win_amd64.whl
2b6a65ea122eaffb2f3b5643b1ce1ec4 numpy-1.24.0rc2-cp311-cp311-macosx_10_9_x86_64.whl
865bbc90494b6e9e845ac1eb08ba0377 numpy-1.24.0rc2-cp311-cp311-macosx_11_0_arm64.whl
faa4f8e5050cb7c4319d2c2df23eca05 numpy-1.24.0rc2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
509fbe04ec7941baaedc6502d003b864 numpy-1.24.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2eb1e8cd4c53ee4046fb0cd858daef80 numpy-1.24.0rc2-cp311-cp311-win32.whl
f5bd22dee1273898598f373b72e40f84 numpy-1.24.0rc2-cp311-cp311-win_amd64.whl
6a7b14b0fcbb33a8a415e27afc856544 numpy-1.24.0rc2-cp38-cp38-macosx_10_9_x86_64.whl
8a26467d235710d2db2bc68ef639318f numpy-1.24.0rc2-cp38-cp38-macosx_11_0_arm64.whl
e6f08e32041c4e3ca64b8714f2c1f1c8 numpy-1.24.0rc2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7112b8e3f9a46953b0a1e9a670008ed4 numpy-1.24.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9a7155f0a4a39e17bd70c17331c7e765 numpy-1.24.0rc2-cp38-cp38-win32.whl
cb10d074bf1977d2257209f96465e639 numpy-1.24.0rc2-cp38-cp38-win_amd64.whl
0fa5a0f9dfbb817061bd3b438a0e0b19 numpy-1.24.0rc2-cp39-cp39-macosx_10_9_x86_64.whl
39bd8e522bf703f0be585a7b30861fd0 numpy-1.24.0rc2-cp39-cp39-macosx_11_0_arm64.whl
a8907c987c7b5f66891cf294dbba4347 numpy-1.24.0rc2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7a5f46715e8b93c7b86f275c7ae3f160 numpy-1.24.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
04daa21b43702b1bf5431731d16a59d6 numpy-1.24.0rc2-cp39-cp39-win32.whl
046ebc9bb672392443280192e8c71a6d numpy-1.24.0rc2-cp39-cp39-win_amd64.whl
e44b5d937de603499ccf29d96e308cd7 numpy-1.24.0rc2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
6a0c0372e7d4db195dd8e889d70de00b numpy-1.24.0rc2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
946e249ee0dab46c57b5b913ccfe80cd numpy-1.24.0rc2-pp38-pypy38_pp73-win_amd64.whl
0974533ba76def71daa78cd0df753e1e numpy-1.24.0rc2.tar.gz
SHA256
dce26877ad77c9722e35c9ca82e9272cb6d10aa0a4f95e633b13511dcf549b5f numpy-1.24.0rc2-cp310-cp310-macosx_10_9_x86_64.whl
0983fb5b475406cd6aa2f4f364768fb388e1211fd94fb496ad49e214d5c79792 numpy-1.24.0rc2-cp310-cp310-macosx_11_0_arm64.whl
df9a9c28ad95c87b4047e1acd45715eb430fb5f6df39556279b3f36ce75c697b numpy-1.24.0rc2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bdd44d3133c800792f2beda0e24f86b3ae06a8a31172395c650d13e4c05d1d5b numpy-1.24.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ab18e29ad73ce560747de10ebe75f145be3026b7480e76d7a5314c2bef0fc831 numpy-1.24.0rc2-cp310-cp310-win32.whl
1651a59e5d8dbb09b84254e358aa2fe10431df5a92ddefb1ac20208c75bd2fa2 numpy-1.24.0rc2-cp310-cp310-win_amd64.whl
146d7e5ee04433ce8eb504d0dcffff524a5ba759bd1fb9c73189c3436b04d59c numpy-1.24.0rc2-cp311-cp311-macosx_10_9_x86_64.whl
a68647adc9945eac88f4fce96195177c2a81577baa448c1c1bbd5751c550e8b5 numpy-1.24.0rc2-cp311-cp311-macosx_11_0_arm64.whl
50346a0d81444f420518c7d6996524d7e559cdfa2e41886381442f012593590e numpy-1.24.0rc2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8bc069b085289f3b7a578519504962330fab91459a847195b914f69b9170b75c numpy-1.24.0rc2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
07c0f3b174970054c613c33e90627fbafbc5d9115adf8829658b833278e7017c numpy-1.24.0rc2-cp311-cp311-win32.whl
1d6198ee7eb45e5d9cc8a5c9102b734f0c5683c0e440ae7cfad90ad8cb9316d2 numpy-1.24.0rc2-cp311-cp311-win_amd64.whl
e948367a0b9aa68a081c4cf817751c6d0d589a37ce6bb40fea39a882b4858834 numpy-1.24.0rc2-cp38-cp38-macosx_10_9_x86_64.whl
e4909946cf43ff713f95780d483793d8fb23c1559686a8221e91f89e5ecceea0 numpy-1.24.0rc2-cp38-cp38-macosx_11_0_arm64.whl
0704c94f89bf8d5d4f5722b305a29cbb1ad91c7f3dcdcda61cb80d6e5443365b numpy-1.24.0rc2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
748285bca9fb0f06a16034d4b9c6dce77997d2ccddf769aaeb4760fea4752ea2 numpy-1.24.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b6e807f59c1f71e74603a2a88b0b997d7f43e002f6e5f7f55649c6e07738f1ad numpy-1.24.0rc2-cp38-cp38-win32.whl
0a5c85f625751b77a6f613db2de5f62514024a7ea6d3be534421746e094b2121 numpy-1.24.0rc2-cp38-cp38-win_amd64.whl
5db5f7a8f150614684c34449010c15b61df8d8e5fc0cd79ce30e82f493598599 numpy-1.24.0rc2-cp39-cp39-macosx_10_9_x86_64.whl
6f34b8f2996ebad781cd878276e03d247f0129640fb0ae76bb16addc4df822d1 numpy-1.24.0rc2-cp39-cp39-macosx_11_0_arm64.whl
e30689dd418f2db3d2d3039cb08011047d27708fdc24c592d56fa58aaeb01672 numpy-1.24.0rc2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
925d39290878d680eb8dd690f969faa0a4956b7bd77daf3573486eb39d8e5724 numpy-1.24.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a2495e48db12f546e4e3f9ea1f665390828098344bf63bca50309a68d713d302 numpy-1.24.0rc2-cp39-cp39-win32.whl
ea9ca0989fdd42d3320a94f540f317fb615be9ceab75a07078a84b9933582da5 numpy-1.24.0rc2-cp39-cp39-win_amd64.whl
c9ff51e627e7584eb7ee09f6fe494862e45f796e53b5ee7267d3d5633a79dac6 numpy-1.24.0rc2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
b4eca15593bec5ef3e2e05c157ff1be3990d04a862f49fd46b4e527ff390b778 numpy-1.24.0rc2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b45bdcde72ce02a92ae183ef211bcf7f04e15d5e3df6714866de66d8ec8cc822 numpy-1.24.0rc2-pp38-pypy38_pp73-win_amd64.whl
c943c61fa708a6225e199aff755b2c3f5a353a2bbb726e10334a05b8e1fc030b numpy-1.24.0rc2.tar.gz
- Python
Published by charris over 3 years ago
numpy -
NumPy 1.24 Release Notes
The NumPy 1.24.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, and clarify the documentation. There are also a large number of new and expired deprecations due to changes in promotion and cleanups. This might be called a deprecation release. Highlights are
- Many new deprecations, check them out.
- Many expired deprecations,
- New F2PY features and fixes.
- New \"dtype\" and \"casting\" keywords for stacking functions.
See below for the details,
Deprecations
Deprecate fastCopyAndTranspose and PyArray_CopyAndTranspose
The numpy.fastCopyAndTranspose function has been deprecated. Use the
corresponding copy and transpose methods directly:
arr.T.copy()
The underlying C function PyArray_CopyAndTranspose has also been
deprecated from the NumPy C-API.
(gh-22313)
Conversion of out-of-bound Python integers
Attempting a conversion from a Python integer to a NumPy value will now
always check whether the result can be represented by NumPy. This means
the following examples will fail in the future and give a
DeprecationWarning now:
np.uint8(-1)
np.array([3000], dtype=np.int8)
Many of these did succeed before. Such code was mainly useful for
unsigned integers with negative values such as np.uint8(-1) giving
np.iinfo(np.uint8).max.
Note that conversion between NumPy integers is unaffected, so that
np.array(-1).astype(np.uint8) continues to work and use C integer
overflow logic.
(gh-22393)
Deprecate msort
The numpy.msort function is deprecated. Use np.sort(a, axis=0)
instead.
(gh-22456)
np.str0 and similar are now deprecated
The scalar type aliases ending in a 0 bit size: np.object0, np.str0,
np.bytes0, np.void0, np.int0, np.uint0 as well as np.bool8 are
now deprecated and will eventually be removed.
(gh-22607)
Expired deprecations
The
normedkeyword argument has been removed from [np.histogram]{.title-ref}, [np.histogram2d]{.title-ref}, and [np.histogramdd]{.title-ref}. Usedensityinstead. Ifnormedwas passed by position,densityis now used.(gh-21645)
Ragged array creation will now always raise a
ValueErrorunlessdtype=objectis passed. This includes very deeply nested sequences.(gh-22004)
Support for Visual Studio 2015 and earlier has been removed.
Support for the Windows Interix POSIX interop layer has been removed.
(gh-22139)
Support for cygwin < 3.3 has been removed.
(gh-22159)
The mini() method of
np.ma.MaskedArrayhas been removed. Use eithernp.ma.MaskedArray.min()ornp.ma.minimum.reduce().The single-argument form of
np.ma.minimumandnp.ma.maximumhas been removed. Usenp.ma.minimum.reduce()ornp.ma.maximum.reduce()instead.(gh-22228)
Passing dtype instances other than the canonical (mainly native byte-order) ones to
dtype=orsignature=in ufuncs will now raise aTypeError. We recommend passing the strings"int8"or scalar typesnp.int8since the byte-order, datetime/timedelta unit, etc. are never enforced. (Initially deprecated in NumPy 1.21.)(gh-22540)
The
dtype=argument to comparison ufuncs is now applied correctly. That means that onlyboolandobjectare valid values anddtype=objectis enforced.(gh-22541)
The deprecation for the aliases
np.object,np.bool,np.float,np.complex,np.str, andnp.intis expired (introduces NumPy 1.20). Some of these will now give a FutureWarning in addition to raising an error since they will be mapped to the NumPy scalars in the future.(gh-22607)
Compatibility notes
array.fill(scalar) may behave slightly different
numpy.ndarray.fill may in some cases behave slightly different now due
to the fact that the logic is aligned with item assignment:
arr = np.array([1]) # with any dtype/value
arr.fill(scalar)
# is now identical to:
arr[0] = scalar
Previously casting may have produced slightly different answers when
using values that could not be represented in the target dtype or when
the target had object dtype.
(gh-20924)
Subarray to object cast now copies
Casting a dtype that includes a subarray to an object will now ensure a copy of the subarray. Previously an unsafe view was returned:
arr = np.ones(3, dtype=[("f", "i", 3)])
subarray_fields = arr.astype(object)[0]
subarray = subarray_fields[0] # "f" field
np.may_share_memory(subarray, arr)
Is now always false. While previously it was true for the specific cast.
(gh-21925)
Returned arrays respect uniqueness of dtype kwarg objects
When the dtype keyword argument is used with
:pynp.array(){.interpreted-text role="func"} or
:pyasarray(){.interpreted-text role="func"}, the dtype of the returned
array now always exactly matches the dtype provided by the caller.
In some cases this change means that a view rather than the input
array is returned. The following is an example for this on 64bit Linux
where long and longlong are the same precision but different
dtypes:
>>> arr = np.array([1, 2, 3], dtype="long")
>>> new_dtype = np.dtype("longlong")
>>> new = np.asarray(arr, dtype=new_dtype)
>>> new.dtype is new_dtype
True
>>> new is arr
False
Before the change, the dtype did not match because new is arr was
True.
(gh-21995)
DLPack export raises BufferError
When an array buffer cannot be exported via DLPack a BufferError is
now always raised where previously TypeError or RuntimeError was
raised. This allows falling back to the buffer protocol or
__array_interface__ when DLPack was tried first.
(gh-22542)
NumPy builds are no longer tested on GCC-6
Ubuntu 18.04 is deprecated for GitHub actions and GCC-6 is not available on Ubuntu 20.04, so builds using that compiler are no longer tested. We still test builds using GCC-7 and GCC-8.
(gh-22598)
New Features
New attribute symbol added to polynomial classes
The polynomial classes in the numpy.polynomial package have a new
symbol attribute which is used to represent the indeterminate of the
polynomial. This can be used to change the value of the variable when
printing:
>>> P_y = np.polynomial.Polynomial([1, 0, -1], symbol="y")
>>> print(P_y)
1.0 + 0.0·y¹ - 1.0·y²
Note that the polynomial classes only support 1D polynomials, so operations that involve polynomials with different symbols are disallowed when the result would be multivariate:
>>> P = np.polynomial.Polynomial([1, -1]) # default symbol is "x"
>>> P_z = np.polynomial.Polynomial([1, 1], symbol="z")
>>> P * P_z
Traceback (most recent call last)
...
ValueError: Polynomial symbols differ
The symbol can be any valid Python identifier. The default is
symbol=x, consistent with existing behavior.
(gh-16154)
F2PY support for Fortran character strings
F2PY now supports wrapping Fortran functions with:
- character (e.g.
character x) - character array (e.g.
character, dimension(n) :: x) - character string (e.g.
character(len=10) x) - and character string array (e.g.
character(len=10), dimension(n, m) :: x)
arguments, including passing Python unicode strings as Fortran character string arguments.
(gh-19388)
New function np.show_runtime
A new function numpy.show_runtime has been added to display the
runtime information of the machine in addition to numpy.show_config
which displays the build-related information.
(gh-21468)
strict option for testing.assert_array_equal
The strict option is now available for testing.assert_array_equal.
Setting strict=True will disable the broadcasting behaviour for
scalars and ensure that input arrays have the same data type.
(gh-21595)
New parameter equal_nan added to np.unique
np.unique was changed in 1.21 to treat all NaN values as equal and
return a single NaN. Setting equal_nan=False will restore pre-1.21
behavior to treat NaNs as unique. Defaults to True.
(gh-21623)
casting and dtype keyword arguments for numpy.stack
The casting and dtype keyword arguments are now available for
numpy.stack. To use them, write
np.stack(..., dtype=None, casting='same_kind').
casting and dtype keyword arguments for numpy.vstack
The casting and dtype keyword arguments are now available for
numpy.vstack. To use them, write
np.vstack(..., dtype=None, casting='same_kind').
casting and dtype keyword arguments for numpy.hstack
The casting and dtype keyword arguments are now available for
numpy.hstack. To use them, write
np.hstack(..., dtype=None, casting='same_kind').
(gh-21627)
The bit generator underlying the singleton RandomState can be changed
The singleton RandomState instance exposed in the numpy.random
module is initialized at startup with the MT19937 bit generator. The
new function set_bit_generator allows the default bit generator to be
replaced with a user-provided bit generator. This function has been
introduced to provide a method allowing seamless integration of a
high-quality, modern bit generator in new code with existing code that
makes use of the singleton-provided random variate generating functions.
The companion function get_bit_generator returns the current bit
generator being used by the singleton RandomState. This is provided to
simplify restoring the original source of randomness if required.
The preferred method to generate reproducible random numbers is to use a
modern bit generator in an instance of Generator. The function
default_rng simplifies instantiation:
>>> rg = np.random.default_rng(3728973198)
>>> rg.random()
The same bit generator can then be shared with the singleton instance so
that calling functions in the random module will use the same bit
generator:
>>> orig_bit_gen = np.random.get_bit_generator()
>>> np.random.set_bit_generator(rg.bit_generator)
>>> np.random.normal()
The swap is permanent (until reversed) and so any call to functions in
the random module will use the new bit generator. The original can be
restored if required for code to run correctly:
>>> np.random.set_bit_generator(orig_bit_gen)
(gh-21976)
np.void now has a dtype argument
NumPy now allows constructing structured void scalars directly by
passing the dtype argument to np.void.
(gh-22316)
Improvements
F2PY Improvements
- The generated extension modules don\'t use the deprecated NumPy-C API anymore
- Improved
f2pygenerated exception messages - Numerous bug and
flake8warning fixes - various CPP macros that one can use within C-expressions of
signature files are prefixed with
f2py_. For example, one should usef2py_len(x)instead oflen(x) - A new construct
character(f2py_len=...)is introduced to support returning assumed length character strings (e.g.character(len=*)) from wrapper functions
A hook to support rewriting f2py internal data structures after
reading all its input files is introduced. This is required, for
instance, for BC of SciPy support where character arguments are treated
as character strings arguments in C expressions.
(gh-19388)
IBM zSystems Vector Extension Facility (SIMD)
Added support for SIMD extensions of zSystem (z13, z14, z15), through the universal intrinsics interface. This support leads to performance improvements for all SIMD kernels implemented using the universal intrinsics, including the following operations: rint, floor, trunc, ceil, sqrt, absolute, square, reciprocal, tanh, sin, cos, equal, notequal, greater, greaterequal, less, less_equal, maximum, minimum, fmax, fmin, argmax, argmin, add, subtract, multiply, divide.
(gh-20913)
NumPy now gives floating point errors in casts
In most cases, NumPy previously did not give floating point warnings or errors when these happened during casts. For examples, casts like:
np.array([2e300]).astype(np.float32) # overflow for float32
np.array([np.inf]).astype(np.int64)
Should now generally give floating point warnings. These warnings should warn that floating point overflow occurred. For errors when converting floating point values to integers users should expect invalid value warnings.
Users can modify the behavior of these warnings using np.errstate.
Note that for float to int casts, the exact warnings that are given may be platform dependent. For example:
arr = np.full(100, value=1000, dtype=np.float64)
arr.astype(np.int8)
May give a result equivalent to (the intermediate cast means no warning is given):
arr.astype(np.int64).astype(np.int8)
May return an undefined result, with a warning set:
RuntimeWarning: invalid value encountered in cast
The precise behavior is subject to the C99 standard and its implementation in both software and hardware.
(gh-21437)
F2PY supports the value attribute
The Fortran standard requires that variables declared with the value
attribute must be passed by value instead of reference. F2PY now
supports this use pattern correctly. So
integer, intent(in), value :: x in Fortran codes will have correct
wrappers generated.
(gh-21807)
Added pickle support for third-party BitGenerators
The pickle format for bit generators was extended to allow each bit
generator to supply its own constructor when during pickling. Previous
versions of NumPy only supported unpickling Generator instances
created with one of the core set of bit generators supplied with NumPy.
Attempting to unpickle a Generator that used a third-party bit
generators would fail since the constructor used during the unpickling
was only aware of the bit generators included in NumPy.
(gh-22014)
arange() now explicitly fails with dtype=str
Previously, the np.arange(n, dtype=str) function worked for n=1 and
n=2, but would raise a non-specific exception message for other values
of n. Now, it raises a [TypeError]{.title-ref} informing that arange
does not support string dtypes:
>>> np.arange(2, dtype=str)
Traceback (most recent call last)
...
TypeError: arange() not supported for inputs with DType <class 'numpy.dtype[str_]'>.
(gh-22055)
numpy.typing protocols are now runtime checkable
The protocols used in numpy.typing.ArrayLike and
numpy.typing.DTypeLike are now properly marked as runtime checkable,
making them easier to use for runtime type checkers.
(gh-22357)
Performance improvements and changes
Faster version of np.isin and np.in1d for integer arrays
np.in1d (used by np.isin) can now switch to a faster algorithm (up
to >10x faster) when it is passed two integer arrays. This is often
automatically used, but you can use kind="sort" or kind="table" to
force the old or new method, respectively.
(gh-12065)
Faster comparison operators
The comparison functions (numpy.equal, numpy.not_equal,
numpy.less, numpy.less_equal, numpy.greater and
numpy.greater_equal) are now much faster as they are now vectorized
with universal intrinsics. For a CPU with SIMD extension AVX512BW, the
performance gain is up to 2.57x, 1.65x and 19.15x for integer, float and
boolean data types, respectively (with N=50000).
(gh-21483)
Changes
Better reporting of integer division overflow
Integer division overflow of scalars and arrays used to provide a
RuntimeWarning and the return value was undefined leading to crashes
at rare occasions:
>>> np.array([np.iinfo(np.int32).min]*10, dtype=np.int32) // np.int32(-1)
<stdin>:1: RuntimeWarning: divide by zero encountered in floor_divide
array([0, 0, 0, 0, 0, 0, 0, 0, 0, 0], dtype=int32)
Integer division overflow now returns the input dtype\'s minimum value
and raise the following RuntimeWarning:
>>> np.array([np.iinfo(np.int32).min]*10, dtype=np.int32) // np.int32(-1)
<stdin>:1: RuntimeWarning: overflow encountered in floor_divide
array([-2147483648, -2147483648, -2147483648, -2147483648, -2147483648,
-2147483648, -2147483648, -2147483648, -2147483648, -2147483648],
dtype=int32)
(gh-21506)
masked_invalid now modifies the mask in-place
When used with copy=False, numpy.ma.masked_invalid now modifies the
input masked array in-place. This makes it behave identically to
masked_where and better matches the documentation.
(gh-22046)
nditer/NpyIter allows all allocating all operands
The NumPy iterator available through np.nditer in Python and as
NpyIter in C now supports allocating all arrays. The iterator shape
defaults to () in this case. The operands dtype must be provided,
since a \"common dtype\" cannot be inferred from the other inputs.
(gh-22457)
Checksums
MD5
1f08c901040ebe1324d16cfc71fe3cd2 numpy-1.24.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
d35a59a1ccf1542d690860ad85fbb0f0 numpy-1.24.0rc1-cp310-cp310-macosx_11_0_arm64.whl
c7db37964986d7b9756fd1aa077b7e72 numpy-1.24.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
72c2dad61fc86c4d87e23d0de975e0b6 numpy-1.24.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3c769f1089253266d7a522144696bde3 numpy-1.24.0rc1-cp310-cp310-win32.whl
96226a2045063b9caff40fe2a2098e72 numpy-1.24.0rc1-cp310-cp310-win_amd64.whl
b20897446f52e7fcde80e12c7cc1dc1e numpy-1.24.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
9cafe21759e90c705533d1f3201d35aa numpy-1.24.0rc1-cp311-cp311-macosx_11_0_arm64.whl
0e8621d07dae7ffaba6cfe83f7288042 numpy-1.24.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0c67808eed6ba6f9e9074e6f11951f09 numpy-1.24.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1065bea5d0670360353e698093954e35 numpy-1.24.0rc1-cp311-cp311-win32.whl
fe2122ec86b45e00b648071ee2931fbc numpy-1.24.0rc1-cp311-cp311-win_amd64.whl
ab3e8424a04338d43ed466ade66de7a8 numpy-1.24.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
fc6eac08a59c4efb3962d990ff94f2b7 numpy-1.24.0rc1-cp38-cp38-macosx_11_0_arm64.whl
3498ac93ae6abba813e5d76f86ae5356 numpy-1.24.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
629ce4b8cb011ff735ebd482fbf51702 numpy-1.24.0rc1-cp38-cp38-win32.whl
cb503a78e27f0f46b6b43d211275dc58 numpy-1.24.0rc1-cp38-cp38-win_amd64.whl
ffccdb9750336f5e55ab90c8eb7c1a8d numpy-1.24.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
9751b9f833238a7309ad4e6b43fa8cb5 numpy-1.24.0rc1-cp39-cp39-macosx_11_0_arm64.whl
cb8a10f411773f0ac5e06df067599d45 numpy-1.24.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8d670816134824972afb512498b95ede numpy-1.24.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
60687b97ab720f6be9e3542e5761769f numpy-1.24.0rc1-cp39-cp39-win32.whl
11fd99748acc0726ac164034c32bb3cd numpy-1.24.0rc1-cp39-cp39-win_amd64.whl
09e1d6f6d75facaf84d2b87a33874d4b numpy-1.24.0rc1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
2da9ad07343b410aca4edf1285e4266b numpy-1.24.0rc1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9a0e466a55632cc1d67db119f586cd05 numpy-1.24.0rc1-pp38-pypy38_pp73-win_amd64.whl
abc863895b02cdcc436474f6cdf2d14d numpy-1.24.0rc1.tar.gz
SHA256
36acf6043b94a0e8af75d0a1931678d20e673b83fd79798c805ebc995e233cff numpy-1.24.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
244c2c22f776e168e1060112f87717d73df2462e0eba4095a7673fe87db49b7a numpy-1.24.0rc1-cp310-cp310-macosx_11_0_arm64.whl
730112e692c165e8ad69071c70653522ee19d8c8af2da839339de01013eeef24 numpy-1.24.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
960b0d980adfa5c37fea89fc556bb482f9d957a3188be46d03a00fa1bd8f617b numpy-1.24.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f54788f1a6941cb1b57bcf5ff09a281e5db75bbf9f2ac9534a626128ded0244f numpy-1.24.0rc1-cp310-cp310-win32.whl
07fef63a5113969d7897589928870c57dd3e28671d617f688486f12c3a3b466a numpy-1.24.0rc1-cp310-cp310-win_amd64.whl
aea88e02d9335052172f4d6c8163721c3edd086ea3bf3bc9b6d5c55661540f1b numpy-1.24.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
3950be11c03d250ea780280ce37a6fe7bd21dafcb478e08190c72b6c58ed7d18 numpy-1.24.0rc1-cp311-cp311-macosx_11_0_arm64.whl
743c30cda228f8be9fe552453870b412b38ac232972c617a0f18765dedf395a5 numpy-1.24.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
cab1335b70e24e88ef2b9f727b9f5fc6e0d31d9fe9da0213f6c28cf615b65db0 numpy-1.24.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5283759f0dd905f9e62ed55775345fbb233a53146ceaf2f75e96d939f564ee79 numpy-1.24.0rc1-cp311-cp311-win32.whl
427bd9c45777e8baf782b6b33ebc26a88716c2d9b76b0474987660c2c066dca0 numpy-1.24.0rc1-cp311-cp311-win_amd64.whl
20edfad312395d1cb8ad6ca5d2c42d2dab057f5d1920af3f94c7a72103335d8a numpy-1.24.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
79134b92e1fb86915369753b3e64a359416cd98ea2329d270eb4e1d0ab300c0d numpy-1.24.0rc1-cp38-cp38-macosx_11_0_arm64.whl
6f00858573e2316ac5d190cf81dc178d94579969f827ac34c7a53110428e6f72 numpy-1.24.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a8d6f78be3ad0bd9b4adecba2fda570ef491ae69f8c7cc84acd382802a81e242 numpy-1.24.0rc1-cp38-cp38-win32.whl
f1f5fa912df64dd48ec55352b72f4b036ab7b3911e996703f436e17baca780f9 numpy-1.24.0rc1-cp38-cp38-win_amd64.whl
8d149b3c3062dc68e29bdb244edc30c5d80e2c654b5c27c32773bf7354452b48 numpy-1.24.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
d177fbd4d22248640d73f07c3aac2cc1f79c412f61564452abd08606ee5e3713 numpy-1.24.0rc1-cp39-cp39-macosx_11_0_arm64.whl
05faa4ecb98d7bc593afc5b10c25f0e7dd65244b653756b083c605fbf60b9b67 numpy-1.24.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
06d8827c6fa511b61047376efc3a677d447193bf88e6bbde35b4e5223a4b58d6 numpy-1.24.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
15605b92bf10b10e110a9c0f1c4ef6cd58246532c62a0c3d3188c05e69cdcdb6 numpy-1.24.0rc1-cp39-cp39-win32.whl
8046f5c23769791be8432a592b9881984e0e4abc7f552c7e5c349420a27323e7 numpy-1.24.0rc1-cp39-cp39-win_amd64.whl
aa9c4a2f65d669e6559123154da944ad6bd7605cbba5cce81bf6794617870510 numpy-1.24.0rc1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
e44fd1bdfa50979ddec76318e21abc82ee3858e5f45dfc5153b6f660d9d29851 numpy-1.24.0rc1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1802199d70d9f8ac11eb63a1ef50d33915b78a84bacacaadb2896175005103d4 numpy-1.24.0rc1-pp38-pypy38_pp73-win_amd64.whl
d601180710004799acb8f80e564b84e71490fac9d84e115e2f5b0f6709754f16 numpy-1.24.0rc1.tar.gz
- Python
Published by charris over 3 years ago
numpy -
NumPy 1.23.5 Release Notes
NumPy 1.23.5 is a maintenance release that fixes bugs discovered after the 1.23.4 release and keeps the build infrastructure current. The Python versions supported for this release are 3.8-3.11.
Contributors
A total of 7 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- \@DWesl
- Aayush Agrawal +
- Adam Knapp +
- Charles Harris
- Navpreet Singh +
- Sebastian Berg
- Tania Allard
Pull requests merged
A total of 10 pull requests were merged for this release.
- #22489: TST, MAINT: Replace most setup with setup_method (also teardown)
- #22490: MAINT, CI: Switch to cygwin/cygwin-install-action@v2
- #22494: TST: Make testpartialiteration_cleanup robust but require leak...
- #22592: MAINT: Ensure graceful handling of large header sizes
- #22593: TYP: Spelling alignment for array flag literal
- #22594: BUG: Fix bounds checking for
random.logseries - #22595: DEV: Update GH actions and Dockerfile for Gitpod
- #22596: CI: Only fetch in actions/checkout
- #22597: BUG: Decrement ref count in gentype_reduce if allocated memory...
- #22625: BUG: Histogramdd breaks on big arrays in Windows
Checksums
MD5
8a412b79d975199cefadb465279fd569 numpy-1.23.5-cp310-cp310-macosx_10_9_x86_64.whl
1b56e8e6a0516c78473657abf0710538 numpy-1.23.5-cp310-cp310-macosx_11_0_arm64.whl
c787f4763c9a5876e86a17f1651ba458 numpy-1.23.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
db07645022e56747ba3f00c2d742232e numpy-1.23.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c63a6fb7cc16a13aabc82ec57ac6bb4d numpy-1.23.5-cp310-cp310-win32.whl
3fea9247e1d812600015641941fa273f numpy-1.23.5-cp310-cp310-win_amd64.whl
4222cfb36e5ac9aec348c81b075e2c05 numpy-1.23.5-cp311-cp311-macosx_10_9_x86_64.whl
6c7102f185b310ac70a62c13d46f04e6 numpy-1.23.5-cp311-cp311-macosx_11_0_arm64.whl
6b7319f66bf7ac01b49e2a32470baf28 numpy-1.23.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3c60928ddb1f55163801f06ac2229eb0 numpy-1.23.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6936b6bcfd6474acc7a8c162a9393b3c numpy-1.23.5-cp311-cp311-win32.whl
6c9af68b7b56c12c913678cafbdc44d6 numpy-1.23.5-cp311-cp311-win_amd64.whl
699daeac883260d3f182ae4bbbd9bbd2 numpy-1.23.5-cp38-cp38-macosx_10_9_x86_64.whl
6c233a36339de0652139e78ef91504d4 numpy-1.23.5-cp38-cp38-macosx_11_0_arm64.whl
57d5439556ab5078c91bdeffd9c0036e numpy-1.23.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a8045b59187f2e0ccd4294851adbbb8a numpy-1.23.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7f38f7e560e4bf41490372ab84aa7a38 numpy-1.23.5-cp38-cp38-win32.whl
76095726ba459d7f761b44acf2e56bd1 numpy-1.23.5-cp38-cp38-win_amd64.whl
174befd584bc1b03ed87c8f0d149a58e numpy-1.23.5-cp39-cp39-macosx_10_9_x86_64.whl
9cbac793d77278f5d27a7979b64f6b5b numpy-1.23.5-cp39-cp39-macosx_11_0_arm64.whl
6e417b087044e90562183b33f3049b09 numpy-1.23.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
54fa63341eaa6da346d824399e8237f6 numpy-1.23.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cc14d62a158e99c57f925c86551e45f0 numpy-1.23.5-cp39-cp39-win32.whl
bad36b81e7e84bd7a028affa0659d235 numpy-1.23.5-cp39-cp39-win_amd64.whl
b4d17d6b79a8354a2834047669651963 numpy-1.23.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
89f6dc4a4ff63fca6af1223111cd888d numpy-1.23.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
633d574a35b8592bab502ef569b0731e numpy-1.23.5-pp38-pypy38_pp73-win_amd64.whl
8b2692a511a3795f3af8af2cd7566a15 numpy-1.23.5.tar.gz
SHA256
9c88793f78fca17da0145455f0d7826bcb9f37da4764af27ac945488116efe63 numpy-1.23.5-cp310-cp310-macosx_10_9_x86_64.whl
e9f4c4e51567b616be64e05d517c79a8a22f3606499941d97bb76f2ca59f982d numpy-1.23.5-cp310-cp310-macosx_11_0_arm64.whl
7903ba8ab592b82014713c491f6c5d3a1cde5b4a3bf116404e08f5b52f6daf43 numpy-1.23.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5e05b1c973a9f858c74367553e236f287e749465f773328c8ef31abe18f691e1 numpy-1.23.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
522e26bbf6377e4d76403826ed689c295b0b238f46c28a7251ab94716da0b280 numpy-1.23.5-cp310-cp310-win32.whl
dbee87b469018961d1ad79b1a5d50c0ae850000b639bcb1b694e9981083243b6 numpy-1.23.5-cp310-cp310-win_amd64.whl
ce571367b6dfe60af04e04a1834ca2dc5f46004ac1cc756fb95319f64c095a96 numpy-1.23.5-cp311-cp311-macosx_10_9_x86_64.whl
56e454c7833e94ec9769fa0f86e6ff8e42ee38ce0ce1fa4cbb747ea7e06d56aa numpy-1.23.5-cp311-cp311-macosx_11_0_arm64.whl
5039f55555e1eab31124a5768898c9e22c25a65c1e0037f4d7c495a45778c9f2 numpy-1.23.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
58f545efd1108e647604a1b5aa809591ccd2540f468a880bedb97247e72db387 numpy-1.23.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b2a9ab7c279c91974f756c84c365a669a887efa287365a8e2c418f8b3ba73fb0 numpy-1.23.5-cp311-cp311-win32.whl
0cbe9848fad08baf71de1a39e12d1b6310f1d5b2d0ea4de051058e6e1076852d numpy-1.23.5-cp311-cp311-win_amd64.whl
f063b69b090c9d918f9df0a12116029e274daf0181df392839661c4c7ec9018a numpy-1.23.5-cp38-cp38-macosx_10_9_x86_64.whl
0aaee12d8883552fadfc41e96b4c82ee7d794949e2a7c3b3a7201e968c7ecab9 numpy-1.23.5-cp38-cp38-macosx_11_0_arm64.whl
92c8c1e89a1f5028a4c6d9e3ccbe311b6ba53694811269b992c0b224269e2398 numpy-1.23.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d208a0f8729f3fb790ed18a003f3a57895b989b40ea4dce4717e9cf4af62c6bb numpy-1.23.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
06005a2ef6014e9956c09ba07654f9837d9e26696a0470e42beedadb78c11b07 numpy-1.23.5-cp38-cp38-win32.whl
ca51fcfcc5f9354c45f400059e88bc09215fb71a48d3768fb80e357f3b457e1e numpy-1.23.5-cp38-cp38-win_amd64.whl
8969bfd28e85c81f3f94eb4a66bc2cf1dbdc5c18efc320af34bffc54d6b1e38f numpy-1.23.5-cp39-cp39-macosx_10_9_x86_64.whl
a7ac231a08bb37f852849bbb387a20a57574a97cfc7b6cabb488a4fc8be176de numpy-1.23.5-cp39-cp39-macosx_11_0_arm64.whl
bf837dc63ba5c06dc8797c398db1e223a466c7ece27a1f7b5232ba3466aafe3d numpy-1.23.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
33161613d2269025873025b33e879825ec7b1d831317e68f4f2f0f84ed14c719 numpy-1.23.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
af1da88f6bc3d2338ebbf0e22fe487821ea4d8e89053e25fa59d1d79786e7481 numpy-1.23.5-cp39-cp39-win32.whl
09b7847f7e83ca37c6e627682f145856de331049013853f344f37b0c9690e3df numpy-1.23.5-cp39-cp39-win_amd64.whl
abdde9f795cf292fb9651ed48185503a2ff29be87770c3b8e2a14b0cd7aa16f8 numpy-1.23.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
f9a909a8bae284d46bbfdefbdd4a262ba19d3bc9921b1e76126b1d21c3c34135 numpy-1.23.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
01dd17cbb340bf0fc23981e52e1d18a9d4050792e8fb8363cecbf066a84b827d numpy-1.23.5-pp38-pypy38_pp73-win_amd64.whl
1b1766d6f397c18153d40015ddfc79ddb715cabadc04d2d228d4e5a8bc4ded1a numpy-1.23.5.tar.gz
- Python
Published by charris over 3 years ago
numpy -
NumPy 1.23.4 Release Notes
NumPy 1.23.4 is a maintenance release that fixes bugs discovered after
the 1.23.3 release and keeps the build infrastructure current. The main
improvements are fixes for some annotation corner cases, a fix for a
long time nested_iters memory leak, and a fix of complex vector dot
for very large arrays. The Python versions supported for this release
are 3.8-3.11.
Note that the mypy version needs to be 0.981+ if you test using Python 3.10.7, otherwise the typing tests will fail.
Contributors
A total of 8 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Bas van Beek
- Charles Harris
- Matthew Barber
- Matti Picus
- Ralf Gommers
- Ross Barnowski
- Sebastian Berg
- Sicheng Zeng +
Pull requests merged
A total of 13 pull requests were merged for this release.
- #22368: BUG: Add
__array_api_version__tonumpy.array_apinamespace - #22370: MAINT: update sde toolkit to 9.0, fix download link
- #22382: BLD: use macos-11 image on azure, macos-1015 is deprecated
- #22383: MAINT: random: remove
get_infofrom \"extending with Cython\"... - #22384: BUG: Fix complex vector dot with more than NPYCBLASCHUNK elements
- #22387: REV: Loosen
lookfor\'s import try/except again - #22388: TYP,ENH: Mark
numpy.typingprotocols as runtime checkable - #22389: TYP,MAINT: Change more overloads to play nice with pyright
- #22390: TST,TYP: Bump mypy to 0.981
- #22391: DOC: Update delimiter param description.
- #22392: BUG: Memory leaks in numpy.nested_iters
- #22413: REL: Prepare for the NumPy 1.23.4 release.
- #22424: TST: Fix failing aarch64 wheel builds.
Checksums
MD5
90a3d95982490cfeeef22c0f7cbd874f numpy-1.23.4-cp310-cp310-macosx_10_9_x86_64.whl
c3cae63394db6c82fd2cb5700fc5917d numpy-1.23.4-cp310-cp310-macosx_11_0_arm64.whl
b3ff0878de205f56c38fd7dcab80081f numpy-1.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e2b086ca2229209f2f996c2f9a38bf9c numpy-1.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
44cc8bb112ca737520cf986fff92dfb0 numpy-1.23.4-cp310-cp310-win32.whl
21c8e5fdfba2ff953e446189379cf0c9 numpy-1.23.4-cp310-cp310-win_amd64.whl
27445a9c85977cb8efa682a4b993347f numpy-1.23.4-cp311-cp311-macosx_10_9_x86_64.whl
11ef4b7dfdaa37604cb881f3ca4459db numpy-1.23.4-cp311-cp311-macosx_11_0_arm64.whl
b3c77344274f91514f728a454fd471fa numpy-1.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
43aef7f984cd63d95c11fb74dd59ef0b numpy-1.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
637fe21b585228c9670d6e002bf8047f numpy-1.23.4-cp311-cp311-win32.whl
f529edf9b849d6e3b8cdb5120ae5b81a numpy-1.23.4-cp311-cp311-win_amd64.whl
76c61ce36317a7e509663829c6844fd9 numpy-1.23.4-cp38-cp38-macosx_10_9_x86_64.whl
2133f6893eef41cd9331c7d0271044c4 numpy-1.23.4-cp38-cp38-macosx_11_0_arm64.whl
5ccb3aa6fb8cb9e20ec336e315d01dec numpy-1.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
da71f34a4df0b98e4d9e17906dd57b07 numpy-1.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a318978f51fb80a17c2381e39194e906 numpy-1.23.4-cp38-cp38-win32.whl
eac810d6bc43830bf151ea55cd0ded93 numpy-1.23.4-cp38-cp38-win_amd64.whl
4cf0a6007abe42564c7380dbf92a26ce numpy-1.23.4-cp39-cp39-macosx_10_9_x86_64.whl
2e005bedf129ce8bafa6f550537f3740 numpy-1.23.4-cp39-cp39-macosx_11_0_arm64.whl
10aa210311fcd19a03f6c5495824a306 numpy-1.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6301298a67999657a0878b64eeed09f2 numpy-1.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
76144e575a3c3863ea22e03cdf022d8a numpy-1.23.4-cp39-cp39-win32.whl
8291dd66ef5451b4db2da55c21535757 numpy-1.23.4-cp39-cp39-win_amd64.whl
7cc095b18690071828b5b620d5ec40e7 numpy-1.23.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
63742f15e8bfa215c893136bbfc6444f numpy-1.23.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4ed382e55abc09c89a34db047692f6a6 numpy-1.23.4-pp38-pypy38_pp73-win_amd64.whl
d9ffd2c189633486ec246e61d4b947a0 numpy-1.23.4.tar.gz
SHA256
95d79ada05005f6f4f337d3bb9de8a7774f259341c70bc88047a1f7b96a4bcb2 numpy-1.23.4-cp310-cp310-macosx_10_9_x86_64.whl
926db372bc4ac1edf81cfb6c59e2a881606b409ddc0d0920b988174b2e2a767f numpy-1.23.4-cp310-cp310-macosx_11_0_arm64.whl
c237129f0e732885c9a6076a537e974160482eab8f10db6292e92154d4c67d71 numpy-1.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a8365b942f9c1a7d0f0dc974747d99dd0a0cdfc5949a33119caf05cb314682d3 numpy-1.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2341f4ab6dba0834b685cce16dad5f9b6606ea8a00e6da154f5dbded70fdc4dd numpy-1.23.4-cp310-cp310-win32.whl
d331afac87c92373826af83d2b2b435f57b17a5c74e6268b79355b970626e329 numpy-1.23.4-cp310-cp310-win_amd64.whl
488a66cb667359534bc70028d653ba1cf307bae88eab5929cd707c761ff037db numpy-1.23.4-cp311-cp311-macosx_10_9_x86_64.whl
ce03305dd694c4873b9429274fd41fc7eb4e0e4dea07e0af97a933b079a5814f numpy-1.23.4-cp311-cp311-macosx_11_0_arm64.whl
8981d9b5619569899666170c7c9748920f4a5005bf79c72c07d08c8a035757b0 numpy-1.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7a70a7d3ce4c0e9284e92285cba91a4a3f5214d87ee0e95928f3614a256a1488 numpy-1.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5e13030f8793e9ee42f9c7d5777465a560eb78fa7e11b1c053427f2ccab90c79 numpy-1.23.4-cp311-cp311-win32.whl
7607b598217745cc40f751da38ffd03512d33ec06f3523fb0b5f82e09f6f676d numpy-1.23.4-cp311-cp311-win_amd64.whl
7ab46e4e7ec63c8a5e6dbf5c1b9e1c92ba23a7ebecc86c336cb7bf3bd2fb10e5 numpy-1.23.4-cp38-cp38-macosx_10_9_x86_64.whl
a8aae2fb3180940011b4862b2dd3756616841c53db9734b27bb93813cd79fce6 numpy-1.23.4-cp38-cp38-macosx_11_0_arm64.whl
8c053d7557a8f022ec823196d242464b6955a7e7e5015b719e76003f63f82d0f numpy-1.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a0882323e0ca4245eb0a3d0a74f88ce581cc33aedcfa396e415e5bba7bf05f68 numpy-1.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
dada341ebb79619fe00a291185bba370c9803b1e1d7051610e01ed809ef3a4ba numpy-1.23.4-cp38-cp38-win32.whl
0fe563fc8ed9dc4474cbf70742673fc4391d70f4363f917599a7fa99f042d5a8 numpy-1.23.4-cp38-cp38-win_amd64.whl
c67b833dbccefe97cdd3f52798d430b9d3430396af7cdb2a0c32954c3ef73894 numpy-1.23.4-cp39-cp39-macosx_10_9_x86_64.whl
f76025acc8e2114bb664294a07ede0727aa75d63a06d2fae96bf29a81747e4a7 numpy-1.23.4-cp39-cp39-macosx_11_0_arm64.whl
12ac457b63ec8ded85d85c1e17d85efd3c2b0967ca39560b307a35a6703a4735 numpy-1.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
95de7dc7dc47a312f6feddd3da2500826defdccbc41608d0031276a24181a2c0 numpy-1.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f2f390aa4da44454db40a1f0201401f9036e8d578a25f01a6e237cea238337ef numpy-1.23.4-cp39-cp39-win32.whl
f260da502d7441a45695199b4e7fd8ca87db659ba1c78f2bbf31f934fe76ae0e numpy-1.23.4-cp39-cp39-win_amd64.whl
61be02e3bf810b60ab74e81d6d0d36246dbfb644a462458bb53b595791251911 numpy-1.23.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
296d17aed51161dbad3c67ed6d164e51fcd18dbcd5dd4f9d0a9c6055dce30810 numpy-1.23.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4d52914c88b4930dafb6c48ba5115a96cbab40f45740239d9f4159c4ba779962 numpy-1.23.4-pp38-pypy38_pp73-win_amd64.whl
ed2cc92af0efad20198638c69bb0fc2870a58dabfba6eb722c933b48556c686c numpy-1.23.4.tar.gz
- Python
Published by charris over 3 years ago
numpy -
NumPy 1.23.3 Release Notes
NumPy 1.23.3 is a maintenance release that fixes bugs discovered after the 1.23.2 release. There is no major theme for this release, the main improvements are for some downstream builds and some annotation corner cases. The Python versions supported for this release are 3.8-3.11.
Note that we will move to MacOS 11 for the NumPy 1.23.4 release, the 10.15 version currently used will no longer be supported by our build infrastructure at that point.
Contributors
A total of 16 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Aaron Meurer
- Bas van Beek
- Charles Harris
- Ganesh Kathiresan
- Gavin Zhang +
- Iantra Solari+
- Jyn Spring 琴春 +
- Matti Picus
- Rafael Cardoso Fernandes Sousa
- Rafael Sousa +
- Ralf Gommers
- Rin Cat (鈴猫) +
- Saransh Chopra +
- Sayed Adel
- Sebastian Berg
- Serge Guelton
Pull requests merged
A total of 14 pull requests were merged for this release.
- #22136: BLD: Add Python 3.11 wheels to aarch64 build
- #22148: MAINT: Update setup.py for Python 3.11.
- #22155: CI: Test NumPy build against old versions of GCC(6, 7, 8)
- #22156: MAINT: support IBM i system
- #22195: BUG: Fix circleci build
- #22214: BUG: Expose heapsort algorithms in a shared header
- #22215: BUG: Support using libunwind for backtrack
- #22216: MAINT: fix an incorrect pointer type usage in f2py
- #22220: BUG: change overloads to play nice with pyright.
- #22221: TST,BUG: Use fork context to fix MacOS savez test
- #22222: TYP,BUG: Reduce argument validation in C-based
__class_getitem__ - #22223: TST: ensure
np.equal.reduceraises aTypeError - #22224: BUG: Fix the implementation of numpy.array_api.vecdot
- #22230: BUG: Better report integer division overflow (backport)
Checksums
MD5
a60bf0b1d440bf18d87c49409036d05a numpy-1.23.3-cp310-cp310-macosx_10_9_x86_64.whl
59b43423a692f5351c6a43b852b210d7 numpy-1.23.3-cp310-cp310-macosx_11_0_arm64.whl
f482a4be6954b1b606320f0ffc1995dd numpy-1.23.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a82e2ecc4060a37dae5424e624eabfe3 numpy-1.23.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
84916178e5f4d073d0008754cba7f300 numpy-1.23.3-cp310-cp310-win32.whl
605da65b9b66dfce8b62d847cb3841f7 numpy-1.23.3-cp310-cp310-win_amd64.whl
57cf29f781be955a9cd0de8d07fbce56 numpy-1.23.3-cp311-cp311-macosx_10_9_x86_64.whl
f395dcf622dff0ba44777cbae0442189 numpy-1.23.3-cp311-cp311-macosx_11_0_arm64.whl
55d6a6439913ba84ad89268e0ad59fa0 numpy-1.23.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
202bc3a8617f479ebe60ca0dec29964b numpy-1.23.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a42c3d058bcef47b26841bf9472a89bf numpy-1.23.3-cp311-cp311-win32.whl
237dbd94e5529065c0c5cc4e47ceeb7e numpy-1.23.3-cp311-cp311-win_amd64.whl
d0587d5b28d3fa7e0ec8fd3df76e4bd4 numpy-1.23.3-cp38-cp38-macosx_10_9_x86_64.whl
054234695ed3d955fb01f661db2c14fc numpy-1.23.3-cp38-cp38-macosx_11_0_arm64.whl
4e75ac61e34f1bf23e7cbd6e2bfc7a32 numpy-1.23.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
29ccb3a732027ee1abe23a9562c32d0c numpy-1.23.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
12817838edc1e1bea27df79f3a83da5d numpy-1.23.3-cp38-cp38-win32.whl
ef430e830a9fea7d8db0218b901671f6 numpy-1.23.3-cp38-cp38-win_amd64.whl
b001f7e17df798f9b949bbe259924c77 numpy-1.23.3-cp39-cp39-macosx_10_9_x86_64.whl
bc1782f5d79187d63d14ed69a6a411e9 numpy-1.23.3-cp39-cp39-macosx_11_0_arm64.whl
f8fb0178bc34a198d5ce4e166076e1fc numpy-1.23.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fb80d38c37aae1e4d416cd4de068ff0a numpy-1.23.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
318d0a2a27b7e361295c0382a0ff4a94 numpy-1.23.3-cp39-cp39-win32.whl
880dc73de09fccda0650e9404fa83608 numpy-1.23.3-cp39-cp39-win_amd64.whl
3b5a51f78718a1a82d2750ec159f9acf numpy-1.23.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
56a0c90a303979d5bf8fc57e86e57ccb numpy-1.23.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5338d997a3178750834e742a257dfa4a numpy-1.23.3-pp38-pypy38_pp73-win_amd64.whl
6efc60a3f6c1b74c849d53fbcc07807b numpy-1.23.3.tar.gz
SHA256
c9f707b5bb73bf277d812ded9896f9512a43edff72712f31667d0a8c2f8e71ee numpy-1.23.3-cp310-cp310-macosx_10_9_x86_64.whl
ffcf105ecdd9396e05a8e58e81faaaf34d3f9875f137c7372450baa5d77c9a54 numpy-1.23.3-cp310-cp310-macosx_11_0_arm64.whl
0ea3f98a0ffce3f8f57675eb9119f3f4edb81888b6874bc1953f91e0b1d4f440 numpy-1.23.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
004f0efcb2fe1c0bd6ae1fcfc69cc8b6bf2407e0f18be308612007a0762b4089 numpy-1.23.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
98dcbc02e39b1658dc4b4508442a560fe3ca5ca0d989f0df062534e5ca3a5c1a numpy-1.23.3-cp310-cp310-win32.whl
39a664e3d26ea854211867d20ebcc8023257c1800ae89773cbba9f9e97bae036 numpy-1.23.3-cp310-cp310-win_amd64.whl
1f27b5322ac4067e67c8f9378b41c746d8feac8bdd0e0ffede5324667b8a075c numpy-1.23.3-cp311-cp311-macosx_10_9_x86_64.whl
2ad3ec9a748a8943e6eb4358201f7e1c12ede35f510b1a2221b70af4bb64295c numpy-1.23.3-cp311-cp311-macosx_11_0_arm64.whl
bdc9febce3e68b697d931941b263c59e0c74e8f18861f4064c1f712562903411 numpy-1.23.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
301c00cf5e60e08e04d842fc47df641d4a181e651c7135c50dc2762ffe293dbd numpy-1.23.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7cd1328e5bdf0dee621912f5833648e2daca72e3839ec1d6695e91089625f0b4 numpy-1.23.3-cp311-cp311-win32.whl
8355fc10fd33a5a70981a5b8a0de51d10af3688d7a9e4a34fcc8fa0d7467bb7f numpy-1.23.3-cp311-cp311-win_amd64.whl
bc6e8da415f359b578b00bcfb1d08411c96e9a97f9e6c7adada554a0812a6cc6 numpy-1.23.3-cp38-cp38-macosx_10_9_x86_64.whl
22d43376ee0acd547f3149b9ec12eec2f0ca4a6ab2f61753c5b29bb3e795ac4d numpy-1.23.3-cp38-cp38-macosx_11_0_arm64.whl
a64403f634e5ffdcd85e0b12c08f04b3080d3e840aef118721021f9b48fc1460 numpy-1.23.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
efd9d3abe5774404becdb0748178b48a218f1d8c44e0375475732211ea47c67e numpy-1.23.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f8c02ec3c4c4fcb718fdf89a6c6f709b14949408e8cf2a2be5bfa9c49548fd85 numpy-1.23.3-cp38-cp38-win32.whl
e868b0389c5ccfc092031a861d4e158ea164d8b7fdbb10e3b5689b4fc6498df6 numpy-1.23.3-cp38-cp38-win_amd64.whl
09f6b7bdffe57fc61d869a22f506049825d707b288039d30f26a0d0d8ea05164 numpy-1.23.3-cp39-cp39-macosx_10_9_x86_64.whl
8c79d7cf86d049d0c5089231a5bcd31edb03555bd93d81a16870aa98c6cfb79d numpy-1.23.3-cp39-cp39-macosx_11_0_arm64.whl
e5d5420053bbb3dd64c30e58f9363d7a9c27444c3648e61460c1237f9ec3fa14 numpy-1.23.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d5422d6a1ea9b15577a9432e26608c73a78faf0b9039437b075cf322c92e98e7 numpy-1.23.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c1ba66c48b19cc9c2975c0d354f24058888cdc674bebadceb3cdc9ec403fb5d1 numpy-1.23.3-cp39-cp39-win32.whl
78a63d2df1d947bd9d1b11d35564c2f9e4b57898aae4626638056ec1a231c40c numpy-1.23.3-cp39-cp39-win_amd64.whl
17c0e467ade9bda685d5ac7f5fa729d8d3e76b23195471adae2d6a6941bd2c18 numpy-1.23.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
91b8d6768a75247026e951dce3b2aac79dc7e78622fc148329135ba189813584 numpy-1.23.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
94c15ca4e52671a59219146ff584488907b1f9b3fc232622b47e2cf832e94fb8 numpy-1.23.3-pp38-pypy38_pp73-win_amd64.whl
51bf49c0cd1d52be0a240aa66f3458afc4b95d8993d2d04f0d91fa60c10af6cd numpy-1.23.3.tar.gz
- Python
Published by charris over 3 years ago
numpy -
NumPy 1.23.2 Release Notes
NumPy 1.23.2 is a maintenance release that fixes bugs discovered after the 1.23.1 release. Notable features are:
- Typing changes needed for Python 3.11
- Wheels for Python 3.11.0rc1
The Python versions supported for this release are 3.8-3.11.
Contributors
A total of 9 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Alexander Grund +
- Bas van Beek
- Charles Harris
- Jon Cusick +
- Matti Picus
- Michael Osthege +
- Pal Barta +
- Ross Barnowski
- Sebastian Berg
Pull requests merged
A total of 15 pull requests were merged for this release.
- #22030: ENH: Add
__array_ufunc__typing support to thenin=1ufuncs - #22031: MAINT, TYP: Fix
np.angledtype-overloads - #22032: MAINT: Do not let
_GenericAliaswrap the underlying classes\'... - #22033: TYP,MAINT: Allow
einsumsubscripts to be passed via integer... - #22034: MAINT,TYP: Add object-overloads for the
np.genericrich comparisons - #22035: MAINT,TYP: Allow the
squeezeandtransposemethod to... - #22036: BUG: Fix subarray to object cast ownership details
- #22037: BUG: Use
Popento silently invoke f77 -v - #22038: BUG: Avoid errors on NULL during deepcopy
- #22039: DOC: Add versionchanged for converter callable behavior.
- #22057: MAINT: Quiet the anaconda uploads.
- #22078: ENH: reorder includes for testing on top of system installations...
- #22106: TST: fix testlinearinterpolationformulasymmetric
- #22107: BUG: Fix skip condition for testlossof_precision[complex256]
- #22115: BLD: Build python3.11.0rc1 wheels.
Checksums
MD5
fe1e3480ea8c417c8f7b05f543c1448d numpy-1.23.2-cp310-cp310-macosx_10_9_x86_64.whl
0ab14b1afd0a55a374ca69b3b39cab3c numpy-1.23.2-cp310-cp310-macosx_11_0_arm64.whl
df059e5405bfe75c0ac77b01abbdb237 numpy-1.23.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4ed412c4c078e96edf11ca3b11eef76b numpy-1.23.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0caad53d9a5e3c5e8cd29f19a9f0c014 numpy-1.23.2-cp310-cp310-win32.whl
01e508b8b4f591daff128da1cfde8e1f numpy-1.23.2-cp310-cp310-win_amd64.whl
8ecdb7e2a87255878b748550d91cfbe0 numpy-1.23.2-cp311-cp311-macosx_10_9_x86_64.whl
e3004aae46cec9e234f78eaf473272e0 numpy-1.23.2-cp311-cp311-macosx_11_0_arm64.whl
ec23c73caf581867d5ca9255b802f144 numpy-1.23.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9b8389f528fe113247954248f0b78ce1 numpy-1.23.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a54b136daa2fbb483909f08eecbfa3c5 numpy-1.23.2-cp311-cp311-win32.whl
ead32e141857c5ef33b1a6cd88aefc0f numpy-1.23.2-cp311-cp311-win_amd64.whl
df1f18e52d0a2840d101fdc9c2c6af84 numpy-1.23.2-cp38-cp38-macosx_10_9_x86_64.whl
04c986880bb24fac2f44face75eab914 numpy-1.23.2-cp38-cp38-macosx_11_0_arm64.whl
edeba58edb214390112810f7ead903a8 numpy-1.23.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c26ea699d94d7f1009c976c66cc4def3 numpy-1.23.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c246a78b09f8893d998d449dcab0fac3 numpy-1.23.2-cp38-cp38-win32.whl
b5c5a2f961402259e301c49b8b05de55 numpy-1.23.2-cp38-cp38-win_amd64.whl
d156dfae94d33eeff7fb9c6e5187e049 numpy-1.23.2-cp39-cp39-macosx_10_9_x86_64.whl
7f2ad7867c577eab925a31de76486765 numpy-1.23.2-cp39-cp39-macosx_11_0_arm64.whl
76262a8e5d7a4d945446467467300a10 numpy-1.23.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8ee105f4574d61a2d494418b55f63fcb numpy-1.23.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2b7c79cae66023f8e716150223201981 numpy-1.23.2-cp39-cp39-win32.whl
d7af57dd070ccb165f3893412eb602e3 numpy-1.23.2-cp39-cp39-win_amd64.whl
355a231dbd87a0f2125cc23eb8f97075 numpy-1.23.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
4ab13c35056f67981d03f9ceec41db42 numpy-1.23.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3a6f1e1256ee9be10d8cdf6be578fe52 numpy-1.23.2-pp38-pypy38_pp73-win_amd64.whl
9bf2a361509797de14ceee607387fe0f numpy-1.23.2.tar.gz
SHA256
e603ca1fb47b913942f3e660a15e55a9ebca906857edfea476ae5f0fe9b457d5 numpy-1.23.2-cp310-cp310-macosx_10_9_x86_64.whl
633679a472934b1c20a12ed0c9a6c9eb167fbb4cb89031939bfd03dd9dbc62b8 numpy-1.23.2-cp310-cp310-macosx_11_0_arm64.whl
17e5226674f6ea79e14e3b91bfbc153fdf3ac13f5cc54ee7bc8fdbe820a32da0 numpy-1.23.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bdc02c0235b261925102b1bd586579b7158e9d0d07ecb61148a1799214a4afd5 numpy-1.23.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
df28dda02c9328e122661f399f7655cdcbcf22ea42daa3650a26bce08a187450 numpy-1.23.2-cp310-cp310-win32.whl
8ebf7e194b89bc66b78475bd3624d92980fca4e5bb86dda08d677d786fefc414 numpy-1.23.2-cp310-cp310-win_amd64.whl
dc76bca1ca98f4b122114435f83f1fcf3c0fe48e4e6f660e07996abf2f53903c numpy-1.23.2-cp311-cp311-macosx_10_9_x86_64.whl
ecfdd68d334a6b97472ed032b5b37a30d8217c097acfff15e8452c710e775524 numpy-1.23.2-cp311-cp311-macosx_11_0_arm64.whl
5593f67e66dea4e237f5af998d31a43e447786b2154ba1ad833676c788f37cde numpy-1.23.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ac987b35df8c2a2eab495ee206658117e9ce867acf3ccb376a19e83070e69418 numpy-1.23.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d98addfd3c8728ee8b2c49126f3c44c703e2b005d4a95998e2167af176a9e722 numpy-1.23.2-cp311-cp311-win32.whl
8ecb818231afe5f0f568c81f12ce50f2b828ff2b27487520d85eb44c71313b9e numpy-1.23.2-cp311-cp311-win_amd64.whl
909c56c4d4341ec8315291a105169d8aae732cfb4c250fbc375a1efb7a844f8f numpy-1.23.2-cp38-cp38-macosx_10_9_x86_64.whl
8247f01c4721479e482cc2f9f7d973f3f47810cbc8c65e38fd1bbd3141cc9842 numpy-1.23.2-cp38-cp38-macosx_11_0_arm64.whl
b8b97a8a87cadcd3f94659b4ef6ec056261fa1e1c3317f4193ac231d4df70215 numpy-1.23.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bd5b7ccae24e3d8501ee5563e82febc1771e73bd268eef82a1e8d2b4d556ae66 numpy-1.23.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9b83d48e464f393d46e8dd8171687394d39bc5abfe2978896b77dc2604e8635d numpy-1.23.2-cp38-cp38-win32.whl
dec198619b7dbd6db58603cd256e092bcadef22a796f778bf87f8592b468441d numpy-1.23.2-cp38-cp38-win_amd64.whl
4f41f5bf20d9a521f8cab3a34557cd77b6f205ab2116651f12959714494268b0 numpy-1.23.2-cp39-cp39-macosx_10_9_x86_64.whl
806cc25d5c43e240db709875e947076b2826f47c2c340a5a2f36da5bb10c58d6 numpy-1.23.2-cp39-cp39-macosx_11_0_arm64.whl
8f9d84a24889ebb4c641a9b99e54adb8cab50972f0166a3abc14c3b93163f074 numpy-1.23.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c403c81bb8ffb1c993d0165a11493fd4bf1353d258f6997b3ee288b0a48fce77 numpy-1.23.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cf8c6aed12a935abf2e290860af8e77b26a042eb7f2582ff83dc7ed5f963340c numpy-1.23.2-cp39-cp39-win32.whl
5e28cd64624dc2354a349152599e55308eb6ca95a13ce6a7d5679ebff2962913 numpy-1.23.2-cp39-cp39-win_amd64.whl
806970e69106556d1dd200e26647e9bee5e2b3f1814f9da104a943e8d548ca38 numpy-1.23.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
2bd879d3ca4b6f39b7770829f73278b7c5e248c91d538aab1e506c628353e47f numpy-1.23.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
be6b350dfbc7f708d9d853663772a9310783ea58f6035eec649fb9c4371b5389 numpy-1.23.2-pp38-pypy38_pp73-win_amd64.whl
b78d00e48261fbbd04aa0d7427cf78d18401ee0abd89c7559bbf422e5b1c7d01 numpy-1.23.2.tar.gz
- Python
Published by charris almost 4 years ago
numpy -
NumPy 1.23.1 Release Notes
The NumPy 1.23.1 is a maintenance release that fixes bugs discovered after the 1.23.0 release. Notable fixes are:
- Fix searchsorted for float16 NaNs
- Fix compilation on Apple M1
- Fix KeyError in crackfortran operator support (Slycot)
The Python version supported for this release are 3.8-3.10.
Contributors
A total of 7 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Charles Harris
- Matthias Koeppe +
- Pranab Das +
- Rohit Goswami
- Sebastian Berg
- Serge Guelton
- Srimukh Sripada +
Pull requests merged
A total of 8 pull requests were merged for this release.
- #21866: BUG: Fix discovered MachAr (still used within valgrind)
- #21867: BUG: Handle NaNs correctly for float16 during sorting
- #21868: BUG: Use
keepdimsduring normalization innp.averageand... - #21869: DOC: mention changes to
max_rowsbehaviour innp.loadtxt - #21870: BUG: Reject non integer array-likes with size 1 in delete
- #21949: BLD: Make canlinksvml return False for 32bit builds on x86_64
- #21951: BUG: Reorder extern \"C\" to only apply to function declarations...
- #21952: BUG: Fix KeyError in crackfortran operator support
Checksums
MD5
79f0d8c114f282b834b49209d6955f98 numpy-1.23.1-cp310-cp310-macosx_10_9_x86_64.whl
42a89a88ef26b768e8933ce46b1cc2bd numpy-1.23.1-cp310-cp310-macosx_11_0_arm64.whl
1c1d68b3483eaf99b9a3583c8ac8bf47 numpy-1.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9d3e9f7f9b3dce6cf15209e4f25f346e numpy-1.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a9afb7c34b48d08fc50427ae6516b42d numpy-1.23.1-cp310-cp310-win32.whl
a0e02823883bdfcec49309e108f65e13 numpy-1.23.1-cp310-cp310-win_amd64.whl
f40cdf4ec7bb0cf31a90a4fa294323c2 numpy-1.23.1-cp38-cp38-macosx_10_9_x86_64.whl
80115a959f0fe30d6c401b2650a61c70 numpy-1.23.1-cp38-cp38-macosx_11_0_arm64.whl
1cf199b3a93960c4f269853a56a8d8eb numpy-1.23.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
aa6f0f192312c79cd770c2c395e9982a numpy-1.23.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d07bee0ea3142a96cb5e4e16aca273ca numpy-1.23.1-cp38-cp38-win32.whl
02d0734ae8ad5e18a40c6c6de18486a0 numpy-1.23.1-cp38-cp38-win_amd64.whl
e1ca14acd7d83bc74bdf6ab0bb4bd195 numpy-1.23.1-cp39-cp39-macosx_10_9_x86_64.whl
c9152c62b2f31e742e24bfdc97b28666 numpy-1.23.1-cp39-cp39-macosx_11_0_arm64.whl
05b0b37c92f7a7e7c01afac0a5322b40 numpy-1.23.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d9810bb71a0ef9837e87ea5c44fcab5e numpy-1.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4255577f857e838f7a94e3a614ddc5eb numpy-1.23.1-cp39-cp39-win32.whl
787486e3cd87b98024ffe1c969c4db7a numpy-1.23.1-cp39-cp39-win_amd64.whl
5c7b2d1471b1b9ec6ff1cb3fe1f8ac14 numpy-1.23.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
40d5b2ff869707b0d97325ce44631135 numpy-1.23.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
44ce1e07927cc09415df9898857792da numpy-1.23.1-pp38-pypy38_pp73-win_amd64.whl
4f8636a9c1a77ca0fb923ba55378891f numpy-1.23.1.tar.gz
SHA256
b15c3f1ed08df4980e02cc79ee058b788a3d0bef2fb3c9ca90bb8cbd5b8a3a04 numpy-1.23.1-cp310-cp310-macosx_10_9_x86_64.whl
9ce242162015b7e88092dccd0e854548c0926b75c7924a3495e02c6067aba1f5 numpy-1.23.1-cp310-cp310-macosx_11_0_arm64.whl
e0d7447679ae9a7124385ccf0ea990bb85bb869cef217e2ea6c844b6a6855073 numpy-1.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3119daed207e9410eaf57dcf9591fdc68045f60483d94956bee0bfdcba790953 numpy-1.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3ab67966c8d45d55a2bdf40701536af6443763907086c0a6d1232688e27e5447 numpy-1.23.1-cp310-cp310-win32.whl
1865fdf51446839ca3fffaab172461f2b781163f6f395f1aed256b1ddc253622 numpy-1.23.1-cp310-cp310-win_amd64.whl
aeba539285dcf0a1ba755945865ec61240ede5432df41d6e29fab305f4384db2 numpy-1.23.1-cp38-cp38-macosx_10_9_x86_64.whl
7e8229f3687cdadba2c4faef39204feb51ef7c1a9b669247d49a24f3e2e1617c numpy-1.23.1-cp38-cp38-macosx_11_0_arm64.whl
68b69f52e6545af010b76516f5daaef6173e73353e3295c5cb9f96c35d755641 numpy-1.23.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
1408c3527a74a0209c781ac82bde2182b0f0bf54dea6e6a363fe0cc4488a7ce7 numpy-1.23.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
47f10ab202fe4d8495ff484b5561c65dd59177949ca07975663f4494f7269e3e numpy-1.23.1-cp38-cp38-win32.whl
37e5ebebb0eb54c5b4a9b04e6f3018e16b8ef257d26c8945925ba8105008e645 numpy-1.23.1-cp38-cp38-win_amd64.whl
173f28921b15d341afadf6c3898a34f20a0569e4ad5435297ba262ee8941e77b numpy-1.23.1-cp39-cp39-macosx_10_9_x86_64.whl
876f60de09734fbcb4e27a97c9a286b51284df1326b1ac5f1bf0ad3678236b22 numpy-1.23.1-cp39-cp39-macosx_11_0_arm64.whl
35590b9c33c0f1c9732b3231bb6a72d1e4f77872390c47d50a615686ae7ed3fd numpy-1.23.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a35c4e64dfca659fe4d0f1421fc0f05b8ed1ca8c46fb73d9e5a7f175f85696bb numpy-1.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c2f91f88230042a130ceb1b496932aa717dcbd665350beb821534c5c7e15881c numpy-1.23.1-cp39-cp39-win32.whl
37ece2bd095e9781a7156852e43d18044fd0d742934833335599c583618181b9 numpy-1.23.1-cp39-cp39-win_amd64.whl
8002574a6b46ac3b5739a003b5233376aeac5163e5dcd43dd7ad062f3e186129 numpy-1.23.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
5d732d17b8a9061540a10fda5bfeabca5785700ab5469a5e9b93aca5e2d3a5fb numpy-1.23.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
55df0f7483b822855af67e38fb3a526e787adf189383b4934305565d71c4b148 numpy-1.23.1-pp38-pypy38_pp73-win_amd64.whl
d748ef349bfef2e1194b59da37ed5a29c19ea8d7e6342019921ba2ba4fd8b624 numpy-1.23.1.tar.gz
- Python
Published by charris almost 4 years ago
numpy -
NumPy 1.23.0 Release Notes
The NumPy 1.23.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, clarify the documentation, and expire old deprecations. The highlights are:
- Implementation of
loadtxtin C, greatly improving its performance. - Exposing DLPack at the Python level for easy data exchange.
- Changes to the promotion and comparisons of structured dtypes.
- Improvements to f2py.
See below for the details,
New functions
A masked array specialization of
ndenumerateis now available asnumpy.ma.ndenumerate. It provides an alternative tonumpy.ndenumerateand skips masked values by default.(gh-20020)
numpy.from_dlpackhas been added to allow easy exchange of data using the DLPack protocol. It accepts Python objects that implement the__dlpack__and__dlpack_device__methods and returns a ndarray object which is generally the view of the data of the input object.(gh-21145)
Deprecations
Setting
__array_finalize__toNoneis deprecated. It must now be a method and may wish to callsuper().__array_finalize__(obj)after checking forNoneor if the NumPy version is sufficiently new.(gh-20766)
Using
axis=32(axis=np.MAXDIMS) in many cases had the same meaning asaxis=None. This is deprecated andaxis=Nonemust be used instead.(gh-20920)
The hook function
PyDataMem_SetEventHookhas been deprecated and the demonstration of its use in tool/allocation_tracking has been removed. The ability to track allocations is now built-in to python viatracemalloc.(gh-20394)
numpy.distutilshas been deprecated, as a result ofdistutilsitself being deprecated. It will not be present in NumPy for Python >= 3.12, and will be removed completely 2 years after the release of Python 3.12 For more details, seedistutils-status-migration{.interpreted-text role="ref"}.(gh-20875)
numpy.loadtxtwill now give aDeprecationWarningwhen an integerdtypeis requested but the value is formatted as a floating point number.
(gh-21663)
Expired deprecations
The
NpzFile.iteritems()andNpzFile.iterkeys()methods have been removed as part of the continued removal of Python 2 compatibility. This concludes the deprecation from 1.15.(gh-16830)
The
alenandasscalarfunctions have been removed.(gh-20414)
The
UPDATEIFCOPYarray flag has been removed together with the enumNPY_ARRAY_UPDATEIFCOPY. The associated (and deprecated)PyArray_XDECREF_ERRwas also removed. These were all deprecated in 1.14. They are replaced byWRITEBACKIFCOPY, that requires callingPyArray_ResoveWritebackIfCopybefore the array is deallocated.(gh-20589)
Exceptions will be raised during array-like creation. When an object raised an exception during access of the special attributes
__array__or__array_interface__, this exception was usually ignored. This behaviour was deprecated in 1.21, and the exception will now be raised.(gh-20835)
Multidimensional indexing with non-tuple values is not allowed. Previously, code such as
arr[ind]whereind = [[0, 1], [0, 1]]produced aFutureWarningand was interpreted as a multidimensional index (i.e.,arr[tuple(ind)]). Now this example is treated like an array index over a single dimension (arr[array(ind)]). Multidimensional indexing with anything but a tuple was deprecated in NumPy 1.15.(gh-21029)
Changing to a dtype of different size in F-contiguous arrays is no longer permitted. Deprecated since Numpy 1.11.0. See below for an extended explanation of the effects of this change.
(gh-20722)
New Features
crackfortran has support for operator and assignment overloading
crackfortran parser now understands operator and assignment
definitions in a module. They are added in the body list of the module
which contains a new key implementedby listing the names of the
subroutines or functions implementing the operator or assignment.
(gh-15006)
f2py supports reading access type attributes from derived type statements
As a result, one does not need to use public or private statements
to specify derived type access properties.
(gh-15844)
New parameter ndmin added to genfromtxt
This parameter behaves the same as ndmin from numpy.loadtxt.
(gh-20500)
np.loadtxt now supports quote character and single converter function
numpy.loadtxt now supports an additional quotechar keyword argument
which is not set by default. Using quotechar='"' will read quoted
fields as used by the Excel CSV dialect.
Further, it is now possible to pass a single callable rather than a
dictionary for the converters argument.
(gh-20580)
Changing to dtype of a different size now requires contiguity of only the last axis
Previously, viewing an array with a dtype of a different item size required that the entire array be C-contiguous. This limitation would unnecessarily force the user to make contiguous copies of non-contiguous arrays before being able to change the dtype.
This change affects not only ndarray.view, but other construction
mechanisms, including the discouraged direct assignment to
ndarray.dtype.
This change expires the deprecation regarding the viewing of F-contiguous arrays, described elsewhere in the release notes.
(gh-20722)
Deterministic output files for F2PY
For F77 inputs, f2py will generate modname-f2pywrappers.f
unconditionally, though these may be empty. For free-form inputs,
modname-f2pywrappers.f, modname-f2pywrappers2.f90 will both be
generated unconditionally, and may be empty. This allows writing generic
output rules in cmake or meson and other build systems. Older
behavior can be restored by passing --skip-empty-wrappers to f2py.
f2py-meson{.interpreted-text role="ref"} details usage.
(gh-21187)
keepdims parameter for average
The parameter keepdims was added to the functions numpy.average and
numpy.ma.average. The parameter has the same meaning as it does in
reduction functions such as numpy.sum or numpy.mean.
(gh-21485)
New parameter equal_nan added to np.unique
np.unique was changed in 1.21 to treat all NaN values as equal and
return a single NaN. Setting equal_nan=False will restore pre-1.21
behavior to treat NaNs as unique. Defaults to True.
(gh-21623)
Compatibility notes
1D np.linalg.norm preserves float input types, even for scalar results
Previously, this would promote to float64 when the ord argument was
not one of the explicitly listed values, e.g. ord=3:
>>> f32 = np.float32([1, 2])
>>> np.linalg.norm(f32, 2).dtype
dtype('float32')
>>> np.linalg.norm(f32, 3)
dtype('float64') # numpy 1.22
dtype('float32') # numpy 1.23
This change affects only float32 and float16 vectors with ord
other than -Inf, 0, 1, 2, and Inf.
(gh-17709)
Changes to structured (void) dtype promotion and comparisons
In general, NumPy now defines correct, but slightly limited, promotion for structured dtypes by promoting the subtypes of each field instead of raising an exception:
>>> np.result_type(np.dtype("i,i"), np.dtype("i,d"))
dtype([('f0', '<i4'), ('f1', '<f8')])
For promotion matching field names, order, and titles are enforced,
however padding is ignored. Promotion involving structured dtypes now
always ensures native byte-order for all fields (which may change the
result of np.concatenate) and ensures that the result will be
\"packed\", i.e. all fields are ordered contiguously and padding is
removed. See
structured_dtype_comparison_and_promotion{.interpreted-text
role="ref"} for further details.
The repr of aligned structures will now never print the long form
including offsets and itemsize unless the structure includes padding
not guaranteed by align=True.
In alignment with the above changes to the promotion logic, the casting safety has been updated:
-
"equiv"enforces matching names and titles. The itemsize is allowed to differ due to padding. -
"safe"allows mismatching field names and titles - The cast safety is limited by the cast safety of each included field.
- The order of fields is used to decide cast safety of each individual field. Previously, the field names were used and only unsafe casts were possible when names mismatched.
The main important change here is that name mismatches are now considered \"safe\" casts.
(gh-19226)
NPY_RELAXED_STRIDES_CHECKING has been removed
NumPy cannot be compiled with NPY_RELAXED_STRIDES_CHECKING=0 anymore.
Relaxed strides have been the default for many years and the option was
initially introduced to allow a smoother transition.
(gh-20220)
np.loadtxt has recieved several changes
The row counting of numpy.loadtxt was fixed. loadtxt ignores fully
empty lines in the file, but counted them towards max_rows. When
max_rows is used and the file contains empty lines, these will now not
be counted. Previously, it was possible that the result contained fewer
than max_rows rows even though more data was available to be read. If
the old behaviour is required, itertools.islice may be used:
import itertools
lines = itertools.islice(open("file"), 0, max_rows)
result = np.loadtxt(lines, ...)
While generally much faster and improved, numpy.loadtxt may now fail
to converter certain strings to numbers that were previously
successfully read. The most important cases for this are:
- Parsing floating point values such as
1.0into integers is now deprecated. - Parsing hexadecimal floats such as
0x3p3will fail - An
_was previously accepted as a thousands delimiter100_000. This will now result in an error.
If you experience these limitations, they can all be worked around by
passing appropriate converters=. NumPy now supports passing a single
converter to be used for all columns to make this more convenient. For
example, converters=float.fromhex can read hexadecimal float numbers
and converters=int will be able to read 100_000.
Further, the error messages have been generally improved. However, this
means that error types may differ. In particularly, a ValueError is
now always raised when parsing of a single entry fails.
(gh-20580)
Improvements
ndarray.__array_finalize__ is now callable
This means subclasses can now use super().__array_finalize__(obj)
without worrying whether ndarray is their superclass or not. The
actual call remains a no-op.
(gh-20766)
Add support for VSX4/Power10
With VSX4/Power10 enablement, the new instructions available in Power ISA 3.1 can be used to accelerate some NumPy operations, e.g., floor_divide, modulo, etc.
(gh-20821)
np.fromiter now accepts objects and subarrays
The numpy.fromiter function now supports object and subarray dtypes.
Please see he function documentation for examples.
(gh-20993)
Math C library feature detection now uses correct signatures
Compiling is preceded by a detection phase to determine whether the
underlying libc supports certain math operations. Previously this code
did not respect the proper signatures. Fixing this enables compilation
for the wasm-ld backend (compilation for web assembly) and reduces the
number of warnings.
(gh-21154)
np.kron now maintains subclass information
np.kron maintains subclass information now such as masked arrays while
computing the Kronecker product of the inputs
``` python
x = ma.array([[1, 2], [3, 4]], mask=[[0, 1], [1, 0]]) np.kron(x,x) maskedarray( data=[[1, --, --, --], [--, 4, --, --], [--, --, 4, --], [--, --, --, 16]], mask=[[False, True, True, True], [ True, False, True, True], [ True, True, False, True], [ True, True, True, False]], fillvalue=999999) ```
:warning: Warning, np.kron output now follows ufunc ordering (multiply) to determine
the output class type
``` python
class myarr(np.ndarray): array_priority = -1 a = np.ones([2, 2]) ma = myarray(a.shape, a.dtype, a.data) type(np.kron(a, ma)) == np.ndarray False # Before it was True type(np.kron(a, ma)) == myarr True ```
(gh-21262)
Performance improvements and changes
Faster np.loadtxt
numpy.loadtxt is now generally much faster than previously as most of
it is now implemented in C.
(gh-20580)
Faster reduction operators
Reduction operations like numpy.sum, numpy.prod, numpy.add.reduce,
numpy.logical_and.reduce on contiguous integer-based arrays are now
much faster.
(gh-21001)
Faster np.where
numpy.where is now much faster than previously on unpredictable/random
input data.
(gh-21130)
Faster operations on NumPy scalars
Many operations on NumPy scalars are now significantly faster, although
rare operations (e.g. with 0-D arrays rather than scalars) may be slower
in some cases. However, even with these improvements users who want the
best performance for their scalars, may want to convert a known NumPy
scalar into a Python one using scalar.item().
(gh-21188)
Faster np.kron
numpy.kron is about 80% faster as the product is now computed using
broadcasting.
(gh-21354)
Checksums
MD5
21839aaeab3088e685d7c8d0e1856a23 numpy-1.23.0-cp310-cp310-macosx_10_9_x86_64.whl
e657684ea521c50de0197aabfb44e78d numpy-1.23.0-cp310-cp310-macosx_11_0_arm64.whl
219017660861fdec59b852630e3fef2a numpy-1.23.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
03c3df83b8327910482a7d24ebe9213b numpy-1.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b8f06ce4054acc147845a9643bd36082 numpy-1.23.0-cp310-cp310-win32.whl
877322db5a62634eef4e351db99a070d numpy-1.23.0-cp310-cp310-win_amd64.whl
7bb54f95e74306eff733466b6343695f numpy-1.23.0-cp38-cp38-macosx_10_9_x86_64.whl
5514a0030e5cf065e916950737d6d129 numpy-1.23.0-cp38-cp38-macosx_11_0_arm64.whl
22d43465791814fe50e03ded430bd80c numpy-1.23.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
771a1f7e488327645bac5b54dd2f6286 numpy-1.23.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
449bfa2d55aff3e722d2fc85a7549620 numpy-1.23.0-cp38-cp38-win32.whl
60c7d27cf92dadb6d206df6e65b1032f numpy-1.23.0-cp38-cp38-win_amd64.whl
dc2a5c5d2223f7b45a45f7f760d0f2db numpy-1.23.0-cp39-cp39-macosx_10_9_x86_64.whl
ba5729353c3521ed7ee72c796e77a546 numpy-1.23.0-cp39-cp39-macosx_11_0_arm64.whl
06d5cd49de096482944dead2eb92d783 numpy-1.23.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6ff50a994f6006349b5f1415e4da6f45 numpy-1.23.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
49185f219512403ef23d43d6f2adbefd numpy-1.23.0-cp39-cp39-win32.whl
ff126a84dcf91700f9ca13ff606d109f numpy-1.23.0-cp39-cp39-win_amd64.whl
e1462428487dc599cdffb723dec642c4 numpy-1.23.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
fef1d20265135737fbc0f91ca4441990 numpy-1.23.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4f8142288202a32c682d01921d6c2c78 numpy-1.23.0-pp38-pypy38_pp73-win_amd64.whl
513e4241d06b8fae5732cd049cdf3b57 numpy-1.23.0.tar.gz
SHA256
58bfd40eb478f54ff7a5710dd61c8097e169bc36cc68333d00a9bcd8def53b38 numpy-1.23.0-cp310-cp310-macosx_10_9_x86_64.whl
196cd074c3f97c4121601790955f915187736f9cf458d3ee1f1b46aff2b1ade0 numpy-1.23.0-cp310-cp310-macosx_11_0_arm64.whl
f1d88ef79e0a7fa631bb2c3dda1ea46b32b1fe614e10fedd611d3d5398447f2f numpy-1.23.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d54b3b828d618a19779a84c3ad952e96e2c2311b16384e973e671aa5be1f6187 numpy-1.23.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2b2da66582f3a69c8ce25ed7921dcd8010d05e59ac8d89d126a299be60421171 numpy-1.23.0-cp310-cp310-win32.whl
97a76604d9b0e79f59baeca16593c711fddb44936e40310f78bfef79ee9a835f numpy-1.23.0-cp310-cp310-win_amd64.whl
d8cc87bed09de55477dba9da370c1679bd534df9baa171dd01accbb09687dac3 numpy-1.23.0-cp38-cp38-macosx_10_9_x86_64.whl
f0f18804df7370571fb65db9b98bf1378172bd4e962482b857e612d1fec0f53e numpy-1.23.0-cp38-cp38-macosx_11_0_arm64.whl
ac86f407873b952679f5f9e6c0612687e51547af0e14ddea1eedfcb22466babd numpy-1.23.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ae8adff4172692ce56233db04b7ce5792186f179c415c37d539c25de7298d25d numpy-1.23.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fe8b9683eb26d2c4d5db32cd29b38fdcf8381324ab48313b5b69088e0e355379 numpy-1.23.0-cp38-cp38-win32.whl
5043bcd71fcc458dfb8a0fc5509bbc979da0131b9d08e3d5f50fb0bbb36f169a numpy-1.23.0-cp38-cp38-win_amd64.whl
1c29b44905af288b3919803aceb6ec7fec77406d8b08aaa2e8b9e63d0fe2f160 numpy-1.23.0-cp39-cp39-macosx_10_9_x86_64.whl
98e8e0d8d69ff4d3fa63e6c61e8cfe2d03c29b16b58dbef1f9baa175bbed7860 numpy-1.23.0-cp39-cp39-macosx_11_0_arm64.whl
79a506cacf2be3a74ead5467aee97b81fca00c9c4c8b3ba16dbab488cd99ba10 numpy-1.23.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
092f5e6025813e64ad6d1b52b519165d08c730d099c114a9247c9bb635a2a450 numpy-1.23.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d6ca8dabe696c2785d0c8c9b0d8a9b6e5fdbe4f922bde70d57fa1a2848134f95 numpy-1.23.0-cp39-cp39-win32.whl
fc431493df245f3c627c0c05c2bd134535e7929dbe2e602b80e42bf52ff760bc numpy-1.23.0-cp39-cp39-win_amd64.whl
f9c3fc2adf67762c9fe1849c859942d23f8d3e0bee7b5ed3d4a9c3eeb50a2f07 numpy-1.23.0-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
d0d2094e8f4d760500394d77b383a1b06d3663e8892cdf5df3c592f55f3bff66 numpy-1.23.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
94b170b4fa0168cd6be4becf37cb5b127bd12a795123984385b8cd4aca9857e5 numpy-1.23.0-pp38-pypy38_pp73-win_amd64.whl
bd3fa4fe2e38533d5336e1272fc4e765cabbbde144309ccee8675509d5cd7b05 numpy-1.23.0.tar.gz
- Python
Published by charris almost 4 years ago
numpy -
NumPy 1.23.0 Release Notes
The NumPy 1.23.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, clarify the documentation, and expire old deprecations. The highlights are:
- Implementation of
loadtxtin C, greatly improving its performance. - Exposing DLPack at the Python level for easy data exchange.
- Changes to the promotion and comparisons of structured dtypes.
- Improvements to f2py.
See below for the details,
New functions
A masked array specialization of
ndenumerateis now available asnumpy.ma.ndenumerate. It provides an alternative tonumpy.ndenumerateand skips masked values by default.(gh-20020)
numpy.from_dlpackhas been added to allow easy exchange of data using the DLPack protocol. It accepts Python objects that implement the__dlpack__and__dlpack_device__methods and returns a ndarray object which is generally the view of the data of the input object.(gh-21145)
Deprecations
Setting
__array_finalize__toNoneis deprecated. It must now be a method and may wish to callsuper().__array_finalize__(obj)after checking forNoneor if the NumPy version is sufficiently new.(gh-20766)
Using
axis=32(axis=np.MAXDIMS) in many cases had the same meaning asaxis=None. This is deprecated andaxis=Nonemust be used instead.(gh-20920)
The hook function
PyDataMem_SetEventHookhas been deprecated and the demonstration of its use in tool/allocation_tracking has been removed. The ability to track allocations is now built-in to python viatracemalloc.(gh-20394)
numpy.distutilshas been deprecated, as a result ofdistutilsitself being deprecated. It will not be present in NumPy for Python >= 3.12, and will be removed completely 2 years after the release of Python 3.12 For more details, seedistutils-status-migration{.interpreted-text role="ref"}.(gh-20875)
numpy.loadtxtwill now give aDeprecationWarningwhen an integerdtypeis requested but the value is formatted as a floating point number.
(gh-21663)
Expired deprecations
The
NpzFile.iteritems()andNpzFile.iterkeys()methods have been removed as part of the continued removal of Python 2 compatibility. This concludes the deprecation from 1.15.(gh-16830)
The
alenandasscalarfunctions have been removed.(gh-20414)
The
UPDATEIFCOPYarray flag has been removed together with the enumNPY_ARRAY_UPDATEIFCOPY. The associated (and deprecated)PyArray_XDECREF_ERRwas also removed. These were all deprecated in 1.14. They are replaced byWRITEBACKIFCOPY, that requires callingPyArray_ResoveWritebackIfCopybefore the array is deallocated.(gh-20589)
Exceptions will be raised during array-like creation. When an object raised an exception during access of the special attributes
__array__or__array_interface__, this exception was usually ignored. This behaviour was deprecated in 1.21, and the exception will now be raised.(gh-20835)
Multidimensional indexing with non-tuple values is not allowed. Previously, code such as
arr[ind]whereind = [[0, 1], [0, 1]]produced aFutureWarningand was interpreted as a multidimensional index (i.e.,arr[tuple(ind)]). Now this example is treated like an array index over a single dimension (arr[array(ind)]). Multidimensional indexing with anything but a tuple was deprecated in NumPy 1.15.(gh-21029)
Changing to a dtype of different size in F-contiguous arrays is no longer permitted. Deprecated since Numpy 1.11.0. See below for an extended explanation of the effects of this change.
(gh-20722)
New Features
crackfortran has support for operator and assignment overloading
crackfortran parser now understands operator and assignment
definitions in a module. They are added in the body list of the module
which contains a new key implementedby listing the names of the
subroutines or functions implementing the operator or assignment.
(gh-15006)
f2py supports reading access type attributes from derived type statements
As a result, one does not need to use public or private statements
to specify derived type access properties.
(gh-15844)
New parameter ndmin added to genfromtxt
This parameter behaves the same as ndmin from numpy.loadtxt.
(gh-20500)
np.loadtxt now supports quote character and single converter function
numpy.loadtxt now supports an additional quotechar keyword argument
which is not set by default. Using quotechar='"' will read quoted
fields as used by the Excel CSV dialect.
Further, it is now possible to pass a single callable rather than a
dictionary for the converters argument.
(gh-20580)
Changing to dtype of a different size now requires contiguity of only the last axis
Previously, viewing an array with a dtype of a different item size required that the entire array be C-contiguous. This limitation would unnecessarily force the user to make contiguous copies of non-contiguous arrays before being able to change the dtype.
This change affects not only ndarray.view, but other construction
mechanisms, including the discouraged direct assignment to
ndarray.dtype.
This change expires the deprecation regarding the viewing of F-contiguous arrays, described elsewhere in the release notes.
(gh-20722)
Deterministic output files for F2PY
For F77 inputs, f2py will generate modname-f2pywrappers.f
unconditionally, though these may be empty. For free-form inputs,
modname-f2pywrappers.f, modname-f2pywrappers2.f90 will both be
generated unconditionally, and may be empty. This allows writing generic
output rules in cmake or meson and other build systems. Older
behavior can be restored by passing --skip-empty-wrappers to f2py.
f2py-meson{.interpreted-text role="ref"} details usage.
(gh-21187)
keepdims parameter for average
The parameter keepdims was added to the functions numpy.average and
numpy.ma.average. The parameter has the same meaning as it does in
reduction functions such as numpy.sum or numpy.mean.
(gh-21485)
New parameter equal_nan added to np.unique
np.unique was changed in 1.21 to treat all NaN values as equal and
return a single NaN. Setting equal_nan=False will restore pre-1.21
behavior to treat NaNs as unique. Defaults to True.
(gh-21623)
Compatibility notes
1D np.linalg.norm preserves float input types, even for scalar results
Previously, this would promote to float64 when the ord argument was
not one of the explicitly listed values, e.g. ord=3:
>>> f32 = np.float32([1, 2])
>>> np.linalg.norm(f32, 2).dtype
dtype('float32')
>>> np.linalg.norm(f32, 3)
dtype('float64') # numpy 1.22
dtype('float32') # numpy 1.23
This change affects only float32 and float16 vectors with ord
other than -Inf, 0, 1, 2, and Inf.
(gh-17709)
Changes to structured (void) dtype promotion and comparisons
In general, NumPy now defines correct, but slightly limited, promotion for structured dtypes by promoting the subtypes of each field instead of raising an exception:
>>> np.result_type(np.dtype("i,i"), np.dtype("i,d"))
dtype([('f0', '<i4'), ('f1', '<f8')])
For promotion matching field names, order, and titles are enforced,
however padding is ignored. Promotion involving structured dtypes now
always ensures native byte-order for all fields (which may change the
result of np.concatenate) and ensures that the result will be
\"packed\", i.e. all fields are ordered contiguously and padding is
removed. See
structured_dtype_comparison_and_promotion{.interpreted-text
role="ref"} for further details.
The repr of aligned structures will now never print the long form
including offsets and itemsize unless the structure includes padding
not guaranteed by align=True.
In alignment with the above changes to the promotion logic, the casting safety has been updated:
-
"equiv"enforces matching names and titles. The itemsize is allowed to differ due to padding. -
"safe"allows mismatching field names and titles - The cast safety is limited by the cast safety of each included field.
- The order of fields is used to decide cast safety of each individual field. Previously, the field names were used and only unsafe casts were possible when names mismatched.
The main important change here is that name mismatches are now considered \"safe\" casts.
(gh-19226)
NPY_RELAXED_STRIDES_CHECKING has been removed
NumPy cannot be compiled with NPY_RELAXED_STRIDES_CHECKING=0 anymore.
Relaxed strides have been the default for many years and the option was
initially introduced to allow a smoother transition.
(gh-20220)
np.loadtxt has recieved several changes
The row counting of numpy.loadtxt was fixed. loadtxt ignores fully
empty lines in the file, but counted them towards max_rows. When
max_rows is used and the file contains empty lines, these will now not
be counted. Previously, it was possible that the result contained fewer
than max_rows rows even though more data was available to be read. If
the old behaviour is required, itertools.islice may be used:
import itertools
lines = itertools.islice(open("file"), 0, max_rows)
result = np.loadtxt(lines, ...)
While generally much faster and improved, numpy.loadtxt may now fail
to converter certain strings to numbers that were previously
successfully read. The most important cases for this are:
- Parsing floating point values such as
1.0into integers is now deprecated. - Parsing hexadecimal floats such as
0x3p3will fail - An
_was previously accepted as a thousands delimiter100_000. This will now result in an error.
If you experience these limitations, they can all be worked around by
passing appropriate converters=. NumPy now supports passing a single
converter to be used for all columns to make this more convenient. For
example, converters=float.fromhex can read hexadecimal float numbers
and converters=int will be able to read 100_000.
Further, the error messages have been generally improved. However, this
means that error types may differ. In particularly, a ValueError is
now always raised when parsing of a single entry fails.
(gh-20580)
Improvements
ndarray.__array_finalize__ is now callable
This means subclasses can now use super().__array_finalize__(obj)
without worrying whether ndarray is their superclass or not. The
actual call remains a no-op.
(gh-20766)
Add support for VSX4/Power10
With VSX4/Power10 enablement, the new instructions available in Power ISA 3.1 can be used to accelerate some NumPy operations, e.g., floor_divide, modulo, etc.
(gh-20821)
np.fromiter now accepts objects and subarrays
The numpy.fromiter function now supports object and subarray dtypes.
Please see he function documentation for examples.
(gh-20993)
Math C library feature detection now uses correct signatures
Compiling is preceded by a detection phase to determine whether the
underlying libc supports certain math operations. Previously this code
did not respect the proper signatures. Fixing this enables compilation
for the wasm-ld backend (compilation for web assembly) and reduces the
number of warnings.
(gh-21154)
np.kron now maintains subclass information
np.kron maintains subclass information now such as masked arrays while
computing the Kronecker product of the inputs
``` python
x = ma.array([[1, 2], [3, 4]], mask=[[0, 1], [1, 0]]) np.kron(x,x) maskedarray( data=[[1, --, --, --], [--, 4, --, --], [--, --, 4, --], [--, --, --, 16]], mask=[[False, True, True, True], [ True, False, True, True], [ True, True, False, True], [ True, True, True, False]], fillvalue=999999) ```
:warning: Warning, np.kron output now follows ufunc ordering (multiply) to determine
the output class type
``` python
class myarr(np.ndarray): array_priority = -1 a = np.ones([2, 2]) ma = myarray(a.shape, a.dtype, a.data) type(np.kron(a, ma)) == np.ndarray False # Before it was True type(np.kron(a, ma)) == myarr True ```
(gh-21262)
String comparisons now supported in ufuncs
The comparison ufuncs [np.equal]{.title-ref}, [np.greater]{.title-ref},
etc. now support unicode and byte string inputs (dtypes S and U).
Due to this change a FutureWarning is now given when comparing unicode
to byte strings. Such comparisons always returned False and continue
to do so at this time.
(gh-21716)
Performance improvements and changes
Faster np.loadtxt
numpy.loadtxt is now generally much faster than previously as most of
it is now implemented in C.
(gh-20580)
Faster reduction operators
Reduction operations like numpy.sum, numpy.prod, numpy.add.reduce,
numpy.logical_and.reduce on contiguous integer-based arrays are now
much faster.
(gh-21001)
Faster np.where
numpy.where is now much faster than previously on unpredictable/random
input data.
(gh-21130)
Faster operations on NumPy scalars
Many operations on NumPy scalars are now significantly faster, although
rare operations (e.g. with 0-D arrays rather than scalars) may be slower
in some cases. However, even with these improvements users who want the
best performance for their scalars, may want to convert a known NumPy
scalar into a Python one using scalar.item().
(gh-21188)
Faster np.kron
numpy.kron is about 80% faster as the product is now computed using
broadcasting.
(gh-21354)
Checksums
MD5
527ffa92c1e964bfcfd09497a319090e numpy-1.23.0rc3-cp310-cp310-macosx_10_9_x86_64.whl
14538d5c5a9f07c7c54b8f27ffcfcdf8 numpy-1.23.0rc3-cp310-cp310-macosx_11_0_arm64.whl
2914affc99c1d00a1e31689dfe8200c1 numpy-1.23.0rc3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a72038b74d0fe5d43967fa3c3f44a71a numpy-1.23.0rc3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b1c01a974cf10fdefe7c346aa09bc20a numpy-1.23.0rc3-cp310-cp310-win32.whl
b1ae6d311ad01f15a7cf28dbb906d2a4 numpy-1.23.0rc3-cp310-cp310-win_amd64.whl
ea734f44ae2b10c9cf1530eece6c58d6 numpy-1.23.0rc3-cp38-cp38-macosx_10_9_x86_64.whl
8bc2051b1172627cbb7ca503a75fcdd8 numpy-1.23.0rc3-cp38-cp38-macosx_11_0_arm64.whl
495efaf5566fd119a0f0b4c9339449ed numpy-1.23.0rc3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
1b93121d0c339b35dc83b92fa67a3545 numpy-1.23.0rc3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
50433ef3beaab89d5485d0fe7cbbaaaa numpy-1.23.0rc3-cp38-cp38-win32.whl
9014a7e33d01fd4d36298836b3199eac numpy-1.23.0rc3-cp38-cp38-win_amd64.whl
13661a5d83fd2bb423514681d0d00de4 numpy-1.23.0rc3-cp39-cp39-macosx_10_9_x86_64.whl
11386871be967bcb5331d8289b1186a6 numpy-1.23.0rc3-cp39-cp39-macosx_11_0_arm64.whl
43e6fa27b8ab7cb367103d1b890ca7c5 numpy-1.23.0rc3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b9aa6e6cb2ad37993ea4c70e7edeec4c numpy-1.23.0rc3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
030669015597201aca83e8cb2d2f82ed numpy-1.23.0rc3-cp39-cp39-win32.whl
ffab9ff64e6a08784dfb0eab430d4158 numpy-1.23.0rc3-cp39-cp39-win_amd64.whl
758408262bfc96942193e22cbfdab6dc numpy-1.23.0rc3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
27fb60bd1cd54e785aa63b1a29b32fb1 numpy-1.23.0rc3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b8819d1885f39a67917faf131e716a16 numpy-1.23.0rc3-pp38-pypy38_pp73-win_amd64.whl
b6e3a4784ce0ab3d1a9d850fde5049a3 numpy-1.23.0rc3.tar.gz
SHA256
5716acbd372407b046d168228217533d48f46b1fb76a788a01ce7b446d85e054 numpy-1.23.0rc3-cp310-cp310-macosx_10_9_x86_64.whl
65ac805918a4793aa50a0f366f0a31aa67e85a3e9a28fbdc49bec076ea9d59dd numpy-1.23.0rc3-cp310-cp310-macosx_11_0_arm64.whl
3947ff9ea7f50d44a0c278fb9c9b43109e6b2e02273b4b3341f3eea9fe31cc76 numpy-1.23.0rc3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8635887a615e8d3cf0ce35c401b30ccf7818eb58c9ac282561b2363d85729150 numpy-1.23.0rc3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
68d6f3794c78b37faf015c9d60207aaf156edfaf96b1d8c01a2694953b979b8f numpy-1.23.0rc3-cp310-cp310-win32.whl
c3237a338d59e271145e9773020b49dfb77314b749bde67783c45d946346a13f numpy-1.23.0rc3-cp310-cp310-win_amd64.whl
db5a2b42d09cc0661fec75b4e3daabff91a4858e67ee106fb793ebcd02ebd7b6 numpy-1.23.0rc3-cp38-cp38-macosx_10_9_x86_64.whl
fd999d0b503dce88fd97153986c3970154c965cfd1c9835f610e89f0dda3bda3 numpy-1.23.0rc3-cp38-cp38-macosx_11_0_arm64.whl
bc58787ee33ff7828be36b656b08ddaefb7b24339aacd2e21fb28fc49b44008c numpy-1.23.0rc3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fae0b80e6b85e3a72a8f7dab8af91199da31b6d0d86fab36529945f23f806d35 numpy-1.23.0rc3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ca12e7773b4f76addf2f91dad61307426f9c1fdf8da5c00b49080af56a9eeff8 numpy-1.23.0rc3-cp38-cp38-win32.whl
f403bea354d3c892ab1da29ab9d14d51149491a32731b32a94608e3dcd514533 numpy-1.23.0rc3-cp38-cp38-win_amd64.whl
849e7aa12c1df7e9f26d1936029710bb6050bc31c9cc9772d83c30e3fc7cf8e9 numpy-1.23.0rc3-cp39-cp39-macosx_10_9_x86_64.whl
e9ad17a823c106dbed8675f4d831381fe99e9df9945485792d8762c186259dcd numpy-1.23.0rc3-cp39-cp39-macosx_11_0_arm64.whl
03d5111e85d6371ffc3678824542a8df69ea206f16f83de76ac10231d40c006b numpy-1.23.0rc3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b757b22fab2a3ff1f41d0f2cb69bed337eda211db7a2c981b3f93180e4aa68ea numpy-1.23.0rc3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
87fd874392c7f8ee23829b4ac6737b19a20aeff2418169afc3e6da00c0e23bc1 numpy-1.23.0rc3-cp39-cp39-win32.whl
f159357529470285dff46e69d97e3c9694b0bd75229e4592edb02f8b812c7a4c numpy-1.23.0rc3-cp39-cp39-win_amd64.whl
a0be42a51fbb6087049dfa9b036568e9674a25fb4615f2bf60f189f435691aa4 numpy-1.23.0rc3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
da170cde43519e5490a1887898719e881575d0f0924ef35fe66d990246db6f0e numpy-1.23.0rc3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
33aa550e001817c8075c56a3b350fb3687cba66ee55dfbb09085d0d0fd63f6e9 numpy-1.23.0rc3-pp38-pypy38_pp73-win_amd64.whl
6a8fc5573cc8cb8108cec555bca5745d2798c54eef107d478b4320c1f6542102 numpy-1.23.0rc3.tar.gz
- Python
Published by charris almost 4 years ago
numpy -
NumPy 1.23.0 Release Notes
The NumPy 1.23.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, clarify the documentation, and expire old deprecations. The highlights are:
- Implementation of
loadtxtin C, greatly improving its performance. - Exposing DLPack at the Python level for easy data exchange.
- Changes to the promotion and comparisons of structured dtypes.
- Improvements to f2py.
See below for the details,
New functions
A masked array specialization of
ndenumerateis now available asnumpy.ma.ndenumerate. It provides an alternative tonumpy.ndenumerateand skips masked values by default.(gh-20020)
numpy.from_dlpackhas been added to allow easy exchange of data using the DLPack protocol. It accepts Python objects that implement the__dlpack__and__dlpack_device__methods and returns a ndarray object which is generally the view of the data of the input object.(gh-21145)
Deprecations
Setting
__array_finalize__toNoneis deprecated. It must now be a method and may wish to callsuper().__array_finalize__(obj)after checking forNoneor if the NumPy version is sufficiently new.(gh-20766)
Using
axis=32(axis=np.MAXDIMS) in many cases had the same meaning asaxis=None. This is deprecated andaxis=Nonemust be used instead.(gh-20920)
The hook function
PyDataMem_SetEventHookhas been deprecated and the demonstration of its use in tool/allocation_tracking has been removed. The ability to track allocations is now built-in to python viatracemalloc.(gh-20394)
numpy.distutilshas been deprecated, as a result ofdistutilsitself being deprecated. It will not be present in NumPy for Python >= 3.12, and will be removed completely 2 years after the release of Python 3.12 For more details, seedistutils-status-migration{.interpreted-text role="ref"}.(gh-20875)
Expired deprecations
The
NpzFile.iteritems()andNpzFile.iterkeys()methods have been removed as part of the continued removal of Python 2 compatibility. This concludes the deprecation from 1.15.(gh-16830)
The
alenandasscalarfunctions have been removed.(gh-20414)
The
UPDATEIFCOPYarray flag has been removed together with the enumNPY_ARRAY_UPDATEIFCOPY. The associated (and deprecated)PyArray_XDECREF_ERRwas also removed. These were all deprecated in 1.14. They are replaced byWRITEBACKIFCOPY, that requires callingPyArray_ResoveWritebackIfCopybefore the array is deallocated.(gh-20589)
Exceptions will be raised during array-like creation. When an object raised an exception during access of the special attributes
__array__or__array_interface__, this exception was usually ignored. This behaviour was deprecated in 1.21, and the exception will now be raised.(gh-20835)
Multidimensional indexing with non-tuple values is not allowed. Previously, code such as
arr[ind]whereind = [[0, 1], [0, 1]]produced aFutureWarningand was interpreted as a multidimensional index (i.e.,arr[tuple(ind)]). Now this example is treated like an array index over a single dimension (arr[array(ind)]). Multidimensional indexing with anything but a tuple was deprecated in NumPy 1.15.(gh-21029)
Changing to a dtype of different size in F-contiguous arrays is no longer permitted. Deprecated since Numpy 1.11.0. See below for an extended explanation of the effects of this change.
(gh-20722)
New Features
crackfortran has support for operator and assignment overloading
crackfortran parser now understands operator and assignment
definitions in a module. They are added in the body list of the module
which contains a new key implementedby listing the names of the
subroutines or functions implementing the operator or assignment.
(gh-15006)
f2py supports reading access type attributes from derived type statements
As a result, one does not need to use public or private statements
to specify derived type access properties.
(gh-15844)
New parameter ndmin added to genfromtxt
This parameter behaves the same as ndmin from numpy.loadtxt.
(gh-20500)
np.loadtxt now supports quote character and single converter function
numpy.loadtxt now supports an additional quotechar keyword argument
which is not set by default. Using quotechar='"' will read quoted
fields as used by the Excel CSV dialect.
Further, it is now possible to pass a single callable rather than a
dictionary for the converters argument.
(gh-20580)
Changing to dtype of a different size now requires contiguity of only the last axis
Previously, viewing an array with a dtype of a different item size required that the entire array be C-contiguous. This limitation would unnecessarily force the user to make contiguous copies of non-contiguous arrays before being able to change the dtype.
This change affects not only ndarray.view, but other construction
mechanisms, including the discouraged direct assignment to
ndarray.dtype.
This change expires the deprecation regarding the viewing of F-contiguous arrays, described elsewhere in the release notes.
(gh-20722)
Deterministic output files for F2PY
For F77 inputs, f2py will generate modname-f2pywrappers.f
unconditionally, though these may be empty. For free-form inputs,
modname-f2pywrappers.f, modname-f2pywrappers2.f90 will both be
generated unconditionally, and may be empty. This allows writing generic
output rules in cmake or meson and other build systems. Older
behavior can be restored by passing --skip-empty-wrappers to f2py.
f2py-meson{.interpreted-text role="ref"} details usage.
(gh-21187)
keepdims parameter for average
The parameter keepdims was added to the functions numpy.average and
numpy.ma.average. The parameter has the same meaning as it does in
reduction functions such as numpy.sum or numpy.mean.
(gh-21485)
Compatibility notes
1D np.linalg.norm preserves float input types, even for scalar results
Previously, this would promote to float64 when the ord argument was
not one of the explicitly listed values, e.g. ord=3:
>>> f32 = np.float32([1, 2])
>>> np.linalg.norm(f32, 2).dtype
dtype('float32')
>>> np.linalg.norm(f32, 3)
dtype('float64') # numpy 1.22
dtype('float32') # numpy 1.23
This change affects only float32 and float16 vectors with ord
other than -Inf, 0, 1, 2, and Inf.
(gh-17709)
Changes to structured (void) dtype promotion and comparisons
In general, NumPy now defines correct, but slightly limited, promotion for structured dtypes by promoting the subtypes of each field instead of raising an exception:
>>> np.result_type(np.dtype("i,i"), np.dtype("i,d"))
dtype([('f0', '<i4'), ('f1', '<f8')])
For promotion matching field names, order, and titles are enforced,
however padding is ignored. Promotion involving structured dtypes now
always ensures native byte-order for all fields (which may change the
result of np.concatenate) and ensures that the result will be
\"packed\", i.e. all fields are ordered contiguously and padding is
removed. See
structured_dtype_comparison_and_promotion{.interpreted-text
role="ref"} for further details.
The repr of aligned structures will now never print the long form
including offsets and itemsize unless the structure includes padding
not guaranteed by align=True.
In alignment with the above changes to the promotion logic, the casting safety has been updated:
-
"equiv"enforces matching names and titles. The itemsize is allowed to differ due to padding. -
"safe"allows mismatching field names and titles - The cast safety is limited by the cast safety of each included field.
- The order of fields is used to decide cast safety of each individual field. Previously, the field names were used and only unsafe casts were possible when names mismatched.
The main important change here is that name mismatches are now considered \"safe\" casts.
(gh-19226)
NPY_RELAXED_STRIDES_CHECKING has been removed
NumPy cannot be compiled with NPY_RELAXED_STRIDES_CHECKING=0 anymore.
Relaxed strides have been the default for many years and the option was
initially introduced to allow a smoother transition.
(gh-20220)
np.loadtxt has recieved several changes
The row counting of numpy.loadtxt was fixed. loadtxt ignores fully
empty lines in the file, but counted them towards max_rows. When
max_rows is used and the file contains empty lines, these will now not
be counted. Previously, it was possible that the result contained fewer
than max_rows rows even though more data was available to be read. If
the old behaviour is required, itertools.islice may be used:
import itertools
lines = itertools.islice(open("file"), 0, max_rows)
result = np.loadtxt(lines, ...)
While generally much faster and improved, numpy.loadtxt may now fail
to converter certain strings to numbers that were previously
successfully read. The most important cases for this are:
- Parsing floating point values such as
1.0into integers will now fail - Parsing hexadecimal floats such as
0x3p3will fail - An
_was previously accepted as a thousands delimiter100_000. This will now result in an error.
If you experience these limitations, they can all be worked around by
passing appropriate converters=. NumPy now supports passing a single
converter to be used for all columns to make this more convenient. For
example, converters=float.fromhex can read hexadecimal float numbers
and converters=int will be able to read 100_000.
Further, the error messages have been generally improved. However, this
means that error types may differ. In particularly, a ValueError is
now always raised when parsing of a single entry fails.
(gh-20580)
Improvements
ndarray.__array_finalize__ is now callable
This means subclasses can now use super().__array_finalize__(obj)
without worrying whether ndarray is their superclass or not. The
actual call remains a no-op.
(gh-20766)
Add support for VSX4/Power10
With VSX4/Power10 enablement, the new instructions available in Power ISA 3.1 can be used to accelerate some NumPy operations, e.g., floor_divide, modulo, etc.
(gh-20821)
np.fromiter now accepts objects and subarrays
The numpy.fromiter function now supports object and subarray dtypes.
Please see he function documentation for examples.
(gh-20993)
Math C library feature detection now uses correct signatures
Compiling is preceded by a detection phase to determine whether the
underlying libc supports certain math operations. Previously this code
did not respect the proper signatures. Fixing this enables compilation
for the wasm-ld backend (compilation for web assembly) and reduces the
number of warnings.
(gh-21154)
np.kron now maintains subclass information
np.kron maintains subclass information now such as masked arrays while
computing the Kronecker product of the inputs
``` python
x = ma.array([[1, 2], [3, 4]], mask=[[0, 1], [1, 0]]) np.kron(x,x) maskedarray( data=[[1, --, --, --], [--, 4, --, --], [--, --, 4, --], [--, --, --, 16]], mask=[[False, True, True, True], [ True, False, True, True], [ True, True, False, True], [ True, True, True, False]], fillvalue=999999) ```
:warning: Warning, np.kron output now follows ufunc ordering (multiply) to determine
the output class type
``` python
class myarr(np.ndarray): array_priority = -1 a = np.ones([2, 2]) ma = myarray(a.shape, a.dtype, a.data) type(np.kron(a, ma)) == np.ndarray False # Before it was True type(np.kron(a, ma)) == myarr True ```
(gh-21262)
Performance improvements and changes
Faster np.loadtxt
numpy.loadtxt is now generally much faster than previously as most of
it is now implemented in C.
(gh-20580)
Faster reduction operators
Reduction operations like numpy.sum, numpy.prod, numpy.add.reduce,
numpy.logical_and.reduce on contiguous integer-based arrays are now
much faster.
(gh-21001)
Faster np.where
numpy.where is now much faster than previously on unpredictable/random
input data.
(gh-21130)
Faster operations on NumPy scalars
Many operations on NumPy scalars are now significantly faster, although
rare operations (e.g. with 0-D arrays rather than scalars) may be slower
in some cases. However, even with these improvements users who want the
best performance for their scalars, may want to convert a known NumPy
scalar into a Python one using scalar.item().
(gh-21188)
Faster np.kron
numpy.kron is about 80% faster as the product is now computed using
broadcasting.
(gh-21354)
Checksums
MD5
e82b403f04ff9696804199b727c76a16 numpy-1.23.0rc2-cp310-cp310-macosx_10_9_x86_64.whl
8c54a8d758645f3cc4cd38d3e8749b53 numpy-1.23.0rc2-cp310-cp310-macosx_11_0_arm64.whl
9cb69a99ecc262a0618d1022abefddf3 numpy-1.23.0rc2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fdc8f769f9d7f49621810dd6e93c4b7b numpy-1.23.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b4e4780b9893cafb7fdf9e77a917621a numpy-1.23.0rc2-cp310-cp310-win32.whl
72522edc1356681cb2282c0ab846e185 numpy-1.23.0rc2-cp310-cp310-win_amd64.whl
e41ddd480f1a4df9fbd19613e8fe0279 numpy-1.23.0rc2-cp38-cp38-macosx_10_9_x86_64.whl
c072a129bed27a890f40fe4ae92c85d1 numpy-1.23.0rc2-cp38-cp38-macosx_11_0_arm64.whl
3403871b2b11afb71e157da8b5e77bde numpy-1.23.0rc2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4bfc243c9d418c3012790c916821b1a1 numpy-1.23.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
71da5294cd1c7787c502b5dd3868e810 numpy-1.23.0rc2-cp38-cp38-win32.whl
82050d9ffdd0c949bdbb431cadd1e594 numpy-1.23.0rc2-cp38-cp38-win_amd64.whl
ba5b01751b659d1d7db38ebd98c43230 numpy-1.23.0rc2-cp39-cp39-macosx_10_9_x86_64.whl
3f135b3b0e0bb45739c422c3a7eaf71d numpy-1.23.0rc2-cp39-cp39-macosx_11_0_arm64.whl
d4c2891a953d0bbc746aaaf21e3b39b2 numpy-1.23.0rc2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
cd9afa01451169e5b09037db846948fb numpy-1.23.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e58528377aabfde966bb965fc4df24d3 numpy-1.23.0rc2-cp39-cp39-win32.whl
b07488787ebc63d8ba7885625231f14a numpy-1.23.0rc2-cp39-cp39-win_amd64.whl
11c6aa572a7337e0245043bd7e442db1 numpy-1.23.0rc2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
9ab414aa7e01e45faf2e28c7312d16e6 numpy-1.23.0rc2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d1f5b0c80a9eea0b57df5a5b03d2a981 numpy-1.23.0rc2-pp38-pypy38_pp73-win_amd64.whl
00884782fc17920a470641ae5c19ad31 numpy-1.23.0rc2.tar.gz
SHA256
2e66decdea13ae8091ba480209dd5ce31261fa3b021ec06b30bd2f4a304861b7 numpy-1.23.0rc2-cp310-cp310-macosx_10_9_x86_64.whl
fde47931544086a648b12ee7c9ccf30edd6c6db776005fb07e4a019a04980042 numpy-1.23.0rc2-cp310-cp310-macosx_11_0_arm64.whl
c308afc8ec782badd073999385a6c93c27ee68e6c0991697394d4fd56566af1f numpy-1.23.0rc2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
1f22f6f3cb7094ad77c8d352e4bfd2c1db1c38bc08d0b6c74e9b46343c53b052 numpy-1.23.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
279dce16b143bc50d49bab52dc279d6ab5b0edc7f4d2cc7edaf6a547586bda7e numpy-1.23.0rc2-cp310-cp310-win32.whl
04e4dbe6b777e977813e7ff5f43aa030ef4f6f75cbc1a4504d3135942b5c12fe numpy-1.23.0rc2-cp310-cp310-win_amd64.whl
9793feff4758c68502f7652fab08e5ec427d9973d26014767cc15c1b1d885f56 numpy-1.23.0rc2-cp38-cp38-macosx_10_9_x86_64.whl
804293d9bdf33f9c9fb0b4a753f9e84114bb0ad538d184fc579b30782326c827 numpy-1.23.0rc2-cp38-cp38-macosx_11_0_arm64.whl
c335800064f04e0b474b64779ab234ae23c0a5b2f5a06284bb07d297d73692bd numpy-1.23.0rc2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9810b840a751b6f0c73c21fb2a50e306d7d0be4114cded4c7d069e142ce488cf numpy-1.23.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
dbc987d14f46ae4c476068543d3ad2a20e7ebcb06b211eb4292224dc136eb01d numpy-1.23.0rc2-cp38-cp38-win32.whl
020218fc82390f1d537cb193d6f1449a919ec97df69b5a64c0a1d017486e0032 numpy-1.23.0rc2-cp38-cp38-win_amd64.whl
785d6520f7bf10ff188762bc460579d6a31c11f960976b2a29efc383b0346572 numpy-1.23.0rc2-cp39-cp39-macosx_10_9_x86_64.whl
ae7e8801b93124a6b0becedc06285ddbaca2daab2d30e35ea413d3bec252717a numpy-1.23.0rc2-cp39-cp39-macosx_11_0_arm64.whl
1c881827ff0ad7d607047c19a075a7d7c7125cc103fb969a9200bad26175fb9d numpy-1.23.0rc2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6fbd492bead87ab83240c56b3490ac301595ab1399ace3e3c1b7c130e3529358 numpy-1.23.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
82e69890c394a4e1cbcaf12b47d8477bbac4635866fc46a77670abbe4bb4085d numpy-1.23.0rc2-cp39-cp39-win32.whl
f5a1c7c45ff29db501f9e38a360aedd833e355c14c75155ba2bd46ee3799e30a numpy-1.23.0rc2-cp39-cp39-win_amd64.whl
b7be00b0a76384490845395714e62f597e64bc6dc8f8a14be0e96034dde3667c numpy-1.23.0rc2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
d17f7feb2cca596daa4b3dae86b611a13e9ace061e6583a8db21841f529ca891 numpy-1.23.0rc2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
548f4d86aa259a448f2da0c07df070bf1f71b68c1f84b1356d4a2ed832598758 numpy-1.23.0rc2-pp38-pypy38_pp73-win_amd64.whl
8e8a88657c028b8b77f3df6f266a5e6ffb4419cbc3dfb525cbbb80ba710f5da2 numpy-1.23.0rc2.tar.gz
- Python
Published by charris about 4 years ago
numpy -
NumPy 1.23.0 Release Notes
The NumPy 1.23.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, clarify the documentation, and expire old deprecations. The highlights are:
- Implementation of
loadtxtin C, greatly improving its performance. - Exposing DLPack at the Python level for easy data exchange.
- Changes to the promotion and comparisons of structured dtypes.
- Improvements to f2py.
See below for the details,
New functions
A masked array specialization of
ndenumerateis now available asnumpy.ma.ndenumerate. It provides an alternative tonumpy.ndenumerateand skips masked values by default.(gh-20020)
numpy.from_dlpackhas been added to allow easy exchange of data using the DLPack protocol. It accepts Python objects that implement the__dlpack__and__dlpack_device__methods and returns a ndarray object which is generally the view of the data of the input object.(gh-21145)
Deprecations
Setting
__array_finalize__toNoneis deprecated. It must now be a method and may wish to callsuper().__array_finalize__(obj)after checking forNoneor if the NumPy version is sufficiently new.(gh-20766)
Using
axis=32(axis=np.MAXDIMS) in many cases had the same meaning asaxis=None. This is deprecated andaxis=Nonemust be used instead.(gh-20920)
The hook function
PyDataMem_SetEventHookhas been deprecated and the demonstration of its use in tool/allocation_tracking has been removed. The ability to track allocations is now built-in to python viatracemalloc.(gh-20394)
numpy.distutilshas been deprecated, as a result ofdistutilsitself being deprecated. It will not be present in NumPy for Python >= 3.12, and will be removed completely 2 years after the release of Python 3.12 For more details, seedistutils-status-migration{.interpreted-text role="ref"}.(gh-20875)
Expired deprecations
The
NpzFile.iteritems()andNpzFile.iterkeys()methods have been removed as part of the continued removal of Python 2 compatibility. This concludes the deprecation from 1.15.(gh-16830)
The
alenandasscalarfunctions have been removed.(gh-20414)
The
UPDATEIFCOPYarray flag has been removed together with the enumNPY_ARRAY_UPDATEIFCOPY. The associated (and deprecated)PyArray_XDECREF_ERRwas also removed. These were all deprecated in 1.14. They are replaced byWRITEBACKIFCOPY, that requires callingPyArray_ResoveWritebackIfCopybefore the array is deallocated.(gh-20589)
Exceptions will be raised during array-like creation. When an object raised an exception during access of the special attributes
__array__or__array_interface__, this exception was usually ignored. This behaviour was deprecated in 1.21, and the exception will now be raised.(gh-20835)
Multidimensional indexing with non-tuple values is not allowed. Previously, code such as
arr[ind]whereind = [[0, 1], [0, 1]]produced aFutureWarningand was interpreted as a multidimensional index (i.e.,arr[tuple(ind)]). Now this example is treated like an array index over a single dimension (arr[array(ind)]). Multidimensional indexing with anything but a tuple was deprecated in NumPy 1.15.(gh-21029)
Changing to a dtype of different size in F-contiguous arrays is no longer permitted. Deprecated since Numpy 1.11.0. See below for an extended explanation of the effects of this change.
(gh-20722)
New Features
crackfortran has support for operator and assignment overloading
crackfortran parser now understands operator and assignment
definitions in a module. They are added in the body list of the module
which contains a new key implementedby listing the names of the
subroutines or functions implementing the operator or assignment.
(gh-15006)
f2py supports reading access type attributes from derived type statements
As a result, one does not need to use public or private statements
to specify derived type access properties.
(gh-15844)
New parameter ndmin added to genfromtxt
This parameter behaves the same as ndmin from numpy.loadtxt.
(gh-20500)
np.loadtxt now supports quote character and single converter function
numpy.loadtxt now supports an additional quotechar keyword argument
which is not set by default. Using quotechar='"' will read quoted
fields as used by the Excel CSV dialect.
Further, it is now possible to pass a single callable rather than a
dictionary for the converters argument.
(gh-20580)
Changing to dtype of a different size now requires contiguity of only the last axis
Previously, viewing an array with a dtype of a different item size required that the entire array be C-contiguous. This limitation would unnecessarily force the user to make contiguous copies of non-contiguous arrays before being able to change the dtype.
This change affects not only ndarray.view, but other construction
mechanisms, including the discouraged direct assignment to
ndarray.dtype.
This change expires the deprecation regarding the viewing of F-contiguous arrays, described elsewhere in the release notes.
(gh-20722)
Deterministic output files for F2PY
For F77 inputs, f2py will generate modname-f2pywrappers.f
unconditionally, though these may be empty. For free-form inputs,
modname-f2pywrappers.f, modname-f2pywrappers2.f90 will both be
generated unconditionally, and may be empty. This allows writing generic
output rules in cmake or meson and other build systems. Older
behavior can be restored by passing --skip-empty-wrappers to f2py.
f2py-meson{.interpreted-text role="ref"} details usage.
(gh-21187)
keepdims parameter for average
The parameter keepdims was added to the functions numpy.average and
numpy.ma.average. The parameter has the same meaning as it does in
reduction functions such as numpy.sum or numpy.mean.
(gh-21485)
Compatibility notes
1D np.linalg.norm preserves float input types, even for scalar results
Previously, this would promote to float64 when the ord argument was
not one of the explicitly listed values, e.g. ord=3:
>>> f32 = np.float32([1, 2])
>>> np.linalg.norm(f32, 2).dtype
dtype('float32')
>>> np.linalg.norm(f32, 3)
dtype('float64') # numpy 1.22
dtype('float32') # numpy 1.23
This change affects only float32 and float16 vectors with ord
other than -Inf, 0, 1, 2, and Inf.
(gh-17709)
Changes to structured (void) dtype promotion and comparisons
In general, NumPy now defines correct, but slightly limited, promotion for structured dtypes by promoting the subtypes of each field instead of raising an exception:
>>> np.result_type(np.dtype("i,i"), np.dtype("i,d"))
dtype([('f0', '<i4'), ('f1', '<f8')])
For promotion matching field names, order, and titles are enforced,
however padding is ignored. Promotion involving structured dtypes now
always ensures native byte-order for all fields (which may change the
result of np.concatenate) and ensures that the result will be
\"packed\", i.e. all fields are ordered contiguously and padding is
removed. See
structured_dtype_comparison_and_promotion{.interpreted-text
role="ref"} for further details.
The repr of aligned structures will now never print the long form
including offsets and itemsize unless the structure includes padding
not guaranteed by align=True.
In alignment with the above changes to the promotion logic, the casting safety has been updated:
-
"equiv"enforces matching names and titles. The itemsize is allowed to differ due to padding. -
"safe"allows mismatching field names and titles - The cast safety is limited by the cast safety of each included field.
- The order of fields is used to decide cast safety of each individual field. Previously, the field names were used and only unsafe casts were possible when names mismatched.
The main important change here is that name mismatches are now considered \"safe\" casts.
(gh-19226)
NPY_RELAXED_STRIDES_CHECKING has been removed
NumPy cannot be compiled with NPY_RELAXED_STRIDES_CHECKING=0 anymore.
Relaxed strides have been the default for many years and the option was
initially introduced to allow a smoother transition.
(gh-20220)
np.loadtxt has recieved several changes
The row counting of numpy.loadtxt was fixed. loadtxt ignores fully
empty lines in the file, but counted them towards max_rows. When
max_rows is used and the file contains empty lines, these will now not
be counted. Previously, it was possible that the result contained fewer
than max_rows rows even though more data was available to be read. If
the old behaviour is required, itertools.islice may be used:
import itertools
lines = itertools.islice(open("file"), 0, max_rows)
result = np.loadtxt(lines, ...)
While generally much faster and improved, numpy.loadtxt may now fail
to converter certain strings to numbers that were previously
successfully read. The most important cases for this are:
- Parsing floating point values such as
1.0into integers will now fail - Parsing hexadecimal floats such as
0x3p3will fail - An
_was previously accepted as a thousands delimiter100_000. This will now result in an error.
If you experience these limitations, they can all be worked around by
passing appropriate converters=. NumPy now supports passing a single
converter to be used for all columns to make this more convenient. For
example, converters=float.fromhex can read hexadecimal float numbers
and converters=int will be able to read 100_000.
Further, the error messages have been generally improved. However, this
means that error types may differ. In particularly, a ValueError is
now always raised when parsing of a single entry fails.
(gh-20580)
Improvements
ndarray.__array_finalize__ is now callable
This means subclasses can now use super().__array_finalize__(obj)
without worrying whether ndarray is their superclass or not. The
actual call remains a no-op.
(gh-20766)
Add support for VSX4/Power10
With VSX4/Power10 enablement, the new instructions available in Power ISA 3.1 can be used to accelerate some NumPy operations, e.g., floor_divide, modulo, etc.
(gh-20821)
np.fromiter now accepts objects and subarrays
The numpy.fromiter function now supports object and subarray dtypes.
Please see he function documentation for examples.
(gh-20993)
Math C library feature detection now uses correct signatures
Compiling is preceded by a detection phase to determine whether the
underlying libc supports certain math operations. Previously this code
did not respect the proper signatures. Fixing this enables compilation
for the wasm-ld backend (compilation for web assembly) and reduces the
number of warnings.
(gh-21154)
np.kron now maintains subclass information
np.kron maintains subclass information now such as masked arrays while
computing the Kronecker product of the inputs
``` python
x = ma.array([[1, 2], [3, 4]], mask=[[0, 1], [1, 0]]) np.kron(x,x) maskedarray( data=[[1, --, --, --], [--, 4, --, --], [--, --, 4, --], [--, --, --, 16]], mask=[[False, True, True, True], [ True, False, True, True], [ True, True, False, True], [ True, True, True, False]], fillvalue=999999) ```
:warning: Warning, np.kron output now follows ufunc ordering (multiply) to determine
the output class type
``` python
class myarr(np.ndarray): array_priority = -1 a = np.ones([2, 2]) ma = myarray(a.shape, a.dtype, a.data) type(np.kron(a, ma)) == np.ndarray False # Before it was True type(np.kron(a, ma)) == myarr True ```
(gh-21262)
Performance improvements and changes
Faster np.loadtxt
numpy.loadtxt is now generally much faster than previously as most of
it is now implemented in C.
(gh-20580)
Faster reduction operators
Reduction operations like numpy.sum, numpy.prod, numpy.add.reduce,
numpy.logical_and.reduce on contiguous integer-based arrays are now
much faster.
(gh-21001)
Faster np.where
numpy.where is now much faster than previously on unpredictable/random
input data.
(gh-21130)
Faster operations on NumPy scalars
Many operations on NumPy scalars are now significantly faster, although
rare operations (e.g. with 0-D arrays rather than scalars) may be slower
in some cases. However, even with these improvements users who want the
best performance for their scalars, may want to convert a known NumPy
scalar into a Python one using scalar.item().
(gh-21188)
Faster np.kron
numpy.kron is about 80% faster as the product is now computed using
broadcasting.
(gh-21354)
Checksums
MD5
c67b4cc1de8a0753bc65765a508aa0e3 numpy-1.23.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
9daceb162c46298986b5fceb13f10e54 numpy-1.23.0rc1-cp310-cp310-macosx_11_0_arm64.whl
ac07046b70001710d8d3243d9b5d0389 numpy-1.23.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
14269d197cd6aac02655d43aa10ba108 numpy-1.23.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ba5fc5cd776549afc353e0043f6c6f5a numpy-1.23.0rc1-cp310-cp310-win32.whl
0e1b00f156f32aabde1e29607c709a24 numpy-1.23.0rc1-cp310-cp310-win_amd64.whl
34b5a9f3abeb9f6e9c6fbd494305d53d numpy-1.23.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
bb825cf372822daad1e440577e324042 numpy-1.23.0rc1-cp38-cp38-macosx_11_0_arm64.whl
45296e6b41691c4265c90562c94254aa numpy-1.23.0rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b10b131e5c0576629ab99829301d6fba numpy-1.23.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
bc6210254087b73715d8c6a79dafa3b8 numpy-1.23.0rc1-cp38-cp38-win32.whl
d9b7fb5a539a738309a717051f13e41a numpy-1.23.0rc1-cp38-cp38-win_amd64.whl
d2cec33489c96dfc489bb00353d351fe numpy-1.23.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
e4982f3bf3d4acab67cb61d3d0e2f85b numpy-1.23.0rc1-cp39-cp39-macosx_11_0_arm64.whl
781a79ea9f1683a579a1ef27d809a8e0 numpy-1.23.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8c03ea50c2baa172e8252d10dea73498 numpy-1.23.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
61829dec0785cf72b8f5bc92dc44d828 numpy-1.23.0rc1-cp39-cp39-win32.whl
94c7c971ed5eedb1b61a09bcfc123617 numpy-1.23.0rc1-cp39-cp39-win_amd64.whl
b5c6f674b468e7fc513882563391efec numpy-1.23.0rc1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
41ab4b757478c8e244018c37bcb52bb3 numpy-1.23.0rc1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f2082734772a6a7afbe3568e7b2ad458 numpy-1.23.0rc1-pp38-pypy38_pp73-win_amd64.whl
faf6a08cda5696b96acb670c433495e5 numpy-1.23.0rc1.tar.gz
SHA256
a72607e12891615a314a892f8d21301b930f211841f0084d269baa1eb31710b4 numpy-1.23.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
4784a81089c75a941dcc013b09290dfb22768780a1f3525667328d09a3338116 numpy-1.23.0rc1-cp310-cp310-macosx_11_0_arm64.whl
d4ebdeb0e2a57bbd28c3258a562ee011775127427eea833613744af1a66c3e11 numpy-1.23.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a2dfb54cb1c6470918a3c02da77706f28977cb7eac4b76cc40b14942c8634615 numpy-1.23.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1567c488f9ef97341c5937b4140a45ac37e0592c43ba2c59d3e49ff7d5da90b0 numpy-1.23.0rc1-cp310-cp310-win32.whl
78df1fc2ddf543508b5358dd24ac68ee693599e5df0d136062b9ec21ba7643cf numpy-1.23.0rc1-cp310-cp310-win_amd64.whl
020c6d8476fced48f42629f46996af8a07bc725cb821081205c4422eacaa2283 numpy-1.23.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
efd26eecd1ada0c8dadc5b221c52086ccc72e4cb0707e451889ef3b62c14163c numpy-1.23.0rc1-cp38-cp38-macosx_11_0_arm64.whl
8cf3f61984777a830eef452d8b04338795691949214e6cafc46c5236900cd1f5 numpy-1.23.0rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
96738ae39db010502564325ce2f4aff4f42b75adf64f3ccb2b19214e9be1c01c numpy-1.23.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
33b233f59d9430a27c2a58a056f32259eadf9584f41c6ec02c493c3aeb90f844 numpy-1.23.0rc1-cp38-cp38-win32.whl
edf0a82d285e18418e3915fece2cf0f4f31e84fe62271331fbaafbbc7d57e9ee numpy-1.23.0rc1-cp38-cp38-win_amd64.whl
a71f1602bf84d0a2fb5d586a2d8c31f29fbca9253ae1eecf46b7059fa265eb79 numpy-1.23.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
05000d27fd135dd0aab90acaf96652991c070dda688739097ac2dea92189f9f0 numpy-1.23.0rc1-cp39-cp39-macosx_11_0_arm64.whl
ebe07758ac3e7402290f43d379f6d79d81a247488561743490cf2e5b64351ba6 numpy-1.23.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3cd05784cdcd09114c2f6186bb99af7f5ee65ffd720dae9990722a94309b17ea numpy-1.23.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6ccb79435d4501b35ed3d807e1bf7345e42f68b25fbf720ade9c74c7196360f9 numpy-1.23.0rc1-cp39-cp39-win32.whl
a8fbe61e09565fa2f7bca076627ea0efbf50ab689c35af5082c5d94fb24b30ee numpy-1.23.0rc1-cp39-cp39-win_amd64.whl
7a45352476e92c1958ce513fa84b508d59dd8e6ffe0e6f6cceebfc0f3c06d086 numpy-1.23.0rc1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
4f15768493ecf23c5d82e5542642a36764e551c7744781268c7c221f26c7ffd6 numpy-1.23.0rc1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
edf0b720c8ba3d35b23c71c0cd13df34290be87b42f0e10d0ec2f1639cda2692 numpy-1.23.0rc1-pp38-pypy38_pp73-win_amd64.whl
3a09d0f564f59b6da54f592909d3fdbd50b492ef9fbe6d699043c992538ba0e0 numpy-1.23.0rc1.tar.gz
- Python
Published by charris about 4 years ago
numpy -
NumPy 1.22.4 Release Notes
NumPy 1.22.4 is a maintenance release that fixes bugs discovered after the 1.22.3 release. In addition, the wheels for this release are built using the recently released Cython 0.29.30, which should fix the reported problems with debugging.
The Python versions supported for this release are 3.8-3.10. Note that the Mac wheels are now based on OS X 10.15 rather than 10.6 that was used in previous NumPy release cycles.
Contributors
A total of 12 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Alexander Shadchin
- Bas van Beek
- Charles Harris
- Hood Chatham
- Jarrod Millman
- John-Mark Gurney +
- Junyan Ou +
- Mariusz Felisiak +
- Ross Barnowski
- Sebastian Berg
- Serge Guelton
- Stefan van der Walt
Pull requests merged
A total of 22 pull requests were merged for this release.
- #21191: TYP, BUG: Fix
np.lib.stride_tricksre-exported under the... - #21192: TST: Bump mypy from 0.931 to 0.940
- #21243: MAINT: Explicitly re-export the types in
numpy._typing - #21245: MAINT: Specify sphinx, numpydoc versions for CI doc builds
- #21275: BUG: Fix typos
- #21277: ENH, BLD: Fix math feature detection for wasm
- #21350: MAINT: Fix failing simd and cygwin tests.
- #21438: MAINT: Fix failing Python 3.8 32-bit Windows test.
- #21444: BUG: add linux guard per #21386
- #21445: BUG: Allow legacy dtypes to cast to datetime again
- #21446: BUG: Make mmap handling safer in frombuffer
- #21447: BUG: Stop using PyBytesObject.ob_shash deprecated in Python 3.11.
- #21448: ENH: Introduce numpy.core.setupcommon.NPYCXX_FLAGS
- #21472: BUG: Ensure compile errors are raised correclty
- #21473: BUG: Fix segmentation fault
- #21474: MAINT: Update doc requirements
- #21475: MAINT: Mark
npy_memchrwithno_sanitize("alignment")on clang - #21512: DOC: Proposal - make the doc landing page cards more similar...
- #21525: MAINT: Update Cython version to 0.29.30.
- #21536: BUG: Fix GCC error during build configuration
- #21541: REL: Prepare for the NumPy 1.22.4 release.
- #21547: MAINT: Skip tests that fail on PyPy.
Checksums
MD5
a19351fd3dc0b3bbc733495ed18b8f24 numpy-1.22.4-cp310-cp310-macosx_10_14_x86_64.whl
0730f9e196f70ad89f246bf95ccf05d5 numpy-1.22.4-cp310-cp310-macosx_10_15_x86_64.whl
63c74e5395a2b31d8adc5b1aa0c62471 numpy-1.22.4-cp310-cp310-macosx_11_0_arm64.whl
f99778023770c12f896768c90f7712e5 numpy-1.22.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
757d68b0cdb4e28ffce8574b6a2f3c5e numpy-1.22.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
50becf2e048e54dc5227dfe8378aae1e numpy-1.22.4-cp310-cp310-win32.whl
79dfdc29a4730e44d6df33dbea5b35b0 numpy-1.22.4-cp310-cp310-win_amd64.whl
8fd8f04d71ead55c2773d1b46668ca67 numpy-1.22.4-cp38-cp38-macosx_10_15_x86_64.whl
41a7c6240081010824cc0d5c02900fe6 numpy-1.22.4-cp38-cp38-macosx_11_0_arm64.whl
6bc066d3f61da3304c82d92f3f900a4f numpy-1.22.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
86d959605c66ccba11c6504f25fff0d7 numpy-1.22.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ae0405894c065349a511e4575b919e2a numpy-1.22.4-cp38-cp38-win32.whl
c9a731d08081396b7a1b66977734d2ac numpy-1.22.4-cp38-cp38-win_amd64.whl
4d9b97d74799e5fc48860f0b4a3b255a numpy-1.22.4-cp39-cp39-macosx_10_14_x86_64.whl
c99fa7e04cb7cc23f1713f2023b4e489 numpy-1.22.4-cp39-cp39-macosx_10_15_x86_64.whl
dda3815df12b8a99c6c3069f69997521 numpy-1.22.4-cp39-cp39-macosx_11_0_arm64.whl
9b7c5b39d5611d92b66eb545d44b25db numpy-1.22.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
90fc45eaf8b8c4fac3f3ebd105a5a856 numpy-1.22.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9562153d4a83d773c20eb626cbd65cde numpy-1.22.4-cp39-cp39-win32.whl
711b23acce54a18ce74fc80f48f48062 numpy-1.22.4-cp39-cp39-win_amd64.whl
ab803b24ea557452e828adba1b986af3 numpy-1.22.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
09b3a41ea0b9bc20bd1691cf88f0b0d3 numpy-1.22.4.tar.gz
b44849506fbb54cdef9dbb435b2b1987 numpy-1.22.4.zip
SHA256
ba9ead61dfb5d971d77b6c131a9dbee62294a932bf6a356e48c75ae684e635b3 numpy-1.22.4-cp310-cp310-macosx_10_14_x86_64.whl
1ce7ab2053e36c0a71e7a13a7475bd3b1f54750b4b433adc96313e127b870887 numpy-1.22.4-cp310-cp310-macosx_10_15_x86_64.whl
7228ad13744f63575b3a972d7ee4fd61815b2879998e70930d4ccf9ec721dce0 numpy-1.22.4-cp310-cp310-macosx_11_0_arm64.whl
43a8ca7391b626b4c4fe20aefe79fec683279e31e7c79716863b4b25021e0e74 numpy-1.22.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a911e317e8c826ea632205e63ed8507e0dc877dcdc49744584dfc363df9ca08c numpy-1.22.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9ce7df0abeabe7fbd8ccbf343dc0db72f68549856b863ae3dd580255d009648e numpy-1.22.4-cp310-cp310-win32.whl
3e1ffa4748168e1cc8d3cde93f006fe92b5421396221a02f2274aab6ac83b077 numpy-1.22.4-cp310-cp310-win_amd64.whl
59d55e634968b8f77d3fd674a3cf0b96e85147cd6556ec64ade018f27e9479e1 numpy-1.22.4-cp38-cp38-macosx_10_15_x86_64.whl
c1d937820db6e43bec43e8d016b9b3165dcb42892ea9f106c70fb13d430ffe72 numpy-1.22.4-cp38-cp38-macosx_11_0_arm64.whl
d4c5d5eb2ec8da0b4f50c9a843393971f31f1d60be87e0fb0917a49133d257d6 numpy-1.22.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
64f56fc53a2d18b1924abd15745e30d82a5782b2cab3429aceecc6875bd5add0 numpy-1.22.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fb7a980c81dd932381f8228a426df8aeb70d59bbcda2af075b627bbc50207cba numpy-1.22.4-cp38-cp38-win32.whl
e96d7f3096a36c8754207ab89d4b3282ba7b49ea140e4973591852c77d09eb76 numpy-1.22.4-cp38-cp38-win_amd64.whl
4c6036521f11a731ce0648f10c18ae66d7143865f19f7299943c985cdc95afb5 numpy-1.22.4-cp39-cp39-macosx_10_14_x86_64.whl
b89bf9b94b3d624e7bb480344e91f68c1c6c75f026ed6755955117de00917a7c numpy-1.22.4-cp39-cp39-macosx_10_15_x86_64.whl
2d487e06ecbf1dc2f18e7efce82ded4f705f4bd0cd02677ffccfb39e5c284c7e numpy-1.22.4-cp39-cp39-macosx_11_0_arm64.whl
f3eb268dbd5cfaffd9448113539e44e2dd1c5ca9ce25576f7c04a5453edc26fa numpy-1.22.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
37431a77ceb9307c28382c9773da9f306435135fae6b80b62a11c53cfedd8802 numpy-1.22.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cc7f00008eb7d3f2489fca6f334ec19ca63e31371be28fd5dad955b16ec285bd numpy-1.22.4-cp39-cp39-win32.whl
f0725df166cf4785c0bc4cbfb320203182b1ecd30fee6e541c8752a92df6aa32 numpy-1.22.4-cp39-cp39-win_amd64.whl
0791fbd1e43bf74b3502133207e378901272f3c156c4df4954cad833b1380207 numpy-1.22.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b4308198d0e41efaa108e57d69973398439c7299a9d551680cdd603cf6d20709 numpy-1.22.4.tar.gz
425b390e4619f58d8526b3dcf656dde069133ae5c240229821f01b5f44ea07af numpy-1.22.4.zip
- Python
Published by charris about 4 years ago
numpy -
NumPy 1.21.6 Release Notes
NumPy 1.21.6 is a very small release that achieves two things:
- Backs out the mistaken backport of C++ code into 1.21.5.
- Provides a 32 bit Windows wheel for Python 3.10.
The provision of the 32 bit wheel is intended to make life easier for oldest-supported-numpy.
Checksums
MD5
5a3e5d7298056bcfbc3246597af474d4 numpy-1.21.6-cp310-cp310-macosx_10_9_universal2.whl
d981d2859842e7b62dc93e24808c7bac numpy-1.21.6-cp310-cp310-macosx_10_9_x86_64.whl
171313893c26529404d09fadb3537ed3 numpy-1.21.6-cp310-cp310-macosx_11_0_arm64.whl
5a7a6dfdd43069f9b29d3fe6b7f3a2ce numpy-1.21.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a9e25375a72725c5d74442eda53af405 numpy-1.21.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6f9a782477380b2cdb7606f6f7634c00 numpy-1.21.6-cp310-cp310-win32.whl
32a73a348864700a3fa510d2fc4350b7 numpy-1.21.6-cp310-cp310-win_amd64.whl
0db8941ebeb0a02cd839d9cd3c5c20bb numpy-1.21.6-cp37-cp37m-macosx_10_9_x86_64.whl
67882155be9592850861f4ad8ba36623 numpy-1.21.6-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
c70e30e1ff9ab49f898c19e7a6492ae6 numpy-1.21.6-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
e32dbd291032c7554a742f1bb9b2f7a3 numpy-1.21.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
689bf804c2cd16cb241fd943e3833ffd numpy-1.21.6-cp37-cp37m-win32.whl
0062a7b0231a07cb5b9f3d7c495e6fe4 numpy-1.21.6-cp37-cp37m-win_amd64.whl
0d08809980ab497659e7aa0df9ce120e numpy-1.21.6-cp38-cp38-macosx_10_9_universal2.whl
3c67d14ea2009069844b27bfbf74304d numpy-1.21.6-cp38-cp38-macosx_10_9_x86_64.whl
5f0e773745cb817313232ac1bf4c7eee numpy-1.21.6-cp38-cp38-macosx_11_0_arm64.whl
fa8011e065f1964d3eb870bb3926fc99 numpy-1.21.6-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
486cf9d4daab59aad253aa5b84a5aa83 numpy-1.21.6-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
88509abab303c076dfb26f00e455180d numpy-1.21.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f7234e2ef837f5f6ddbde8db246fd05b numpy-1.21.6-cp38-cp38-win32.whl
e1063e01fb44ea7a49adea0c33548217 numpy-1.21.6-cp38-cp38-win_amd64.whl
61c4caad729e3e0e688accbc1424ed45 numpy-1.21.6-cp39-cp39-macosx_10_9_universal2.whl
67488d8ccaeff798f2e314aae7c4c3d6 numpy-1.21.6-cp39-cp39-macosx_10_9_x86_64.whl
128c3713b5d1de45a0f522562bac5263 numpy-1.21.6-cp39-cp39-macosx_11_0_arm64.whl
50e79cd0610b4ed726b3bf08c3716dab numpy-1.21.6-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
bd0c9e3c0e488faac61daf3227fb95af numpy-1.21.6-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
aa5e9baf1dec16b15e481c23f8a23214 numpy-1.21.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a2405b0e5d3f775ad30177296a997092 numpy-1.21.6-cp39-cp39-win32.whl
f0d20eda8c78f957ea70c5527954303e numpy-1.21.6-cp39-cp39-win_amd64.whl
9682abbcc38cccb7f56e48aacca7de23 numpy-1.21.6-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
6aa3c2e8ea2886bf593bd8e0a1425c64 numpy-1.21.6.tar.gz
04aea95dcb1d256d13a45df42173aa1e numpy-1.21.6.zip
SHA256
8737609c3bbdd48e380d463134a35ffad3b22dc56295eff6f79fd85bd0eeeb25 numpy-1.21.6-cp310-cp310-macosx_10_9_universal2.whl
fdffbfb6832cd0b300995a2b08b8f6fa9f6e856d562800fea9182316d99c4e8e numpy-1.21.6-cp310-cp310-macosx_10_9_x86_64.whl
3820724272f9913b597ccd13a467cc492a0da6b05df26ea09e78b171a0bb9da6 numpy-1.21.6-cp310-cp310-macosx_11_0_arm64.whl
f17e562de9edf691a42ddb1eb4a5541c20dd3f9e65b09ded2beb0799c0cf29bb numpy-1.21.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5f30427731561ce75d7048ac254dbe47a2ba576229250fb60f0fb74db96501a1 numpy-1.21.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d4bf4d43077db55589ffc9009c0ba0a94fa4908b9586d6ccce2e0b164c86303c numpy-1.21.6-cp310-cp310-win32.whl
d136337ae3cc69aa5e447e78d8e1514be8c3ec9b54264e680cf0b4bd9011574f numpy-1.21.6-cp310-cp310-win_amd64.whl
6aaf96c7f8cebc220cdfc03f1d5a31952f027dda050e5a703a0d1c396075e3e7 numpy-1.21.6-cp37-cp37m-macosx_10_9_x86_64.whl
67c261d6c0a9981820c3a149d255a76918278a6b03b6a036800359aba1256d46 numpy-1.21.6-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
a6be4cb0ef3b8c9250c19cc122267263093eee7edd4e3fa75395dfda8c17a8e2 numpy-1.21.6-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
7c4068a8c44014b2d55f3c3f574c376b2494ca9cc73d2f1bd692382b6dffe3db numpy-1.21.6-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7c7e5fa88d9ff656e067876e4736379cc962d185d5cd808014a8a928d529ef4e numpy-1.21.6-cp37-cp37m-win32.whl
bcb238c9c96c00d3085b264e5c1a1207672577b93fa666c3b14a45240b14123a numpy-1.21.6-cp37-cp37m-win_amd64.whl
82691fda7c3f77c90e62da69ae60b5ac08e87e775b09813559f8901a88266552 numpy-1.21.6-cp38-cp38-macosx_10_9_universal2.whl
643843bcc1c50526b3a71cd2ee561cf0d8773f062c8cbaf9ffac9fdf573f83ab numpy-1.21.6-cp38-cp38-macosx_10_9_x86_64.whl
357768c2e4451ac241465157a3e929b265dfac85d9214074985b1786244f2ef3 numpy-1.21.6-cp38-cp38-macosx_11_0_arm64.whl
9f411b2c3f3d76bba0865b35a425157c5dcf54937f82bbeb3d3c180789dd66a6 numpy-1.21.6-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
4aa48afdce4660b0076a00d80afa54e8a97cd49f457d68a4342d188a09451c1a numpy-1.21.6-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
d6a96eef20f639e6a97d23e57dd0c1b1069a7b4fd7027482a4c5c451cd7732f4 numpy-1.21.6-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5c3c8def4230e1b959671eb959083661b4a0d2e9af93ee339c7dada6759a9470 numpy-1.21.6-cp38-cp38-win32.whl
bf2ec4b75d0e9356edea834d1de42b31fe11f726a81dfb2c2112bc1eaa508fcf numpy-1.21.6-cp38-cp38-win_amd64.whl
4391bd07606be175aafd267ef9bea87cf1b8210c787666ce82073b05f202add1 numpy-1.21.6-cp39-cp39-macosx_10_9_universal2.whl
67f21981ba2f9d7ba9ade60c9e8cbaa8cf8e9ae51673934480e45cf55e953673 numpy-1.21.6-cp39-cp39-macosx_10_9_x86_64.whl
ee5ec40fdd06d62fe5d4084bef4fd50fd4bb6bfd2bf519365f569dc470163ab0 numpy-1.21.6-cp39-cp39-macosx_11_0_arm64.whl
1dbe1c91269f880e364526649a52eff93ac30035507ae980d2fed33aaee633ac numpy-1.21.6-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
d9caa9d5e682102453d96a0ee10c7241b72859b01a941a397fd965f23b3e016b numpy-1.21.6-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
58459d3bad03343ac4b1b42ed14d571b8743dc80ccbf27444f266729df1d6f5b numpy-1.21.6-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7f5ae4f304257569ef3b948810816bc87c9146e8c446053539947eedeaa32786 numpy-1.21.6-cp39-cp39-win32.whl
e31f0bb5928b793169b87e3d1e070f2342b22d5245c755e2b81caa29756246c3 numpy-1.21.6-cp39-cp39-win_amd64.whl
dd1c8f6bd65d07d3810b90d02eba7997e32abbdf1277a481d698969e921a3be0 numpy-1.21.6-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
d4efc6491a1cdc00f9eca9bf2c1aa13671776f6941c7321ddf75b45c862f0c2c numpy-1.21.6.tar.gz
ecb55251139706669fdec2ff073c98ef8e9a84473e51e716211b41aa0f18e656 numpy-1.21.6.zip
- Python
Published by charris about 4 years ago
numpy -
NumPy 1.22.3 Release Notes
NumPy 1.22.3 is a maintenance release that fixes bugs discovered after the 1.22.2 release. The most noticeable fixes may be those for DLPack. One that may cause some problems is disallowing strings as inputs to logical ufuncs. It is still undecided how strings should be treated in those functions and it was thought best to simply disallow them until a decision was reached. That should not cause problems with older code.
The Python versions supported for this release are 3.8-3.10. Note that the Mac wheels are now based on OS X 10.14 rather than 10.9 that was used in previous NumPy release cycles. 10.14 is the oldest release supported by Apple.
Contributors
A total of 9 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- \@GalaxySnail +
- Alexandre de Siqueira
- Bas van Beek
- Charles Harris
- Melissa Weber Mendonça
- Ross Barnowski
- Sebastian Berg
- Tirth Patel
- Matthieu Darbois
Pull requests merged
A total of 10 pull requests were merged for this release.
- #21048: MAINT: Use \"3.10\" instead of \"3.10-dev\" on travis.
- #21106: TYP,MAINT: Explicitly allow sequences of array-likes in
np.concatenate - #21137: BLD,DOC: skip broken ipython 8.1.0
- #21138: BUG, ENH: np._from_dlpack: export correct device information
- #21139: BUG: Fix numba DUFuncs added loops getting picked up
- #21140: BUG: Fix unpickling an empty ndarray with a non-zero dimension...
- #21141: BUG: use ThreadPoolExecutor instead of ThreadPool
- #21142: API: Disallow strings in logical ufuncs
- #21143: MAINT, DOC: Fix SciPy intersphinx link
- #21148: BUG,ENH: np._from_dlpack: export arrays with any strided size-1...
Checksums
MD5
14f1872bbab050b0579e5fcd8b341b81 numpy-1.22.3-cp310-cp310-macosx_10_14_x86_64.whl
c673faa3ac8745ad10ed0428a21a77aa numpy-1.22.3-cp310-cp310-macosx_11_0_arm64.whl
d925fff720561673fd7ee8ead0e94935 numpy-1.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
319f97f5ee26b9c3c06f7a2a3df412a3 numpy-1.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
866eae5dba934cad50eb38c8505c8449 numpy-1.22.3-cp310-cp310-win32.whl
e4c512437a6d4eb4a384225861067ad8 numpy-1.22.3-cp310-cp310-win_amd64.whl
a28052af37037f0d5c3b47f4a7040135 numpy-1.22.3-cp38-cp38-macosx_10_14_x86_64.whl
d22dc074bde64f6e91a2d1990345f821 numpy-1.22.3-cp38-cp38-macosx_11_0_arm64.whl
e8a01c2ca1474aff142366a0a2fe0812 numpy-1.22.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4fe6e71e7871cb31ffc4122aa5707be7 numpy-1.22.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1273fb3c77383ab28f2fb05192751340 numpy-1.22.3-cp38-cp38-win32.whl
001244a6bafa640d7509c85661a4e98e numpy-1.22.3-cp38-cp38-win_amd64.whl
b8694b880a1a68d1716f60a9c9e82b38 numpy-1.22.3-cp39-cp39-macosx_10_14_x86_64.whl
ba122eaa0988801e250f8674e3dd612e numpy-1.22.3-cp39-cp39-macosx_11_0_arm64.whl
3641825aca07cb26732425e52d034daf numpy-1.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f92412e4273c2580abcc1b75c56e9651 numpy-1.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b38604778ffd0a17931c06738c3ce9ed numpy-1.22.3-cp39-cp39-win32.whl
644e0b141fa36a1baf0338032254cc9a numpy-1.22.3-cp39-cp39-win_amd64.whl
99d2dfb943327b108b2c3b923bd42000 numpy-1.22.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3305c27e5bdf7f19247a7eee00ac053e numpy-1.22.3.tar.gz
b56530be068796a50bf5a09105c8011e numpy-1.22.3.zip
SHA256
92bfa69cfbdf7dfc3040978ad09a48091143cffb778ec3b03fa170c494118d75 numpy-1.22.3-cp310-cp310-macosx_10_14_x86_64.whl
8251ed96f38b47b4295b1ae51631de7ffa8260b5b087808ef09a39a9d66c97ab numpy-1.22.3-cp310-cp310-macosx_11_0_arm64.whl
48a3aecd3b997bf452a2dedb11f4e79bc5bfd21a1d4cc760e703c31d57c84b3e numpy-1.22.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a3bae1a2ed00e90b3ba5f7bd0a7c7999b55d609e0c54ceb2b076a25e345fa9f4 numpy-1.22.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f950f8845b480cffe522913d35567e29dd381b0dc7e4ce6a4a9f9156417d2430 numpy-1.22.3-cp310-cp310-win32.whl
08d9b008d0156c70dc392bb3ab3abb6e7a711383c3247b410b39962263576cd4 numpy-1.22.3-cp310-cp310-win_amd64.whl
201b4d0552831f7250a08d3b38de0d989d6f6e4658b709a02a73c524ccc6ffce numpy-1.22.3-cp38-cp38-macosx_10_14_x86_64.whl
f8c1f39caad2c896bc0018f699882b345b2a63708008be29b1f355ebf6f933fe numpy-1.22.3-cp38-cp38-macosx_11_0_arm64.whl
568dfd16224abddafb1cbcce2ff14f522abe037268514dd7e42c6776a1c3f8e5 numpy-1.22.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3ca688e1b9b95d80250bca34b11a05e389b1420d00e87a0d12dc45f131f704a1 numpy-1.22.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e7927a589df200c5e23c57970bafbd0cd322459aa7b1ff73b7c2e84d6e3eae62 numpy-1.22.3-cp38-cp38-win32.whl
07a8c89a04997625236c5ecb7afe35a02af3896c8aa01890a849913a2309c676 numpy-1.22.3-cp38-cp38-win_amd64.whl
2c10a93606e0b4b95c9b04b77dc349b398fdfbda382d2a39ba5a822f669a0123 numpy-1.22.3-cp39-cp39-macosx_10_14_x86_64.whl
fade0d4f4d292b6f39951b6836d7a3c7ef5b2347f3c420cd9820a1d90d794802 numpy-1.22.3-cp39-cp39-macosx_11_0_arm64.whl
5bfb1bb598e8229c2d5d48db1860bcf4311337864ea3efdbe1171fb0c5da515d numpy-1.22.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
97098b95aa4e418529099c26558eeb8486e66bd1e53a6b606d684d0c3616b168 numpy-1.22.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fdf3c08bce27132395d3c3ba1503cac12e17282358cb4bddc25cc46b0aca07aa numpy-1.22.3-cp39-cp39-win32.whl
639b54cdf6aa4f82fe37ebf70401bbb74b8508fddcf4797f9fe59615b8c5813a numpy-1.22.3-cp39-cp39-win_amd64.whl
c34ea7e9d13a70bf2ab64a2532fe149a9aced424cd05a2c4ba662fd989e3e45f numpy-1.22.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a906c0b4301a3d62ccf66d058fe779a65c1c34f6719ef2058f96e1856f48bca5 numpy-1.22.3.tar.gz
dbc7601a3b7472d559dc7b933b18b4b66f9aa7452c120e87dfb33d02008c8a18 numpy-1.22.3.zip
- Python
Published by charris about 4 years ago
numpy -
NumPy 1.22.2 Release Notes
The NumPy 1.22.2 is maintenance release that fixes bugs discovered after the 1.22.1 release. Notable fixes are:
- Several build related fixes for downstream projects and other platforms.
- Various Annotation fixes/additions.
- Numpy wheels for Windows will use the 1.41 tool chain, fixing downstream link problems for projects using NumPy provided libraries on Windows.
- Deal with CVE-2021-41495 complaint.
The Python versions supported for this release are 3.8-3.10.
Contributors
A total of 14 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Andrew J. Hesford +
- Bas van Beek
- Brénainn Woodsend +
- Charles Harris
- Hood Chatham
- Janus Heide +
- Leo Singer
- Matti Picus
- Mukulika Pahari
- Niyas Sait
- Pearu Peterson
- Ralf Gommers
- Sebastian Berg
- Serge Guelton
Pull requests merged
A total of 21 pull requests were merged for this release.
- #20842: BLD: Add NPYDISABLESVML env var to opt out of SVML
- #20843: BUG: Fix build of third party extensions with PyLIMITEDAPI
- #20844: TYP: Fix pyright being unable to infer the
realandimag... - #20845: BUG: Fix comparator function signatures
- #20906: BUG: Avoid importing
numpy.distutilson import numpy.testing - #20907: MAINT: remove outdated mingw32 fseek support
- #20908: TYP: Relax the return type of
np.vectorize - #20909: BUG: fix f2py\'s define for threading when building with Mingw
- #20910: BUG: distutils: fix building mixed C/Fortran extensions
- #20912: DOC,TST: Fix Pandas code example as per new release
- #20935: TYP, MAINT: Add annotations for
flatiter.__setitem__ - #20936: MAINT, TYP: Added missing where typehints in
fromnumeric.pyi - #20937: BUG: Fix build_ext interaction with non numpy extensions
- #20938: BUG: Fix missing intrinsics for windows/arm64 target
- #20945: REL: Prepare for the NumPy 1.22.2 release.
- #20982: MAINT: f2py: don\'t generate code that triggers
-Wsometimes-uninitialized. - #20983: BUG: Fix incorrect return type in reduce without initial value
- #20984: ENH: review return values for PyArray_DescrNew
- #20985: MAINT: be more tolerant of setuptools >= 60
- #20986: BUG: Fix misplaced return.
- #20992: MAINT: Further small return value validation fixes
Checksums
MD5
2319f8d7c629d0ba3d3d3b1d5605d494 numpy-1.22.2-cp310-cp310-macosx_10_14_x86_64.whl
023c01a6d3aa528f8e88b0837dcab7ed numpy-1.22.2-cp310-cp310-macosx_11_0_arm64.whl
84b36e8893b811d17a19404c68db7ce6 numpy-1.22.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
744da9614e8272a384b542d129cd17a9 numpy-1.22.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ee012ed5e7c98c6f48026dfa818b2274 numpy-1.22.2-cp310-cp310-win_amd64.whl
73e4fdcf398327bc4241dc38b6d10211 numpy-1.22.2-cp38-cp38-macosx_10_14_x86_64.whl
9fcbca2a614af3b9a37456643ab1c99d numpy-1.22.2-cp38-cp38-macosx_11_0_arm64.whl
b7e0d4a19867d33765c7187d1390eef4 numpy-1.22.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
dc8d79d75588737ea77fe85a4f05365a numpy-1.22.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
05906141c095148c53c043c381e6fabe numpy-1.22.2-cp38-cp38-win32.whl
05d3b6d34c0fa031e69ec0476e8d4c9c numpy-1.22.2-cp38-cp38-win_amd64.whl
1449889d856de0e88437fa76d3284e00 numpy-1.22.2-cp39-cp39-macosx_10_14_x86_64.whl
e25666ab6ec0692368f328b7b98c27a3 numpy-1.22.2-cp39-cp39-macosx_11_0_arm64.whl
59e3013894bcc6267054c746d9339cf8 numpy-1.22.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7606b9898c20d2b2aa7fc7018bc9c5cd numpy-1.22.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2686a1495c620e85842967bf8a5f1b2f numpy-1.22.2-cp39-cp39-win32.whl
54432a84807ab69ac3432e6090d5a169 numpy-1.22.2-cp39-cp39-win_amd64.whl
4dbecace42595742485b854b213341b6 numpy-1.22.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5b506b01ef454f39272ca75de1c7f61c numpy-1.22.2.tar.gz
a903008d992b77cb68129173c0f61f60 numpy-1.22.2.zip
SHA256
515a8b6edbb904594685da6e176ac9fbea8f73a5ebae947281de6613e27f1956 numpy-1.22.2-cp310-cp310-macosx_10_14_x86_64.whl
76a4f9bce0278becc2da7da3b8ef854bed41a991f4226911a24a9711baad672c numpy-1.22.2-cp310-cp310-macosx_11_0_arm64.whl
168259b1b184aa83a514f307352c25c56af111c269ffc109d9704e81f72e764b numpy-1.22.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3556c5550de40027d3121ebbb170f61bbe19eb639c7ad0c7b482cd9b560cd23b numpy-1.22.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
aafa46b5a39a27aca566198d3312fb3bde95ce9677085efd02c86f7ef6be4ec7 numpy-1.22.2-cp310-cp310-win_amd64.whl
55535c7c2f61e2b2fc817c5cbe1af7cb907c7f011e46ae0a52caa4be1f19afe2 numpy-1.22.2-cp38-cp38-macosx_10_14_x86_64.whl
60cb8e5933193a3cc2912ee29ca331e9c15b2da034f76159b7abc520b3d1233a numpy-1.22.2-cp38-cp38-macosx_11_0_arm64.whl
0b536b6840e84c1c6a410f3a5aa727821e6108f3454d81a5cd5900999ef04f89 numpy-1.22.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2638389562bda1635b564490d76713695ff497242a83d9b684d27bb4a6cc9d7a numpy-1.22.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6767ad399e9327bfdbaa40871be4254d1995f4a3ca3806127f10cec778bd9896 numpy-1.22.2-cp38-cp38-win32.whl
03ae5850619abb34a879d5f2d4bb4dcd025d6d8fb72f5e461dae84edccfe129f numpy-1.22.2-cp38-cp38-win_amd64.whl
d76a26c5118c4d96e264acc9e3242d72e1a2b92e739807b3b69d8d47684b6677 numpy-1.22.2-cp39-cp39-macosx_10_14_x86_64.whl
15efb7b93806d438e3bc590ca8ef2f953b0ce4f86f337ef4559d31ec6cf9d7dd numpy-1.22.2-cp39-cp39-macosx_11_0_arm64.whl
badca914580eb46385e7f7e4e426fea6de0a37b9e06bec252e481ae7ec287082 numpy-1.22.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
94dd11d9f13ea1be17bac39c1942f527cbf7065f94953cf62dfe805653da2f8f numpy-1.22.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8cf33634b60c9cef346663a222d9841d3bbbc0a2f00221d6bcfd0d993d5543f6 numpy-1.22.2-cp39-cp39-win32.whl
59153979d60f5bfe9e4c00e401e24dfe0469ef8da6d68247439d3278f30a180f numpy-1.22.2-cp39-cp39-win_amd64.whl
4a176959b6e7e00b5a0d6f549a479f869829bfd8150282c590deee6d099bbb6e numpy-1.22.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
093d513a460fd94f94c16193c3ef29b2d69a33e482071e3d6d6e561a700587a6 numpy-1.22.2.tar.gz
076aee5a3763d41da6bef9565fdf3cb987606f567cd8b104aded2b38b7b47abf numpy-1.22.2.zip
- Python
Published by charris over 4 years ago
numpy -
NumPy 1.22.1 Release Notes
The NumPy 1.22.1 is maintenance release that fixes bugs discovered after the 1.22.0 release. Notable fixes are:
- Fix f2PY docstring problems (SciPy)
- Fix reduction type problems (AstroPy)
- Fix various typing bugs.
The Python versions supported for this release are 3.8-3.10.
Contributors
A total of 14 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Arryan Singh
- Bas van Beek
- Charles Harris
- Denis Laxalde
- Isuru Fernando
- Kevin Sheppard
- Matthew Barber
- Matti Picus
- Melissa Weber Mendonça
- Mukulika Pahari
- Omid Rajaei +
- Pearu Peterson
- Ralf Gommers
- Sebastian Berg
Pull requests merged
A total of 20 pull requests were merged for this release.
- #20702: MAINT, DOC: Post 1.22.0 release fixes.
- #20703: DOC, BUG: Use pngs instead of svgs.
- #20704: DOC: Fixed the link on user-guide landing page
- #20714: BUG: Restore vc141 support
- #20724: BUG: Fix array dimensions solver for multidimensional arguments...
- #20725: TYP: change type annotation for
__array_namespace__to ModuleType - #20726: TYP, MAINT: Allow
ndindexto accept integer tuples - #20757: BUG: Relax dtype identity check in reductions
- #20763: TYP: Allow time manipulation functions to accept
dateandtimedelta... - #20768: TYP: Relax the type of
ndarray.__array_finalize__ - #20795: MAINT: Raise RuntimeError if setuptools version is too recent.
- #20796: BUG, DOC: Fixes SciPy docs build warnings
- #20797: DOC: fix OpenBLAS version in release note
- #20798: PERF: Optimize array check for bounded 0,1 values
- #20805: BUG: Fix that reduce-likes honor out always (and live in the...
- #20806: BUG:
array_api.argsort(descending=True)respects relative... - #20807: BUG: Allow integer inputs for pow-related functions in
array_api - #20814: DOC: Refer to NumPy, not pandas, in main page
- #20815: DOC: Update Copyright to 2022 [License]
- #20819: BUG: Return correctly shaped inverse indices in array_api set...
Checksums
MD5
8edd68c8998cb694e244ce793b2d088c numpy-1.22.1-cp310-cp310-macosx_10_9_universal2.whl
e4858aafd41cdba76cd14161bfc512c3 numpy-1.22.1-cp310-cp310-macosx_10_9_x86_64.whl
96f4fc3f321625278ca3807c7c8c789c numpy-1.22.1-cp310-cp310-macosx_11_0_arm64.whl
2ddc25b9c9d7b517610689055f9f553a numpy-1.22.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8d40c6fd64389c05646b5ef95cded6e5 numpy-1.22.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1a8359c6436d1bcfe84a094337903a48 numpy-1.22.1-cp310-cp310-win_amd64.whl
033f9aa72a732646f3fb4563226320ee numpy-1.22.1-cp38-cp38-macosx_10_9_universal2.whl
59e13abecdf4194f75b654f1d853b244 numpy-1.22.1-cp38-cp38-macosx_10_9_x86_64.whl
3ce885a0c10e95f5756d7c1878eaa246 numpy-1.22.1-cp38-cp38-macosx_11_0_arm64.whl
546b2a0866561673d5b7eadcc086af24 numpy-1.22.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
200c0a7bc3a24cfa6f4358d7274b5535 numpy-1.22.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
defe48b3b5f44c3991e830f7cde0a79c numpy-1.22.1-cp38-cp38-win32.whl
15557a847a78bcbf651ca6689ae37935 numpy-1.22.1-cp38-cp38-win_amd64.whl
067e734594c67d8141190b7eabb979ee numpy-1.22.1-cp39-cp39-macosx_10_9_universal2.whl
1458d42b26da341baaee134d85e3fd70 numpy-1.22.1-cp39-cp39-macosx_10_9_x86_64.whl
463b365c80efffd807194c78b4796235 numpy-1.22.1-cp39-cp39-macosx_11_0_arm64.whl
58d8dc02dd884898c1b7ee1bee1dd216 numpy-1.22.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
48e2d2905822f78a96d400c78bd16cbb numpy-1.22.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c5059bd82d8f2c509c889fba09251307 numpy-1.22.1-cp39-cp39-win32.whl
eb9a0655d16897f0adf6ea53b9f3bda4 numpy-1.22.1-cp39-cp39-win_amd64.whl
74cb5dba2f37dc445ffd3068eb1d58fe numpy-1.22.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
90fff1ee7c7f843fc7a234addc70c71c numpy-1.22.1.tar.gz
c25dad73053350dd0278605d8ed8a5c7 numpy-1.22.1.zip
SHA256
3d62d6b0870b53799204515145935608cdeb4cebb95a26800b6750e48884cc5b numpy-1.22.1-cp310-cp310-macosx_10_9_universal2.whl
831f2df87bd3afdfc77829bc94bd997a7c212663889d56518359c827d7113b1f numpy-1.22.1-cp310-cp310-macosx_10_9_x86_64.whl
8d1563060e77096367952fb44fca595f2b2f477156de389ce7c0ade3aef29e21 numpy-1.22.1-cp310-cp310-macosx_11_0_arm64.whl
69958735d5e01f7b38226a6c6e7187d72b7e4d42b6b496aca5860b611ca0c193 numpy-1.22.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
45a7dfbf9ed8d68fd39763940591db7637cf8817c5bce1a44f7b56c97cbe211e numpy-1.22.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7e957ca8112c689b728037cea9c9567c27cf912741fabda9efc2c7d33d29dfa1 numpy-1.22.1-cp310-cp310-win_amd64.whl
800dfeaffb2219d49377da1371d710d7952c9533b57f3d51b15e61c4269a1b5b numpy-1.22.1-cp38-cp38-macosx_10_9_universal2.whl
65f5e257987601fdfc63f1d02fca4d1c44a2b85b802f03bd6abc2b0b14648dd2 numpy-1.22.1-cp38-cp38-macosx_10_9_x86_64.whl
632e062569b0fe05654b15ef0e91a53c0a95d08ffe698b66f6ba0f927ad267c2 numpy-1.22.1-cp38-cp38-macosx_11_0_arm64.whl
0d245a2bf79188d3f361137608c3cd12ed79076badd743dc660750a9f3074f7c numpy-1.22.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
26b4018a19d2ad9606ce9089f3d52206a41b23de5dfe8dc947d2ec49ce45d015 numpy-1.22.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f8ad59e6e341f38266f1549c7c2ec70ea0e3d1effb62a44e5c3dba41c55f0187 numpy-1.22.1-cp38-cp38-win32.whl
60f19c61b589d44fbbab8ff126640ae712e163299c2dd422bfe4edc7ec51aa9b numpy-1.22.1-cp38-cp38-win_amd64.whl
2db01d9838a497ba2aa9a87515aeaf458f42351d72d4e7f3b8ddbd1eba9479f2 numpy-1.22.1-cp39-cp39-macosx_10_9_universal2.whl
bcd19dab43b852b03868796f533b5f5561e6c0e3048415e675bec8d2e9d286c1 numpy-1.22.1-cp39-cp39-macosx_10_9_x86_64.whl
78bfbdf809fc236490e7e65715bbd98377b122f329457fffde206299e163e7f3 numpy-1.22.1-cp39-cp39-macosx_11_0_arm64.whl
c51124df17f012c3b757380782ae46eee85213a3215e51477e559739f57d9bf6 numpy-1.22.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
88d54b7b516f0ca38a69590557814de2dd638d7d4ed04864826acaac5ebb8f01 numpy-1.22.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b5ec9a5eaf391761c61fd873363ef3560a3614e9b4ead17347e4deda4358bca4 numpy-1.22.1-cp39-cp39-win32.whl
4ac4d7c9f8ea2a79d721ebfcce81705fc3cd61a10b731354f1049eb8c99521e8 numpy-1.22.1-cp39-cp39-win_amd64.whl
e60ef82c358ded965fdd3132b5738eade055f48067ac8a5a8ac75acc00cad31f numpy-1.22.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
dd1968402ae20dfd59b34acd799b494be340c774f6295e9bf1c2b9842a5e416d numpy-1.22.1.tar.gz
e348ccf5bc5235fc405ab19d53bec215bb373300e5523c7b476cc0da8a5e9973 numpy-1.22.1.zip
- Python
Published by charris over 4 years ago
numpy -
NumPy 1.22.0 Release Notes
NumPy 1.22.0 is a big release featuring the work of 153 contributors spread over 609 pull requests. There have been many improvements, highlights are:
- Annotations of the main namespace are essentially complete. Upstream is a moving target, so there will likely be further improvements, but the major work is done. This is probably the most user visible enhancement in this release.
- A preliminary version of the proposed Array-API is provided. This is a step in creating a standard collection of functions that can be used across application such as CuPy and JAX.
- NumPy now has a DLPack backend. DLPack provides a common interchange format for array (tensor) data.
- New methods for
quantile,percentile, and related functions. The new methods provide a complete set of the methods commonly found in the literature. - A new configurable allocator for use by downstream projects.
These are in addition to the ongoing work to provide SIMD support for commonly used functions, improvements to F2PY, and better documentation.
The Python versions supported in this release are 3.8-3.10, Python 3.7 has been dropped. Note that 32 bit wheels are only provided for Python 3.8 and 3.9 on Windows, all other wheels are 64 bits on account of Ubuntu, Fedora, and other Linux distributions dropping 32 bit support. All 64 bit wheels are also linked with 64 bit integer OpenBLAS, which should fix the occasional problems encountered by folks using truly huge arrays.
Expired deprecations
Deprecated numeric style dtype strings have been removed
Using the strings "Bytes0", "Datetime64", "Str0", "Uint32",
and "Uint64" as a dtype will now raise a TypeError.
(gh-19539)
Expired deprecations for loads, ndfromtxt, and mafromtxt in npyio
numpy.loads was deprecated in v1.15, with the recommendation that
users use pickle.loads instead. ndfromtxt and mafromtxt were both
deprecated in v1.17 - users should use numpy.genfromtxt instead with
the appropriate value for the usemask parameter.
(gh-19615)
Deprecations
Use delimiter rather than delimitor as kwarg in mrecords
The misspelled keyword argument delimitor of
numpy.ma.mrecords.fromtextfile() has been changed to delimiter,
using it will emit a deprecation warning.
(gh-19921)
Passing boolean kth values to (arg-)partition has been deprecated
numpy.partition and numpy.argpartition would previously accept
boolean values for the kth parameter, which would subsequently be
converted into integers. This behavior has now been deprecated.
(gh-20000)
The np.MachAr class has been deprecated
The numpy.MachAr class and finfo.machar <numpy.finfo> attribute have
been deprecated. Users are encouraged to access the property if interest
directly from the corresponding numpy.finfo attribute.
(gh-20201)
Compatibility notes
Distutils forces strict floating point model on clang
NumPy now sets the -ftrapping-math option on clang to enforce correct
floating point error handling for universal functions. Clang defaults to
non-IEEE and C99 conform behaviour otherwise. This change (using the
equivalent but newer -ffp-exception-behavior=strict) was attempted in
NumPy 1.21, but was effectively never used.
(gh-19479)
Removed floor division support for complex types
Floor division of complex types will now result in a TypeError
``` {.python}
a = np.arange(10) + 1j* np.arange(10) a // 1 TypeError: ufunc 'floor_divide' not supported for the input types... ```
(gh-19135)
numpy.vectorize functions now produce the same output class as the base function
When a function that respects numpy.ndarray subclasses is vectorized
using numpy.vectorize, the vectorized function will now be
subclass-safe also for cases that a signature is given (i.e., when
creating a gufunc): the output class will be the same as that returned
by the first call to the underlying function.
(gh-19356)
Python 3.7 is no longer supported
Python support has been dropped. This is rather strict, there are changes that require Python >= 3.8.
(gh-19665)
str/repr of complex dtypes now include space after punctuation
The repr of
np.dtype({"names": ["a"], "formats": [int], "offsets": [2]}) is now
dtype({'names': ['a'], 'formats': ['<i8'], 'offsets': [2], 'itemsize': 10}),
whereas spaces where previously omitted after colons and between fields.
The old behavior can be restored via
np.set_printoptions(legacy="1.21").
(gh-19687)
Corrected advance in PCG64DSXM and PCG64
Fixed a bug in the advance method of PCG64DSXM and PCG64. The bug
only affects results when the step was larger than $2^{64}$ on platforms
that do not support 128-bit integers(e.g., Windows and 32-bit Linux).
(gh-20049)
Change in generation of random 32 bit floating point variates
There was bug in the generation of 32 bit floating point values from the uniform distribution that would result in the least significant bit of the random variate always being 0. This has been fixed.
This change affects the variates produced by the random.Generator
methods random, standard_normal, standard_exponential, and
standard_gamma, but only when the dtype is specified as
numpy.float32.
(gh-20314)
C API changes
Masked inner-loops cannot be customized anymore
The masked inner-loop selector is now never used. A warning will be given in the unlikely event that it was customized.
We do not expect that any code uses this. If you do use it, you must unset the selector on newer NumPy version. Please also contact the NumPy developers, we do anticipate providing a new, more specific, mechanism.
The customization was part of a never-implemented feature to allow for faster masked operations.
(gh-19259)
New Features
NEP 49 configurable allocators
As detailed in NEP 49, the
function used for allocation of the data segment of a ndarray can be
changed. The policy can be set globally or in a context. For more
information see the NEP and the data_memory{.interpreted-text
role="ref"} reference docs. Also add a NUMPY_WARN_IF_NO_MEM_POLICY
override to warn on dangerous use of transfering ownership by setting
NPY_ARRAY_OWNDATA.
(gh-17582)
Implementation of the NEP 47 (adopting the array API standard)
An initial implementation of NEP47, adoption
of the array API standard, has been added as numpy.array_api. The
implementation is experimental and will issue a UserWarning on import,
as the array API standard is still in
draft state. numpy.array_api is a conforming implementation of the
array API standard, which is also minimal, meaning that only those
functions and behaviors that are required by the standard are
implemented (see the NEP for more info). Libraries wishing to make use
of the array API standard are encouraged to use numpy.array_api to
check that they are only using functionality that is guaranteed to be
present in standard conforming implementations.
(gh-18585)
Generate C/C++ API reference documentation from comments blocks is now possible
This feature depends on Doxygen in the generation process and on Breathe to integrate it with Sphinx.
(gh-18884)
Assign the platform-specific c_intp precision via a mypy plugin
The mypy plugin, introduced in
numpy/numpy#17843, has
again been expanded: the plugin now is now responsible for setting the
platform-specific precision of numpy.ctypeslib.c_intp, the latter
being used as data type for various numpy.ndarray.ctypes attributes.
Without the plugin, aforementioned type will default to
ctypes.c_int64.
To enable the plugin, one must add it to their mypy configuration file:
{.ini}
[mypy]
plugins = numpy.typing.mypy_plugin
(gh-19062)
Add NEP 47-compatible dlpack support
Add a ndarray.__dlpack__() method which returns a dlpack C structure
wrapped in a PyCapsule. Also add a np._from_dlpack(obj) function,
where obj supports __dlpack__(), and returns an ndarray.
(gh-19083)
keepdims optional argument added to numpy.argmin, numpy.argmax
keepdims argument is added to numpy.argmin, numpy.argmax. If set
to True, the axes which are reduced are left in the result as
dimensions with size one. The resulting array has the same number of
dimensions and will broadcast with the input array.
(gh-19211)
bit_count to compute the number of 1-bits in an integer
Computes the number of 1-bits in the absolute value of the input. This
works on all the numpy integer types. Analogous to the builtin
int.bit_count or popcount in C++.
``` {.python}
np.uint32(1023).bitcount() 10 np.int32(-127).bitcount() 7 ```
(gh-19355)
The ndim and axis attributes have been added to numpy.AxisError
The ndim and axis parameters are now also stored as attributes
within each numpy.AxisError instance.
(gh-19459)
Preliminary support for windows/arm64 target
numpy added support for windows/arm64 target. Please note OpenBLAS
support is not yet available for windows/arm64 target.
(gh-19513)
Added support for LoongArch
LoongArch is a new instruction set, numpy compilation failure on LoongArch architecture, so add the commit.
(gh-19527)
A .clang-format file has been added
Clang-format is a C/C++ code formatter, together with the added
.clang-format file, it produces code close enough to the NumPy
C_STYLE_GUIDE for general use. Clang-format version 12+ is required
due to the use of several new features, it is available in Fedora 34 and
Ubuntu Focal among other distributions.
(gh-19754)
is_integer is now available to numpy.floating and numpy.integer
Based on its counterpart in Python float and int, the numpy floating
point and integer types now support float.is_integer. Returns True
if the number is finite with integral value, and False otherwise.
``` {.python}
np.float32(-2.0).isinteger() True np.float64(3.2).isinteger() False np.int32(-2).is_integer() True ```
(gh-19803)
Symbolic parser for Fortran dimension specifications
A new symbolic parser has been added to f2py in order to correctly parse dimension specifications. The parser is the basis for future improvements and provides compatibility with Draft Fortran 202x.
(gh-19805)
ndarray, dtype and number are now runtime-subscriptable
Mimicking PEP-585, the numpy.ndarray,
numpy.dtype and numpy.number classes are now subscriptable for
python 3.9 and later. Consequently, expressions that were previously
only allowed in .pyi stub files or with the help of
from __future__ import annotations are now also legal during runtime.
``` {.python}
import numpy as np from typing import Any
np.ndarray[Any, np.dtype[np.float64]] numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]] ```
(gh-19879)
Improvements
ctypeslib.load_library can now take any path-like object
All parameters in the can now take any
python:path-like object{.interpreted-text role="term"}. This includes
the likes of strings, bytes and objects implementing the
__fspath__<os.PathLike.__fspath__>{.interpreted-text role="meth"}
protocol.
(gh-17530)
Add smallest_normal and smallest_subnormal attributes to finfo
The attributes smallest_normal and smallest_subnormal are available
as an extension of finfo class for any floating-point data type. To
use these new attributes, write np.finfo(np.float64).smallest_normal
or np.finfo(np.float64).smallest_subnormal.
(gh-18536)
numpy.linalg.qr accepts stacked matrices as inputs
numpy.linalg.qr is able to produce results for stacked matrices as
inputs. Moreover, the implementation of QR decomposition has been
shifted to C from Python.
(gh-19151)
numpy.fromregex now accepts os.PathLike implementations
numpy.fromregex now accepts objects implementing the
__fspath__<os.PathLike> protocol, e.g. pathlib.Path.
(gh-19680)
Add new methods for quantile and percentile
quantile and percentile now have have a method= keyword argument
supporting 13 different methods. This replaces the interpolation=
keyword argument.
The methods are now aligned with nine methods which can be found in scientific literature and the R language. The remaining methods are the previous discontinuous variations of the default \"linear\" one.
Please see the documentation of numpy.percentile for more information.
(gh-19857)
Missing parameters have been added to the nan<x> functions
A number of the nan<x> functions previously lacked parameters that
were present in their <x>-based counterpart, e.g. the where
parameter was present in numpy.mean but absent from numpy.nanmean.
The following parameters have now been added to the nan<x> functions:
- nanmin:
initial&where - nanmax:
initial&where - nanargmin:
keepdims&out - nanargmax:
keepdims&out - nansum:
initial&where - nanprod:
initial&where - nanmean:
where - nanvar:
where - nanstd:
where
(gh-20027)
Annotating the main Numpy namespace
Starting from the 1.20 release, PEP 484 type annotations have been included for parts of the NumPy library; annotating the remaining functions being a work in progress. With the release of 1.22 this process has been completed for the main NumPy namespace, which is now fully annotated.
Besides the main namespace, a limited number of sub-packages contain
annotations as well. This includes, among others, numpy.testing,
numpy.linalg and numpy.random (available since 1.21).
(gh-20217)
Vectorize umath module using AVX-512
By leveraging Intel Short Vector Math Library (SVML), 18 umath functions
(exp2, log2, log10, expm1, log1p, cbrt, sin, cos, tan,
arcsin, arccos, arctan, sinh, cosh, tanh, arcsinh,
arccosh, arctanh) are vectorized using AVX-512 instruction set for
both single and double precision implementations. This change is
currently enabled only for Linux users and on processors with AVX-512
instruction set. It provides an average speed up of 32x and 14x for
single and double precision functions respectively.
(gh-19478)
OpenBLAS v0.3.18
Update the OpenBLAS used in testing and in wheels to v0.3.18
(gh-20058)
Checksums
MD5
66757b963ad5835038b9a2a9df852c84 numpy-1.22.0-cp310-cp310-macosx_10_9_universal2.whl
86b7f3a94c09dbd6869614c4d7f9ba5e numpy-1.22.0-cp310-cp310-macosx_10_9_x86_64.whl
5184db17d8e5e6ecdc53e2f0a6964c35 numpy-1.22.0-cp310-cp310-macosx_11_0_arm64.whl
6643e9a076cce736cfbe15face4db9db numpy-1.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6efef45bf63594703c094b2ad729e648 numpy-1.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7a1a21bb0958a3eb920deeef9e745935 numpy-1.22.0-cp310-cp310-win_amd64.whl
45241fb5f31ea46e2b6f1321a63c8e1c numpy-1.22.0-cp38-cp38-macosx_10_9_universal2.whl
472f24a5d35116634fcc57e9bda899bc numpy-1.22.0-cp38-cp38-macosx_10_9_x86_64.whl
6c15cf7847b20101ae281ade6121b79e numpy-1.22.0-cp38-cp38-macosx_11_0_arm64.whl
313f0fd99a899a7465511c1418e1031f numpy-1.22.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9ae6ecde0cbeadd2a9d7b8ae54285863 numpy-1.22.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0f31a7b9e128b0cdafecf98cf1301fc0 numpy-1.22.0-cp38-cp38-win32.whl
f4b45579cf532ea632b890b1df387081 numpy-1.22.0-cp38-cp38-win_amd64.whl
2cb27112b11c16f700e6019f5fd36408 numpy-1.22.0-cp39-cp39-macosx_10_9_universal2.whl
4554a5797a4cb787b5169a8f5482fb95 numpy-1.22.0-cp39-cp39-macosx_10_9_x86_64.whl
3780decd94837da6f0816f2feaace9c2 numpy-1.22.0-cp39-cp39-macosx_11_0_arm64.whl
6e519dd5205510dfebcadc6f7fdf9738 numpy-1.22.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
89d455bf290f459a70c57620f02d5b69 numpy-1.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6425f8d7dc779a54b8074e198cea43c9 numpy-1.22.0-cp39-cp39-win32.whl
1b5c670328146975b21b54fa5ef8ec4c numpy-1.22.0-cp39-cp39-win_amd64.whl
05d842127ca85cca12fed3a26b0f5177 numpy-1.22.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ab751b8d4195f91ae61a402184d16d18 numpy-1.22.0.tar.gz
252de134862a27bd66705d29622edbfe numpy-1.22.0.zip
SHA256
3d22662b4b10112c545c91a0741f2436f8ca979ab3d69d03d19322aa970f9695 numpy-1.22.0-cp310-cp310-macosx_10_9_universal2.whl
11a1f3816ea82eed4178102c56281782690ab5993251fdfd75039aad4d20385f numpy-1.22.0-cp310-cp310-macosx_10_9_x86_64.whl
5dc65644f75a4c2970f21394ad8bea1a844104f0fe01f278631be1c7eae27226 numpy-1.22.0-cp310-cp310-macosx_11_0_arm64.whl
42c16cec1c8cf2728f1d539bd55aaa9d6bb48a7de2f41eb944697293ef65a559 numpy-1.22.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a97e82c39d9856fe7d4f9b86d8a1e66eff99cf3a8b7ba48202f659703d27c46f numpy-1.22.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e41e8951749c4b5c9a2dc5fdbc1a4eec6ab2a140fdae9b460b0f557eed870f4d numpy-1.22.0-cp310-cp310-win_amd64.whl
bece0a4a49e60e472a6d1f70ac6cdea00f9ab80ff01132f96bd970cdd8a9e5a9 numpy-1.22.0-cp38-cp38-macosx_10_9_universal2.whl
818b9be7900e8dc23e013a92779135623476f44a0de58b40c32a15368c01d471 numpy-1.22.0-cp38-cp38-macosx_10_9_x86_64.whl
47ee7a839f5885bc0c63a74aabb91f6f40d7d7b639253768c4199b37aede7982 numpy-1.22.0-cp38-cp38-macosx_11_0_arm64.whl
a024181d7aef0004d76fb3bce2a4c9f2e67a609a9e2a6ff2571d30e9976aa383 numpy-1.22.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f71d57cc8645f14816ae249407d309be250ad8de93ef61d9709b45a0ddf4050c numpy-1.22.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
283d9de87c0133ef98f93dfc09fad3fb382f2a15580de75c02b5bb36a5a159a5 numpy-1.22.0-cp38-cp38-win32.whl
2762331de395739c91f1abb88041f94a080cb1143aeec791b3b223976228af3f numpy-1.22.0-cp38-cp38-win_amd64.whl
76ba7c40e80f9dc815c5e896330700fd6e20814e69da9c1267d65a4d051080f1 numpy-1.22.0-cp39-cp39-macosx_10_9_universal2.whl
0cfe07133fd00b27edee5e6385e333e9eeb010607e8a46e1cd673f05f8596595 numpy-1.22.0-cp39-cp39-macosx_10_9_x86_64.whl
6ed0d073a9c54ac40c41a9c2d53fcc3d4d4ed607670b9e7b0de1ba13b4cbfe6f numpy-1.22.0-cp39-cp39-macosx_11_0_arm64.whl
41388e32e40b41dd56eb37fcaa7488b2b47b0adf77c66154d6b89622c110dfe9 numpy-1.22.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b55b953a1bdb465f4dc181758570d321db4ac23005f90ffd2b434cc6609a63dd numpy-1.22.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5a311ee4d983c487a0ab546708edbdd759393a3dc9cd30305170149fedd23c88 numpy-1.22.0-cp39-cp39-win32.whl
a97a954a8c2f046d3817c2bce16e3c7e9a9c2afffaf0400f5c16df5172a67c9c numpy-1.22.0-cp39-cp39-win_amd64.whl
bb02929b0d6bfab4c48a79bd805bd7419114606947ec8284476167415171f55b numpy-1.22.0-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f2be14ba396780a6f662b8ba1a24466c9cf18a6a386174f614668e58387a13d7 numpy-1.22.0.tar.gz
a955e4128ac36797aaffd49ab44ec74a71c11d6938df83b1285492d277db5397 numpy-1.22.0.zip
- Python
Published by charris over 4 years ago
numpy -
NumPy 1.21.5 Release Notes
NumPy 1.21.5 is a maintenance release that fixes a few bugs discovered after the 1.21.4 release and does some maintenance to extend the 1.21.x lifetime. The Python versions supported in this release are 3.7-3.10. If you want to compile your own version using gcc-11, you will need to use gcc-11.2+ to avoid problems.
Contributors
A total of 7 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Bas van Beek
- Charles Harris
- Matti Picus
- Rohit Goswami
- Ross Barnowski
- Sayed Adel
- Sebastian Berg
Pull requests merged
A total of 11 pull requests were merged for this release.
- #20357: MAINT: Do not forward
__(deep)copy__calls of_GenericAlias... - #20462: BUG: Fix float16 einsum fastpaths using wrong tempvar
- #20463: BUG, DIST: Print os error message when the executable not exist
- #20464: BLD: Verify the ability to compile C++ sources before initiating...
- #20465: BUG: Force
npymathto respectnpy_longdouble - #20466: BUG: Fix failure to create aligned, empty structured dtype
- #20467: ENH: provide a convenience function to replace
npy_load_module - #20495: MAINT: update wheel to version that supports python3.10
- #20497: BUG: Clear errors correctly in F2PY conversions
- #20613: DEV: add a warningfilter to fix pytest workflow.
- #20618: MAINT: Help boost::python libraries at least not crash
Checksums
MD5
e00a3c2e1461dd2920ab4af6b753d3da numpy-1.21.5-cp310-cp310-macosx_10_9_universal2.whl
50e0526fa29110fb6033fa8285fba4e1 numpy-1.21.5-cp310-cp310-macosx_10_9_x86_64.whl
bdbb19e7656d66250aa67bd1c7924764 numpy-1.21.5-cp310-cp310-macosx_11_0_arm64.whl
c5c982a07797c8963b8fec44aae6db09 numpy-1.21.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8b27b622f58caeeb7f14472651d655e3 numpy-1.21.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e545f6f85f950f57606efcaeeac2e50a numpy-1.21.5-cp310-cp310-win_amd64.whl
5c36eefdcb039c0d4db8882fddbeb695 numpy-1.21.5-cp37-cp37m-macosx_10_9_x86_64.whl
b5d080e0fd8b658419b3636f1cf5dc3a numpy-1.21.5-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
ec1a9a1333a2bf61897f105ecd9f212a numpy-1.21.5-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
d5ab050300748f20cdc9c6e17ba8ffd4 numpy-1.21.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b7498a1d0ea7273ef1af56d58e02a550 numpy-1.21.5-cp37-cp37m-win32.whl
f55c7ecfd35769fb3f6a408c0c123372 numpy-1.21.5-cp37-cp37m-win_amd64.whl
843e3431ba4b56d3fc36b7c4cb6fc10c numpy-1.21.5-cp38-cp38-macosx_10_9_universal2.whl
4721e71bdc5697d310cd3a6b6cd60741 numpy-1.21.5-cp38-cp38-macosx_10_9_x86_64.whl
2169fb8ed40046e1e33d187fc85b91bb numpy-1.21.5-cp38-cp38-macosx_11_0_arm64.whl
52de43977749109509ee708a142a7d97 numpy-1.21.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
703c0f54c5ede8cc0c648ef66cafac47 numpy-1.21.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
50432f9cf1d5b2278ceb7a96890353ed numpy-1.21.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0c4c5336136e045d02c60ba8115eb6a2 numpy-1.21.5-cp38-cp38-win32.whl
c2e0744164f8255be70725ef42bc3f5b numpy-1.21.5-cp38-cp38-win_amd64.whl
b16dd7103117d051cb6c3b6c4434f7d2 numpy-1.21.5-cp39-cp39-macosx_10_9_universal2.whl
220dd07273aeb0b2ca8f0e4f543e43c3 numpy-1.21.5-cp39-cp39-macosx_10_9_x86_64.whl
1dd09ad75eff93b274f650871e0b9287 numpy-1.21.5-cp39-cp39-macosx_11_0_arm64.whl
6801263f51d3b13420b59ff84c716869 numpy-1.21.5-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
035bde3955ae2f62ada65084d71a7421 numpy-1.21.5-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
09f202576cbd0ed6121cff10cdea831a numpy-1.21.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c6a44c90c2d5124fea6cedbbf575e252 numpy-1.21.5-cp39-cp39-win32.whl
bbc11e31406a9fc48c18a41259bc8866 numpy-1.21.5-cp39-cp39-win_amd64.whl
5be2b6f6cf6fb3a3d98231e891260624 numpy-1.21.5-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
8bc9ff24bac9bf4268372cefea8f0b6b numpy-1.21.5.tar.gz
88b5438ded7992fa2e6a810d43cd32a1 numpy-1.21.5.zip
SHA256
301e408a052fdcda5cdcf03021ebafc3c6ea093021bf9d1aa47c54d48bdad166 numpy-1.21.5-cp310-cp310-macosx_10_9_universal2.whl
a7e8f6216f180f3fd4efb73de5d1eaefb5f5a1ee5b645c67333033e39440e63a numpy-1.21.5-cp310-cp310-macosx_10_9_x86_64.whl
fc7a7d7b0ed72589fd8b8486b9b42a564f10b8762be8bd4d9df94b807af4a089 numpy-1.21.5-cp310-cp310-macosx_11_0_arm64.whl
58ca1d7c8aef6e996112d0ce873ac9dfa1eaf4a1196b4ff7ff73880a09923ba7 numpy-1.21.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
dc4b2fb01f1b4ddbe2453468ea0719f4dbb1f5caa712c8b21bb3dd1480cd30d9 numpy-1.21.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cc1b30205d138d1005adb52087ff45708febbef0e420386f58664f984ef56954 numpy-1.21.5-cp310-cp310-win_amd64.whl
08de8472d9f7571f9d51b27b75e827f5296295fa78817032e84464be8bb905bc numpy-1.21.5-cp37-cp37m-macosx_10_9_x86_64.whl
4fe6a006557b87b352c04596a6e3f12a57d6e5f401d804947bd3188e6b0e0e76 numpy-1.21.5-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
3d893b0871322eaa2f8c7072cdb552d8e2b27645b7875a70833c31e9274d4611 numpy-1.21.5-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
341dddcfe3b7b6427a28a27baa59af5ad51baa59bfec3264f1ab287aa3b30b13 numpy-1.21.5-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ca9c23848292c6fe0a19d212790e62f398fd9609aaa838859be8459bfbe558aa numpy-1.21.5-cp37-cp37m-win32.whl
025b497014bc33fc23897859350f284323f32a2fff7654697f5a5fc2a19e9939 numpy-1.21.5-cp37-cp37m-win_amd64.whl
3a5098df115340fb17fc93867317a947e1dcd978c3888c5ddb118366095851f8 numpy-1.21.5-cp38-cp38-macosx_10_9_universal2.whl
311283acf880cfcc20369201bd75da907909afc4666966c7895cbed6f9d2c640 numpy-1.21.5-cp38-cp38-macosx_10_9_x86_64.whl
b545ebadaa2b878c8630e5bcdb97fc4096e779f335fc0f943547c1c91540c815 numpy-1.21.5-cp38-cp38-macosx_11_0_arm64.whl
c5562bcc1a9b61960fc8950ade44d00e3de28f891af0acc96307c73613d18f6e numpy-1.21.5-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
eed2afaa97ec33b4411995be12f8bdb95c87984eaa28d76cf628970c8a2d689a numpy-1.21.5-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
61bada43d494515d5b122f4532af226fdb5ee08fe5b5918b111279843dc6836a numpy-1.21.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7b9d6b14fc9a4864b08d1ba57d732b248f0e482c7b2ff55c313137e3ed4d8449 numpy-1.21.5-cp38-cp38-win32.whl
dbce7adeb66b895c6aaa1fad796aaefc299ced597f6fbd9ceddb0dd735245354 numpy-1.21.5-cp38-cp38-win_amd64.whl
507c05c7a37b3683eb08a3ff993bd1ee1e6c752f77c2f275260533b265ecdb6c numpy-1.21.5-cp39-cp39-macosx_10_9_universal2.whl
00c9fa73a6989895b8815d98300a20ac993c49ac36c8277e8ffeaa3631c0dbbb numpy-1.21.5-cp39-cp39-macosx_10_9_x86_64.whl
69a5a8d71c308d7ef33ef72371c2388a90e3495dbb7993430e674006f94797d5 numpy-1.21.5-cp39-cp39-macosx_11_0_arm64.whl
2d8adfca843bc46ac199a4645233f13abf2011a0b2f4affc5c37cd552626f27b numpy-1.21.5-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
c293d3c0321996cd8ffe84215ffe5d269fd9d1d12c6f4ffe2b597a7c30d3e593 numpy-1.21.5-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
3c978544be9e04ed12016dd295a74283773149b48f507d69b36f91aa90a643e5 numpy-1.21.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2a9add27d7fc0fdb572abc3b2486eb3b1395da71e0254c5552b2aad2a18b5441 numpy-1.21.5-cp39-cp39-win32.whl
1964db2d4a00348b7a60ee9d013c8cb0c566644a589eaa80995126eac3b99ced numpy-1.21.5-cp39-cp39-win_amd64.whl
a7c4b701ca418cd39e28ec3b496e6388fe06de83f5f0cb74794fa31cfa384c02 numpy-1.21.5-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
1a7ee0ffb35dc7489aebe5185a483f4c43b0d2cf784c3c9940f975a7dde56506 numpy-1.21.5.tar.gz
6a5928bc6241264dce5ed509e66f33676fc97f464e7a919edc672fb5532221ee numpy-1.21.5.zip
- Python
Published by charris over 4 years ago
numpy -
NumPy 1.22.0 Release Notes
NumPy 1.22.0 is a big release featuring the work of 152 contributers spread over 602 pull requests. There have been many improvements, highlights are:
- Annotations of the main namespace are essentially complete. Upstream is a moving target, so there will likely be further improvements, but the major work is done. This is probably the most user visible enhancement in this release.
- A preliminary version of the proposed Array-API is provided. This is a step in creating a standard collection of functions that can be used across application such as CuPy and JAX.
- NumPy now has a DLPack backend. DLPack provides a common interchange format for array (tensor) data.
- New methods for
quantile,percentile, and related functions. The new methods provide a complete set of the methods commonly found in the literature. - A new configurable allocator for use by downstream projects.
These are in addition to the ongoing work to provide SIMD support for commonly used functions, improvements to F2PY, and better documentation.
The Python versions supported in this release are 3.8-3.10, Python 3.7 has been dropped. Note that 32 bit wheels are only provided for Python 3.8 and 3.9 on Windows, all other wheels are 64 bits on account of Ubuntu, Fedora, and other Linux distributions dropping 32 bit support. All 64 bit wheels are also linked with 64 bit integer OpenBLAS, which should fix the occasional problems encountered by folks using truly huge arrays.
Expired deprecations
Deprecated numeric style dtype strings have been removed
Using the strings "Bytes0", "Datetime64", "Str0", "Uint32",
and "Uint64" as a dtype will now raise a TypeError.
(gh-19539)
Expired deprecations for loads, ndfromtxt, and mafromtxt in npyio
numpy.loads was deprecated in v1.15, with the recommendation that
users use pickle.loads instead. ndfromtxt and mafromtxt were both
deprecated in v1.17 - users should use numpy.genfromtxt instead with
the appropriate value for the usemask parameter.
(gh-19615)
Deprecations
Use delimiter rather than delimitor as kwarg in mrecords
The misspelled keyword argument delimitor of
numpy.ma.mrecords.fromtextfile() has been changed to delimiter,
using it will emit a deprecation warning.
(gh-19921)
Passing boolean kth values to (arg-)partition has been deprecated
numpy.partition and numpy.argpartition would previously accept
boolean values for the kth parameter, which would subsequently be
converted into integers. This behavior has now been deprecated.
(gh-20000)
The np.MachAr class has been deprecated
The numpy.MachAr class and finfo.machar <numpy.finfo> attribute have
been deprecated. Users are encouraged to access the property if interest
directly from the corresponding numpy.finfo attribute.
(gh-20201)
Compatibility notes
Distutils forces strict floating point model on clang
NumPy now sets the -ftrapping-math option on clang to enforce correct
floating point error handling for universal functions. Clang defaults to
non-IEEE and C99 conform behaviour otherwise. This change (using the
equivalent but newer -ffp-exception-behavior=strict) was attempted in
NumPy 1.21, but was effectively never used.
(gh-19479)
Removed floor division support for complex types
Floor division of complex types will now result in a TypeError
``` {.python}
a = np.arange(10) + 1j* np.arange(10) a // 1 TypeError: ufunc 'floor_divide' not supported for the input types... ```
(gh-19135)
numpy.vectorize functions now produce the same output class as the base function
When a function that respects numpy.ndarray subclasses is vectorized
using numpy.vectorize, the vectorized function will now be
subclass-safe also for cases that a signature is given (i.e., when
creating a gufunc): the output class will be the same as that returned
by the first call to the underlying function.
(gh-19356)
Python 3.7 is no longer supported
Python support has been dropped. This is rather strict, there are changes that require Python >= 3.8.
(gh-19665)
str/repr of complex dtypes now include space after punctuation
The repr of
np.dtype({"names": ["a"], "formats": [int], "offsets": [2]}) is now
dtype({'names': ['a'], 'formats': ['<i8'], 'offsets': [2], 'itemsize': 10}),
whereas spaces where previously omitted after colons and between fields.
The old behavior can be restored via
np.set_printoptions(legacy="1.21").
(gh-19687)
Corrected advance in PCG64DSXM and PCG64
Fixed a bug in the advance method of PCG64DSXM and PCG64. The bug
only affects results when the step was larger than $2^{64}$ on platforms
that do not support 128-bit integers(e.g., Windows and 32-bit Linux).
(gh-20049)
Change in generation of random 32 bit floating point variates
There was bug in the generation of 32 bit floating point values from the uniform distribution that would result in the least significant bit of the random variate always being 0. This has been fixed.
This change affects the variates produced by the random.Generator
methods random, standard_normal, standard_exponential, and
standard_gamma, but only when the dtype is specified as
numpy.float32.
(gh-20314)
C API changes
Masked inner-loops cannot be customized anymore
The masked inner-loop selector is now never used. A warning will be given in the unlikely event that it was customized.
We do not expect that any code uses this. If you do use it, you must unset the selector on newer NumPy version. Please also contact the NumPy developers, we do anticipate providing a new, more specific, mechanism.
The customization was part of a never-implemented feature to allow for faster masked operations.
(gh-19259)
New Features
NEP 49 configurable allocators
As detailed in NEP 49, the
function used for allocation of the data segment of a ndarray can be
changed. The policy can be set globally or in a context. For more
information see the NEP and the data_memory{.interpreted-text
role="ref"} reference docs. Also add a NUMPY_WARN_IF_NO_MEM_POLICY
override to warn on dangerous use of transfering ownership by setting
NPY_ARRAY_OWNDATA.
(gh-17582)
Implementation of the NEP 47 (adopting the array API standard)
An initial implementation of NEP47, adoption
of the array API standard, has been added as numpy.array_api. The
implementation is experimental and will issue a UserWarning on import,
as the array API standard is still in
draft state. numpy.array_api is a conforming implementation of the
array API standard, which is also minimal, meaning that only those
functions and behaviors that are required by the standard are
implemented (see the NEP for more info). Libraries wishing to make use
of the array API standard are encouraged to use numpy.array_api to
check that they are only using functionality that is guaranteed to be
present in standard conforming implementations.
(gh-18585)
Generate C/C++ API reference documentation from comments blocks is now possible
This feature depends on Doxygen in the generation process and on Breathe to integrate it with Sphinx.
(gh-18884)
Assign the platform-specific c_intp precision via a mypy plugin
The mypy plugin, introduced in
numpy/numpy#17843, has
again been expanded: the plugin now is now responsible for setting the
platform-specific precision of numpy.ctypeslib.c_intp, the latter
being used as data type for various numpy.ndarray.ctypes attributes.
Without the plugin, aforementioned type will default to
ctypes.c_int64.
To enable the plugin, one must add it to their mypy configuration file:
{.ini}
[mypy]
plugins = numpy.typing.mypy_plugin
(gh-19062)
Add NEP 47-compatible dlpack support
Add a ndarray.__dlpack__() method which returns a dlpack C structure
wrapped in a PyCapsule. Also add a np._from_dlpack(obj) function,
where obj supports __dlpack__(), and returns an ndarray.
(gh-19083)
keepdims optional argument added to numpy.argmin, numpy.argmax
keepdims argument is added to numpy.argmin, numpy.argmax. If set
to True, the axes which are reduced are left in the result as
dimensions with size one. The resulting array has the same number of
dimensions and will broadcast with the input array.
(gh-19211)
bit_count to compute the number of 1-bits in an integer
Computes the number of 1-bits in the absolute value of the input. This
works on all the numpy integer types. Analogous to the builtin
int.bit_count or popcount in C++.
``` {.python}
np.uint32(1023).bitcount() 10 np.int32(-127).bitcount() 7 ```
(gh-19355)
The ndim and axis attributes have been added to numpy.AxisError
The ndim and axis parameters are now also stored as attributes
within each numpy.AxisError instance.
(gh-19459)
Preliminary support for windows/arm64 target
numpy added support for windows/arm64 target. Please note OpenBLAS
support is not yet available for windows/arm64 target.
(gh-19513)
Added support for LoongArch
LoongArch is a new instruction set, numpy compilation failure on LoongArch architecture, so add the commit.
(gh-19527)
A .clang-format file has been added
Clang-format is a C/C++ code formatter, together with the added
.clang-format file, it produces code close enough to the NumPy
C_STYLE_GUIDE for general use. Clang-format version 12+ is required
due to the use of several new features, it is available in Fedora 34 and
Ubuntu Focal among other distributions.
(gh-19754)
is_integer is now available to numpy.floating and numpy.integer
Based on its counterpart in Python float and int, the numpy floating
point and integer types now support float.is_integer. Returns True
if the number is finite with integral value, and False otherwise.
``` {.python}
np.float32(-2.0).isinteger() True np.float64(3.2).isinteger() False np.int32(-2).is_integer() True ```
(gh-19803)
Symbolic parser for Fortran dimension specifications
A new symbolic parser has been added to f2py in order to correctly parse dimension specifications. The parser is the basis for future improvements and provides compatibility with Draft Fortran 202x.
(gh-19805)
ndarray, dtype and number are now runtime-subscriptable
Mimicking PEP-585, the numpy.ndarray,
numpy.dtype and numpy.number classes are now subscriptable for
python 3.9 and later. Consequently, expressions that were previously
only allowed in .pyi stub files or with the help of
from __future__ import annotations are now also legal during runtime.
``` {.python}
import numpy as np from typing import Any
np.ndarray[Any, np.dtype[np.float64]] numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]] ```
(gh-19879)
Improvements
ctypeslib.load_library can now take any path-like object
All parameters in the can now take any
python:path-like object{.interpreted-text role="term"}. This includes
the likes of strings, bytes and objects implementing the
__fspath__<os.PathLike.__fspath__>{.interpreted-text role="meth"}
protocol.
(gh-17530)
Add smallest_normal and smallest_subnormal attributes to finfo
The attributes smallest_normal and smallest_subnormal are available
as an extension of finfo class for any floating-point data type. To
use these new attributes, write np.finfo(np.float64).smallest_normal
or np.finfo(np.float64).smallest_subnormal.
(gh-18536)
numpy.linalg.qr accepts stacked matrices as inputs
numpy.linalg.qr is able to produce results for stacked matrices as
inputs. Moreover, the implementation of QR decomposition has been
shifted to C from Python.
(gh-19151)
numpy.fromregex now accepts os.PathLike implementations
numpy.fromregex now accepts objects implementing the
__fspath__<os.PathLike> protocol, e.g. pathlib.Path.
(gh-19680)
Add new methods for quantile and percentile
quantile and percentile now have have a method= keyword argument
supporting 13 different methods. This replaces the interpolation=
keyword argument.
The methods are now aligned with nine methods which can be found in scientific literature and the R language. The remaining methods are the previous discontinuous variations of the default \"linear\" one.
Please see the documentation of numpy.percentile for more information.
(gh-19857)
Missing parameters have been added to the nan<x> functions
A number of the nan<x> functions previously lacked parameters that
were present in their <x>-based counterpart, e.g. the where
parameter was present in numpy.mean but absent from numpy.nanmean.
The following parameters have now been added to the nan<x> functions:
- nanmin:
initial&where - nanmax:
initial&where - nanargmin:
keepdims&out - nanargmax:
keepdims&out - nansum:
initial&where - nanprod:
initial&where - nanmean:
where - nanvar:
where - nanstd:
where
(gh-20027)
Annotating the main Numpy namespace
Starting from the 1.20 release, PEP 484 type annotations have been included for parts of the NumPy library; annotating the remaining functions being a work in progress. With the release of 1.22 this process has been completed for the main NumPy namespace, which is now fully annotated.
Besides the main namespace, a limited number of sub-packages contain
annotations as well. This includes, among others, numpy.testing,
numpy.linalg and numpy.random (available since 1.21).
(gh-20217)
Vectorize umath module using AVX-512
By leveraging Intel Short Vector Math Library (SVML), 18 umath functions
(exp2, log2, log10, expm1, log1p, cbrt, sin, cos, tan,
arcsin, arccos, arctan, sinh, cosh, tanh, arcsinh,
arccosh, arctanh) are vectorized using AVX-512 instruction set for
both single and double precision implementations. This change is
currently enabled only for Linux users and on processors with AVX-512
instruction set. It provides an average speed up of 32x and 14x for
single and double precision functions respectively.
(gh-19478)
OpenBLAS v0.3.17
Update the OpenBLAS used in testing and in wheels to v0.3.17
(gh-19462)
Checksums
MD5
b23c1c11503d1e1c29ac58c3febfbe1a numpy-1.22.0rc3-cp310-cp310-macosx_10_9_universal2.whl
fdf997a0a53a1dcd33bb239132fa690f numpy-1.22.0rc3-cp310-cp310-macosx_10_9_x86_64.whl
c7e7d35bb1bdf67b83e1cb0da8a761b6 numpy-1.22.0rc3-cp310-cp310-macosx_11_0_arm64.whl
148a33cfb225369800f3a9b3e3c9bb7d numpy-1.22.0rc3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
021009e2e46a0d76d3dd876a23a48a2e numpy-1.22.0rc3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ff4080c69d1784e77d8dd0a8f81d85b8 numpy-1.22.0rc3-cp310-cp310-win_amd64.whl
11e8f56c37ce7e5584a4e63f866acbf9 numpy-1.22.0rc3-cp38-cp38-macosx_10_9_universal2.whl
cb378d8f6de2517f3eaa82893e8c6ad6 numpy-1.22.0rc3-cp38-cp38-macosx_10_9_x86_64.whl
e2e8c26bea00f2519cc5060d5480c746 numpy-1.22.0rc3-cp38-cp38-macosx_11_0_arm64.whl
7da9371b5f6f1a615610dc6625f4d783 numpy-1.22.0rc3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e4757f030cd9ac121c5fff3ceb783975 numpy-1.22.0rc3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
08cd8858c64a7e2e4e4c19edc55f283e numpy-1.22.0rc3-cp38-cp38-win32.whl
da71dfd7685f4056a892e5af7f01d516 numpy-1.22.0rc3-cp38-cp38-win_amd64.whl
029a566a13e7358465bd6b8b884b16f3 numpy-1.22.0rc3-cp39-cp39-macosx_10_9_universal2.whl
ce5c8ad1b490f2f834739b74502e9aed numpy-1.22.0rc3-cp39-cp39-macosx_10_9_x86_64.whl
a7c6dae3cce7d3885b8600cd102adf74 numpy-1.22.0rc3-cp39-cp39-macosx_11_0_arm64.whl
e97a1ecbb39cfd7b80f78c73f4ecba51 numpy-1.22.0rc3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ff32a6642b8c033b51da5421b626645c numpy-1.22.0rc3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4e8c44f9c72d9c72a5610cb142e9ee52 numpy-1.22.0rc3-cp39-cp39-win32.whl
5c264fca3e74568f0a54169fc55d506f numpy-1.22.0rc3-cp39-cp39-win_amd64.whl
1aef1271d98ac4f7b9005a2baacc837e numpy-1.22.0rc3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
19ed28cde2192447ac3ba2971a7d2660 numpy-1.22.0rc3.tar.gz
cfc937c6311761b0699e6d0405433deb numpy-1.22.0rc3.zip
SHA256
4315a66e64fe1adc7f7fa51116c87cdf5a78f2f8265c6d0ee27bfcbe845b3ddf numpy-1.22.0rc3-cp310-cp310-macosx_10_9_universal2.whl
af16e2163c1edfaa82ec43a220acc31ad0ff51619efcb41d79440dfc130e9562 numpy-1.22.0rc3-cp310-cp310-macosx_10_9_x86_64.whl
ced56665c49691ad8a31d553e42248566678f188e7c1813cadc947bfb91f3abd numpy-1.22.0rc3-cp310-cp310-macosx_11_0_arm64.whl
f13703ad4849ef62d3dadc1af1e00ce2762458b4466d4f3e339d84e6b450af33 numpy-1.22.0rc3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6ebe0f0f40aa86c5cbe41e017e2028ba318e0743d93674a19f06a2401e602bd7 numpy-1.22.0rc3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
11fb5ee7b8a2a01bccdfb715889cb1a8490bfceeba1ab1ca9d01c92329ca5a4b numpy-1.22.0rc3-cp310-cp310-win_amd64.whl
301df2531616ff7dac8224c104b38d301adabb96c12650dae06d2036da53c385 numpy-1.22.0rc3-cp38-cp38-macosx_10_9_universal2.whl
3d0b6fb9796ba83500990dc18d8dbeaca49559c7f7f47da723fee902a99ee4bb numpy-1.22.0rc3-cp38-cp38-macosx_10_9_x86_64.whl
5b46584808f06d90df177520136cfeb5f2151b0e6a762e94c05a36f82140ff7b numpy-1.22.0rc3-cp38-cp38-macosx_11_0_arm64.whl
20016b0ed895bb80f37caadd224b01b6cc52520766ba67d8f5536ac16ef08002 numpy-1.22.0rc3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2313aa9b9684b36b0bf07e44432d025e0803518286a1ecae5f0ea947b46008df numpy-1.22.0rc3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
af718720cb23c795a1470fde1a860c7fbbcd1387e1f3755cf734417f96124766 numpy-1.22.0rc3-cp38-cp38-win32.whl
26271b883db7ff9e375df36ad92fc9921fc336480d0aabe4483503640c9b5dd3 numpy-1.22.0rc3-cp38-cp38-win_amd64.whl
e55a7a201e1972e2686ffee1dba1ddf5e041989018a707540ba10be8367331b1 numpy-1.22.0rc3-cp39-cp39-macosx_10_9_universal2.whl
b445551ff10fe31adb76df0e6d0210e02c586686297faddcf453dd51ce2b2ea0 numpy-1.22.0rc3-cp39-cp39-macosx_10_9_x86_64.whl
a0964771a7660fd3d2420d6be0a08144f49f14d684bbe85f67467ad81bd73180 numpy-1.22.0rc3-cp39-cp39-macosx_11_0_arm64.whl
6eaa053519d1ed5922621ecb04d33d64769508060860eb0b8a07502d55554a2c numpy-1.22.0rc3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
222ce51bf9d4c77f2222049d75ea908f1862302cab7d5ccdb88773b9514e10af numpy-1.22.0rc3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
07805b77c2b4582bc6888795c0463bf3d4bd758dee922fcd685413eb3274295f numpy-1.22.0rc3-cp39-cp39-win32.whl
b63c2976f10a94af28c2860a74d7cf07ed9489ebfd36fbadb9816d3bf6ba8efb numpy-1.22.0rc3-cp39-cp39-win_amd64.whl
c3a8d12b5bf04ce3495ad2b4d706a3058415185c16d3e8d094264a9de62d52e2 numpy-1.22.0rc3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2a61da0dc062655097cefa5ae47712317b677f22bf3f20cf397c52fae57dea8a numpy-1.22.0rc3.tar.gz
0b5642efe2a36f2191102b44bb95ee1479f14c1adb2d7155303e50b2517e43bc numpy-1.22.0rc3.zip
- Python
Published by charris over 4 years ago
numpy -
NumPy 1.22.0 Release Notes
NumPy 1.22.0 is a big release featuring the work of 151 contributers spread over 589 pull requests. There have been many improvements, highlights are:
- Annotations of the main namespace are essentially complete. Upstream is a moving target, so there will likely be further improvements, but the major work is done. This is probably the most user visible enhancement in this release.
- A preliminary version of the proposed Array-API is provided. This is a step in creating a standard collection of functions that can be used across application such as CuPy and JAX.
- NumPy now has a DLPack backend. DLPack provides a common interchange format for array (tensor) data.
- New methods for
quantile,percentile, and related functions. The new methods provide a complete set of the methods commonly found in the literature. - A new configurable allocator for use by downstream projects.
These are in addition to the ongoing work to provide SIMD support for commonly used functions, improvements to F2PY, and better documentation.
The Python versions supported in this release are 3.8-3.10, Python 3.7 has been dropped. Note that 32 bit wheels are only provided for Python 3.8 and 3.9 on Windows, all other wheels are 64 bits on account of Ubuntu, Fedora, and other Linux distributions dropping 32 bit support. All 64 bit wheels are also linked with 64 bit integer OpenBLAS, which should fix the occasional problems encountered by folks using truly huge arrays.
Expired deprecations
Deprecated numeric style dtype strings have been removed
Using the strings "Bytes0", "Datetime64", "Str0", "Uint32",
and "Uint64" as a dtype will now raise a TypeError.
(gh-19539)
Expired deprecations for loads, ndfromtxt, and mafromtxt in npyio
numpy.loads was deprecated in v1.15, with the recommendation that
users use pickle.loads instead. ndfromtxt and mafromtxt were both
deprecated in v1.17 - users should use numpy.genfromtxt instead with
the appropriate value for the usemask parameter.
(gh-19615)
Deprecations
Use delimiter rather than delimitor as kwarg in mrecords
The misspelled keyword argument delimitor of
numpy.ma.mrecords.fromtextfile() has been changed to delimiter,
using it will emit a deprecation warning.
(gh-19921)
Passing boolean kth values to (arg-)partition has been deprecated
numpy.partition and numpy.argpartition would previously accept
boolean values for the kth parameter, which would subsequently be
converted into integers. This behavior has now been deprecated.
(gh-20000)
The np.MachAr class has been deprecated
The numpy.MachAr class and finfo.machar <numpy.finfo> attribute have
been deprecated. Users are encouraged to access the property if interest
directly from the corresponding numpy.finfo attribute.
(gh-20201)
Compatibility notes
Distutils forces strict floating point model on clang
NumPy now sets the -ftrapping-math option on clang to enforce correct
floating point error handling for universal functions. Clang defaults to
non-IEEE and C99 conform behaviour otherwise. This change (using the
equivalent but newer -ffp-exception-behavior=strict) was attempted in
NumPy 1.21, but was effectively never used.
(gh-19479)
Removed floor division support for complex types
Floor division of complex types will now result in a TypeError
``` {.python}
a = np.arange(10) + 1j* np.arange(10) a // 1 TypeError: ufunc 'floor_divide' not supported for the input types... ```
(gh-19135)
numpy.vectorize functions now produce the same output class as the base function
When a function that respects numpy.ndarray subclasses is vectorized
using numpy.vectorize, the vectorized function will now be
subclass-safe also for cases that a signature is given (i.e., when
creating a gufunc): the output class will be the same as that returned
by the first call to the underlying function.
(gh-19356)
Python 3.7 is no longer supported
Python support has been dropped. This is rather strict, there are changes that require Python >= 3.8.
(gh-19665)
str/repr of complex dtypes now include space after punctuation
The repr of
np.dtype({"names": ["a"], "formats": [int], "offsets": [2]}) is now
dtype({'names': ['a'], 'formats': ['<i8'], 'offsets': [2], 'itemsize': 10}),
whereas spaces where previously omitted after colons and between fields.
The old behavior can be restored via
np.set_printoptions(legacy="1.21").
(gh-19687)
Corrected advance in PCG64DSXM and PCG64
Fixed a bug in the advance method of PCG64DSXM and PCG64. The bug
only affects results when the step was larger than $2^{64}$ on platforms
that do not support 128-bit integers(e.g., Windows and 32-bit Linux).
(gh-20049)
Change in generation of random 32 bit floating point variates
There was bug in the generation of 32 bit floating point values from the uniform distribution that would result in the least significant bit of the random variate always being 0. This has been fixed.
This change affects the variates produced by the random.Generator
methods random, standard_normal, standard_exponential, and
standard_gamma, but only when the dtype is specified as
numpy.float32.
(gh-20314)
C API changes
Masked inner-loops cannot be customized anymore
The masked inner-loop selector is now never used. A warning will be given in the unlikely event that it was customized.
We do not expect that any code uses this. If you do use it, you must unset the selector on newer NumPy version. Please also contact the NumPy developers, we do anticipate providing a new, more specific, mechanism.
The customization was part of a never-implemented feature to allow for faster masked operations.
(gh-19259)
New Features
NEP 49 configurable allocators
As detailed in NEP 49, the
function used for allocation of the data segment of a ndarray can be
changed. The policy can be set globally or in a context. For more
information see the NEP and the data_memory{.interpreted-text
role="ref"} reference docs. Also add a NUMPY_WARN_IF_NO_MEM_POLICY
override to warn on dangerous use of transfering ownership by setting
NPY_ARRAY_OWNDATA.
(gh-17582)
Implementation of the NEP 47 (adopting the array API standard)
An initial implementation of NEP47, adoption
of the array API standard, has been added as numpy.array_api. The
implementation is experimental and will issue a UserWarning on import,
as the array API standard is still in
draft state. numpy.array_api is a conforming implementation of the
array API standard, which is also minimal, meaning that only those
functions and behaviors that are required by the standard are
implemented (see the NEP for more info). Libraries wishing to make use
of the array API standard are encouraged to use numpy.array_api to
check that they are only using functionality that is guaranteed to be
present in standard conforming implementations.
(gh-18585)
Generate C/C++ API reference documentation from comments blocks is now possible
This feature depends on Doxygen in the generation process and on Breathe to integrate it with Sphinx.
(gh-18884)
Assign the platform-specific c_intp precision via a mypy plugin
The mypy plugin, introduced in
numpy/numpy#17843, has
again been expanded: the plugin now is now responsible for setting the
platform-specific precision of numpy.ctypeslib.c_intp, the latter
being used as data type for various numpy.ndarray.ctypes attributes.
Without the plugin, aforementioned type will default to
ctypes.c_int64.
To enable the plugin, one must add it to their mypy configuration file:
{.ini}
[mypy]
plugins = numpy.typing.mypy_plugin
(gh-19062)
Add NEP 47-compatible dlpack support
Add a ndarray.__dlpack__() method which returns a dlpack C structure
wrapped in a PyCapsule. Also add a np._from_dlpack(obj) function,
where obj supports __dlpack__(), and returns an ndarray.
(gh-19083)
keepdims optional argument added to numpy.argmin, numpy.argmax
keepdims argument is added to numpy.argmin, numpy.argmax. If set
to True, the axes which are reduced are left in the result as
dimensions with size one. The resulting array has the same number of
dimensions and will broadcast with the input array.
(gh-19211)
bit_count to compute the number of 1-bits in an integer
Computes the number of 1-bits in the absolute value of the input. This
works on all the numpy integer types. Analogous to the builtin
int.bit_count or popcount in C++.
``` {.python}
np.uint32(1023).bitcount() 10 np.int32(-127).bitcount() 7 ```
(gh-19355)
The ndim and axis attributes have been added to numpy.AxisError
The ndim and axis parameters are now also stored as attributes
within each numpy.AxisError instance.
(gh-19459)
Preliminary support for windows/arm64 target
numpy added support for windows/arm64 target. Please note OpenBLAS
support is not yet available for windows/arm64 target.
(gh-19513)
Added support for LoongArch
LoongArch is a new instruction set, numpy compilation failure on LoongArch architecture, so add the commit.
(gh-19527)
A .clang-format file has been added
Clang-format is a C/C++ code formatter, together with the added
.clang-format file, it produces code close enough to the NumPy
C_STYLE_GUIDE for general use. Clang-format version 12+ is required
due to the use of several new features, it is available in Fedora 34 and
Ubuntu Focal among other distributions.
(gh-19754)
is_integer is now available to numpy.floating and numpy.integer
Based on its counterpart in Python float and int, the numpy floating
point and integer types now support float.is_integer. Returns True
if the number is finite with integral value, and False otherwise.
``` {.python}
np.float32(-2.0).isinteger() True np.float64(3.2).isinteger() False np.int32(-2).is_integer() True ```
(gh-19803)
Symbolic parser for Fortran dimension specifications
A new symbolic parser has been added to f2py in order to correctly parse dimension specifications. The parser is the basis for future improvements and provides compatibility with Draft Fortran 202x.
(gh-19805)
ndarray, dtype and number are now runtime-subscriptable
Mimicking PEP-585, the numpy.ndarray,
numpy.dtype and numpy.number classes are now subscriptable for
python 3.9 and later. Consequently, expressions that were previously
only allowed in .pyi stub files or with the help of
from __future__ import annotations are now also legal during runtime.
``` {.python}
import numpy as np from typing import Any
np.ndarray[Any, np.dtype[np.float64]] numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]] ```
(gh-19879)
Improvements
ctypeslib.load_library can now take any path-like object
All parameters in the can now take any
python:path-like object{.interpreted-text role="term"}. This includes
the likes of strings, bytes and objects implementing the
__fspath__<os.PathLike.__fspath__>{.interpreted-text role="meth"}
protocol.
(gh-17530)
Add smallest_normal and smallest_subnormal attributes to finfo
The attributes smallest_normal and smallest_subnormal are available
as an extension of finfo class for any floating-point data type. To
use these new attributes, write np.finfo(np.float64).smallest_normal
or np.finfo(np.float64).smallest_subnormal.
(gh-18536)
numpy.linalg.qr accepts stacked matrices as inputs
numpy.linalg.qr is able to produce results for stacked matrices as
inputs. Moreover, the implementation of QR decomposition has been
shifted to C from Python.
(gh-19151)
numpy.fromregex now accepts os.PathLike implementations
numpy.fromregex now accepts objects implementing the
__fspath__<os.PathLike> protocol, e.g. pathlib.Path.
(gh-19680)
Add new methods for quantile and percentile
quantile and percentile now have have a method= keyword argument
supporting 13 different methods. This replaces the interpolation=
keyword argument.
The methods are now aligned with nine methods which can be found in scientific literature and the R language. The remaining methods are the previous discontinuous variations of the default \"linear\" one.
Please see the documentation of numpy.percentile for more information.
(gh-19857)
Missing parameters have been added to the nan<x> functions
A number of the nan<x> functions previously lacked parameters that
were present in their <x>-based counterpart, e.g. the where
parameter was present in numpy.mean but absent from numpy.nanmean.
The following parameters have now been added to the nan<x> functions:
- nanmin:
initial&where - nanmax:
initial&where - nanargmin:
keepdims&out - nanargmax:
keepdims&out - nansum:
initial&where - nanprod:
initial&where - nanmean:
where - nanvar:
where - nanstd:
where
(gh-20027)
Annotating the main Numpy namespace
Starting from the 1.20 release, PEP 484 type annotations have been included for parts of the NumPy library; annotating the remaining functions being a work in progress. With the release of 1.22 this process has been completed for the main NumPy namespace, which is now fully annotated.
Besides the main namespace, a limited number of sub-packages contain
annotations as well. This includes, among others, numpy.testing,
numpy.linalg and numpy.random (available since 1.21).
(gh-20217)
Vectorize umath module using AVX-512
By leveraging Intel Short Vector Math Library (SVML), 18 umath functions
(exp2, log2, log10, expm1, log1p, cbrt, sin, cos, tan,
arcsin, arccos, arctan, sinh, cosh, tanh, arcsinh,
arccosh, arctanh) are vectorized using AVX-512 instruction set for
both single and double precision implementations. This change is
currently enabled only for Linux users and on processors with AVX-512
instruction set. It provides an average speed up of 32x and 14x for
single and double precision functions respectively.
(gh-19478)
OpenBLAS v0.3.17
Update the OpenBLAS used in testing and in wheels to v0.3.17
(gh-19462)
Checksums
MD5
824c4112f63bb1059703524f2ea39a7c numpy-1.22.0rc2-cp310-cp310-macosx_10_9_universal2.whl
f97f47414e7fdc8bad39fa87d9248e47 numpy-1.22.0rc2-cp310-cp310-macosx_10_9_x86_64.whl
7c184eb9216073b516733cfe5b5d65aa numpy-1.22.0rc2-cp310-cp310-macosx_11_0_arm64.whl
43dd129a673e3346fa37d1b466da3252 numpy-1.22.0rc2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
236e5f9cb23a328a8c6ee8735c49f057 numpy-1.22.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
40e7f1b4a8912d757f02fc07cea3d920 numpy-1.22.0rc2-cp310-cp310-win_amd64.whl
9c3a547153ba9b2425fad1bca20e7893 numpy-1.22.0rc2-cp38-cp38-macosx_10_9_universal2.whl
71254fdd07cd21554ff259f773387b36 numpy-1.22.0rc2-cp38-cp38-macosx_10_9_x86_64.whl
5f19bc28ccbadaf467a98b4be99eec26 numpy-1.22.0rc2-cp38-cp38-macosx_11_0_arm64.whl
35e8024c21aec5b166666a25cc58d1c4 numpy-1.22.0rc2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
549ef12115032ea5acc505e426e1c1ee numpy-1.22.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b1cad86de88044c80edb5768a5d1a636 numpy-1.22.0rc2-cp38-cp38-win32.whl
dfddc47854c314fd0a08586f2a766e01 numpy-1.22.0rc2-cp38-cp38-win_amd64.whl
eec2378e50ea4c16d6d398adc576c260 numpy-1.22.0rc2-cp39-cp39-macosx_10_9_universal2.whl
ed6e62d63e1f5a28f8fb58407ec960f8 numpy-1.22.0rc2-cp39-cp39-macosx_10_9_x86_64.whl
5947f1b695955d871583d863f7f65d81 numpy-1.22.0rc2-cp39-cp39-macosx_11_0_arm64.whl
1f07317b9b7a97f4995d1df3eddd4eef numpy-1.22.0rc2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8c3b5fed43af5ea6d758812ff41aefd7 numpy-1.22.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ab851c749351b74de5049e06aff8c92f numpy-1.22.0rc2-cp39-cp39-win32.whl
351086196ee8548bc130e1597a0ed9e1 numpy-1.22.0rc2-cp39-cp39-win_amd64.whl
920888e42e2d43393b48d67da1e98d2d numpy-1.22.0rc2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f67b97d052658b42c6bcdcb05c212dd0 numpy-1.22.0rc2.tar.gz
ba493e8d3e3d2cfd0c34aed057c91c46 numpy-1.22.0rc2.zip
SHA256
7bfcf46e1acc8750f623b4b1329e14be65ffadb543f4521f8e1b430d0520c81b numpy-1.22.0rc2-cp310-cp310-macosx_10_9_universal2.whl
81cb12f4ad3b45f7b4b49abec16ab880dea88965e3097730eb985be0e34a4d2d numpy-1.22.0rc2-cp310-cp310-macosx_10_9_x86_64.whl
1d5e23b15da36ddf5e2101e39b6dcd7303fddfe2454eae10d008220a358e0e83 numpy-1.22.0rc2-cp310-cp310-macosx_11_0_arm64.whl
7e1bc4a0bf6663147d740a5a54693774c337474f98185ba7a64d330239377d39 numpy-1.22.0rc2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d54a2a0628f8bc0e4d35865c4e98a8832529cbf0988beaa793bc001a0a7d8ee4 numpy-1.22.0rc2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a080d72182500b252f3d11821edd7bc4909e867da60a1067aad54e1e7cc66cd9 numpy-1.22.0rc2-cp310-cp310-win_amd64.whl
0fe7e7c972bb6ae27e9f587e1504db3c0dac4dd07be86d54aab8f5539b3e5c12 numpy-1.22.0rc2-cp38-cp38-macosx_10_9_universal2.whl
449b9a32f51829b8701f0632cb0ec994fc6a2583ee9360f49dd63ed83ae00ccd numpy-1.22.0rc2-cp38-cp38-macosx_10_9_x86_64.whl
e5ba4a2828a70eb929305322e7ccab4a394dd09aebadc820fb3bab8a78a798a5 numpy-1.22.0rc2-cp38-cp38-macosx_11_0_arm64.whl
50f171a7193796a88da1097a70bb8c972f700d0f94a981a7a96043d1d2334c28 numpy-1.22.0rc2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
56ae14a0f3b254ede5743c86641277072b0e0ac4a1b6e7903fe574856c120339 numpy-1.22.0rc2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a77afd61d5941d0439c245f29e6dd49781d1debee0441b46ac286e12a681d4db numpy-1.22.0rc2-cp38-cp38-win32.whl
49785892d8573135bb1cd7684b0b42803aab0a10b0e68f5f675c8030b3aa9f9c numpy-1.22.0rc2-cp38-cp38-win_amd64.whl
1e4220474a0a2614deb817b98ce569cf58c53cf66a168ba55eeeb9f8e3878375 numpy-1.22.0rc2-cp39-cp39-macosx_10_9_universal2.whl
5296fb0303c8d5653f83081fe8f11d6e88ecebe77aca149e9bfe3ec68297929a numpy-1.22.0rc2-cp39-cp39-macosx_10_9_x86_64.whl
4f067fe9e9acf18e6ee450854ced9d3204d8e817bcd4dcbc4db6cdc9f2ba838b numpy-1.22.0rc2-cp39-cp39-macosx_11_0_arm64.whl
68be281c331c9811a3fbae5990c4f8b14f7e26206869bf441314a414cb96aaa6 numpy-1.22.0rc2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2ce70ec6ee651364e63907aca89cf55556de4e6ca9e01af3a7a6228b9b436878 numpy-1.22.0rc2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
467c2290325fa5ca82d443815a98ef10a93b31d7771a1b4e08396d1e1128c74f numpy-1.22.0rc2-cp39-cp39-win32.whl
b46ab9c390828933485289cc7ff5d41d612d1a9b4633ff06814fc7efc9966518 numpy-1.22.0rc2-cp39-cp39-win_amd64.whl
e0c7009fde55f27cbec3b21c487fc7cfffcb23c2058b27b153c07a856e144e06 numpy-1.22.0rc2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f1f7c11a270959f08ca4cef566b8db5795357801f2023e512763554a563fd736 numpy-1.22.0rc2.tar.gz
01810dc32c5ac4c895b5c0d285497e1eb52038834919f3d2eaddfb9526b20dc9 numpy-1.22.0rc2.zip
- Python
Published by charris over 4 years ago
numpy -
NumPy 1.22.0 Release Notes
NumPy 1.22.0 is a big release featuring the work of 150 contributers spread over 575 pull requests. There have been many improvements, highlights are:
- Annotations of the main namespace are essentially complete. Upstream is a moving target, so there will likely be further improvements, but the major work is done. This is probably the most user visible enhancement in this release.
- A preliminary version of the proposed Array-API is provided. This is a step in creating a standard collection of functions that can be used across application such as CuPy and JAX.
- NumPy now has a DLPack backend. DLPack provides a common interchange format for array (tensor) data.
- New methods for
quantile,percentile, and related functions. The new methods provide a complete set of the methods commonly found in the literature. - A new configurable allocator for use by downstream projects.
These are in addition to the ongoing work to provide SIMD support for commonly used functions, improvements to F2PY, and better documentation.
The Python versions supported in this release are 3.8-3.10, Python 3.7 has been dropped. Note that 32 bit wheels are only provided for Python 3.8 and 3.9 on Windows, all other wheels are 64 bits on account of Ubuntu, Fedora, and other Linux distributions dropping 32 bit support. All 64 bit wheels are also linked with 64 bit OpenBLAS, which should fix the occasional problems encountered by folks using truly huge arrays.
Expired deprecations
Deprecated numeric style dtype strings have been removed
Using the strings "Bytes0", "Datetime64", "Str0", "Uint32",
and "Uint64" as a dtype will now raise a TypeError.
(gh-19539)
Expired deprecations for loads, ndfromtxt, and mafromtxt in npyio
numpy.loads was deprecated in v1.15, with the recommendation that
users use pickle.loads instead. ndfromtxt and mafromtxt were both
deprecated in v1.17 - users should use numpy.genfromtxt instead with
the appropriate value for the usemask parameter.
(gh-19615)
Deprecations
Use delimiter rather than delimitor as kwarg in mrecords
The misspelled keyword argument delimitor of
numpy.ma.mrecords.fromtextfile() has been changed to delimiter,
using it will emit a deprecation warning.
(gh-19921)
Passing boolean kth values to (arg-)partition has been deprecated
numpy.partition and numpy.argpartition would previously accept
boolean values for the kth parameter, which would subsequently be
converted into integers. This behavior has now been deprecated.
(gh-20000)
The np.MachAr class has been deprecated
The numpy.MachAr class and finfo.machar <numpy.finfo> attribute have
been deprecated. Users are encouraged to access the property if interest
directly from the corresponding numpy.finfo attribute.
(gh-20201)
Compatibility notes
Distutils forces strict floating point model on clang
NumPy now sets the -ftrapping-math option on clang to enforce correct
floating point error handling for universal functions. Clang defaults to
non-IEEE and C99 conform behaviour otherwise. This change (using the
equivalent but newer -ffp-exception-behavior=strict) was attempted in
NumPy 1.21, but was effectively never used.
(gh-19479)
Removed floor division support for complex types
Floor division of complex types will now result in a TypeError
``` {.python}
a = np.arange(10) + 1j* np.arange(10) a // 1 TypeError: ufunc 'floor_divide' not supported for the input types... ```
(gh-19135)
numpy.vectorize functions now produce the same output class as the base function
When a function that respects numpy.ndarray subclasses is vectorized
using numpy.vectorize, the vectorized function will now be
subclass-safe also for cases that a signature is given (i.e., when
creating a gufunc): the output class will be the same as that returned
by the first call to the underlying function.
(gh-19356)
Python 3.7 is no longer supported
Python support has been dropped. This is rather strict, there are changes that require Python >= 3.8.
(gh-19665)
str/repr of complex dtypes now include space after punctuation
The repr of
np.dtype({"names": ["a"], "formats": [int], "offsets": [2]}) is now
dtype({'names': ['a'], 'formats': ['<i8'], 'offsets': [2], 'itemsize': 10}),
whereas spaces where previously omitted after colons and between fields.
The old behavior can be restored via
np.set_printoptions(legacy="1.21").
(gh-19687)
Corrected advance in PCG64DSXM and PCG64
Fixed a bug in the advance method of PCG64DSXM and PCG64. The bug
only affects results when the step was larger than $2^{64}$ on platforms
that do not support 128-bit integers(e.g., Windows and 32-bit Linux).
(gh-20049)
Change in generation of random 32 bit floating point variates
There was bug in the generation of 32 bit floating point values from the uniform distribution that would result in the least significant bit of the random variate always being 0. This has been fixed.
This change affects the variates produced by the random.Generator
methods random, standard_normal, standard_exponential, and
standard_gamma, but only when the dtype is specified as
numpy.float32.
(gh-20314)
C API changes
Masked inner-loops cannot be customized anymore
The masked inner-loop selector is now never used. A warning will be given in the unlikely event that it was customized.
We do not expect that any code uses this. If you do use it, you must unset the selector on newer NumPy version. Please also contact the NumPy developers, we do anticipate providing a new, more specific, mechanism.
The customization was part of a never-implemented feature to allow for faster masked operations.
(gh-19259)
New Features
NEP 49 configurable allocators
As detailed in NEP 49, the
function used for allocation of the data segment of a ndarray can be
changed. The policy can be set globally or in a context. For more
information see the NEP and the data_memory{.interpreted-text
role="ref"} reference docs. Also add a NUMPY_WARN_IF_NO_MEM_POLICY
override to warn on dangerous use of transfering ownership by setting
NPY_ARRAY_OWNDATA.
(gh-17582)
Implementation of the NEP 47 (adopting the array API standard)
An initial implementation of NEP
47 (adoption
the array API standard) has been added as numpy.array_api. The
implementation is experimental and will issue a UserWarning on import,
as the array API
standard is still in
draft state. numpy.array_api is a conforming implementation of the
array API standard, which is also minimal, meaning that only those
functions and behaviors that are required by the standard are
implemented (see the NEP for more info). Libraries wishing to make use
of the array API standard are encouraged to use numpy.array_api to
check that they are only using functionality that is guaranteed to be
present in standard conforming implementations.
(gh-18585)
Generate C/C++ API reference documentation from comments blocks is now possible
This feature depends on Doxygen in the generation process and on Breathe to integrate it with Sphinx.
(gh-18884)
Assign the platform-specific c_intp precision via a mypy plugin
The mypy plugin, introduced in
numpy/numpy#17843, has
again been expanded: the plugin now is now responsible for setting the
platform-specific precision of numpy.ctypeslib.c_intp, the latter
being used as data type for various numpy.ndarray.ctypes attributes.
Without the plugin, aforementioned type will default to
ctypes.c_int64.
To enable the plugin, one must add it to their mypy configuration file:
{.ini}
[mypy]
plugins = numpy.typing.mypy_plugin
(gh-19062)
Add NEP 47-compatible dlpack support
Add a ndarray.__dlpack__() method which returns a dlpack C structure
wrapped in a PyCapsule. Also add a np._from_dlpack(obj) function,
where obj supports __dlpack__(), and returns an ndarray.
(gh-19083)
keepdims optional argument added to numpy.argmin, numpy.argmax
keepdims argument is added to numpy.argmin, numpy.argmax. If set
to True, the axes which are reduced are left in the result as
dimensions with size one. The resulting array has the same number of
dimensions and will broadcast with the input array.
(gh-19211)
bit_count to compute the number of 1-bits in an integer
Computes the number of 1-bits in the absolute value of the input. This
works on all the numpy integer types. Analogous to the builtin
int.bit_count or popcount in C++.
``` {.python}
np.uint32(1023).bitcount() 10 np.int32(-127).bitcount() 7 ```
(gh-19355)
The ndim and axis attributes have been added to numpy.AxisError
The ndim and axis parameters are now also stored as attributes
within each numpy.AxisError instance.
(gh-19459)
Preliminary support for windows/arm64 target
numpy added support for windows/arm64 target. Please note OpenBLAS
support is not yet available for windows/arm64 target.
(gh-19513)
Added support for LoongArch
LoongArch is a new instruction set, numpy compilation failure on LoongArch architecture, so add the commit.
(gh-19527)
A .clang-format file has been added
Clang-format is a C/C++ code formatter, together with the added
.clang-format file, it produces code close enough to the NumPy
C_STYLE_GUIDE for general use. Clang-format version 12+ is required
due to the use of several new features, it is available in Fedora 34 and
Ubuntu Focal among other distributions.
(gh-19754)
is_integer is now available to numpy.floating and numpy.integer
Based on its counterpart in Python float and int, the numpy floating
point and integer types now support float.is_integer. Returns True
if the number is finite with integral value, and False otherwise.
``` {.python}
np.float32(-2.0).isinteger() True np.float64(3.2).isinteger() False np.int32(-2).is_integer() True ```
(gh-19803)
Symbolic parser for Fortran dimension specifications
A new symbolic parser has been added to f2py in order to correctly parse dimension specifications. The parser is the basis for future improvements and provides compatibility with Draft Fortran 202x.
(gh-19805)
ndarray, dtype and number are now runtime-subscriptable
Mimicking 585{.interpreted-text role="pep"}, the numpy.ndarray,
numpy.dtype and numpy.number classes are now subscriptable for
python 3.9 and later. Consequently, expressions that were previously
only allowed in .pyi stub files or with the help of
from __future__ import annotations are now also legal during runtime.
``` {.python}
import numpy as np from typing import Any
np.ndarray[Any, np.dtype[np.float64]] numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]] ```
(gh-19879)
Improvements
ctypeslib.load_library can now take any path-like object
All parameters in the can now take any
python:path-like object{.interpreted-text role="term"}. This includes
the likes of strings, bytes and objects implementing the
__fspath__<os.PathLike.__fspath__>{.interpreted-text role="meth"}
protocol.
(gh-17530)
Add smallest_normal and smallest_subnormal attributes to finfo
The attributes smallest_normal and smallest_subnormal are available
as an extension of finfo class for any floating-point data type. To
use these new attributes, write np.finfo(np.float64).smallest_normal
or np.finfo(np.float64).smallest_subnormal.
(gh-18536)
numpy.linalg.qr accepts stacked matrices as inputs
numpy.linalg.qr is able to produce results for stacked matrices as
inputs. Moreover, the implementation of QR decomposition has been
shifted to C from Python.
(gh-19151)
numpy.fromregex now accepts os.PathLike implementations
numpy.fromregex now accepts objects implementing the
__fspath__<os.PathLike> protocol, e.g. pathlib.Path.
(gh-19680)
Add new methods for quantile and percentile
quantile and percentile now have have a method= keyword argument
supporting 13 different methods. This replaces the interpolation=
keyword argument.
The methods are now aligned with nine methods which can be found in scientific literature and the R language. The remaining methods are the previous discontinuous variations of the default \"linear\" one.
Please see the documentation of numpy.percentile for more information.
(gh-19857)
Missing parameters have been added to the nan<x> functions
A number of the nan<x> functions previously lacked parameters that
were present in their <x>-based counterpart, e.g. the where
parameter was present in numpy.mean but absent from numpy.nanmean.
The following parameters have now been added to the nan<x> functions:
- nanmin:
initial&where - nanmax:
initial&where - nanargmin:
keepdims&out - nanargmax:
keepdims&out - nansum:
initial&where - nanprod:
initial&where - nanmean:
where - nanvar:
where - nanstd:
where
(gh-20027)
Annotating the main Numpy namespace
Starting from the 1.20 release, PEP 484 type annotations have been included for parts of the NumPy library; annotating the remaining functions being a work in progress. With the release of 1.22 this process has been completed for the main NumPy namespace, which is now fully annotated.
Besides the main namespace, a limited number of sub-packages contain
annotations as well. This includes, among others, numpy.testing,
numpy.linalg and numpy.random (available since 1.21).
(gh-20217)
Vectorize umath module using AVX-512
By leveraging Intel Short Vector Math Library (SVML), 18 umath functions
(exp2, log2, log10, expm1, log1p, cbrt, sin, cos, tan,
arcsin, arccos, arctan, sinh, cosh, tanh, arcsinh,
arccosh, arctanh) are vectorized using AVX-512 instruction set for
both single and double precision implementations. This change is
currently enabled only for Linux users and on processors with AVX-512
instruction set. It provides an average speed up of 32x and 14x for
single and double precision functions respectively.
(gh-19478)
OpenBLAS v0.3.17
Update the OpenBLAS used in testing and in wheels to v0.3.17
(gh-19462)
Checksums
MD5
a70dfdbb1e1dab6d5c10c5534c523288 numpy-1.22.0rc1-cp310-cp310-macosx_10_9_universal2.whl
2cccddd30f5ec841d4ce90530f7762b0 numpy-1.22.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
7b46c1b0f8175b03d0197059c1d3a5d3 numpy-1.22.0rc1-cp310-cp310-macosx_11_0_arm64.whl
7adb43de081457fb9733ef4570a314e9 numpy-1.22.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
517ec9dede8b479ad986a14912fcc912 numpy-1.22.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0379b78e387565067489943ca270ba59 numpy-1.22.0rc1-cp310-cp310-win_amd64.whl
f582541b1e4d322519d4f091a859b2bc numpy-1.22.0rc1-cp38-cp38-macosx_10_9_universal2.whl
5239cc440f1353555c9e0273d4e68c91 numpy-1.22.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
1a12742a23205cae3d2d5fda5cd8f478 numpy-1.22.0rc1-cp38-cp38-macosx_11_0_arm64.whl
4a45e2633361c367372d6c98d4e13010 numpy-1.22.0rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
15cf27d4ac60c720aa3f36308d90deb2 numpy-1.22.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7cc2ffcfbe0f11234f7ba6a09e32980e numpy-1.22.0rc1-cp38-cp38-win32.whl
64104bfd50dee174344d02506ab4c621 numpy-1.22.0rc1-cp38-cp38-win_amd64.whl
74b7c7f59058000d8437476ab880d943 numpy-1.22.0rc1-cp39-cp39-macosx_10_9_universal2.whl
7850ed6e906589c53b6e7187220f8dcc numpy-1.22.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
2a78c0df6943528302b3141e4b9b594b numpy-1.22.0rc1-cp39-cp39-macosx_11_0_arm64.whl
1e65939095e4e383de6b8e257136a7a9 numpy-1.22.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
281f3e861afbff12ae9d0b32d95d89bb numpy-1.22.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f8b7d2e3b3b61894051e258b99cbb7b3 numpy-1.22.0rc1-cp39-cp39-win32.whl
5037a963c1486d9ce2eaa3adf84ab560 numpy-1.22.0rc1-cp39-cp39-win_amd64.whl
f82bd053250eee5dd4f35d2e4b8a8e64 numpy-1.22.0rc1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
17c532b2ccddb54595099c76ea4322b4 numpy-1.22.0rc1.tar.gz
f1c8568e6df223541d0c647044008949 numpy-1.22.0rc1.zip
SHA256
b00d9bf43cc8975cf5e0c211d218e75a3f5ce1ae34dc84d8a489c28a0dba7848 numpy-1.22.0rc1-cp310-cp310-macosx_10_9_universal2.whl
eb6dd744a9f94b424bf70d62b7874798ea95b6b58fb63ec651b69a46872e5bd5 numpy-1.22.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
6759e6dafd96454be2d6dd80674293322191639400832688cd234c5f483ce1a9 numpy-1.22.0rc1-cp310-cp310-macosx_11_0_arm64.whl
2242fa31413e40847016234485f228fa5e082b0c555d3db65fe9aa4efcfb8d8d numpy-1.22.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d0be0eb7df39f0e0732d73250de55e1dcc8086c23db970d5eab85dbf0713502d numpy-1.22.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ccf027e3bbcd06b5c26a0196ddfc24c4d09d2001cc5d38738efff9d9ac8dee58 numpy-1.22.0rc1-cp310-cp310-win_amd64.whl
8c5016694b9bda77cda32ebfdde34d2246978ed4c49e9baab26bcf38621b7390 numpy-1.22.0rc1-cp38-cp38-macosx_10_9_universal2.whl
011e4c430f2e2739e0d182cb7e2b5d47adc46a8db49a788e5798805b7878c4ba numpy-1.22.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
b0ed56b9d7535d654d2a0478333cc08d1b9849767eafd07e1f6a3d8d90a2cad0 numpy-1.22.0rc1-cp38-cp38-macosx_11_0_arm64.whl
6730a1495f1acedd97e82e32cca4d8dbe07b89f01f395ca02ca4a9e110d9519d numpy-1.22.0rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
56109e7e9b205439990e90682163d8155cf5743efe65c30221ef3834621ffd3f numpy-1.22.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7dbfa0abe053afbcb9e61ec1557556e4e30c3e4b5df4ec7849bf245e8c09feec numpy-1.22.0rc1-cp38-cp38-win32.whl
013fa3500a6e5b3ba51401056aa9c41d83a7e737959d15f288d410f26cc33896 numpy-1.22.0rc1-cp38-cp38-win_amd64.whl
a2dd58beb8a8266d704a76692e8eb76ff20f5b2940db7aeee216c2dbf226e5c6 numpy-1.22.0rc1-cp39-cp39-macosx_10_9_universal2.whl
e48368972e0999af098e0a6e9a3573895fd4c3b0b2d8c5cf215b17910cd6c124 numpy-1.22.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
2934fb435d85341efb40f9db637a203a042300afdaa49f833608df21a5d8ae30 numpy-1.22.0rc1-cp39-cp39-macosx_11_0_arm64.whl
e981667470ae74f06cfd0d54c5fa9cd88661a27eccaac2cba505039f0b29dc2e numpy-1.22.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5e56515f5abb493bd32d2196ecd3ce794792419adfb7d8b4cccd4ddaf74ab924 numpy-1.22.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
21613822dd597d4645c586ac21910fded5344f843410dace91c129a38c31d8be numpy-1.22.0rc1-cp39-cp39-win32.whl
91bb1e29d74a90861e878b0c7bc941a1c0ac051cb4b171dc242e66953c95ca1e numpy-1.22.0rc1-cp39-cp39-win_amd64.whl
0ebb646ef72a2348036ed1692e6bb3f3dd4f8d026681b7168a9ac988d9832c27 numpy-1.22.0rc1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d54616321316987e69cb49d76cec8750d9d0160a32f5f5e71ff3f94b010ebc5e numpy-1.22.0rc1.tar.gz
bc991b3f8ea7c0f6703df2bc23c098cfe6f1a3a5e8a3a901eb6a5619275d53ff numpy-1.22.0rc1.zip
- Python
Published by charris over 4 years ago
numpy -
NumPy 1.21.4 Release Notes
The NumPy 1.21.4 is a maintenance release that fixes a few bugs discovered after 1.21.3. The most important fix here is a fix for the NumPy header files to make them work for both x86_64 and M1 hardware when included in the Mac universal2 wheels. Previously, the header files only worked for M1 and this caused problems for folks building x86_64 extensions. This problem was not seen before Python 3.10 because there were thin wheels for x86_64 that had precedence. This release also provides thin x86_64 Mac wheels for Python 3.10.
The Python versions supported in this release are 3.7-3.10. If you want to compile your own version using gcc-11, you will need to use gcc-11.2+ to avoid problems.
Contributors
A total of 7 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Bas van Beek
- Charles Harris
- Isuru Fernando
- Matthew Brett
- Sayed Adel
- Sebastian Berg
- 傅立业(Chris Fu) +
Pull requests merged
A total of 9 pull requests were merged for this release.
- #20278: BUG: Fix shadowed reference of
dtypein type stub - #20293: BUG: Fix headers for universal2 builds
- #20294: BUG:
VOID_nonzerocould sometimes mutate alignment flag - #20295: BUG: Do not use nonzero fastpath on unaligned arrays
- #20296: BUG: Distutils patch to allow for 2 as a minor version (!)
- #20297: BUG, SIMD: Fix 64-bit/8-bit integer division by a scalar
- #20298: BUG, SIMD: Workaround broadcasting SIMD 64-bit integers on MSVC...
- #20300: REL: Prepare for the NumPy 1.21.4 release.
- #20302: TST: Fix a
Arrayteratortyping test failure
Checksums
MD5
95486a3ed027c926fb3fc279db6d843e numpy-1.21.4-cp310-cp310-macosx_10_9_universal2.whl
9f57fad74762f7665669af33583a3dc9 numpy-1.21.4-cp310-cp310-macosx_10_9_x86_64.whl
719a9053aef01a067ce44ede2281eef9 numpy-1.21.4-cp310-cp310-macosx_11_0_arm64.whl
72035d101774fd03beff391927f59aa9 numpy-1.21.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5813e7a378a6e3f5c269c23f61eff4d9 numpy-1.21.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b88a1bc4f08dfb154d5a07d15e387af6 numpy-1.21.4-cp310-cp310-win_amd64.whl
f0cc946d2f4ab4df7cc7e0cc8cfd429e numpy-1.21.4-cp37-cp37m-macosx_10_9_x86_64.whl
1234643306ce481f0e5f801ddf3f1099 numpy-1.21.4-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
b9208ce1695ba61ab2932c7ce7285d1d numpy-1.21.4-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
9804fe2011618bf2d7b8d92f6860b2e3 numpy-1.21.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2ad3a06f974acd61326fd66c098df5bc numpy-1.21.4-cp37-cp37m-win32.whl
172301389f1532b2d9130362580e1e22 numpy-1.21.4-cp37-cp37m-win_amd64.whl
a037bf88979ae0d4699a0cdce92bbab3 numpy-1.21.4-cp38-cp38-macosx_10_9_universal2.whl
ba94609688f575cc8dce84f1512db116 numpy-1.21.4-cp38-cp38-macosx_10_9_x86_64.whl
c78edc0ae8c9a5d8d0f9e3eb6dabd0b3 numpy-1.21.4-cp38-cp38-macosx_11_0_arm64.whl
d683b6f6af46806391579d528a040451 numpy-1.21.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
df631f776716aeb3fd705f3659599b9e numpy-1.21.4-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
b1cbca49d24c7ba43d377feb425afdce numpy-1.21.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8b5c214bc0f060dbb0287c15dde4673d numpy-1.21.4-cp38-cp38-win32.whl
2307cf9f3c02f6cdad448a681c272974 numpy-1.21.4-cp38-cp38-win_amd64.whl
fc02b5a068e29b2dd2de19c7ddd69926 numpy-1.21.4-cp39-cp39-macosx_10_9_universal2.whl
f16068540001de8a3d8f096830c97ea2 numpy-1.21.4-cp39-cp39-macosx_10_9_x86_64.whl
80562c39cfbdf1af9bb43b2ea5e45b6d numpy-1.21.4-cp39-cp39-macosx_11_0_arm64.whl
6c103bec3085e5a6ea92cf7f6e4189ab numpy-1.21.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
9d715ba5f7596a39eb631f2dae85d203 numpy-1.21.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
8b8cf8c7b093419ff75ed1dd2eaa18ae numpy-1.21.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
404200b858b7addd03f6cdd5a484d30a numpy-1.21.4-cp39-cp39-win32.whl
cdab6a1bf1b86021526d08a60219a6ad numpy-1.21.4-cp39-cp39-win_amd64.whl
70ca6b591e844fdcb8c22175f094d3b4 numpy-1.21.4-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
06019c1116b3e2791bd507f898257e7f numpy-1.21.4.tar.gz
b3c4477a027d5b6fba5e1065064fd076 numpy-1.21.4.zip
SHA256
8890b3360f345e8360133bc078d2dacc2843b6ee6059b568781b15b97acbe39f numpy-1.21.4-cp310-cp310-macosx_10_9_universal2.whl
69077388c5a4b997442b843dbdc3a85b420fb693ec8e33020bb24d647c164fa5 numpy-1.21.4-cp310-cp310-macosx_10_9_x86_64.whl
e89717274b41ebd568cd7943fc9418eeb49b1785b66031bc8a7f6300463c5898 numpy-1.21.4-cp310-cp310-macosx_11_0_arm64.whl
0b78ecfa070460104934e2caf51694ccd00f37d5e5dbe76f021b1b0b0d221823 numpy-1.21.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
615d4e328af7204c13ae3d4df7615a13ff60a49cb0d9106fde07f541207883ca numpy-1.21.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1403b4e2181fc72664737d848b60e65150f272fe5a1c1cbc16145ed43884065a numpy-1.21.4-cp310-cp310-win_amd64.whl
74b85a17528ca60cf98381a5e779fc0264b4a88b46025e6bcbe9621f46bb3e63 numpy-1.21.4-cp37-cp37m-macosx_10_9_x86_64.whl
92aafa03da8658609f59f18722b88f0a73a249101169e28415b4fa148caf7e41 numpy-1.21.4-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
5d95668e727c75b3f5088ec7700e260f90ec83f488e4c0aaccb941148b2cd377 numpy-1.21.4-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
f5162ec777ba7138906c9c274353ece5603646c6965570d82905546579573f73 numpy-1.21.4-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
81225e58ef5fce7f1d80399575576fc5febec79a8a2742e8ef86d7b03beef49f numpy-1.21.4-cp37-cp37m-win32.whl
32fe5b12061f6446adcbb32cf4060a14741f9c21e15aaee59a207b6ce6423469 numpy-1.21.4-cp37-cp37m-win_amd64.whl
c449eb870616a7b62e097982c622d2577b3dbc800aaf8689254ec6e0197cbf1e numpy-1.21.4-cp38-cp38-macosx_10_9_universal2.whl
2e4ed57f45f0aa38beca2a03b6532e70e548faf2debbeb3291cfc9b315d9be8f numpy-1.21.4-cp38-cp38-macosx_10_9_x86_64.whl
1247ef28387b7bb7f21caf2dbe4767f4f4175df44d30604d42ad9bd701ebb31f numpy-1.21.4-cp38-cp38-macosx_11_0_arm64.whl
34f3456f530ae8b44231c63082c8899fe9c983fd9b108c997c4b1c8c2d435333 numpy-1.21.4-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
4c9c23158b87ed0e70d9a50c67e5c0b3f75bcf2581a8e34668d4e9d7474d76c6 numpy-1.21.4-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
e4799be6a2d7d3c33699a6f77201836ac975b2e1b98c2a07f66a38f499cb50ce numpy-1.21.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bc988afcea53e6156546e5b2885b7efab089570783d9d82caf1cfd323b0bb3dd numpy-1.21.4-cp38-cp38-win32.whl
170b2a0805c6891ca78c1d96ee72e4c3ed1ae0a992c75444b6ab20ff038ba2cd numpy-1.21.4-cp38-cp38-win_amd64.whl
fde96af889262e85aa033f8ee1d3241e32bf36228318a61f1ace579df4e8170d numpy-1.21.4-cp39-cp39-macosx_10_9_universal2.whl
c885bfc07f77e8fee3dc879152ba993732601f1f11de248d4f357f0ffea6a6d4 numpy-1.21.4-cp39-cp39-macosx_10_9_x86_64.whl
9e6f5f50d1eff2f2f752b3089a118aee1ea0da63d56c44f3865681009b0af162 numpy-1.21.4-cp39-cp39-macosx_11_0_arm64.whl
ad010846cdffe7ec27e3f933397f8a8d6c801a48634f419e3d075db27acf5880 numpy-1.21.4-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
c74c699b122918a6c4611285cc2cad4a3aafdb135c22a16ec483340ef97d573c numpy-1.21.4-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
9864424631775b0c052f3bd98bc2712d131b3e2cd95d1c0c68b91709170890b0 numpy-1.21.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b1e2312f5b8843a3e4e8224b2b48fe16119617b8fc0a54df8f50098721b5bed2 numpy-1.21.4-cp39-cp39-win32.whl
e3c3e990274444031482a31280bf48674441e0a5b55ddb168f3a6db3e0c38ec8 numpy-1.21.4-cp39-cp39-win_amd64.whl
a3deb31bc84f2b42584b8c4001c85d1934dbfb4030827110bc36bfd11509b7bf numpy-1.21.4-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
5d412381aa489b8be82ac5c6a9e99c3eb3f754245ad3f90ab5c339d92f25fb47 numpy-1.21.4.tar.gz
e6c76a87633aa3fa16614b61ccedfae45b91df2767cf097aa9c933932a7ed1e0 numpy-1.21.4.zip
- Python
Published by charris over 4 years ago
numpy -
NumPy 1.21.3 Release Notes
The NumPy 1.21.3 is a maintenance release the fixes a few bugs discovered after 1.21.2. It also provides 64 bit Python 3.10.0 wheels. Note a few oddities about Python 3.10:
- There are no 32 bit wheels for Windows, Mac, or Linux.
- The Mac Intel builds are only available in universal2 wheels.
The Python versions supported in this release are 3.7-3.10. If you want to compile your own version using gcc-11 you will need to use gcc-11.2+ to avoid problems.
Contributors
A total of 7 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Aaron Meurer
- Bas van Beek
- Charles Harris
- Developer-Ecosystem-Engineering +
- Kevin Sheppard
- Sebastian Berg
- Warren Weckesser
Pull requests merged
A total of 8 pull requests were merged for this release.
- #19745: ENH: Add dtype-support to 3
`generic/ndarraymethods - #19955: BUG: Resolve Divide by Zero on Apple silicon + test failures...
- #19958: MAINT: Mark type-check-only ufunc subclasses as ufunc aliases...
- #19994: BUG: np.tan(np.inf) test failure
- #20080: BUG: Correct incorrect advance in PCG with emulated int128
- #20081: BUG: Fix NaT handling in the PyArray_CompareFunc for datetime...
- #20082: DOC: Ensure that we add documentation also as to the dict for...
- #20106: BUG: core: result_type(0, np.timedelta64(4)) would seg. fault.
Checksums
MD5
9acea9630856659ba48fdb582ecc37b4 numpy-1.21.3-cp310-cp310-macosx_10_9_universal2.whl
a70f80a4e74a3153a8307c4f0ea8d13d numpy-1.21.3-cp310-cp310-macosx_11_0_arm64.whl
13cfe83efd261ea1c3d1eb02c1d3af83 numpy-1.21.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8576bfd867834182269f72abbaa2e81e numpy-1.21.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8ac48f503f1e22c0c2b5d056772aca27 numpy-1.21.3-cp310-cp310-win_amd64.whl
cbe0d0d7623de3c2c7593f673d1a880a numpy-1.21.3-cp37-cp37m-macosx_10_9_x86_64.whl
0967b18baba13e511c7eb48902a62b39 numpy-1.21.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
da54c9566f3e3f8c7d60efebfdf7e1ae numpy-1.21.3-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
0aa000f3c10cf74bf47770577384b5c8 numpy-1.21.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5683501bf91be25c53c52e3b083098c3 numpy-1.21.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
89e15d979533f8a314e0ab0648ee7153 numpy-1.21.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
a093fea475b5ed18bd21b3c79e68e388 numpy-1.21.3-cp37-cp37m-win32.whl
f906001213ed0902b1aecfaa12224e94 numpy-1.21.3-cp37-cp37m-win_amd64.whl
88a2cd378412220d618473dd273baf04 numpy-1.21.3-cp38-cp38-macosx_10_9_universal2.whl
1bc55202f604e30f338bc2ed27b561bc numpy-1.21.3-cp38-cp38-macosx_10_9_x86_64.whl
9555dc6de8748958434e8f2feba98494 numpy-1.21.3-cp38-cp38-macosx_11_0_arm64.whl
93ad32cc87866e9242156bdadc61e5f5 numpy-1.21.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
7cb0b7dd6aee667ecdccae1829260186 numpy-1.21.3-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
34e6f5f9e9534ef8772f024170c2bd2d numpy-1.21.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
54e6abfb8f600de2ccd1649b1fca820b numpy-1.21.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
260ba58f2dc64e779eac7318ec92f36c numpy-1.21.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
889202c6bdaf8c1ae0803925e9e1a8f7 numpy-1.21.3-cp38-cp38-win32.whl
980303a7e6317faf9a56ba8fc80795d9 numpy-1.21.3-cp38-cp38-win_amd64.whl
44d6bd26fb910710ab4002d0028c9020 numpy-1.21.3-cp39-cp39-macosx_10_9_universal2.whl
6f5b02152bd0b08a77b79657788ce59c numpy-1.21.3-cp39-cp39-macosx_10_9_x86_64.whl
ad05d5c412d15e7880cd65cc6cdd4aac numpy-1.21.3-cp39-cp39-macosx_11_0_arm64.whl
5b61a91221931af4a78c3bd20925a91f numpy-1.21.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
df7344ae04c5a54249fa1b63a256ce61 numpy-1.21.3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
c653a096da47b64b42e8f1536a21f7d4 numpy-1.21.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e0d35451ba1c37f96e032bc6f75ccdf7 numpy-1.21.3-cp39-cp39-win32.whl
b2e1dc59b6fa224ce11728d94be740a6 numpy-1.21.3-cp39-cp39-win_amd64.whl
8ce925a0fcbc1062985026215d369276 numpy-1.21.3-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
b8e6b7165f105bde0b45cd9ae34bfe20 numpy-1.21.3.tar.gz
59d986f5ccf3edfb7d4d14949c6666ed numpy-1.21.3.zip
SHA256
508b0b513fa1266875524ba8a9ecc27b02ad771fe1704a16314dc1a816a68737 numpy-1.21.3-cp310-cp310-macosx_10_9_universal2.whl
5dfe9d6a4c39b8b6edd7990091fea4f852888e41919d0e6722fe78dd421db0eb numpy-1.21.3-cp310-cp310-macosx_11_0_arm64.whl
8a10968963640e75cc0193e1847616ab4c718e83b6938ae74dea44953950f6b7 numpy-1.21.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
49c6249260890e05b8111ebfc391ed58b3cb4b33e63197b2ec7f776e45330721 numpy-1.21.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f8f4625536926a155b80ad2bbff44f8cc59e9f2ad14cdda7acf4c135b4dc8ff2 numpy-1.21.3-cp310-cp310-win_amd64.whl
e54af82d68ef8255535a6cdb353f55d6b8cf418a83e2be3569243787a4f4866f numpy-1.21.3-cp37-cp37m-macosx_10_9_x86_64.whl
f41b018f126aac18583956c54544db437f25c7ee4794bcb23eb38bef8e5e192a numpy-1.21.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
50cd26b0cf6664cb3b3dd161ba0a09c9c1343db064e7c69f9f8b551f5104d654 numpy-1.21.3-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
4cc9b512e9fb590797474f58b7f6d1f1b654b3a94f4fa8558b48ca8b3cfc97cf numpy-1.21.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
88a5d6b268e9ad18f3533e184744acdaa2e913b13148160b1152300c949bbb5f numpy-1.21.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
3c09418a14471c7ae69ba682e2428cae5b4420a766659605566c0fa6987f6b7e numpy-1.21.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
90bec6a86b348b4559b6482e2b684db4a9a7eed1fa054b86115a48d58fbbf62a numpy-1.21.3-cp37-cp37m-win32.whl
043e83bfc274649c82a6f09836943e4a4aebe5e33656271c7dbf9621dd58b8ec numpy-1.21.3-cp37-cp37m-win_amd64.whl
75621882d2230ab77fb6a03d4cbccd2038511491076e7964ef87306623aa5272 numpy-1.21.3-cp38-cp38-macosx_10_9_universal2.whl
188031f833bbb623637e66006cf75e933e00e7231f67e2b45cf8189612bb5dc3 numpy-1.21.3-cp38-cp38-macosx_10_9_x86_64.whl
160ccc1bed3a8371bf0d760971f09bfe80a3e18646620e9ded0ad159d9749baa numpy-1.21.3-cp38-cp38-macosx_11_0_arm64.whl
29fb3dcd0468b7715f8ce2c0c2d9bbbaf5ae686334951343a41bd8d155c6ea27 numpy-1.21.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
32437f0b275c1d09d9c3add782516413e98cd7c09e6baf4715cbce781fc29912 numpy-1.21.3-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
e606e6316911471c8d9b4618e082635cfe98876007556e89ce03d52ff5e8fcf0 numpy-1.21.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a99a6b067e5190ac6d12005a4d85aa6227c5606fa93211f86b1dafb16233e57d numpy-1.21.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
dde972a1e11bb7b702ed0e447953e7617723760f420decb97305e66fb4afc54f numpy-1.21.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
fe52dbe47d9deb69b05084abd4b0df7abb39a3c51957c09f635520abd49b29dd numpy-1.21.3-cp38-cp38-win32.whl
75eb7cadc8da49302f5b659d40ba4f6d94d5045fbd9569c9d058e77b0514c9e4 numpy-1.21.3-cp38-cp38-win_amd64.whl
2a6ee9620061b2a722749b391c0d80a0e2ae97290f1b32e28d5a362e21941ee4 numpy-1.21.3-cp39-cp39-macosx_10_9_universal2.whl
5c4193f70f8069550a1788bd0cd3268ab7d3a2b70583dfe3b2e7f421e9aace06 numpy-1.21.3-cp39-cp39-macosx_10_9_x86_64.whl
28f15209fb535dd4c504a7762d3bc440779b0e37d50ed810ced209e5cea60d96 numpy-1.21.3-cp39-cp39-macosx_11_0_arm64.whl
c6c2d535a7beb1f8790aaa98fd089ceab2e3dd7ca48aca0af7dc60e6ef93ffe1 numpy-1.21.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
bffa2eee3b87376cc6b31eee36d05349571c236d1de1175b804b348dc0941e3f numpy-1.21.3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
cc14e7519fab2a4ed87d31f99c31a3796e4e1fe63a86ebdd1c5a1ea78ebd5896 numpy-1.21.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
dd0482f3fc547f1b1b5d6a8b8e08f63fdc250c58ce688dedd8851e6e26cff0f3 numpy-1.21.3-cp39-cp39-win32.whl
300321e3985c968e3ae7fbda187237b225f3ffe6528395a5b7a5407f73cf093e numpy-1.21.3-cp39-cp39-win_amd64.whl
98339aa9911853f131de11010f6dd94c8cec254d3d1f7261528c3b3e3219f139 numpy-1.21.3-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
d0bba24083c01ae43457514d875f10d9ce4c1125d55b1e2573277b2410f2d068 numpy-1.21.3.tar.gz
63571bb7897a584ca3249c86dd01c10bcb5fe4296e3568b2e9c1a55356b6410e numpy-1.21.3.zip
- Python
Published by charris over 4 years ago
numpy -
NumPy 1.21.2 Release Notes
The NumPy 1.21.2 is maintenance release that fixes bugs discovered after 1.21.1. It also provides 64 bit manylinux Python 3.10.0rc1 wheels for downstream testing. Note that Python 3.10 is not yet final. There is also preliminary support for Windows on ARM64 builds, but there is no OpenBLAS for that platform and no wheels are available.
The Python versions supported for this release are 3.7-3.9. The 1.21.x series is compatible with Python 3.10.0rc1 and Python 3.10 will be officially supported after it is released. The previous problems with gcc-11.1 have been fixed by gcc-11.2, check your version if you are using gcc-11.
Contributors
A total of 10 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Bas van Beek
- Carl Johnsen +
- Charles Harris
- Gwyn Ciesla +
- Matthieu Dartiailh
- Matti Picus
- Niyas Sait +
- Ralf Gommers
- Sayed Adel
- Sebastian Berg
Pull requests merged
A total of 18 pull requests were merged for this release.
- #19497: MAINT: set Python version for 1.21.x to
<3.11 - #19533: BUG: Fix an issue wherein importing
numpy.typingcould raise - #19646: MAINT: Update Cython version for Python 3.10.
- #19648: TST: Bump the python 3.10 test version from beta4 to rc1
- #19651: TST: avoid distutils.sysconfig in runtests.py
- #19652: MAINT: add missing dunder method to nditer type hints
- #19656: BLD, SIMD: Fix testing extra checks when
-Werrorisn\'t applicable... - #19657: BUG: Remove logical object ufuncs with bool output
- #19658: MAINT: Include .coveragerc in source distributions to support...
- #19659: BUG: Fix bad write in masked iterator output copy paths
- #19660: ENH: Add support for windows on arm targets
- #19661: BUG: add base to templated arguments for platlib
- #19662: BUG,DEP: Non-default UFunc signature/dtype usage should be deprecated
- #19666: MAINT: Add Python 3.10 to supported versions.
- #19668: TST,BUG: Sanitize path-separators when running
runtest.py - #19671: BLD: load extra flags when checking for libflame
- #19676: BLD: update circleCI docker image
- #19677: REL: Prepare for 1.21.2 release.
Checksums
MD5
c4d72c5f8aff59b5e48face558441e9f numpy-1.21.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
eb09d0bfc0bc39ce3e323182ae779fcb numpy-1.21.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e0bb19ea8cc13a5152085aa42d850077 numpy-1.21.2-cp37-cp37m-macosx_10_9_x86_64.whl
af7d21992179dfa3669a2a238b94a980 numpy-1.21.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
9acbaf0074af75d66ca8676b16cec03a numpy-1.21.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
86b755c7ece248e5586a6a58259aa432 numpy-1.21.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b45fbbb0ffabcabcc6dc4cf957713d45 numpy-1.21.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
6f23a3050b1482f9708d36928348d75d numpy-1.21.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
ee45e263e6700b745c43511297385fe1 numpy-1.21.2-cp37-cp37m-win32.whl
6f587dc9ee9ec8700e77df4f3f987911 numpy-1.21.2-cp37-cp37m-win_amd64.whl
e500c1eae3903b7498886721b835d086 numpy-1.21.2-cp38-cp38-macosx_10_9_universal2.whl
ddef2b45ff5526e6314205108f2e3524 numpy-1.21.2-cp38-cp38-macosx_10_9_x86_64.whl
66b5a212ee2fe747cfc19f13dbfc2d15 numpy-1.21.2-cp38-cp38-macosx_11_0_arm64.whl
3ebfe9bcd744c57d3d189394fbbf04de numpy-1.21.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
155a35f990b2e673cb7b361c83fa2313 numpy-1.21.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
89e2268d8607b6b363337fafde9fe6c9 numpy-1.21.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e13968b5f61a3b2f33d4053da8ceaaf1 numpy-1.21.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
5bede1a84624d538d97513006f97fc06 numpy-1.21.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
351b5115ee56f1b598bfa9b479a2492c numpy-1.21.2-cp38-cp38-win32.whl
8a36334d9d183b1ef3e4d3d23b7d0cb8 numpy-1.21.2-cp38-cp38-win_amd64.whl
b6aee8cf57f84da10b38566bde93056c numpy-1.21.2-cp39-cp39-macosx_10_9_universal2.whl
20beaff42d793cb148621e0230d1b650 numpy-1.21.2-cp39-cp39-macosx_10_9_x86_64.whl
6e348361f3b8b75267dc27f3a6530944 numpy-1.21.2-cp39-cp39-macosx_11_0_arm64.whl
809bcd25dc485f31e2c13903d6ac748e numpy-1.21.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
ff4256d8940c6bdce48364af37f99072 numpy-1.21.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
b8b19e6667e39feef9f7f2e030945199 numpy-1.21.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
eedae53f1929779387476e7842dc5cb3 numpy-1.21.2-cp39-cp39-win32.whl
704f66b7ede6778283c33eea7a5b8b95 numpy-1.21.2-cp39-cp39-win_amd64.whl
8c5d2a0172f6f6861833a355b1bc57b0 numpy-1.21.2-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
55c11984b0a0ae28baa118052983f355 numpy-1.21.2.tar.gz
5638d5dae3ca387be562912312db842e numpy-1.21.2.zip
SHA256
52a664323273c08f3b473548bf87c8145b7513afd63e4ebba8496ecd3853df13 numpy-1.21.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
51a7b9db0a2941434cd930dacaafe0fc9da8f3d6157f9d12f761bbde93f46218 numpy-1.21.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9f2dc79c093f6c5113718d3d90c283f11463d77daa4e83aeeac088ec6a0bda52 numpy-1.21.2-cp37-cp37m-macosx_10_9_x86_64.whl
a55e4d81c4260386f71d22294795c87609164e22b28ba0d435850fbdf82fc0c5 numpy-1.21.2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
426a00b68b0d21f2deb2ace3c6d677e611ad5a612d2c76494e24a562a930c254 numpy-1.21.2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
298156f4d3d46815eaf0fcf0a03f9625fc7631692bd1ad851517ab93c3168fc6 numpy-1.21.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
09858463db6dd9f78b2a1a05c93f3b33d4f65975771e90d2cf7aadb7c2f66edf numpy-1.21.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
805459ad8baaf815883d0d6f86e45b3b0b67d823a8f3fa39b1ed9c45eaf5edf1 numpy-1.21.2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
f545c082eeb09ae678dd451a1b1dbf17babd8a0d7adea02897a76e639afca310 numpy-1.21.2-cp37-cp37m-win32.whl
b160b9a99ecc6559d9e6d461b95c8eec21461b332f80267ad2c10394b9503496 numpy-1.21.2-cp37-cp37m-win_amd64.whl
a5109345f5ce7ddb3840f5970de71c34a0ff7fceb133c9441283bb8250f532a3 numpy-1.21.2-cp38-cp38-macosx_10_9_universal2.whl
209666ce9d4a817e8a4597cd475b71b4878a85fa4b8db41d79fdb4fdee01dde2 numpy-1.21.2-cp38-cp38-macosx_10_9_x86_64.whl
c01b59b33c7c3ba90744f2c695be571a3bd40ab2ba7f3d169ffa6db3cfba614f numpy-1.21.2-cp38-cp38-macosx_11_0_arm64.whl
e42029e184008a5fd3d819323345e25e2337b0ac7f5c135b7623308530209d57 numpy-1.21.2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
7fdc7689daf3b845934d67cb221ba8d250fdca20ac0334fea32f7091b93f00d3 numpy-1.21.2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
550564024dc5ceee9421a86fc0fb378aa9d222d4d0f858f6669eff7410c89bef numpy-1.21.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bf75d5825ef47aa51d669b03ce635ecb84d69311e05eccea083f31c7570c9931 numpy-1.21.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
a9da45b748caad72ea4a4ed57e9cd382089f33c5ec330a804eb420a496fa760f numpy-1.21.2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
e167b9805de54367dcb2043519382be541117503ce99e3291cc9b41ca0a83557 numpy-1.21.2-cp38-cp38-win32.whl
466e682264b14982012887e90346d33435c984b7fead7b85e634903795c8fdb0 numpy-1.21.2-cp38-cp38-win_amd64.whl
dd0e3651d210068d13e18503d75aaa45656eef51ef0b261f891788589db2cc38 numpy-1.21.2-cp39-cp39-macosx_10_9_universal2.whl
92a0ab128b07799dd5b9077a9af075a63467d03ebac6f8a93e6440abfea4120d numpy-1.21.2-cp39-cp39-macosx_10_9_x86_64.whl
fde50062d67d805bc96f1a9ecc0d37bfc2a8f02b937d2c50824d186aa91f2419 numpy-1.21.2-cp39-cp39-macosx_11_0_arm64.whl
640c1ccfd56724f2955c237b6ccce2e5b8607c3bc1cc51d3933b8c48d1da3723 numpy-1.21.2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
5de64950137f3a50b76ce93556db392e8f1f954c2d8207f78a92d1f79aa9f737 numpy-1.21.2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
b342064e647d099ca765f19672696ad50c953cac95b566af1492fd142283580f numpy-1.21.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
30fc68307c0155d2a75ad19844224be0f2c6f06572d958db4e2053f816b859ad numpy-1.21.2-cp39-cp39-win32.whl
b5e8590b9245803c849e09bae070a8e1ff444f45e3f0bed558dd722119eea724 numpy-1.21.2-cp39-cp39-win_amd64.whl
d96a6a7d74af56feb11e9a443150216578ea07b7450f7c05df40eec90af7f4a7 numpy-1.21.2-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
76af194fbc117934ec5bbe2ff15177adbd05aeed23f18ee209ed88edcd777e05 numpy-1.21.2.tar.gz
423216d8afc5923b15df86037c6053bf030d15cc9e3224206ef868c2d63dd6dc numpy-1.21.2.zip
- Python
Published by charris almost 5 years ago
numpy -
NumPy 1.21.1 Release Notes
The NumPy 1.21.1 is maintenance release that fixes bugs discovered after the 1.21.0 release and updates OpenBLAS to v0.3.17 to deal with problems on arm64.
The Python versions supported for this release are 3.7-3.9. The 1.21.x series is compatible with development Python 3.10. Python 3.10 will be officially supported after it is released.
:warning: There are unresolved problems compiling NumPy 1.20.0 with gcc-11.1.
- Optimization level -O3 results in many incorrect warnings when running the tests.
- On some hardware NumPY will hang in an infinite loop.
Contributors
A total of 11 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Bas van Beek
- Charles Harris
- Ganesh Kathiresan
- Gregory R. Lee
- Hugo Defois +
- Kevin Sheppard
- Matti Picus
- Ralf Gommers
- Sayed Adel
- Sebastian Berg
- Thomas J. Fan
Pull requests merged
A total of 26 pull requests were merged for this release.
- #19311: REV,BUG: Replace
NotImplementedwithtyping.Any - #19324: MAINT: Fixed the return-dtype of
ndarray.realandimag - #19330: MAINT: Replace
"dtype[Any]"withdtypein the definiton of... - #19342: DOC: Fix some docstrings that crash pdf generation.
- #19343: MAINT: bump scipy-mathjax
- #19347: BUG: Fix arr.flat.index for large arrays and big-endian machines
- #19348: ENH: add
numpy.f2py.get_includefunction - #19349: BUG: Fix reference count leak in ufunc dtype handling
- #19350: MAINT: Annotate missing attributes of
np.numbersubclasses - #19351: BUG: Fix cast safety and comparisons for zero sized voids
- #19352: BUG: Correct Cython declaration in random
- #19353: BUG: protect against accessing base attribute of a NULL subarray
- #19365: BUG, SIMD: Fix detecting AVX512 features on Darwin
- #19366: MAINT: remove
print()\'s in distutils template handling - #19390: ENH: SIMD architectures to show_config
- #19391: BUG: Do not raise deprecation warning for all nans in unique...
- #19392: BUG: Fix NULL special case in object-to-any cast code
- #19430: MAINT: Use arm64-graviton2 for testing on travis
- #19495: BUILD: update OpenBLAS to v0.3.17
- #19496: MAINT: Avoid unicode characters in division SIMD code comments
- #19499: BUG, SIMD: Fix infinite loop during count non-zero on GCC-11
- #19500: BUG: fix a numpy.npiter leak in npyiter_multi_index_set
- #19501: TST: Fix a
GenericAliastest failure for python 3.9.0 - #19502: MAINT: Start testing with Python 3.10.0b3.
- #19503: MAINT: Add missing dtype overloads for object- and ctypes-based...
- #19510: REL: Prepare for NumPy 1.21.1 release.
Checksums
MD5
d88af78c155cb92ce5535724ed13ed73 numpy-1.21.1-cp37-cp37m-macosx_10_9_x86_64.whl
946e54ec9d174ec90db8ae07a4c4ae2f numpy-1.21.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
84d7f8534fa3ce1a8c2e2eab18e514de numpy-1.21.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
2e256d7862047967f2a7dbff8b8e9d6c numpy-1.21.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4887ff09cc0652f3f1d9e0f40d1add63 numpy-1.21.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
bbe00679ce0ae484bb46776f64e00e32 numpy-1.21.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
b8eff5ba6bb920f3e65409abcfe7a55e numpy-1.21.1-cp37-cp37m-win32.whl
d6ab781ad4537a818663a37392bdf647 numpy-1.21.1-cp37-cp37m-win_amd64.whl
f974f7a90567e082b16817e1218eb059 numpy-1.21.1-cp38-cp38-macosx_10_9_universal2.whl
37fb814042195516db4c5eedc23f65ef numpy-1.21.1-cp38-cp38-macosx_10_9_x86_64.whl
2840e0ed51c8ebfb6fded7f1acfed810 numpy-1.21.1-cp38-cp38-macosx_11_0_arm64.whl
d87ed548450f324a3a6a3a230991e90a numpy-1.21.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
e5e0e271fb18986887920f24b9ad8ec3 numpy-1.21.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
f060727f195388df3f3c1e2c43a8d247 numpy-1.21.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
26b0cc05d6f59241f401c16a6fe9300e numpy-1.21.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
dac4489fdaeffd24d402a555e61b4087 numpy-1.21.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
c248a8f07bb458660274eab769dcc1e2 numpy-1.21.1-cp38-cp38-win32.whl
52386872b66b108de80b5447d0e3f6b1 numpy-1.21.1-cp38-cp38-win_amd64.whl
1a730aa7303421f31c2bca5a343010bb numpy-1.21.1-cp39-cp39-macosx_10_9_universal2.whl
141701393752d472456d4a15f9a554e4 numpy-1.21.1-cp39-cp39-macosx_10_9_x86_64.whl
33a9c001675f708aebc06f0a653378c1 numpy-1.21.1-cp39-cp39-macosx_11_0_arm64.whl
6b9482c5090f532285313ad2cf48d319 numpy-1.21.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
94fa7591ad4e51a85cb17bcec170b986 numpy-1.21.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
f580b2ce2fb9cead163bab3f1d88fba7 numpy-1.21.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
238930d877b5d8a012b5b1bbc994ebb1 numpy-1.21.1-cp39-cp39-win32.whl
4014c63ac2a1c3e1df95f76feb14816e numpy-1.21.1-cp39-cp39-win_amd64.whl
7cff22c1a04fdee710d38bd9468edbf1 numpy-1.21.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
033726e7ec59eea6b23307dcec35a37b numpy-1.21.1.tar.gz
1d016e05851a4ba85307f3246eb569aa numpy-1.21.1.zip
SHA256
38e8648f9449a549a7dfe8d8755a5979b45b3538520d1e735637ef28e8c2dc50 numpy-1.21.1-cp37-cp37m-macosx_10_9_x86_64.whl
fd7d7409fa643a91d0a05c7554dd68aa9c9bb16e186f6ccfe40d6e003156e33a numpy-1.21.1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
a75b4498b1e93d8b700282dc8e655b8bd559c0904b3910b144646dbbbc03e062 numpy-1.21.1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
1412aa0aec3e00bc23fbb8664d76552b4efde98fb71f60737c83efbac24112f1 numpy-1.21.1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e46ceaff65609b5399163de5893d8f2a82d3c77d5e56d976c8b5fb01faa6b671 numpy-1.21.1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
c6a2324085dd52f96498419ba95b5777e40b6bcbc20088fddb9e8cbb58885e8e numpy-1.21.1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
73101b2a1fef16602696d133db402a7e7586654682244344b8329cdcbbb82172 numpy-1.21.1-cp37-cp37m-win32.whl
7a708a79c9a9d26904d1cca8d383bf869edf6f8e7650d85dbc77b041e8c5a0f8 numpy-1.21.1-cp37-cp37m-win_amd64.whl
95b995d0c413f5d0428b3f880e8fe1660ff9396dcd1f9eedbc311f37b5652e16 numpy-1.21.1-cp38-cp38-macosx_10_9_universal2.whl
635e6bd31c9fb3d475c8f44a089569070d10a9ef18ed13738b03049280281267 numpy-1.21.1-cp38-cp38-macosx_10_9_x86_64.whl
4a3d5fb89bfe21be2ef47c0614b9c9c707b7362386c9a3ff1feae63e0267ccb6 numpy-1.21.1-cp38-cp38-macosx_11_0_arm64.whl
8a326af80e86d0e9ce92bcc1e65c8ff88297de4fa14ee936cb2293d414c9ec63 numpy-1.21.1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
791492091744b0fe390a6ce85cc1bf5149968ac7d5f0477288f78c89b385d9af numpy-1.21.1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
0318c465786c1f63ac05d7c4dbcecd4d2d7e13f0959b01b534ea1e92202235c5 numpy-1.21.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9a513bd9c1551894ee3d31369f9b07460ef223694098cf27d399513415855b68 numpy-1.21.1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
91c6f5fc58df1e0a3cc0c3a717bb3308ff850abdaa6d2d802573ee2b11f674a8 numpy-1.21.1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
978010b68e17150db8765355d1ccdd450f9fc916824e8c4e35ee620590e234cd numpy-1.21.1-cp38-cp38-win32.whl
9749a40a5b22333467f02fe11edc98f022133ee1bfa8ab99bda5e5437b831214 numpy-1.21.1-cp38-cp38-win_amd64.whl
d7a4aeac3b94af92a9373d6e77b37691b86411f9745190d2c351f410ab3a791f numpy-1.21.1-cp39-cp39-macosx_10_9_universal2.whl
d9e7912a56108aba9b31df688a4c4f5cb0d9d3787386b87d504762b6754fbb1b numpy-1.21.1-cp39-cp39-macosx_10_9_x86_64.whl
25b40b98ebdd272bc3020935427a4530b7d60dfbe1ab9381a39147834e985eac numpy-1.21.1-cp39-cp39-macosx_11_0_arm64.whl
8a92c5aea763d14ba9d6475803fc7904bda7decc2a0a68153f587ad82941fec1 numpy-1.21.1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
05a0f648eb28bae4bcb204e6fd14603de2908de982e761a2fc78efe0f19e96e1 numpy-1.21.1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
f01f28075a92eede918b965e86e8f0ba7b7797a95aa8d35e1cc8821f5fc3ad6a numpy-1.21.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
88c0b89ad1cc24a5efbb99ff9ab5db0f9a86e9cc50240177a571fbe9c2860ac2 numpy-1.21.1-cp39-cp39-win32.whl
01721eefe70544d548425a07c80be8377096a54118070b8a62476866d5208e33 numpy-1.21.1-cp39-cp39-win_amd64.whl
2d4d1de6e6fb3d28781c73fbde702ac97f03d79e4ffd6598b880b2d95d62ead4 numpy-1.21.1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
504ced5d900fd5724c74ebf5dbb03572c04074bec9baa24b5646c66a2450e654 numpy-1.21.1.tar.gz
dff4af63638afcc57a3dfb9e4b26d434a7a602d225b42d746ea7fe2edf1342fd numpy-1.21.1.zip
- Python
Published by charris almost 5 years ago
numpy -
NumPy 1.21.0 Release Notes
The NumPy 1.21.0 release highlights are
- continued SIMD work covering more functions and platforms,
- initial work on the new dtype infrastructure and casting,
- universal2 wheels for Python 3.8 and Python 3.9 on Mac,
- improved documentation,
- improved annotations,
- new
PCG64DXSMbitgenerator for random numbers.
In addition there are the usual large number of bug fixes and other improvements.
The Python versions supported for this release are 3.7-3.9. Official support for Python 3.10 will be added when it is released.
:warning: Warning: there are unresolved problems compiling NumPy 1.21.0 with gcc-11.1 .
- Optimization level
-O3results in many wrong warnings when running the tests. - On some hardware NumPy will hang in an infinite loop.
New functions
Add PCG64DXSM BitGenerator
Uses of the PCG64 BitGenerator in a massively-parallel context have
been shown to have statistical weaknesses that were not apparent at the
first release in numpy 1.17. Most users will never observe this weakness
and are safe to continue to use PCG64. We have introduced a new
PCG64DXSM BitGenerator that will eventually become the new default
BitGenerator implementation used by default_rng in future releases.
PCG64DXSM solves the statistical weakness while preserving the
performance and the features of PCG64.
See upgrading-pcg64 for more details.
(gh-18906)
Expired deprecations
The
shapeargumentnumpy.unravel_indexcannot be passed asdimskeyword argument anymore. (Was deprecated in NumPy 1.16.)(gh-17900)
The function
PyUFunc_GenericFunctionhas been disabled. It was deprecated in NumPy 1.19. Users should call the ufunc directly using the Python API.(gh-18697)
The function
PyUFunc_SetUsesArraysAsDatahas been disabled. It was deprecated in NumPy 1.19.(gh-18697)
The class
PolyBasehas been removed (deprecated in numpy 1.9.0). Please use the abstractABCPolyBaseclass instead.(gh-18963)
The unused
PolyErrorandPolyDomainErrorexceptions are removed.(gh-18963)
Deprecations
The .dtype attribute must return a dtype
A DeprecationWarning is now given if the .dtype attribute of an
object passed into np.dtype or as a dtype=obj argument is not a
dtype. NumPy will stop attempting to recursively coerce the result of
.dtype.
(gh-13578)
Inexact matches for numpy.convolve and numpy.correlate are deprecated
numpy.convolve and numpy.correlate now
emit a warning when there are case insensitive and/or inexact matches
found for mode argument in the functions. Pass full "same",
"valid", "full" strings instead of "s", "v", "f" for the
mode argument.
(gh-17492)
np.typeDict has been formally deprecated
np.typeDict is a deprecated alias for np.sctypeDict and has been so
for over 14 years
(6689502).
A deprecation warning will now be issued whenever getting np.typeDict.
(gh-17586)
Exceptions will be raised during array-like creation
When an object raised an exception during access of the special
attributes __array__ or __array_interface__, this exception was
usually ignored. A warning is now given when the exception is anything
but AttributeError. To silence the warning, the type raising the
exception has to be adapted to raise an AttributeError.
(gh-19001)
Four ndarray.ctypes methods have been deprecated
Four methods of the ndarray.ctypes object have been
deprecated, as they are (undocumentated) implementation artifacts of
their respective properties.
The methods in question are:
-
_ctypes.get_data(use_ctypes.datainstead) -
_ctypes.get_shape(use_ctypes.shapeinstead) -
_ctypes.get_strides(use_ctypes.stridesinstead) -
_ctypes.get_as_parameter(use_ctypes._as_parameter_instead)
(gh-19031)
Expired deprecations
The
shapeargumentnumpy.unravel_index] cannot be passed asdimskeyword argument anymore. (Was deprecated in NumPy 1.16.)(gh-17900)
The function
PyUFunc_GenericFunctionhas been disabled. It was deprecated in NumPy 1.19. Users should call the ufunc directly using the Python API.(gh-18697)
The function
PyUFunc_SetUsesArraysAsDatahas been disabled. It was deprecated in NumPy 1.19.(gh-18697)
Remove deprecated PolyBase and unused PolyError and PolyDomainError
The class PolyBase has been removed (deprecated in numpy 1.9.0).
Please use the abstract ABCPolyBase class instead.
Furthermore, the unused PolyError and PolyDomainError exceptions are
removed from the numpy.polynomial.
(gh-18963)
Compatibility notes
Error type changes in universal functions
The universal functions may now raise different errors on invalid input
in some cases. The main changes should be that a RuntimeError was
replaced with a more fitting TypeError. When multiple errors were
present in the same call, NumPy may now raise a different one.
(gh-15271)
__array_ufunc__ argument validation
NumPy will now partially validate arguments before calling
__array_ufunc__. Previously, it was possible to pass on invalid
arguments (such as a non-existing keyword argument) when dispatch was
known to occur.
(gh-15271)
__array_ufunc__ and additional positional arguments
Previously, all positionally passed arguments were checked for
__array_ufunc__ support. In the case of reduce, accumulate, and
reduceat all arguments may be passed by position. This means that when
they were passed by position, they could previously have been asked to
handle the ufunc call via __array_ufunc__. Since this depended on the
way the arguments were passed (by position or by keyword), NumPy will
now only dispatch on the input and output array. For example, NumPy will
never dispatch on the where array in a reduction such as
np.add.reduce.
(gh-15271)
Validate input values in Generator.uniform
Checked that high - low >= 0 in np.random.Generator.uniform. Raises
ValueError if low > high. Previously out-of-order inputs were
accepted and silently swapped, so that if low > high, the value
generated was high + (low - high) * random().
(gh-17921)
/usr/include removed from default include paths
The default include paths when building a package with numpy.distutils
no longer include /usr/include. This path is normally added by the
compiler, and hardcoding it can be problematic. In case this causes a
problem, please open an issue. A workaround is documented in PR 18658.
(gh-18658)
Changes to comparisons with dtype=...
When the dtype= (or signature) arguments to comparison ufuncs
(equal, less, etc.) is used, this will denote the desired output
dtype in the future. This means that:
np.equal(2, 3, dtype=object)
will give a FutureWarning that it will return an object array in the
future, which currently happens for:
np.equal(None, None, dtype=object)
due to the fact that np.array(None) is already an object array. (This
also happens for some other dtypes.)
Since comparisons normally only return boolean arrays, providing any
other dtype will always raise an error in the future and give a
DeprecationWarning now.
(gh-18718)
Changes to dtype and signature arguments in ufuncs
The universal function arguments dtype and signature which are also
valid for reduction such as np.add.reduce (which is the implementation
for np.sum) will now issue a warning when the dtype provided is not
a \"basic\" dtype.
NumPy almost always ignored metadata, byteorder or time units on these inputs. NumPy will now always ignore it and raise an error if byteorder or time unit changed. The following are the most important examples of changes which will give the error. In some cases previously the information stored was not ignored, in all of these an error is now raised:
# Previously ignored the byte-order (affect if non-native)
np.add(3, 5, dtype=">i32")
# The biggest impact is for timedelta or datetimes:
arr = np.arange(10, dtype="m8[s]")
# The examples always ignored the time unit "ns":
np.add(arr, arr, dtype="m8[ns]")
np.maximum.reduce(arr, dtype="m8[ns]")
# The following previously did use "ns" (as opposed to `arr.dtype`)
np.add(3, 5, dtype="m8[ns]") # Now return generic time units
np.maximum(arr, arr, dtype="m8[ns]") # Now returns "s" (from `arr`)
The same applies for functions like np.sum which use these internally.
This change is necessary to achieve consistent handling within NumPy.
If you run into these, in most cases pass for example
dtype=np.timedelta64 which clearly denotes a general timedelta64
without any unit or byte-order defined. If you need to specify the
output dtype precisely, you may do so by either casting the inputs or
providing an output array using out=.
NumPy may choose to allow providing an exact output dtype here in the
future, which would be preceded by a FutureWarning.
(gh-18718)
Ufunc signature=... and dtype= generalization and casting
The behaviour for np.ufunc(1.0, 1.0, signature=...) or
np.ufunc(1.0, 1.0, dtype=...) can now yield different loops in 1.21
compared to 1.20 because of changes in promotion. When signature was
previously used, the casting check on inputs was relaxed, which could
lead to downcasting inputs unsafely especially if combined with
casting="unsafe".
Casting is now guaranteed to be safe. If a signature is only partially
provided, for example using signature=("float64", None, None), this
could lead to no loop being found (an error). In that case, it is
necessary to provide the complete signature to enforce casting the
inputs. If dtype="float64" is used or only outputs are set (e.g.
signature=(None, None, "float64") the is unchanged. We expect that
very few users are affected by this change.
Further, the meaning of dtype="float64" has been slightly modified and
now strictly enforces only the correct output (and not input) DTypes.
This means it is now always equivalent to:
signature=(None, None, "float64")
(If the ufunc has two inputs and one output). Since this could lead to no loop being found in some cases, NumPy will normally also search for the loop:
signature=("float64", "float64", "float64")
if the first search failed. In the future, this behaviour may be
customized to achieve the expected results for more complex ufuncs. (For
some universal functions such as np.ldexp inputs can have different
DTypes.)
(gh-18880)
Distutils forces strict floating point model on clang
NumPy distutils will now always add the -ffp-exception-behavior=strict
compiler flag when compiling with clang. Clang defaults to a non-strict
version, which allows the compiler to generate code that does not set
floating point warnings/errors correctly.
(gh-19049)
C API changes
Use of ufunc->type_resolver and \"type tuple\"
NumPy now normalizes the \"type tuple\" argument to the type resolver
functions before calling it. Note that in the use of this type resolver
is legacy behaviour and NumPy will not do so when possible. Calling
ufunc->type_resolver or PyUFunc_DefaultTypeResolver is strongly
discouraged and will now enforce a normalized type tuple if done. Note
that this does not affect providing a type resolver, which is expected
to keep working in most circumstances. If you have an unexpected
use-case for calling the type resolver, please inform the NumPy
developers so that a solution can be found.
(gh-18718)
New Features
Added a mypy plugin for handling platform-specific numpy.number precisions
A mypy plugin is now available for
automatically assigning the (platform-dependent) precisions of certain
numpy.number subclasses, including the likes of
numpy.int_, numpy.intp and
numpy.longlong. See the documentation on
scalar types <arrays.scalars.built-in>
for a comprehensive overview of the affected classes.
Note that while usage of the plugin is completely optional, without it
the precision of above-mentioned classes will be inferred as
typing.Any.
To enable the plugin, one must add it to their mypy configuration file:
{.ini}
[mypy]
plugins = numpy.typing.mypy_plugin
(gh-17843)
Let the mypy plugin manage extended-precision numpy.number subclasses
The mypy plugin, introduced in
numpy/numpy#17843, has
been expanded: the plugin now removes annotations for platform-specific
extended-precision types that are not available to the platform in
question. For example, it will remove numpy.float128
when not available.
Without the plugin all extended-precision types will, as far as mypy is concerned, be available on all platforms.
To enable the plugin, one must add it to their mypy configuration file:
{.ini}
[mypy]
plugins = numpy.typing.mypy_plugin
cn
(gh-18322)
New min_digits argument for printing float values
A new min_digits argument has been added to the dragon4 float printing
functions numpy.format_float_positional and
numpy.format_float_scientific. This kwd guarantees
that at least the given number of digits will be printed when printing
in unique=True mode, even if the extra digits are unnecessary to
uniquely specify the value. It is the counterpart to the precision
argument which sets the maximum number of digits to be printed. When
unique=False in fixed precision mode, it has no effect and the precision
argument fixes the number of digits.
(gh-18629)
f2py now recognizes Fortran abstract interface blocks
numpy.f2py can now parse abstract interface blocks.
(gh-18695)
BLAS and LAPACK configuration via environment variables
Autodetection of installed BLAS and LAPACK libraries can be bypassed by
using the NPY_BLAS_LIBS and NPY_LAPACK_LIBS environment variables.
Instead, the link flags in these environment variables will be used
directly, and the language is assumed to be F77. This is especially
useful in automated builds where the BLAS and LAPACK that are installed
are known exactly. A use case is replacing the actual implementation at
runtime via stub library links.
If NPY_CBLAS_LIBS is set (optional in addition to NPY_BLAS_LIBS),
this will be used as well, by defining HAVE_CBLAS and appending the
environment variable content to the link flags.
(gh-18737)
A runtime-subcriptable alias has been added for ndarray
numpy.typing.NDArray has been added, a runtime-subscriptable alias for
np.ndarray[Any, np.dtype[~Scalar]]. The new type alias can be used for
annotating arrays with a given dtype and unspecified shape.
NumPy does not support the annotating of array shapes as of 1.21,
this is expected to change in the future though (see
646{.interpreted-text role="pep"}).
Examples
``` {.python}
import numpy as np import numpy.typing as npt
print(npt.NDArray) numpy.ndarray[typing.Any, numpy.dtype[~ScalarType]]
print(npt.NDArray[np.float64]) numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]]
NDArrayInt = npt.NDArray[np.int_] a: NDArrayInt = np.arange(10)
def func(a: npt.ArrayLike) -> npt.NDArray[Any]: ... return np.array(a) ```
(gh-18935)
Improvements
Arbitrary period option for numpy.unwrap
The size of the interval over which phases are unwrapped is no longer
restricted to 2 * pi. This is especially useful for unwrapping
degrees, but can also be used for other intervals.
``` {.python}
phasedeg = np.mod(np.linspace(0,720,19), 360) - 180 phasedeg array([-180., -140., -100., -60., -20., 20., 60., 100., 140., -180., -140., -100., -60., -20., 20., 60., 100., 140., -180.])
unwrap(phase_deg, period=360) array([-180., -140., -100., -60., -20., 20., 60., 100., 140., 180., 220., 260., 300., 340., 380., 420., 460., 500., 540.]) ```
(gh-16987)
np.unique now returns single NaN
When np.unique operated on an array with multiple NaN entries, its
return included a NaN for each entry that was NaN in the original
array. This is now improved such that the returned array contains just
one NaN as the last element.
Also for complex arrays all NaN values are considered equivalent (no
matter whether the NaN is in the real or imaginary part). As the
representant for the returned array the smallest one in the
lexicographical order is chosen - see np.sort for how the
lexicographical order is defined for complex arrays.
(gh-18070)
Generator.rayleigh and Generator.geometric performance improved
The performance of Rayleigh and geometric random variate generation in
Generator has improved. These are both transformation of exponential
random variables and the slow log-based inverse cdf transformation has
been replaced with the Ziggurat-based exponential variate generator.
This change breaks the stream of variates generated when variates from either of these distributions are produced.
(gh-18666)
Placeholder annotations have been improved
All placeholder annotations, that were previously annotated as
typing.Any, have been improved. Where appropiate they have been
replaced with explicit function definitions, classes or other
miscellaneous objects.
(gh-18934)
Performance improvements
Improved performance in integer division of NumPy arrays
Integer division of NumPy arrays now uses
libdivide when the divisor is a constant. With
the usage of libdivide and other minor optimizations, there is a large
speedup. The // operator and np.floor_divide makes use of the new
changes.
(gh-17727)
Improve performance of np.save and np.load for small arrays
np.save is now a lot faster for small arrays.
np.load is also faster for small arrays, but only when serializing
with a version >= (3, 0).
Both are done by removing checks that are only relevant for Python 2, while still maintaining compatibility with arrays which might have been created by Python 2.
(gh-18657)
Changes
numpy.piecewise output class now matches the input class
When numpy.ndarray subclasses are used on input to
numpy.piecewise, they are passed on to the functions.
The output will now be of the same subclass as well.
(gh-18110)
Enable Accelerate Framework
With the release of macOS 11.3, several different issues that numpy was encountering when using Accelerate Framework\'s implementation of BLAS and LAPACK should be resolved. This change enables the Accelerate Framework as an option on macOS. If additional issues are found, please file a bug report against Accelerate using the developer feedback assistant tool (https://developer.apple.com/bug-reporting/). We intend to address issues promptly and plan to continue supporting and updating our BLAS and LAPACK libraries.
(gh-18874)
Checksums
MD5
e4b31fd5cb97e50238b3dbb3487b2cb7 numpy-1.21.0-cp37-cp37m-macosx_10_9_x86_64.whl
111e09f3fddd8e14540cf56493dd786a numpy-1.21.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
e2fc116043d1b91c627f3c8884151f33 numpy-1.21.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
82e267da77628b96cdf8832e475f6ef3 numpy-1.21.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
baa416fe77b840a19556f5d808eb3165 numpy-1.21.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
aba24836f51bb0a855434c41de122e3d numpy-1.21.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
aa9f94fa6eabfa193902676825934196 numpy-1.21.0-cp37-cp37m-win32.whl
6d771c7670b95adb62627e383c883804 numpy-1.21.0-cp37-cp37m-win_amd64.whl
e6d77cae6054b738603415faf9cb4358 numpy-1.21.0-cp38-cp38-macosx_10_9_universal2.whl
9589cfe5a22f54956101b7131be5cabd numpy-1.21.0-cp38-cp38-macosx_10_9_x86_64.whl
5faa22dffa53cfe7d1d40d48aa817670 numpy-1.21.0-cp38-cp38-macosx_11_0_arm64.whl
b81545a2924a201817d433c3bad0bc7d numpy-1.21.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
3e60589e3325a3583880bf6998cfaca6 numpy-1.21.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
baf409eb08b7462899d45c42a7c1d854 numpy-1.21.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4f311de7973503dde6ad3915f158fd63 numpy-1.21.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
1a79926ad8d3dda573f5c2d8d06e0e38 numpy-1.21.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
0b39eb396a1d5983f6eb2075a867a1a6 numpy-1.21.0-cp38-cp38-win32.whl
5c8c3e94f5a55123b1a0d3a4df14b505 numpy-1.21.0-cp38-cp38-win_amd64.whl
c6e9fa30e82e3ca1551d2f048d4a1dc4 numpy-1.21.0-cp39-cp39-macosx_10_9_universal2.whl
96d7d3a438296bfc68b819b3624936a5 numpy-1.21.0-cp39-cp39-macosx_10_9_x86_64.whl
31cf2152b4151912be9d165633a7d8eb numpy-1.21.0-cp39-cp39-macosx_11_0_arm64.whl
e49cd2db6ec712b8b1d516154b5a034a numpy-1.21.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
c10e13fef152ed1c64151c8b6f6d0799 numpy-1.21.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
a627acdfcd302807cf8592d5bd958d35 numpy-1.21.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e2287cd16300b363d376b661646fded9 numpy-1.21.0-cp39-cp39-win32.whl
29d1bf596981d930bb1c95c944b4b3d8 numpy-1.21.0-cp39-cp39-win_amd64.whl
42d05fcbab6137a404be36f27fc254f0 numpy-1.21.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
003e34bd2cba06e7fe299a864964ea24 numpy-1.21.0.tar.gz
930ebfdffd10fed701a7823691f02983 numpy-1.21.0.zip
SHA256
d5caa946a9f55511e76446e170bdad1d12d6b54e17a2afe7b189112ed4412bb8 numpy-1.21.0-cp37-cp37m-macosx_10_9_x86_64.whl
ac4fd578322842dbda8d968e3962e9f22e862b6ec6e3378e7415625915e2da4d numpy-1.21.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
598fe100b2948465cf3ed64b1a326424b5e4be2670552066e17dfaa67246011d numpy-1.21.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
7c55407f739f0bfcec67d0df49103f9333edc870061358ac8a8c9e37ea02fcd2 numpy-1.21.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
75579acbadbf74e3afd1153da6177f846212ea2a0cc77de53523ae02c9256513 numpy-1.21.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
cc367c86eb87e5b7c9592935620f22d13b090c609f1b27e49600cd033b529f54 numpy-1.21.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
d89b0dc7f005090e32bb4f9bf796e1dcca6b52243caf1803fdd2b748d8561f63 numpy-1.21.0-cp37-cp37m-win32.whl
eda2829af498946c59d8585a9fd74da3f810866e05f8df03a86f70079c7531dd numpy-1.21.0-cp37-cp37m-win_amd64.whl
1a784e8ff7ea2a32e393cc53eb0003eca1597c7ca628227e34ce34eb11645a0e numpy-1.21.0-cp38-cp38-macosx_10_9_universal2.whl
bba474a87496d96e61461f7306fba2ebba127bed7836212c360f144d1e72ac54 numpy-1.21.0-cp38-cp38-macosx_10_9_x86_64.whl
fd0a359c1c17f00cb37de2969984a74320970e0ceef4808c32e00773b06649d9 numpy-1.21.0-cp38-cp38-macosx_11_0_arm64.whl
e4d5a86a5257843a18fb1220c5f1c199532bc5d24e849ed4b0289fb59fbd4d8f numpy-1.21.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
620732f42259eb2c4642761bd324462a01cdd13dd111740ce3d344992dd8492f numpy-1.21.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
b9205711e5440954f861ceeea8f1b415d7dd15214add2e878b4d1cf2bcb1a914 numpy-1.21.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ad09f55cc95ed8d80d8ab2052f78cc21cb231764de73e229140d81ff49d8145e numpy-1.21.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
a1f2fb2da242568af0271455b89aee0f71e4e032086ee2b4c5098945d0e11cf6 numpy-1.21.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
e58ddb53a7b4959932f5582ac455ff90dcb05fac3f8dcc8079498d43afbbde6c numpy-1.21.0-cp38-cp38-win32.whl
d2910d0a075caed95de1a605df00ee03b599de5419d0b95d55342e9a33ad1fb3 numpy-1.21.0-cp38-cp38-win_amd64.whl
a290989cd671cd0605e9c91a70e6df660f73ae87484218e8285c6522d29f6e38 numpy-1.21.0-cp39-cp39-macosx_10_9_universal2.whl
3537b967b350ad17633b35c2f4b1a1bbd258c018910b518c30b48c8e41272717 numpy-1.21.0-cp39-cp39-macosx_10_9_x86_64.whl
ccc6c650f8700ce1e3a77668bb7c43e45c20ac06ae00d22bdf6760b38958c883 numpy-1.21.0-cp39-cp39-macosx_11_0_arm64.whl
709884863def34d72b183d074d8ba5cfe042bc3ff8898f1ffad0209161caaa99 numpy-1.21.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
bebab3eaf0641bba26039fb0b2c5bf9b99407924b53b1ea86e03c32c64ef5aef numpy-1.21.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
cf680682ad0a3bef56dae200dbcbac2d57294a73e5b0f9864955e7dd7c2c2491 numpy-1.21.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d95d16204cd51ff1a1c8d5f9958ce90ae190be81d348b514f9be39f878b8044a numpy-1.21.0-cp39-cp39-win32.whl
2ba579dde0563f47021dcd652253103d6fd66165b18011dce1a0609215b2791e numpy-1.21.0-cp39-cp39-win_amd64.whl
3c40e6b860220ed862e8097b8f81c9af6d7405b723f4a7af24a267b46f90e461 numpy-1.21.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
b662c841b29848c04d9134f31dbaa7d4c8e673f45bb3a5f28d02f49c424d558a numpy-1.21.0.tar.gz
e80fe25cba41c124d04c662f33f6364909b985f2eb5998aaa5ae4b9587242cce numpy-1.21.0.zip
- Python
Published by charris almost 5 years ago
numpy -
NumPy 1.21.0 Release Notes
The NumPy 1.21.0 release highlights are
- continued SIMD work covering more functions and platforms,
- initial work on the new dtype infrastructure and casting,
- universal2 wheels for Python 3.8 and Python 3.9 on Mac,
- improved documentation,
- improved annotations,
- new
PCG64DXSMbitgenerator for random numbers.
In addition there are the usual large number of bug fixes and other improvements.
The Python versions supported for this release are 3.7-3.9. Official support for Python 3.10 will be added when it is released.
New functions
Add PCG64DXSM BitGenerator
Uses of the PCG64 BitGenerator in a massively-parallel context have
been shown to have statistical weaknesses that were not apparent at the
first release in numpy 1.17. Most users will never observe this weakness
and are safe to continue to use PCG64. We have introduced a new
PCG64DXSM BitGenerator that will eventually become the new default
BitGenerator implementation used by default_rng in future releases.
PCG64DXSM solves the statistical weakness while preserving the
performance and the features of PCG64.
See upgrading-pcg64 for more details.
(gh-18906)
Expired deprecations
The
shapeargumentnumpy.unravel_indexcannot be passed asdimskeyword argument anymore. (Was deprecated in NumPy 1.16.)(gh-17900)
The function
PyUFunc_GenericFunctionhas been disabled. It was deprecated in NumPy 1.19. Users should call the ufunc directly using the Python API.(gh-18697)
The function
PyUFunc_SetUsesArraysAsDatahas been disabled. It was deprecated in NumPy 1.19.(gh-18697)
The class
PolyBasehas been removed (deprecated in numpy 1.9.0). Please use the abstractABCPolyBaseclass instead.(gh-18963)
The unused
PolyErrorandPolyDomainErrorexceptions are removed.(gh-18963)
Deprecations
Inexact matches for numpy.convolve and numpy.correlate are deprecated
numpy.convolve and numpy.correlate now
emit a warning when there are case insensitive and/or inexact matches
found for mode argument in the functions. Pass full "same",
"valid", "full" strings instead of "s", "v", "f" for the
mode argument.
(gh-17492)
np.typeDict has been formally deprecated
np.typeDict is a deprecated alias for np.sctypeDict and has been so
for over 14 years
(6689502).
A deprecation warning will now be issued whenever getting np.typeDict.
(gh-17586)
Exceptions will be raised during array-like creation
When an object raised an exception during access of the special
attributes __array__ or __array_interface__, this exception was
usually ignored. A warning is now given when the exception is anything
but AttributeError. To silence the warning, the type raising the
exception has to be adapted to raise an AttributeError.
(gh-19001)
Four ndarray.ctypes methods have been deprecated
Four methods of the ndarray.ctypes object have been
deprecated, as they are (undocumentated) implementation artifacts of
their respective properties.
The methods in question are:
-
_ctypes.get_data(use_ctypes.datainstead) -
_ctypes.get_shape(use_ctypes.shapeinstead) -
_ctypes.get_strides(use_ctypes.stridesinstead) -
_ctypes.get_as_parameter(use_ctypes._as_parameter_instead)
(gh-19031)
Expired deprecations
The
shapeargumentnumpy.unravel_index] cannot be passed asdimskeyword argument anymore. (Was deprecated in NumPy 1.16.)(gh-17900)
The function
PyUFunc_GenericFunctionhas been disabled. It was deprecated in NumPy 1.19. Users should call the ufunc directly using the Python API.(gh-18697)
The function
PyUFunc_SetUsesArraysAsDatahas been disabled. It was deprecated in NumPy 1.19.(gh-18697)
Remove deprecated PolyBase and unused PolyError and PolyDomainError
The class PolyBase has been removed (deprecated in numpy 1.9.0).
Please use the abstract ABCPolyBase class instead.
Furthermore, the unused PolyError and PolyDomainError exceptions are
removed from the numpy.polynomial.
(gh-18963)
Compatibility notes
Error type changes in universal functions
The universal functions may now raise different errors on invalid input
in some cases. The main changes should be that a RuntimeError was
replaced with a more fitting TypeError. When multiple errors were
present in the same call, NumPy may now raise a different one.
(gh-15271)
__array_ufunc__ argument validation
NumPy will now partially validate arguments before calling
__array_ufunc__. Previously, it was possible to pass on invalid
arguments (such as a non-existing keyword argument) when dispatch was
known to occur.
(gh-15271)
__array_ufunc__ and additional positional arguments
Previously, all positionally passed arguments were checked for
__array_ufunc__ support. In the case of reduce, accumulate, and
reduceat all arguments may be passed by position. This means that when
they were passed by position, they could previously have been asked to
handle the ufunc call via __array_ufunc__. Since this depended on the
way the arguments were passed (by position or by keyword), NumPy will
now only dispatch on the input and output array. For example, NumPy will
never dispatch on the where array in a reduction such as
np.add.reduce.
(gh-15271)
Validate input values in Generator.uniform
Checked that high - low >= 0 in np.random.Generator.uniform. Raises
ValueError if low > high. Previously out-of-order inputs were
accepted and silently swapped, so that if low > high, the value
generated was high + (low - high) * random().
(gh-17921)
/usr/include removed from default include paths
The default include paths when building a package with numpy.distutils
no longer include /usr/include. This path is normally added by the
compiler, and hardcoding it can be problematic. In case this causes a
problem, please open an issue. A workaround is documented in PR 18658.
(gh-18658)
Changes to comparisons with dtype=...
When the dtype= (or signature) arguments to comparison ufuncs
(equal, less, etc.) is used, this will denote the desired output
dtype in the future. This means that:
np.equal(2, 3, dtype=object)
will give a FutureWarning that it will return an object array in the
future, which currently happens for:
np.equal(None, None, dtype=object)
due to the fact that np.array(None) is already an object array. (This
also happens for some other dtypes.)
Since comparisons normally only return boolean arrays, providing any
other dtype will always raise an error in the future and give a
DeprecationWarning now.
(gh-18718)
Changes to dtype and signature arguments in ufuncs
The universal function arguments dtype and signature which are also
valid for reduction such as np.add.reduce (which is the implementation
for np.sum) will now issue a warning when the dtype provided is not
a \"basic\" dtype.
NumPy almost always ignored metadata, byteorder or time units on these inputs. NumPy will now always ignore it and raise an error if byteorder or time unit changed. The following are the most important examples of changes which will give the error. In some cases previously the information stored was not ignored, in all of these an error is now raised:
# Previously ignored the byte-order (affect if non-native)
np.add(3, 5, dtype=">i32")
# The biggest impact is for timedelta or datetimes:
arr = np.arange(10, dtype="m8[s]")
# The examples always ignored the time unit "ns":
np.add(arr, arr, dtype="m8[ns]")
np.maximum.reduce(arr, dtype="m8[ns]")
# The following previously did use "ns" (as opposed to `arr.dtype`)
np.add(3, 5, dtype="m8[ns]") # Now return generic time units
np.maximum(arr, arr, dtype="m8[ns]") # Now returns "s" (from `arr`)
The same applies for functions like np.sum which use these internally.
This change is necessary to achieve consistent handling within NumPy.
If you run into these, in most cases pass for example
dtype=np.timedelta64 which clearly denotes a general timedelta64
without any unit or byte-order defined. If you need to specify the
output dtype precisely, you may do so by either casting the inputs or
providing an output array using out=.
NumPy may choose to allow providing an exact output dtype here in the
future, which would be preceded by a FutureWarning.
(gh-18718)
Ufunc signature=... and dtype= generalization and casting
The behaviour for np.ufunc(1.0, 1.0, signature=...) or
np.ufunc(1.0, 1.0, dtype=...) can now yield different loops in 1.21
compared to 1.20 because of changes in promotion. When signature was
previously used, the casting check on inputs was relaxed, which could
lead to downcasting inputs unsafely especially if combined with
casting="unsafe".
Casting is now guaranteed to be safe. If a signature is only partially
provided, for example using signature=("float64", None, None), this
could lead to no loop being found (an error). In that case, it is
necessary to provide the complete signature to enforce casting the
inputs. If dtype="float64" is used or only outputs are set (e.g.
signature=(None, None, "float64") the is unchanged. We expect that
very few users are affected by this change.
Further, the meaning of dtype="float64" has been slightly modified and
now strictly enforces only the correct output (and not input) DTypes.
This means it is now always equivalent to:
signature=(None, None, "float64")
(If the ufunc has two inputs and one output). Since this could lead to no loop being found in some cases, NumPy will normally also search for the loop:
signature=("float64", "float64", "float64")
if the first search failed. In the future, this behaviour may be
customized to achieve the expected results for more complex ufuncs. (For
some universal functions such as np.ldexp inputs can have different
DTypes.)
(gh-18880)
Distutils forces strict floating point model on clang
NumPy distutils will now always add the -ffp-exception-behavior=strict
compiler flag when compiling with clang. Clang defaults to a non-strict
version, which allows the compiler to generate code that does not set
floating point warnings/errors correctly.
(gh-19049)
C API changes
Use of ufunc->type_resolver and \"type tuple\"
NumPy now normalizes the \"type tuple\" argument to the type resolver
functions before calling it. Note that in the use of this type resolver
is legacy behaviour and NumPy will not do so when possible. Calling
ufunc->type_resolver or PyUFunc_DefaultTypeResolver is strongly
discouraged and will now enforce a normalized type tuple if done. Note
that this does not affect providing a type resolver, which is expected
to keep working in most circumstances. If you have an unexpected
use-case for calling the type resolver, please inform the NumPy
developers so that a solution can be found.
(gh-18718)
New Features
Added a mypy plugin for handling platform-specific numpy.number precisions
A mypy plugin is now available for
automatically assigning the (platform-dependent) precisions of certain
numpy.number subclasses, including the likes of
numpy.int_, numpy.intp and
numpy.longlong. See the documentation on
scalar types <arrays.scalars.built-in>
for a comprehensive overview of the affected classes.
Note that while usage of the plugin is completely optional, without it
the precision of above-mentioned classes will be inferred as
typing.Any.
To enable the plugin, one must add it to their mypy configuration file:
{.ini}
[mypy]
plugins = numpy.typing.mypy_plugin
(gh-17843)
Let the mypy plugin manage extended-precision numpy.number subclasses
The mypy plugin, introduced in
numpy/numpy#17843, has
been expanded: the plugin now removes annotations for platform-specific
extended-precision types that are not available to the platform in
question. For example, it will remove numpy.float128
when not available.
Without the plugin all extended-precision types will, as far as mypy is concerned, be available on all platforms.
To enable the plugin, one must add it to their mypy configuration file:
{.ini}
[mypy]
plugins = numpy.typing.mypy_plugin
cn
(gh-18322)
New min_digits argument for printing float values
A new min_digits argument has been added to the dragon4 float printing
functions numpy.format_float_positional and
numpy.format_float_scientific. This kwd guarantees
that at least the given number of digits will be printed when printing
in unique=True mode, even if the extra digits are unnecessary to
uniquely specify the value. It is the counterpart to the precision
argument which sets the maximum number of digits to be printed. When
unique=False in fixed precision mode, it has no effect and the precision
argument fixes the number of digits.
(gh-18629)
f2py now recognizes Fortran abstract interface blocks
numpy.f2py can now parse abstract interface blocks.
(gh-18695)
BLAS and LAPACK configuration via environment variables
Autodetection of installed BLAS and LAPACK libraries can be bypassed by
using the NPY_BLAS_LIBS and NPY_LAPACK_LIBS environment variables.
Instead, the link flags in these environment variables will be used
directly, and the language is assumed to be F77. This is especially
useful in automated builds where the BLAS and LAPACK that are installed
are known exactly. A use case is replacing the actual implementation at
runtime via stub library links.
If NPY_CBLAS_LIBS is set (optional in addition to NPY_BLAS_LIBS),
this will be used as well, by defining HAVE_CBLAS and appending the
environment variable content to the link flags.
(gh-18737)
A runtime-subcriptable alias has been added for ndarray
numpy.typing.NDArray has been added, a runtime-subscriptable alias for
np.ndarray[Any, np.dtype[~Scalar]]. The new type alias can be used for
annotating arrays with a given dtype and unspecified shape. ^1^
^1^ NumPy does not support the annotating of array shapes as of 1.21,
this is expected to change in the future though (see
646{.interpreted-text role="pep"}).
Examples
``` {.python}
import numpy as np import numpy.typing as npt
print(npt.NDArray) numpy.ndarray[typing.Any, numpy.dtype[~ScalarType]]
print(npt.NDArray[np.float64]) numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]]
NDArrayInt = npt.NDArray[np.int_] a: NDArrayInt = np.arange(10)
def func(a: npt.ArrayLike) -> npt.NDArray[Any]: ... return np.array(a) ```
(gh-18935)
Improvements
Arbitrary period option for numpy.unwrap
The size of the interval over which phases are unwrapped is no longer
restricted to 2 * pi. This is especially useful for unwrapping
degrees, but can also be used for other intervals.
``` {.python}
phasedeg = np.mod(np.linspace(0,720,19), 360) - 180 phasedeg array([-180., -140., -100., -60., -20., 20., 60., 100., 140., -180., -140., -100., -60., -20., 20., 60., 100., 140., -180.])
unwrap(phase_deg, period=360) array([-180., -140., -100., -60., -20., 20., 60., 100., 140., 180., 220., 260., 300., 340., 380., 420., 460., 500., 540.]) ```
(gh-16987)
np.unique now returns single NaN
When np.unique operated on an array with multiple NaN entries, its
return included a NaN for each entry that was NaN in the original
array. This is now improved such that the returned array contains just
one NaN as the last element.
Also for complex arrays all NaN values are considered equivalent (no
matter whether the NaN is in the real or imaginary part). As the
representant for the returned array the smallest one in the
lexicographical order is chosen - see np.sort for how the
lexicographical order is defined for complex arrays.
(gh-18070)
Generator.rayleigh and Generator.geometric performance improved
The performance of Rayleigh and geometric random variate generation in
Generator has improved. These are both transformation of exponential
random variables and the slow log-based inverse cdf transformation has
been replaced with the Ziggurat-based exponential variate generator.
This change breaks the stream of variates generated when variates from either of these distributions are produced.
(gh-18666)
Placeholder annotations have been improved
All placeholder annotations, that were previously annotated as
typing.Any, have been improved. Where appropiate they have been
replaced with explicit function definitions, classes or other
miscellaneous objects.
(gh-18934)
Performance improvements
Improved performance in integer division of NumPy arrays
Integer division of NumPy arrays now uses
libdivide when the divisor is a constant. With
the usage of libdivide and other minor optimizations, there is a large
speedup. The // operator and np.floor_divide makes use of the new
changes.
(gh-17727)
Improve performance of np.save and np.load for small arrays
np.save is now a lot faster for small arrays.
np.load is also faster for small arrays, but only when serializing
with a version >= (3, 0).
Both are done by removing checks that are only relevant for Python 2, while still maintaining compatibility with arrays which might have been created by Python 2.
(gh-18657)
Changes
numpy.piecewise output class now matches the input class
When numpy.ndarray subclasses are used on input to
numpy.piecewise, they are passed on to the functions.
The output will now be of the same subclass as well.
(gh-18110)
Enable Accelerate Framework
With the release of macOS 11.3, several different issues that numpy was encountering when using Accelerate Framework\'s implementation of BLAS and LAPACK should be resolved. This change enables the Accelerate Framework as an option on macOS. If additional issues are found, please file a bug report against Accelerate using the developer feedback assistant tool (https://developer.apple.com/bug-reporting/). We intend to address issues promptly and plan to continue supporting and updating our BLAS and LAPACK libraries.
(gh-18874)
Checksums
MD5
dbebcfa9ea1ee8e965e5c67dd445f442 numpy-1.21.0rc2-cp37-cp37m-macosx_10_9_x86_64.whl
682e6dc443cdf8bff9941bc8045ee176 numpy-1.21.0rc2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
8c4706bc4dbf63bb8d5befa7be5301ca numpy-1.21.0rc2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
50702a8708d4b272a9a9c6d4be9c13d7 numpy-1.21.0rc2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5ff414f878262c3d4b1f25677c08170e numpy-1.21.0rc2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
e39a00070130d7db4a8c21bde7fe343c numpy-1.21.0rc2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
4179696b3d46361c1dca956ede445d71 numpy-1.21.0rc2-cp37-cp37m-win32.whl
a71c9c8713300038fd85f3434c819623 numpy-1.21.0rc2-cp37-cp37m-win_amd64.whl
238168b5be91f15e00bfda8980268c1c numpy-1.21.0rc2-cp38-cp38-macosx_10_9_universal2.whl
21cd69e57f6ca956cfb18e5eac7f284b numpy-1.21.0rc2-cp38-cp38-macosx_10_9_x86_64.whl
db329a3092104d18265d3186b2024383 numpy-1.21.0rc2-cp38-cp38-macosx_11_0_arm64.whl
51d2aea5ba376ab0ba242deefc8d530d numpy-1.21.0rc2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
72916834e36511fd0381a94e8971c105 numpy-1.21.0rc2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
e30845a0aa593380f1385c977b10971f numpy-1.21.0rc2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ae21393c854629fde4c5cea46778f41d numpy-1.21.0rc2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
441b4ac09e2d77f7c96571a728b040a3 numpy-1.21.0rc2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
f31bd687ec8fd13ecdb0db91763c6ebb numpy-1.21.0rc2-cp38-cp38-win32.whl
163c0c4634d5d15b29791fead97571dd numpy-1.21.0rc2-cp38-cp38-win_amd64.whl
fd79df4f0255b3b56a93085e5512e778 numpy-1.21.0rc2-cp39-cp39-macosx_10_9_universal2.whl
35529757fbbf871dcaecc124e985af67 numpy-1.21.0rc2-cp39-cp39-macosx_10_9_x86_64.whl
4138675d78b13511a0b11bc296bd83e6 numpy-1.21.0rc2-cp39-cp39-macosx_11_0_arm64.whl
62a72562ff240981bbcfeebc679bc4ee numpy-1.21.0rc2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
73dd49f6e4d608017b7257c34f4f919e numpy-1.21.0rc2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
6aa0da53da74868c5456f9a5a0781616 numpy-1.21.0rc2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8a5342cd72277d89b441bc1125088b87 numpy-1.21.0rc2-cp39-cp39-win32.whl
59dbae57afdf57bf2ba9ec402e40366e numpy-1.21.0rc2-cp39-cp39-win_amd64.whl
b2ab4d71140295df32992f9a34c61012 numpy-1.21.0rc2-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
44a411dbb345847a89874447cc8fb2c0 numpy-1.21.0rc2.tar.gz
ffd8130fbb3046ad090fada62a724aac numpy-1.21.0rc2.zip
SHA256
fd11aa1d58b7538076613722a2915d3c3f1c0cd24f674e3194be29729d744dba numpy-1.21.0rc2-cp37-cp37m-macosx_10_9_x86_64.whl
29036b6d56ad35f0637ac84af43f9469b39916ed06aa96729767639e3023ef72 numpy-1.21.0rc2-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
5b2752404f6ba22b99617c21dc6c2f15accf61642a5626d239649a96294d8ecb numpy-1.21.0rc2-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
82446d2defd917656c87158a02a7d7e7c03ce8bde9bb39ae5f5b369c5ef561d2 numpy-1.21.0rc2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b66b3cdad12d6074ddc46148cefc35c48b0437515c5bf8ce2acd913f486bc257 numpy-1.21.0rc2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
74ce56338ff5de5d8b48314a1ec5ebbc2b1c0f9f9d6c00ce1815be0d3f9dcbb4 numpy-1.21.0rc2-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
8bb0a19f185e8d4fa60bb036cdc9fb4f34c6486e1d30034f6cacb882efa5252a numpy-1.21.0rc2-cp37-cp37m-win32.whl
a0179c7130aa03f9e60cea9a0b0535b2c2b49f486bae724433cf6ac2abac832f numpy-1.21.0rc2-cp37-cp37m-win_amd64.whl
ce5b195cbcced7c97429ca0323e2e3a19a503fc9ce0e1fea6c5be55e71214ebf numpy-1.21.0rc2-cp38-cp38-macosx_10_9_universal2.whl
a59ce04c77711cab0334591650af628151aa515d11bde905198d4e898bb57315 numpy-1.21.0rc2-cp38-cp38-macosx_10_9_x86_64.whl
4b8e4c37aea928f0d8359ab24b14382de450180e618972d3b9df50848d084db1 numpy-1.21.0rc2-cp38-cp38-macosx_11_0_arm64.whl
09932f5bf0abda5654eda225fd070915942f2c32d9bb6747bd45b66af7a0a9b1 numpy-1.21.0rc2-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
cfb7b67500e6af81a793287ca41912590327051b58da9dc2c0ecb65d35db6ec9 numpy-1.21.0rc2-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
fec6300b8237aa1c561a8a5fec81ba1bcdf00b622f660897369798a8d57163c4 numpy-1.21.0rc2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a18d4368018f029ea73df53ef801234d2d354e95c32d7890b1102bd2da9857ba numpy-1.21.0rc2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
afebef861665eaa2e491894f2269d1941fbfbb8e5acf565a785107dcfc07613d numpy-1.21.0rc2-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
7d98ade9199b15aa8f589b2263d6028364aecd7a9caf426e65ffc1ba921624a5 numpy-1.21.0rc2-cp38-cp38-win32.whl
3c90b0bb77615bda5e007cfa4c53eb6097ecc82e247726e0eb138fcda769b45d numpy-1.21.0rc2-cp38-cp38-win_amd64.whl
435090a12dca2232cdbd58740afd5c9ede830037e1f6af60344e3afd49554fc8 numpy-1.21.0rc2-cp39-cp39-macosx_10_9_universal2.whl
bee549287cf2fcbf8f8e11b024e62f1a22af296cb1b015aa346d58a01cbfb603 numpy-1.21.0rc2-cp39-cp39-macosx_10_9_x86_64.whl
5d4c1b43c84cfe1923dbaed4ef18261a9f7b420983dc209af117c28f32637973 numpy-1.21.0rc2-cp39-cp39-macosx_11_0_arm64.whl
93d0cb1b07511d1b108346975cd34cc1c32b7061fbb574ef4ce8fc8139cce417 numpy-1.21.0rc2-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
53e7147d04c75dcf05c3bb38357329d64d4908f403560a1fcb64f7972599c638 numpy-1.21.0rc2-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
32f683dd175c364b8904bf26ce030a4ff7134aeff0046e3511cbaf855f65583c numpy-1.21.0rc2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f7a0ed76e49c4ab6c53aa43358aa1d943ea5f61cc71844eca1cad8f00794589e numpy-1.21.0rc2-cp39-cp39-win32.whl
e2d6388fe28784301fb8293a14d05a5329a9747fa8e451cc189e5f2ee1f422dd numpy-1.21.0rc2-cp39-cp39-win_amd64.whl
5a711fbc9bbdb939d082bb856f9812eb3f98a82584ad73eaa924bed6b0695cab numpy-1.21.0rc2-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
e708211e58a32e11ee3b810aa78751776b3723c60edc8dcbadfdd00dab3dc32b numpy-1.21.0rc2.tar.gz
cb725aae7c31327e642b876e3195b7fe147bb8d14d85f749ac13ab87d9ab5fab numpy-1.21.0rc2.zip
- Python
Published by charris almost 5 years ago
numpy -
NumPy 1.21.0 Release Notes
The NumPy 1.21.0 release highlights are
- continued SIMD work covering more functions and platforms,
- initial work on the new dtype infrastructure and casting,
- improved documentation,
- improved annotations,
- the new
PCG64DXSMbitgenerator for random numbers.
In addition there are the usual large number of bug fixes and other improvements.
The Python versions supported for this release are 3.7-3.9. Official support for Python 3.10 will be added when it is released.
New functions
Add PCG64DXSM BitGenerator
Uses of the PCG64 BitGenerator in a massively-parallel context have
been shown to have statistical weaknesses that were not apparent at the
first release in numpy 1.17. Most users will never observe this weakness
and are safe to continue to use PCG64. We have introduced a new
PCG64DXSM BitGenerator that will eventually become the new default
BitGenerator implementation used by default_rng in future releases.
PCG64DXSM solves the statistical weakness while preserving the
performance and the features of PCG64.
See upgrading-pcg64{.interpreted-text role="ref"} for more details.
(gh-18906)
Expired deprecations
The
shapeargument ofnumpy.unravel_indexcannot be passed asdimskeyword argument anymore. (Was deprecated in NumPy 1.16.)(gh-17900)
The function
PyUFunc_GenericFunctionhas been disabled. It was deprecated in NumPy 1.19. Users should call the ufunc directly using the Python API.(gh-18697)
The function
PyUFunc_SetUsesArraysAsDatahas been disabled. It was deprecated in NumPy 1.19.(gh-18697)
The class
PolyBasehas been removed (deprecated in numpy 1.9.0). Please use the abstractABCPolyBaseclass instead.(gh-18963)
The unused
PolyErrorandPolyDomainErrorexceptions are removed.(gh-18963)
Deprecations
Inexact matches for numpy.convolve and numpy.correlate are deprecated
numpy.convolve and numpy.correlate now
emit a warning when there are case insensitive and/or inexact matches
found for mode argument in the functions. Pass full "same",
"valid", "full" strings instead of "s", "v", "f" for the
mode argument.
(gh-17492)
np.typeDict has been formally deprecated
np.typeDict is a deprecated alias for np.sctypeDict and has been so
for over 14 years (6689502).
A deprecation warning will now be issued whenever getting np.typeDict.
(gh-17586)
Exceptions will be raised during array-like creation
When an object raised an exception during access of the special
attributes __array__ or __array_interface__, this exception was
usually ignored. A warning is now given when the exception is anything
but AttributeError. To silence the warning, the type raising the
exception has to be adapted to raise an AttributeError.
(gh-19001)
Four ndarray.ctypes methods have been deprecated
Four methods of the ndarray.ctypes object have been
deprecated, as they are (undocumentated) implementation artifacts of
their respective properties.
The methods in question are:
-
_ctypes.get_data(use_ctypes.datainstead) -
_ctypes.get_shape(use_ctypes.shapeinstead) -
_ctypes.get_strides(use_ctypes.stridesinstead) -
_ctypes.get_as_parameter(use_ctypes._as_parameter_instead)
(gh-19031)
Future Changes
Promotion of strings with numbers and bools will be deprecated
Any promotion of numbers and strings is deprecated and will give a
FutureWarning the main affected functionalities are:
-
numpy.promote_typesandnumpy.result_typewhich will raise an error in this case in the future. -
numpy.concatenatewill raise an error when concatenating a string and numeric array. You can usedtype="S"to explicitly request a string result. -
numpy.arrayand related functions will start returningobjectarrays because these functions useobjectas a fallback when no common dtype can be found. However, it may happen that future releases of NumPy will generally error in these cases.
This will mainly affect code such as:
np.asarray(['string', 0])
and:
np.concatenate((['string'], [0]))
in both cases adding dtype="U" or dtype="S" will give the previous
(string) result, while dtype=object will ensure an array with object
dtype is returned.
Comparisons, universal functions, and casting are not affected by this.
(gh-18116)
Compatibility notes
Error type changes in universal functions
The universal functions may now raise different errors on invalid input
in some cases. The main changes should be that a RuntimeError was
replaced with a more fitting TypeError. When multiple errors were
present in the same call, NumPy may now raise a different one.
(gh-15271)
__array_ufunc__ argument validation
NumPy will now partially validate arguments before calling
__array_ufunc__. Previously, it was possible to pass on invalid
arguments (such as a non-existing keyword argument) when dispatch was
known to occur.
(gh-15271)
__array_ufunc__ and additional positional arguments
Previously, all positionally passed arguments were checked for
__array_ufunc__ support. In the case of reduce, accumulate, and
reduceat all arguments may be passed by position. This means that when
they were passed by position, they could previously have been asked to
handle the ufunc call via __array_ufunc__. Since this depended on the
way the arguments were passed (by position or by keyword), NumPy will
now only dispatch on the input and output array. For example, NumPy will
never dispatch on the where array in a reduction such as
np.add.reduce.
(gh-15271)
Validate input values in Generator.uniform
Checked that high - low >= 0 in np.random.Generator.uniform. Raises
ValueError if low > high. Previously out-of-order inputs were
accepted and silently swapped, so that if low > high, the value
generated was high + (low - high) * random().
(gh-17921)
/usr/include removed from default include paths
The default include paths when building a package with numpy.distutils
no longer include /usr/include. This path is normally added by the
compiler, and hardcoding it can be problematic. In case this causes a
problem, please open an issue. A workaround is documented in PR 18658.
(gh-18658)
Changes to comparisons with dtype=...
When the dtype= (or signature) arguments to comparison ufuncs
(equal, less, etc.) is used, this will denote the desired output
dtype in the future. This means that:
np.equal(2, 3, dtype=object)
will give a FutureWarning that it will return an object array in the
future, which currently happens for:
np.equal(None, None, dtype=object)
due to the fact that np.array(None) is already an object array. (This
also happens for some other dtypes.)
Since comparisons normally only return boolean arrays, providing any
other dtype will always raise an error in the future and give a
DeprecationWarning now.
(gh-18718)
Changes to dtype and signature arguments in ufuncs
The universal function arguments dtype and signature which are also
valid for reduction such as np.add.reduce (which is the implementation
for np.sum) will now issue a warning when the dtype provided is not
a \"basic\" dtype.
NumPy almost always ignored metadata, byteorder or time units on these inputs. NumPy will now always ignore it and raise an error if byteorder or time unit changed. The following are the most important examples of changes which will give the error. In some cases previously the information stored was not ignored, in all of these an error is now raised:
# Previously ignored the byte-order (affect if non-native)
np.add(3, 5, dtype=">i32")
# The biggest impact is for timedelta or datetimes:
arr = np.arange(10, dtype="m8[s]")
# The examples always ignored the time unit "ns":
np.add(arr, arr, dtype="m8[ns]")
np.maximum.reduce(arr, dtype="m8[ns]")
# The following previously did use "ns" (as opposed to `arr.dtype`)
np.add(3, 5, dtype="m8[ns]") # Now return generic time units
np.maximum(arr, arr, dtype="m8[ns]") # Now returns "s" (from `arr`)
The same applies for functions like np.sum which use these internally.
This change is necessary to achieve consistent handling within NumPy.
If you run into these, in most cases pass for example
dtype=np.timedelta64 which clearly denotes a general timedelta64
without any unit or byte-order defined. If you need to specify the
output dtype precisely, you may do so by either casting the inputs or
providing an output array using out=.
NumPy may choose to allow providing an exact output dtype here in the
future, which would be preceded by a FutureWarning.
(gh-18718)
Ufunc signature=... and dtype= generalization and casting
The behaviour for np.ufunc(1.0, 1.0, signature=...) or
np.ufunc(1.0, 1.0, dtype=...) can now yield different loops in 1.21
compared to 1.20 because of changes in promotion. When signature was
previously used, the casting check on inputs was relaxed, which could
lead to downcasting inputs unsafely especially if combined with
casting="unsafe".
Casting is now guaranteed to be safe. If a signature is only partially
provided, for example using signature=("float64", None, None), this
could lead to no loop being found (an error). In that case, it is
necessary to provide the complete signature to enforce casting the
inputs. If dtype="float64" is used or only outputs are set (e.g.
signature=(None, None, "float64") the is unchanged. We expect that
very few users are affected by this change.
Further, the meaning of dtype="float64" has been slightly modified and
now strictly enforces only the correct output (and not input) DTypes.
This means it is now always equivalent to:
signature=(None, None, "float64")
(If the ufunc has two inputs and one output). Since this could lead to no loop being found in some cases, NumPy will normally also search for the loop:
signature=("float64", "float64", "float64")
if the first search failed. In the future, this behaviour may be
customized to achieve the expected results for more complex ufuncs. (For
some universal functions such as np.ldexp inputs can have different
DTypes.)
(gh-18880)
Distutils forces strict floating point model on clang
NumPy distutils will now always add the -ffp-exception-behavior=strict
compiler flag when compiling with clang. Clang defaults to a non-strict
version, which allows the compiler to generate code that does not set
floating point warnings/errors correctly.
(gh-19049)
C API changes
Use of ufunc->type_resolver and \"type tuple\"
NumPy now normalizes the \"type tuple\" argument to the type resolver
functions before calling it. Note that in the use of this type resolver
is legacy behaviour and NumPy will not do so when possible. Calling
ufunc->type_resolver or PyUFunc_DefaultTypeResolver is strongly
discouraged and will now enforce a normalized type tuple if done. Note
that this does not affect providing a type resolver, which is expected
to keep working in most circumstances. If you have an unexpected
use-case for calling the type resolver, please inform the NumPy
developers so that a solution can be found.
(gh-18718)
New Features
Added a mypy plugin for handling platform-specific numpy.number precisions
A mypy plugin is now available for
automatically assigning the (platform-dependent) precisions of certain
numpy.number subclasses, including the likes of
numpy.int_, numpy.intp and
numpy.longlong. See the documentation on
scalar types <arrays.scalars.built-in>{.interpreted-text role="ref"}
for a comprehensive overview of the affected classes.
Note that while usage of the plugin is completely optional, without it
the precision of above-mentioned classes will be inferred as
typing.Any.
To enable the plugin, one must add it to their mypy configuration file:
{.ini}
[mypy]
plugins = numpy.typing.mypy_plugin
(gh-17843)
Let the mypy plugin manage extended-precision numpy.number subclasses
The mypy plugin, introduced in
numpy/numpy#17843, has
been expanded: the plugin now removes annotations for platform-specific
extended-precision types that are not available to the platform in
question. For example, it will remove numpy.float128
when not available.
Without the plugin all extended-precision types will, as far as mypy is concerned, be available on all platforms.
To enable the plugin, one must add it to their mypy configuration file:
{.ini}
[mypy]
plugins = numpy.typing.mypy_plugin
(gh-18322)
New min_digits argument for printing float values
A new min_digits argument has been added to the dragon4 float printing
functions numpy.format_float_positional and
numpy.format_float_scientific . This kwd guarantees
that at least the given number of digits will be printed when printing
in unique=True mode, even if the extra digits are unnecessary to
uniquely specify the value. It is the counterpart to the precision
argument which sets the maximum number of digits to be printed. When
unique=False in fixed precision mode, it has no effect and the precision
argument fixes the number of digits.
(gh-18629)
f2py now recognizes Fortran abstract interface blocks
numpy.f2py can now parse abstract interface blocks.
(gh-18695)
BLAS and LAPACK configuration via environment variables
Autodetection of installed BLAS and LAPACK libraries can be bypassed by
using the NPY_BLAS_LIBS and NPY_LAPACK_LIBS environment variables.
Instead, the link flags in these environment variables will be used
directly, and the language is assumed to be F77. This is especially
useful in automated builds where the BLAS and LAPACK that are installed
are known exactly. A use case is replacing the actual implementation at
runtime via stub library links.
If NPY_CBLAS_LIBS is set (optional in addition to NPY_BLAS_LIBS),
this will be used as well, by defining HAVE_CBLAS and appending the
environment variable content to the link flags.
(gh-18737)
A runtime-subcriptable alias has been added for ndarray
numpy.typing.NDArray has been added, a runtime-subscriptable alias for
np.ndarray[Any, np.dtype[~Scalar]]. The new type alias can be used for
annotating arrays with a given dtype and unspecified shape. ^1^
^1^ NumPy does not support the annotating of array shapes as of 1.21,
this is expected to change in the future though (see
646{.interpreted-text role="pep"}).
Examples
``` {.python}
import numpy as np import numpy.typing as npt
print(npt.NDArray) numpy.ndarray[typing.Any, numpy.dtype[~ScalarType]]
print(npt.NDArray[np.float64]) numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]]
NDArrayInt = npt.NDArray[np.int_] a: NDArrayInt = np.arange(10)
def func(a: npt.ArrayLike) -> npt.NDArray[Any]: ... return np.array(a) ```
(gh-18935)
Improvements
Arbitrary period option for numpy.unwrap
The size of the interval over which phases are unwrapped is no longer
restricted to 2 * pi. This is especially useful for unwrapping
degrees, but can also be used for other intervals.
``` {.python}
phasedeg = np.mod(np.linspace(0,720,19), 360) - 180 phasedeg array([-180., -140., -100., -60., -20., 20., 60., 100., 140., -180., -140., -100., -60., -20., 20., 60., 100., 140., -180.])
unwrap(phase_deg, period=360) array([-180., -140., -100., -60., -20., 20., 60., 100., 140., 180., 220., 260., 300., 340., 380., 420., 460., 500., 540.]) ```
(gh-16987)
np.unique now returns single NaN
When np.unique operated on an array with multiple NaN entries, its
return included a NaN for each entry that was NaN in the original
array. This is now improved such that the returned array contains just
one NaN as the last element.
Also for complex arrays all NaN values are considered equivalent (no
matter whether the NaN is in the real or imaginary part). As the
representant for the returned array the smallest one in the
lexicographical order is chosen - see np.sort for how the
lexicographical order is defined for complex arrays.
(gh-18070)
Generator.rayleigh and Generator.geometric performance improved
The performance of Rayleigh and geometric random variate generation in
Generator has improved. These are both transformation of exponential
random variables and the slow log-based inverse cdf transformation has
been replaced with the Ziggurat-based exponential variate generator.
This change breaks the stream of variates generated when variates from either of these distributions are produced.
(gh-18666)
Placeholder annotations have been improved
All placeholder annotations, that were previously annotated as
typing.Any, have been improved. Where appropiate they have been
replaced with explicit function definitions, classes or other
miscellaneous objects.
(gh-18934)
Performance improvements
Improved performance in integer division of NumPy arrays
Integer division of NumPy arrays now uses
libdivide when the divisor is a constant. With
the usage of libdivide and other minor optimizations, there is a large
speedup. The // operator and np.floor_divide makes use of the new
changes.
(gh-17727)
Improve performance of np.save and np.load for small arrays
np.save is now a lot faster for small arrays.
np.load is also faster for small arrays, but only when serializing
with a version >= (3, 0).
Both are done by removing checks that are only relevant for Python 2, while still maintaining compatibility with arrays which might have been created by Python 2.
(gh-18657)
Changes
numpy.piecewise output class now matches the input class
When numpy.ndarray subclasses are used on input to
numpy.piecewise, they are passed on to the functions.
The output will now be of the same subclass as well.
(gh-18110)
Enable Accelerate Framework
With the release of macOS 11.3, several different issues that numpy was encountering when using Accelerate Framework\'s implementation of BLAS and LAPACK should be resolved. This change enables the Accelerate Framework as an option on macOS. If additional issues are found, please file a bug report against Accelerate using the developer feedback assistant tool (https://developer.apple.com/bug-reporting/). We intend to address issues promptly and plan to continue supporting and updating our BLAS and LAPACK libraries.
(gh-18874)
Checksums
MD5
9ccf85701eb21a5ea2fb477136ab4247 numpy-1.21.0rc1-cp37-cp37m-macosx_10_9_x86_64.whl
5efabc4661fe181dc6e1c65ec635f469 numpy-1.21.0rc1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
15dba3c0e6a1018d964101dd0da643f0 numpy-1.21.0rc1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
2d950f3681f6ca81446e1ef1ce965000 numpy-1.21.0rc1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7f6754af0b06c1847a92430fb34f49ca numpy-1.21.0rc1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
26a2ed6c94f1e679e2356c2e34d5bca0 numpy-1.21.0rc1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
f83946bc549f52967ad167770ce7f028 numpy-1.21.0rc1-cp37-cp37m-win32.whl
745946f9036969a4574f5dfcdbf73d00 numpy-1.21.0rc1-cp37-cp37m-win_amd64.whl
9aec39edd809b0ce0f024511ad670892 numpy-1.21.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
11cce9128d4c41675383ff5ffebc5f80 numpy-1.21.0rc1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
b9baa8e1cc031b8f63122e056f5a9d01 numpy-1.21.0rc1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
ed671703310ffc4a446c9a7b2227045c numpy-1.21.0rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
77dfe86f5af5702c6115cec33211a5d0 numpy-1.21.0rc1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
84971cae75e47951f451b889958220f7 numpy-1.21.0rc1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
566c652f9cdb10f55777f030ce857824 numpy-1.21.0rc1-cp38-cp38-win32.whl
c09a49c8aef8a87267322343a1abaaf2 numpy-1.21.0rc1-cp38-cp38-win_amd64.whl
7755038d0c4a996c912c967b34a2aaff numpy-1.21.0rc1-cp39-cp39-macosx_10_9_universal2.whl
a51746adf928b66b7ce6f51afe87fa5f numpy-1.21.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
3da1f90027f433e13cef63d12bdc6142 numpy-1.21.0rc1-cp39-cp39-macosx_11_0_arm64.whl
eff3767616a49ca7bec3f44476f07be8 numpy-1.21.0rc1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
c09d61a8afbc1ae1ffa5a4ba0f53616b numpy-1.21.0rc1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
7861468db5b918ee7188871daad34f1a numpy-1.21.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9d416859d0fe38b80d63ea1e368133d9 numpy-1.21.0rc1-cp39-cp39-win32.whl
d92e6574a0656f170d76f377f41f8dd3 numpy-1.21.0rc1-cp39-cp39-win_amd64.whl
8d8aa5cab5d2e6d94a4a09c33461776e numpy-1.21.0rc1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
32a9675f747267c5e0bbe87a79ecc31b numpy-1.21.0rc1.tar.gz
2369c08c213ba96377b33fe90f53c509 numpy-1.21.0rc1.zip
SHA256
19e076e4d9b66fd63477e907ed2a4c6662bbcd5a74b2cf50a9b0753afb4ee167 numpy-1.21.0rc1-cp37-cp37m-macosx_10_9_x86_64.whl
8b92d27414779f568484c4a0aeddbff8e1fa9d9403cff122161fa25bc94e7f44 numpy-1.21.0rc1-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
a1c3737f659085eeaab83e016569368157d8d46d6a3be317c864dadd3c28fa42 numpy-1.21.0rc1-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
35180d82f457f0857963a486c16bd472582f217827c839dcb3a3de298b532f11 numpy-1.21.0rc1-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
438129e0d1dd03d235ae25c45b5621888d699935cf5b813d08a0bb2e7221c9d4 numpy-1.21.0rc1-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
63b3d66f5610c61d3d1b47687b99584fdf7734192344814d80f2670e0c7b05ef numpy-1.21.0rc1-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
4c6395cc3eefdd1c9ede1c84ad8e728edfc97ea506b04b9600d4cb61c7b80cb4 numpy-1.21.0rc1-cp37-cp37m-win32.whl
9abfe8ef4f8898d0448de735a3270de466553b61de8e6ddc31fc8770003fdfa4 numpy-1.21.0rc1-cp37-cp37m-win_amd64.whl
7ada705e3e9364f874c41fc370c23247f4c1466888dfd61ac5ec9277524928c2 numpy-1.21.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
6ed13704d67934d458abeaacd96079bb8ae5f0ea000765777449e94288590097 numpy-1.21.0rc1-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
305aff30d8976eccf14751a1095dac0e60e0c071f1fb82e6c53948fc5b6b346c numpy-1.21.0rc1-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
a3a480ac4077c868124427456c6a64dcb7da12817bd3e770006980a4fd0d2526 numpy-1.21.0rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
80929da75a678433dcc8c79db94eb373408778d17fe9b49c4521501a5923a3e2 numpy-1.21.0rc1-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
234fc98750ada00204ebf3acd94baea213c6f9f0ff6b097d06952f734f67e58a numpy-1.21.0rc1-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
da0797286c299c426e5b6cf03ca9e1dab0dace161b64d7a1879c4d15eb12ceba numpy-1.21.0rc1-cp38-cp38-win32.whl
17f3ac57e19740f1c064c284ad361148be245fabbd6390bec3ffa814fb287fd6 numpy-1.21.0rc1-cp38-cp38-win_amd64.whl
57410c33aef7b3fd4ef2e5f09f1c084a21021055c74034748b8d2957a72dad01 numpy-1.21.0rc1-cp39-cp39-macosx_10_9_universal2.whl
4796c196faa5f5418ce9a8ee0e993c925755e505778e32442263422c4fe88013 numpy-1.21.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
97faf00577c74a4f4b6304c1b7f6223fb0825d1a7cfaad5601cbeadd8282cd70 numpy-1.21.0rc1-cp39-cp39-macosx_11_0_arm64.whl
56d67935694d9270e0a9bcfd6b9169f81ef2c2e5e154acd57ac7afe2d48d7b29 numpy-1.21.0rc1-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
b58c8c1ea4b80a5cbc756a11e446eec16088ebd9e080e71a64c458f6c07cb3c7 numpy-1.21.0rc1-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
723fff54844d9c1e01703ed2bc177f892fd89530b7671e8191a639d799cd75b7 numpy-1.21.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
dcc194082d94c45fe8a005861cdce6ec33b51c1dccf2a7e6044b33038b82f579 numpy-1.21.0rc1-cp39-cp39-win32.whl
ff442e4fe6e66019b2070352e0cd6e7dde994ff1267d45343b587ed621e4ec47 numpy-1.21.0rc1-cp39-cp39-win_amd64.whl
068cfc78963ce8b9dd2dc7ad1f2d5ebebc47e10103ea0166074e6bd31e78aeb8 numpy-1.21.0rc1-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
3baf619f71612da80628e63def8d901832f76a9d396fde2613ea3d73277bc08d numpy-1.21.0rc1.tar.gz
f5e7cd7068df4aa803be68edc7c6fc5e3ed934d53a7ab1f21539fb5925e0172e numpy-1.21.0rc1.zip
- Python
Published by charris about 5 years ago
numpy -
NumPy 1.20.3 Release Notes
NumPy 1.20.3 is a bugfix release containing several fixes merged to the main branch after the NumPy 1.20.2 release.
Contributors
A total of 7 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Anne Archibald
- Bas van Beek
- Charles Harris
- Dong Keun Oh +
- Kamil Choudhury +
- Sayed Adel
- Sebastian Berg
Pull requests merged
A total of 15 pull requests were merged for this release.
- #18763: BUG: Correct
datetime64missing type overload fordatetime.date... - #18764: MAINT: Remove
__all__in favor of explicit re-exports - #18768: BLD: Strip extra newline when dumping gfortran version on MacOS
- #18769: BUG: fix segfault in object/longdouble operations
- #18794: MAINT: Use towncrier build explicitly
- #18887: MAINT: Relax certain integer-type constraints
- #18915: MAINT: Remove unsafe unions and ABCs from return-annotations
- #18921: MAINT: Allow more recursion depth for scalar tests.
- #18922: BUG: Initialize the full nditer buffer in case of error
- #18923: BLD: remove unnecessary flag
-faltivecon macOS - #18924: MAINT, CI: treats _SIMD module build warnings as errors through...
- #18925: BUG: for MINGW, threads.h existence test requires GLIBC > 2.12
- #18941: BUG: Make changelog recognize gh- as a PR number prefix.
- #18948: REL, DOC: Prepare for the NumPy 1.20.3 release.
- #18953: BUG: Fix failing mypy test in 1.20.x.
Checksums
MD5
702d0185042f1ff9a5d7e72a29f4e1c0 numpy-1.20.3-cp37-cp37m-macosx_10_9_x86_64.whl
3d0284b39b20c243b74f6690ad5ae27f numpy-1.20.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
d1b42dd67dc228088cf822eaab86d424 numpy-1.20.3-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
126b1a5d46cc7d9b9b426f56d075a1e0 numpy-1.20.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5b0445346f08b610025dbd2064d4b482 numpy-1.20.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
02bd4a2c764882e8af353c16344cb633 numpy-1.20.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
0f6a36724d5477c8fca6c34e73683db6 numpy-1.20.3-cp37-cp37m-win32.whl
c7d3ae93743d6c0ea2c9dfcad1d42cb4 numpy-1.20.3-cp37-cp37m-win_amd64.whl
445da50ae14b3318170ccf996baca72c numpy-1.20.3-cp38-cp38-macosx_10_9_x86_64.whl
c651fdb4829703e164bc78613c1a90a8 numpy-1.20.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
c9411ef729b8ebe9ed3b8e9dee3da4ac numpy-1.20.3-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
ff69ad241598607fdfea24155625a6e3 numpy-1.20.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9fd8d44d8a5f19e434e9dfb7738d954f numpy-1.20.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
d144fdfe141442a7f362d498bc9a40c2 numpy-1.20.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
e7ffa27f1c75cf11529d90967fa15bbc numpy-1.20.3-cp38-cp38-win32.whl
58c12a54d1b5bc14d36ed2b0d8617fef numpy-1.20.3-cp38-cp38-win_amd64.whl
18efbadcb513054c765f826fc3bb1645 numpy-1.20.3-cp39-cp39-macosx_10_9_x86_64.whl
319300952bd42455cb2ad98188c74b5f numpy-1.20.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
1d1451f9a5a2eeef666fc512a101a6ca numpy-1.20.3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
cdef3fb002bb5e3036f056ea0528c804 numpy-1.20.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
85e575735877094f3a76106e9d2a9cac numpy-1.20.3-cp39-cp39-win32.whl
59f1dba95dedc7a1bebc58ee7e7a945a numpy-1.20.3-cp39-cp39-win_amd64.whl
6abc979843929b41b099e4e6c0253063 numpy-1.20.3-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
802ddf90c7e226ba56ed0ea244f8b53d numpy-1.20.3.tar.gz
949d9114af9accc25ede1daa359c4227 numpy-1.20.3.zip
SHA256
70eb5808127284c4e5c9e836208e09d685a7978b6a216db85960b1a112eeace8 numpy-1.20.3-cp37-cp37m-macosx_10_9_x86_64.whl
6ca2b85a5997dabc38301a22ee43c82adcb53ff660b89ee88dded6b33687e1d8 numpy-1.20.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl
c5bf0e132acf7557fc9bb8ded8b53bbbbea8892f3c9a1738205878ca9434206a numpy-1.20.3-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
db250fd3e90117e0312b611574cd1b3f78bec046783195075cbd7ba9c3d73f16 numpy-1.20.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
637d827248f447e63585ca3f4a7d2dfaa882e094df6cfa177cc9cf9cd6cdf6d2 numpy-1.20.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl
8b7bb4b9280da3b2856cb1fc425932f46fba609819ee1c62256f61799e6a51d2 numpy-1.20.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl
67d44acb72c31a97a3d5d33d103ab06d8ac20770e1c5ad81bdb3f0c086a56cf6 numpy-1.20.3-cp37-cp37m-win32.whl
43909c8bb289c382170e0282158a38cf306a8ad2ff6dfadc447e90f9961bef43 numpy-1.20.3-cp37-cp37m-win_amd64.whl
f1452578d0516283c87608a5a5548b0cdde15b99650efdfd85182102ef7a7c17 numpy-1.20.3-cp38-cp38-macosx_10_9_x86_64.whl
6e51534e78d14b4a009a062641f465cfaba4fdcb046c3ac0b1f61dd97c861b1b numpy-1.20.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl
e515c9a93aebe27166ec9593411c58494fa98e5fcc219e47260d9ab8a1cc7f9f numpy-1.20.3-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
c1c09247ccea742525bdb5f4b5ceeacb34f95731647fe55774aa36557dbb5fa4 numpy-1.20.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
66fbc6fed94a13b9801fb70b96ff30605ab0a123e775a5e7a26938b717c5d71a numpy-1.20.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl
ea9cff01e75a956dbee133fa8e5b68f2f92175233de2f88de3a682dd94deda65 numpy-1.20.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl
f39a995e47cb8649673cfa0579fbdd1cdd33ea497d1728a6cb194d6252268e48 numpy-1.20.3-cp38-cp38-win32.whl
1676b0a292dd3c99e49305a16d7a9f42a4ab60ec522eac0d3dd20cdf362ac010 numpy-1.20.3-cp38-cp38-win_amd64.whl
830b044f4e64a76ba71448fce6e604c0fc47a0e54d8f6467be23749ac2cbd2fb numpy-1.20.3-cp39-cp39-macosx_10_9_x86_64.whl
55b745fca0a5ab738647d0e4db099bd0a23279c32b31a783ad2ccea729e632df numpy-1.20.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl
5d050e1e4bc9ddb8656d7b4f414557720ddcca23a5b88dd7cff65e847864c400 numpy-1.20.3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
a9c65473ebc342715cb2d7926ff1e202c26376c0dcaaee85a1fd4b8d8c1d3b2f numpy-1.20.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
16f221035e8bd19b9dc9a57159e38d2dd060b48e93e1d843c49cb370b0f415fd numpy-1.20.3-cp39-cp39-win32.whl
6690080810f77485667bfbff4f69d717c3be25e5b11bb2073e76bb3f578d99b4 numpy-1.20.3-cp39-cp39-win_amd64.whl
4e465afc3b96dbc80cf4a5273e5e2b1e3451286361b4af70ce1adb2984d392f9 numpy-1.20.3-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl
b7340f0628ce1823c151e3d2a2a8cba2a3ff1357fba4475a24b1816e75c21f90 numpy-1.20.3.tar.gz
e55185e51b18d788e49fe8305fd73ef4470596b33fc2c1ceb304566b99c71a69 numpy-1.20.3.zip
- Python
Published by charris about 5 years ago
numpy -
NumPy 1.20.2 Release Notes
NumPy 1,20.2 is a bugfix release containing several fixes merged to the main branch after the NumPy 1.20.1 release.
Contributors
A total of 7 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Allan Haldane
- Bas van Beek
- Charles Harris
- Christoph Gohlke
- Mateusz Sokół +
- Michael Lamparski
- Sebastian Berg
Pull requests merged
A total of 20 pull requests were merged for this release.
- #18382: MAINT: Update f2py from master.
- #18459: BUG:
diagflatcould overflow on windows or 32-bit platforms - #18460: BUG: Fix refcount leak in f2py
complex_double_from_pyobj. - #18461: BUG: Fix tiny memory leaks when
like=overrides are used - #18462: BUG: Remove temporary change of descr/flags in VOID functions
- #18469: BUG: Segfault in nditer buffer dealloc for Object arrays
- #18485: BUG: Remove suspicious type casting
- #18486: BUG: remove nonsensical comparison of pointer < 0
- #18487: BUG: verify pointer against NULL before using it
- #18488: BUG: check if PyArray_malloc succeeded
- #18546: BUG: incorrect error fallthrough in nditer
- #18559: CI: Backport CI fixes from main.
- #18599: MAINT: Add annotations for
__getitem__,__mul__and... - #18611: BUG: NameError in numpy.distutils.fcompiler.compaq
- #18612: BUG: Fixed
wherekeyword fornp.mean&np.varmethods - #18617: CI: Update apt package list before Python install
- #18636: MAINT: Ensure that re-exported sub-modules are properly annotated
- #18638: BUG: Fix ma coercion list-of-ma-arrays if they do not cast to...
- #18661: BUG: Fix small valgrind-found issues
- #18671: BUG: Fix small issues found with pytest-leaks
Checksums
MD5
a95718df123e0726a7dac5043050b251 numpy-1.20.2-cp37-cp37m-macosx_10_9_x86_64.whl
4cacfe903c60827c0e44d0bed7e3a760 numpy-1.20.2-cp37-cp37m-manylinux1_i686.whl
2879728d4f815f07c7d133347deefe45 numpy-1.20.2-cp37-cp37m-manylinux1_x86_64.whl
97546a3cf4ddcc9fcc7eb41b9558f1de numpy-1.20.2-cp37-cp37m-manylinux2010_i686.whl
65ffbc38abe1c1b92eb3bebf3484f679 numpy-1.20.2-cp37-cp37m-manylinux2010_x86_64.whl
5746efbd42db03518a51adbacbc70fa7 numpy-1.20.2-cp37-cp37m-manylinux2014_aarch64.whl
e9b8e30a5c62f003835b374dbc1c9031 numpy-1.20.2-cp37-cp37m-win32.whl
b2d0fa9383776ab68a1bbefc84331fc1 numpy-1.20.2-cp37-cp37m-win_amd64.whl
321aa118fbd40fe53a7c82557f3f2772 numpy-1.20.2-cp38-cp38-macosx_10_9_x86_64.whl
518013677b05371bbe7e1d6fa4ef61aa numpy-1.20.2-cp38-cp38-manylinux1_i686.whl
58c61ea025646c391788f7bc7f681fa5 numpy-1.20.2-cp38-cp38-manylinux1_x86_64.whl
e8ce1857f017bffeed46b003a0385b11 numpy-1.20.2-cp38-cp38-manylinux2010_i686.whl
8ed52b7194b0953d0b04b88fbabea1ac numpy-1.20.2-cp38-cp38-manylinux2010_x86_64.whl
0a9202dfd47fb02c8eab9f71f084633c numpy-1.20.2-cp38-cp38-manylinux2014_aarch64.whl
8c70e309be1ae43d2938895b56ffbdb7 numpy-1.20.2-cp38-cp38-win32.whl
8aaa91a51b79556643ad93cb1d55b7d3 numpy-1.20.2-cp38-cp38-win_amd64.whl
b1b03999df657ccd4e65ff6abcf7e042 numpy-1.20.2-cp39-cp39-macosx_10_9_x86_64.whl
139fef5109539031e570aee9aa3090bf numpy-1.20.2-cp39-cp39-manylinux2010_i686.whl
2c9463187e6a1a0245ed4a2db8e8e656 numpy-1.20.2-cp39-cp39-manylinux2010_x86_64.whl
b6cb08e8f56accedc4fdc29720ffb380 numpy-1.20.2-cp39-cp39-manylinux2014_aarch64.whl
a3024059b52e7688d3c98b82e2f2688e numpy-1.20.2-cp39-cp39-win32.whl
abcd17ffd3b29014ff15e93a74c2c3d6 numpy-1.20.2-cp39-cp39-win_amd64.whl
67704047e60c2b280f7e9f42400cca91 numpy-1.20.2-pp37-pypy37_pp73-manylinux2010_x86_64.whl
6fe93791438f9c1f69c9352680151002 numpy-1.20.2.tar.gz
5e1b381630af4d18db0fedd56b6d8da2 numpy-1.20.2.zip
SHA256
e9459f40244bb02b2f14f6af0cd0732791d72232bbb0dc4bab57ef88e75f6935 numpy-1.20.2-cp37-cp37m-macosx_10_9_x86_64.whl
a8e6859913ec8eeef3dbe9aed3bf475347642d1cdd6217c30f28dee8903528e6 numpy-1.20.2-cp37-cp37m-manylinux1_i686.whl
9cab23439eb1ebfed1aaec9cd42b7dc50fc96d5cd3147da348d9161f0501ada5 numpy-1.20.2-cp37-cp37m-manylinux1_x86_64.whl
9c0fab855ae790ca74b27e55240fe4f2a36a364a3f1ebcfd1fb5ac4088f1cec3 numpy-1.20.2-cp37-cp37m-manylinux2010_i686.whl
61d5b4cf73622e4d0c6b83408a16631b670fc045afd6540679aa35591a17fe6d numpy-1.20.2-cp37-cp37m-manylinux2010_x86_64.whl
d15007f857d6995db15195217afdbddfcd203dfaa0ba6878a2f580eaf810ecd6 numpy-1.20.2-cp37-cp37m-manylinux2014_aarch64.whl
d76061ae5cab49b83a8cf3feacefc2053fac672728802ac137dd8c4123397677 numpy-1.20.2-cp37-cp37m-win32.whl
bad70051de2c50b1a6259a6df1daaafe8c480ca98132da98976d8591c412e737 numpy-1.20.2-cp37-cp37m-win_amd64.whl
719656636c48be22c23641859ff2419b27b6bdf844b36a2447cb39caceb00935 numpy-1.20.2-cp38-cp38-macosx_10_9_x86_64.whl
aa046527c04688af680217fffac61eec2350ef3f3d7320c07fd33f5c6e7b4d5f numpy-1.20.2-cp38-cp38-manylinux1_i686.whl
2428b109306075d89d21135bdd6b785f132a1f5a3260c371cee1fae427e12727 numpy-1.20.2-cp38-cp38-manylinux1_x86_64.whl
e8e4fbbb7e7634f263c5b0150a629342cc19b47c5eba8d1cd4363ab3455ab576 numpy-1.20.2-cp38-cp38-manylinux2010_i686.whl
edb1f041a9146dcf02cd7df7187db46ab524b9af2515f392f337c7cbbf5b52cd numpy-1.20.2-cp38-cp38-manylinux2010_x86_64.whl
c73a7975d77f15f7f68dacfb2bca3d3f479f158313642e8ea9058eea06637931 numpy-1.20.2-cp38-cp38-manylinux2014_aarch64.whl
6c915ee7dba1071554e70a3664a839fbc033e1d6528199d4621eeaaa5487ccd2 numpy-1.20.2-cp38-cp38-win32.whl
471c0571d0895c68da309dacee4e95a0811d0a9f9f532a48dc1bea5f3b7ad2b7 numpy-1.20.2-cp38-cp38-win_amd64.whl
4703b9e937df83f5b6b7447ca5912b5f5f297aba45f91dbbbc63ff9278c7aa98 numpy-1.20.2-cp39-cp39-macosx_10_9_x86_64.whl
abc81829c4039e7e4c30f7897938fa5d4916a09c2c7eb9b244b7a35ddc9656f4 numpy-1.20.2-cp39-cp39-manylinux2010_i686.whl
377751954da04d4a6950191b20539066b4e19e3b559d4695399c5e8e3e683bf6 numpy-1.20.2-cp39-cp39-manylinux2010_x86_64.whl
6e51e417d9ae2e7848314994e6fc3832c9d426abce9328cf7571eefceb43e6c9 numpy-1.20.2-cp39-cp39-manylinux2014_aarch64.whl
780ae5284cb770ade51d4b4a7dce4faa554eb1d88a56d0e8b9f35fca9b0270ff numpy-1.20.2-cp39-cp39-win32.whl
924dc3f83de20437de95a73516f36e09918e9c9c18d5eac520062c49191025fb numpy-1.20.2-cp39-cp39-win_amd64.whl
97ce8b8ace7d3b9288d88177e66ee75480fb79b9cf745e91ecfe65d91a856042 numpy-1.20.2-pp37-pypy37_pp73-manylinux2010_x86_64.whl
c049f410c78e76ffb0af830a8afbdf8baac09897b4152b97b1a3b8345ee338ff numpy-1.20.2.tar.gz
878922bf5ad7550aa044aa9301d417e2d3ae50f0f577de92051d739ac6096cee numpy-1.20.2.zip
- Python
Published by charris about 5 years ago
numpy -
NumPy 1.20.1 Release Notes
NumPy 1.20.1 is a rapid bugfix release fixing several bugs and regressions reported after the 1.20.0 release.
Highlights
- The distutils bug that caused problems with downstream projects is fixed.
- The
random.shuffleregression is fixed.
Contributors
A total of 8 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Bas van Beek
- Charles Harris
- Nicholas McKibben +
- Pearu Peterson
- Ralf Gommers
- Sebastian Berg
- Tyler Reddy
- \@Aerysv +
Pull requests merged
A total of 15 pull requests were merged for this release.
- #18306: MAINT: Add missing placeholder annotations
- #18310: BUG: Fix typo in
numpy.__init__.py - #18326: BUG: don\'t mutate list of fake libraries while iterating over...
- #18327: MAINT: gracefully shuffle memoryviews
- #18328: BUG: Use C linkage for random distributions
- #18336: CI: fix when GitHub Actions builds trigger, and allow ci skips
- #18337: BUG: Allow unmodified use of isclose, allclose, etc. with timedelta
- #18345: BUG: Allow pickling all relevant DType types/classes
- #18351: BUG: Fix missing signed_char dependency. Closes #18335.
- #18352: DOC: Change license date 2020 -> 2021
- #18353: CI: CircleCI seems to occasionally time out, increase the limit
- #18354: BUG: Fix f2py bugs when wrapping F90 subroutines.
- #18356: MAINT: crackfortran regex simplify
- #18357: BUG: threads.h existence test requires GLIBC > 2.12.
- #18359: REL: Prepare for the NumPy 1.20.1 release.
Checksums
MD5
c4748f4f8f703c5e96027407eca02b08 numpy-1.20.1-cp37-cp37m-macosx_10_9_x86_64.whl
f0bf3a78d6b3a169e5a7fb2637f7fd87 numpy-1.20.1-cp37-cp37m-manylinux1_i686.whl
493c17647c05ca5043bcbab1ac266a74 numpy-1.20.1-cp37-cp37m-manylinux1_x86_64.whl
55ec954fc598c72b2bbf57bfa8b2a701 numpy-1.20.1-cp37-cp37m-manylinux2010_i686.whl
8cee88f9683d208686081522609a8726 numpy-1.20.1-cp37-cp37m-manylinux2010_x86_64.whl
26399d3ededc53b354de78f977a6197e numpy-1.20.1-cp37-cp37m-manylinux2014_aarch64.whl
81051f1e7a79eea8a5aaf5718114ce3a numpy-1.20.1-cp37-cp37m-win32.whl
899488c55824f02a7a6f0451fc86f63f numpy-1.20.1-cp37-cp37m-win_amd64.whl
17f4dae5a0d143b46345a9cf1a8c8dec numpy-1.20.1-cp38-cp38-macosx_10_9_x86_64.whl
f254e98e92b3054c567b6220b37b81d3 numpy-1.20.1-cp38-cp38-manylinux1_i686.whl
483f43a62c7e32ae991990786da90de1 numpy-1.20.1-cp38-cp38-manylinux1_x86_64.whl
bf578b783e36d3feb3344973306a9f96 numpy-1.20.1-cp38-cp38-manylinux2010_i686.whl
f5d6c77c898537017e64ee30b243fdca numpy-1.20.1-cp38-cp38-manylinux2010_x86_64.whl
5cf541a0d5af3d5812d2970a427075fb numpy-1.20.1-cp38-cp38-manylinux2014_aarch64.whl
178315c579c0a70285b8ee502eb498af numpy-1.20.1-cp38-cp38-win32.whl
5164a32e7a00a2b285302b563eb58afe numpy-1.20.1-cp38-cp38-win_amd64.whl
c123dd10788ea9ff788d735cbee444c5 numpy-1.20.1-cp39-cp39-macosx_10_9_x86_64.whl
72282fefe58650c6e7cc41f5b37b8662 numpy-1.20.1-cp39-cp39-manylinux2010_i686.whl
234d57c1a7b1f8b99c054a7a71a51cbe numpy-1.20.1-cp39-cp39-manylinux2010_x86_64.whl
352243d4285970e45d825024ca566d47 numpy-1.20.1-cp39-cp39-manylinux2014_aarch64.whl
a78c863323e0f56210c2e1acaad1bc22 numpy-1.20.1-cp39-cp39-win32.whl
86f9d3f358e7d7896e713bce99f17fdd numpy-1.20.1-cp39-cp39-win_amd64.whl
ed2c81132119fb3c7f73c6a2de306058 numpy-1.20.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl
60a5e2517be19394a7df24f6d4add3f2 numpy-1.20.1.tar.gz
30ea1c7868e73eeff2c86ac465311220 numpy-1.20.1.zip
SHA256
ae61f02b84a0211abb56462a3b6cd1e7ec39d466d3160eb4e1da8bf6717cdbeb numpy-1.20.1-cp37-cp37m-macosx_10_9_x86_64.whl
65410c7f4398a0047eea5cca9b74009ea61178efd78d1be9847fac1d6716ec1e numpy-1.20.1-cp37-cp37m-manylinux1_i686.whl
2d7e27442599104ee08f4faed56bb87c55f8b10a5494ac2ead5c98a4b289e61f numpy-1.20.1-cp37-cp37m-manylinux1_x86_64.whl
4ed8e96dc146e12c1c5cdd6fb9fd0757f2ba66048bf94c5126b7efebd12d0090 numpy-1.20.1-cp37-cp37m-manylinux2010_i686.whl
ecb5b74c702358cdc21268ff4c37f7466357871f53a30e6f84c686952bef16a9 numpy-1.20.1-cp37-cp37m-manylinux2010_x86_64.whl
b9410c0b6fed4a22554f072a86c361e417f0258838957b78bd063bde2c7f841f numpy-1.20.1-cp37-cp37m-manylinux2014_aarch64.whl
3d3087e24e354c18fb35c454026af3ed8997cfd4997765266897c68d724e4845 numpy-1.20.1-cp37-cp37m-win32.whl
89f937b13b8dd17b0099c7c2e22066883c86ca1575a975f754babc8fbf8d69a9 numpy-1.20.1-cp37-cp37m-win_amd64.whl
a1d7995d1023335e67fb070b2fae6f5968f5be3802b15ad6d79d81ecaa014fe0 numpy-1.20.1-cp38-cp38-macosx_10_9_x86_64.whl
60759ab15c94dd0e1ed88241fd4fa3312db4e91d2c8f5a2d4cf3863fad83d65b numpy-1.20.1-cp38-cp38-manylinux1_i686.whl
125a0e10ddd99a874fd357bfa1b636cd58deb78ba4a30b5ddb09f645c3512e04 numpy-1.20.1-cp38-cp38-manylinux1_x86_64.whl
c26287dfc888cf1e65181f39ea75e11f42ffc4f4529e5bd19add57ad458996e2 numpy-1.20.1-cp38-cp38-manylinux2010_i686.whl
7199109fa46277be503393be9250b983f325880766f847885607d9b13848f257 numpy-1.20.1-cp38-cp38-manylinux2010_x86_64.whl
72251e43ac426ff98ea802a931922c79b8d7596480300eb9f1b1e45e0543571e numpy-1.20.1-cp38-cp38-manylinux2014_aarch64.whl
c91ec9569facd4757ade0888371eced2ecf49e7982ce5634cc2cf4e7331a4b14 numpy-1.20.1-cp38-cp38-win32.whl
13adf545732bb23a796914fe5f891a12bd74cf3d2986eed7b7eba2941eea1590 numpy-1.20.1-cp38-cp38-win_amd64.whl
104f5e90b143dbf298361a99ac1af4cf59131218a045ebf4ee5990b83cff5fab numpy-1.20.1-cp39-cp39-macosx_10_9_x86_64.whl
89e5336f2bec0c726ac7e7cdae181b325a9c0ee24e604704ed830d241c5e47ff numpy-1.20.1-cp39-cp39-manylinux2010_i686.whl
032be656d89bbf786d743fee11d01ef318b0781281241997558fa7950028dd29 numpy-1.20.1-cp39-cp39-manylinux2010_x86_64.whl
66b467adfcf628f66ea4ac6430ded0614f5cc06ba530d09571ea404789064adc numpy-1.20.1-cp39-cp39-manylinux2014_aarch64.whl
12e4ba5c6420917571f1a5becc9338abbde71dd811ce40b37ba62dec7b39af6d numpy-1.20.1-cp39-cp39-win32.whl
9c94cab5054bad82a70b2e77741271790304651d584e2cdfe2041488e753863b numpy-1.20.1-cp39-cp39-win_amd64.whl
9eb551d122fadca7774b97db8a112b77231dcccda8e91a5bc99e79890797175e numpy-1.20.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl
9bf51d69ebb4ca9239e55bedc2185fe2c0ec222da0adee7ece4125414676846d numpy-1.20.1.tar.gz
3bc63486a870294683980d76ec1e3efc786295ae00128f9ea38e2c6e74d5a60a numpy-1.20.1.zip
- Python
Published by charris over 5 years ago
numpy -
NumPy 1.20.0 Release Notes
This NumPy release is the largest so made to date, some 684 PRs contributed by 184 people have been merged. See the list of highlights below for more details. The Python versions supported for this release are 3.7-3.9, support for Python 3.6 has been dropped. Highlights are
- Annotations for NumPy functions. This work is ongoing and improvements can be expected pending feedback from users.
- Wider use of SIMD to increase execution speed of ufuncs. Much work has been done in introducing universal functions that will ease use of modern features across different hardware platforms. This work is ongoing.
- Preliminary work in changing the dtype and casting implementations in order to provide an easier path to extending dtypes. This work is ongoing but enough has been done to allow experimentation and feedback.
- Extensive documentation improvements comprising some 185 PR merges. This work is ongoing and part of the larger project to improve NumPy\'s online presence and usefulness to new users.
- Further cleanups related to removing Python 2.7. This improves code readability and removes technical debt.
- Preliminary support for the upcoming Cython 3.0.
New functions
The random.Generator class has a new permuted function.
The new function differs from shuffle and permutation in that the
subarrays indexed by an axis are permuted rather than the axis being
treated as a separate 1-D array for every combination of the other
indexes. For example, it is now possible to permute the rows or columns
of a 2-D array.
(gh-15121)
sliding_window_view provides a sliding window view for numpy arrays
numpy.lib.stride\_tricks.sliding\_window\_view constructs
views on numpy arrays that offer a sliding or moving window access to
the array. This allows for the simple implementation of certain
algorithms, such as running means.
(gh-17394)
[numpy.broadcast_shapes]{.title-ref} is a new user-facing function
numpy.broadcast\_shapes gets the resulting shape from
broadcasting the given shape tuples against each other.
``` {.python}
np.broadcast_shapes((1, 2), (3, 1)) (3, 2)
np.broadcast_shapes(2, (3, 1)) (3, 2)
np.broadcast_shapes((6, 7), (5, 6, 1), (7,), (5, 1, 7)) (5, 6, 7) ```
(gh-17535)
Deprecations
Using the aliases of builtin types like np.int is deprecated
For a long time, np.int has been an alias of the builtin int. This
is repeatedly a cause of confusion for newcomers, and existed mainly for
historic reasons.
These aliases have been deprecated. The table below shows the full list of deprecated aliases, along with their exact meaning. Replacing uses of items in the first column with the contents of the second column will work identically and silence the deprecation warning.
The third column lists alternative NumPy names which may occasionally be
preferential. See also basics.types{.interpreted-text role="ref"} for
additional details.
| Deprecated name |Identical to | NumPy scalar type names |
| --------------- | ----------- | -----------------------
| numpy.bool | bool | numpy.bool\_ |
| numpy.int | int | numpy.int\_ (default), numpy.int64, or numpy.int32 |
| numpy.float | float | numpy.float64, numpy.float\_, numpy.double (equivalent) |
| numpy.complex | complex | numpy.complex128, numpy.complex\_, numpy.cdouble (equivalent) |
| numpy.object | object | numpy.object\_ |
| numpy.str | str | numpy.str\_ |
| numpy.long | int | numpy.int\_(C long), numpy.longlong (largest integer type) |
| numpy.unicode | str | numpy.unicode\_ |
To give a clear guideline for the vast majority of cases, for the types
bool, object, str (and unicode) using the plain version is
shorter and clear, and generally a good replacement. For float and
complex you can use float64 and complex128 if you wish to be more
explicit about the precision.
For np.int a direct replacement with np.int_ or int is also good
and will not change behavior, but the precision will continue to depend
on the computer and operating system. If you want to be more explicit
and review the current use, you have the following alternatives:
-
np.int64ornp.int32to specify the precision exactly. This ensures that results cannot depend on the computer or operating system. -
np.int_orint(the default), but be aware that it depends on the computer and operating system. - The C types:
np.cint(int),np.int_(long),np.longlong. -
np.intpwhich is 32bit on 32bit machines 64bit on 64bit machines. This can be the best type to use for indexing.
When used with np.dtype(...) or dtype=... changing it to the NumPy
name as mentioned above will have no effect on the output. If used as a
scalar with:
np.float(123)
changing it can subtly change the result. In this case, the Python
version float(123) or int(12.) is normally preferable, although the
NumPy version may be useful for consistency with NumPy arrays (for
example, NumPy behaves differently for things like division by zero).
(gh-14882)
Passing shape=None to functions with a non-optional shape argument is deprecated
Previously, this was an alias for passing shape=(). This deprecation
is emitted by PyArray\_IntpConverter in the C API. If your
API is intended to support passing None, then you should check for
None prior to invoking the converter, so as to be able to distinguish
None and ().
(gh-15886)
Indexing errors will be reported even when index result is empty
In the future, NumPy will raise an IndexError when an integer array index contains out of bound values even if a non-indexed dimension is of length 0. This will now emit a DeprecationWarning. This can happen when the array is previously empty, or an empty slice is involved:
arr1 = np.zeros((5, 0))
arr1[[20]]
arr2 = np.zeros((5, 5))
arr2[[20], :0]
Previously the non-empty index [20] was not checked for correctness.
It will now be checked causing a deprecation warning which will be
turned into an error. This also applies to assignments.
(gh-15900)
Inexact matches for mode and searchside are deprecated
Inexact and case insensitive matches for mode and searchside were
valid inputs earlier and will give a DeprecationWarning now. For
example, below are some example usages which are now deprecated and will
give a DeprecationWarning:
import numpy as np
arr = np.array([[3, 6, 6], [4, 5, 1]])
# mode: inexact match
np.ravel_multi_index(arr, (7, 6), mode="clap") # should be "clip"
# searchside: inexact match
np.searchsorted(arr[0], 4, side='random') # should be "right"
(gh-16056)
Deprecation of [numpy.dual]{.title-ref}
The module numpy.dual is deprecated. Instead of importing
functions from numpy.dual, the functions should be
imported directly from NumPy or SciPy.
(gh-16156)
outer and ufunc.outer deprecated for matrix
np.matrix use with \~numpy.outer or generic ufunc outer
calls such as numpy.add.outer. Previously, matrix was converted to an
array here. This will not be done in the future requiring a manual
conversion to arrays.
(gh-16232)
Further Numeric Style types Deprecated
The remaining numeric-style type codes Bytes0, Str0, Uint32,
Uint64, and Datetime64 have been deprecated. The lower-case variants
should be used instead. For bytes and string "S" and "U" are further
alternatives.
(gh-16554)
The ndincr method of ndindex is deprecated
The documentation has warned against using this function since NumPy
1.8. Use next(it) instead of it.ndincr().
(gh-17233)
ArrayLike objects which do not define __len__ and __getitem__
Objects which define one of the protocols __array__,
__array_interface__, or __array_struct__ but are not sequences
(usually defined by having a __len__ and __getitem__) will behave
differently during array-coercion in the future.
When nested inside sequences, such as np.array([array_like]), these
were handled as a single Python object rather than an array. In the
future they will behave identically to:
np.array([np.array(array_like)])
This change should only have an effect if np.array(array_like) is not
0-D. The solution to this warning may depend on the object:
- Some array-likes may expect the new behaviour, and users can ignore the warning. The object can choose to expose the sequence protocol to opt-in to the new behaviour.
- For example,
shapelywill allow conversion to an array-like usingline.coordsrather thannp.asarray(line). Users may work around the warning, or use the new convention when it becomes available.
Unfortunately, using the new behaviour can only be achieved by calling
np.array(array_like).
If you wish to ensure that the old behaviour remains unchanged, please create an object array and then fill it explicitly, for example:
arr = np.empty(3, dtype=object)
arr[:] = [array_like1, array_like2, array_like3]
This will ensure NumPy knows to not enter the array-like and use it as a object instead.
(gh-17973)
Future Changes
Arrays cannot be using subarray dtypes
Array creation and casting using np.array(arr, dtype) and
arr.astype(dtype) will use different logic when dtype is a subarray
dtype such as np.dtype("(2)i,").
For such a dtype the following behaviour is true:
res = np.array(arr, dtype)
res.dtype is not dtype
res.dtype is dtype.base
res.shape == arr.shape + dtype.shape
But res is filled using the logic:
res = np.empty(arr.shape + dtype.shape, dtype=dtype.base)
res[...] = arr
which uses incorrect broadcasting (and often leads to an error). In the future, this will instead cast each element individually, leading to the same result as:
res = np.array(arr, dtype=np.dtype(["f", dtype]))["f"]
Which can normally be used to opt-in to the new behaviour.
This change does not affect np.array(list, dtype="(2)i,") unless the
list itself includes at least one array. In particular, the behaviour
is unchanged for a list of tuples.
(gh-17596)
Expired deprecations
The deprecation of numeric style type-codes
np.dtype("Complex64")(with upper case spelling), is expired."Complex64"corresponded to"complex128"and"Complex32"corresponded to"complex64".The deprecation of
np.sctypeNAandnp.typeNAis expired. Both have been removed from the public API. Usenp.typeDictinstead.(gh-16554)
The 14-year deprecation of
np.ctypeslib.ctypes_load_libraryis expired. Use~numpy.ctypeslib.load_library{.interpreted-text role="func"} instead, which is identical.(gh-17116)
Financial functions removed
In accordance with NEP 32, the financial functions are removed from
NumPy 1.20. The functions that have been removed are fv, ipmt,
irr, mirr, nper, npv, pmt, ppmt, pv, and rate. These
functions are available in the
numpy_financial library.
(gh-17067)
Compatibility notes
isinstance(dtype, np.dtype) and not type(dtype) is not np.dtype
NumPy dtypes are not direct instances of np.dtype anymore. Code that
may have used type(dtype) is np.dtype will always return False and
must be updated to use the correct version
isinstance(dtype, np.dtype).
This change also affects the C-side macro PyArray_DescrCheck if
compiled against a NumPy older than 1.16.6. If code uses this macro and
wishes to compile against an older version of NumPy, it must replace the
macro (see also C API changes section).
Same kind casting in concatenate with axis=None
When [~numpy.concatenate]{.title-ref} is called with axis=None, the
flattened arrays were cast with unsafe. Any other axis choice uses
\"same kind\". That different default has been deprecated and \"same
kind\" casting will be used instead. The new casting keyword argument
can be used to retain the old behaviour.
(gh-16134)
NumPy Scalars are cast when assigned to arrays
When creating or assigning to arrays, in all relevant cases NumPy scalars will now be cast identically to NumPy arrays. In particular this changes the behaviour in some cases which previously raised an error:
np.array([np.float64(np.nan)], dtype=np.int64)
will succeed and return an undefined result (usually the smallest possible integer). This also affects assignments:
arr[0] = np.float64(np.nan)
At this time, NumPy retains the behaviour for:
np.array(np.float64(np.nan), dtype=np.int64)
The above changes do not affect Python scalars:
np.array([float("NaN")], dtype=np.int64)
remains unaffected (np.nan is a Python float, not a NumPy one).
Unlike signed integers, unsigned integers do not retain this special
case, since they always behaved more like casting. The following code
stops raising an error:
np.array([np.float64(np.nan)], dtype=np.uint64)
To avoid backward compatibility issues, at this time assignment from
datetime64 scalar to strings of too short length remains supported.
This means that np.asarray(np.datetime64("2020-10-10"), dtype="S5")
succeeds now, when it failed before. In the long term this may be
deprecated or the unsafe cast may be allowed generally to make
assignment of arrays and scalars behave consistently.
Array coercion changes when Strings and other types are mixed
When strings and other types are mixed, such as:
np.array(["string", np.float64(3.)], dtype="S")
The results will change, which may lead to string dtypes with longer
strings in some cases. In particularly, if dtype="S" is not provided
any numerical value will lead to a string results long enough to hold
all possible numerical values. (e.g. \"S32\" for floats). Note that you
should always provide dtype="S" when converting non-strings to
strings.
If dtype="S" is provided the results will be largely identical to
before, but NumPy scalars (not a Python float like 1.0), will still
enforce a uniform string length:
np.array([np.float64(3.)], dtype="S") # gives "S32"
np.array([3.0], dtype="S") # gives "S3"
Previously the first version gave the same result as the second.
Array coercion restructure
Array coercion has been restructured. In general, this should not affect users. In extremely rare corner cases where array-likes are nested:
np.array([array_like1])
Things will now be more consistent with:
np.array([np.array(array_like1)])
This can subtly change output for some badly defined array-likes. One
example for this are array-like objects which are not also sequences of
matching shape. In NumPy 1.20, a warning will be given when an
array-like is not also a sequence (but behaviour remains identical, see
deprecations). If an array like is also a sequence (defines
__getitem__ and __len__) NumPy will now only use the result given by
__array__, __array_interface__, or __array_struct__. This will
result in differences when the (nested) sequence describes a different
shape.
(gh-16200)
Writing to the result of numpy.broadcast\_arrays will export readonly buffers
In NumPy 1.17 numpy.broadcast\_arrays started warning when
the resulting array was written to. This warning was skipped when the
array was used through the buffer interface (e.g. memoryview(arr)).
The same thing will now occur for the two protocols
__array_interface__, and __array_struct__ returning read-only
buffers instead of giving a warning.
(gh-16350)
Numeric-style type names have been removed from type dictionaries
To stay in sync with the deprecation for np.dtype("Complex64") and
other numeric-style (capital case) types. These were removed from
np.sctypeDict and np.typeDict. You should use the lower case
versions instead. Note that "Complex64" corresponds to "complex128"
and "Complex32" corresponds to "complex64". The numpy style (new)
versions, denote the full size and not the size of the real/imaginary
part.
(gh-16554)
The operator.concat function now raises TypeError for array arguments
The previous behavior was to fall back to addition and add the two arrays, which was thought to be unexpected behavior for a concatenation function.
(gh-16570)
nickname attribute removed from ABCPolyBase
An abstract property nickname has been removed from ABCPolyBase as
it was no longer used in the derived convenience classes. This may
affect users who have derived classes from ABCPolyBase and overridden
the methods for representation and display, e.g. __str__, __repr__,
_repr_latex, etc.
(gh-16589)
float->timedelta and uint64->timedelta promotion will raise a TypeError
Float and timedelta promotion consistently raises a TypeError.
np.promote_types("float32", "m8") aligns with
np.promote_types("m8", "float32") now and both raise a TypeError.
Previously, np.promote_types("float32", "m8") returned "m8" which
was considered a bug.
Uint64 and timedelta promotion consistently raises a TypeError.
np.promote_types("uint64", "m8") aligns with
np.promote_types("m8", "uint64") now and both raise a TypeError.
Previously, np.promote_types("uint64", "m8") returned "m8" which was
considered a bug.
(gh-16592)
numpy.genfromtxt now correctly unpacks structured arrays
Previously, numpy.genfromtxt failed to unpack if it was
called with unpack=True and a structured datatype was passed to the
dtype argument (or dtype=None was passed and a structured datatype
was inferred). For example:
>>> data = StringIO("21 58.0\n35 72.0")
>>> np.genfromtxt(data, dtype=None, unpack=True)
array([(21, 58.), (35, 72.)], dtype=[('f0', '<i8'), ('f1', '<f8')])
Structured arrays will now correctly unpack into a list of arrays, one for each column:
>>> np.genfromtxt(data, dtype=None, unpack=True)
[array([21, 35]), array([58., 72.])]
(gh-16650)
mgrid, r_, etc. consistently return correct outputs for non-default precision input
Previously,
np.mgrid[np.float32(0.1):np.float32(0.35):np.float32(0.1),] and
np.r_[0:10:np.complex64(3j)] failed to return meaningful output. This
bug potentially affects [~numpy.mgrid]{.title-ref},
numpy.ogrid, numpy.r\_, and
numpy.c\_ when an input with dtype other than the
default float64 and complex128 and equivalent Python types were
used. The methods have been fixed to handle varying precision correctly.
(gh-16815)
Boolean array indices with mismatching shapes now properly give IndexError
Previously, if a boolean array index matched the size of the indexed
array but not the shape, it was incorrectly allowed in some cases. In
other cases, it gave an error, but the error was incorrectly a
ValueError with a message about broadcasting instead of the correct
IndexError.
For example, the following used to incorrectly give
ValueError: operands could not be broadcast together with shapes (2,2) (1,4):
{.python}
np.empty((2, 2))[np.array([[True, False, False, False]])]
And the following used to incorrectly return array([], dtype=float64):
{.python}
np.empty((2, 2))[np.array([[False, False, False, False]])]
Both now correctly give
IndexError: boolean index did not match indexed array along dimension 0; dimension is 2 but corresponding boolean dimension is 1.
(gh-17010)
Casting errors interrupt Iteration
When iterating while casting values, an error may stop the iteration
earlier than before. In any case, a failed casting operation always
returned undefined, partial results. Those may now be even more
undefined and partial. For users of the NpyIter C-API such cast errors
will now cause the [iternext()]{.title-ref} function to return 0 and
thus abort iteration. Currently, there is no API to detect such an error
directly. It is necessary to check PyErr_Occurred(), which may be
problematic in combination with NpyIter_Reset. These issues always
existed, but new API could be added if required by users.
(gh-17029)
f2py generated code may return unicode instead of byte strings
Some byte strings previously returned by f2py generated code may now be unicode strings. This results from the ongoing Python2 -> Python3 cleanup.
(gh-17068)
The first element of the __array_interface__["data"] tuple must be an integer
This has been the documented interface for many years, but there was still code that would accept a byte string representation of the pointer address. That code has been removed, passing the address as a byte string will now raise an error.
(gh-17241)
poly1d respects the dtype of all-zero argument
Previously, constructing an instance of poly1d with all-zero
coefficients would cast the coefficients to np.float64. This affected
the output dtype of methods which construct poly1d instances
internally, such as np.polymul.
(gh-17577)
The numpy.i file for swig is Python 3 only.
Uses of Python 2.7 C-API functions have been updated to Python 3 only. Users who need the old version should take it from an older version of NumPy.
(gh-17580)
Void dtype discovery in np.array
In calls using np.array(..., dtype="V"), arr.astype("V"), and
similar a TypeError will now be correctly raised unless all elements
have the identical void length. An example for this is:
np.array([b"1", b"12"], dtype="V")
Which previously returned an array with dtype "V2" which cannot
represent b"1" faithfully.
(gh-17706)
C API changes
The PyArray_DescrCheck macro is modified
The PyArray_DescrCheck macro has been updated since NumPy 1.16.6 to
be:
#define PyArray_DescrCheck(op) PyObject_TypeCheck(op, &PyArrayDescr_Type)
Starting with NumPy 1.20 code that is compiled against an earlier version will be API incompatible with NumPy 1.20. The fix is to either compile against 1.16.6 (if the NumPy 1.16 release is the oldest release you wish to support), or manually inline the macro by replacing it with the new definition:
PyObject_TypeCheck(op, &PyArrayDescr_Type)
which is compatible with all NumPy versions.
Size of np.ndarray and np.void_ changed
The size of the PyArrayObject and PyVoidScalarObject structures have
changed. The following header definition has been removed:
#define NPY_SIZEOF_PYARRAYOBJECT (sizeof(PyArrayObject_fields))
since the size must not be considered a compile time constant: it will change for different runtime versions of NumPy.
The most likely relevant use are potential subclasses written in C which
will have to be recompiled and should be updated. Please see the
documentation for :cPyArrayObject{.interpreted-text role="type"} for
more details and contact the NumPy developers if you are affected by
this change.
NumPy will attempt to give a graceful error but a program expecting a fixed structure size may have undefined behaviour and likely crash.
(gh-16938)
New Features
where keyword argument for numpy.all and numpy.any functions
The keyword argument where is added and allows to only consider
specified elements or subaxes from an array in the Boolean evaluation of
all and any. This new keyword is available to the functions all
and any both via numpy directly or in the methods of
numpy.ndarray.
Any broadcastable Boolean array or a scalar can be set as where. It
defaults to True to evaluate the functions for all elements in an
array if where is not set by the user. Examples are given in the
documentation of the functions.
where keyword argument for numpy functions mean, std, var
The keyword argument where is added and allows to limit the scope in
the calculation of mean, std and var to only a subset of elements.
It is available both via numpy directly or in the methods of
numpy.ndarray.
Any broadcastable Boolean array or a scalar can be set as where. It
defaults to True to evaluate the functions for all elements in an
array if where is not set by the user. Examples are given in the
documentation of the functions.
(gh-15852)
norm=backward, forward keyword options for numpy.fft functions
The keyword argument option norm=backward is added as an alias for
None and acts as the default option; using it has the direct
transforms unscaled and the inverse transforms scaled by 1/n.
Using the new keyword argument option norm=forward has the direct
transforms scaled by 1/n and the inverse transforms unscaled (i.e.
exactly opposite to the default option norm=backward).
(gh-16476)
NumPy is now typed
Type annotations have been added for large parts of NumPy. There is also a new [numpy.typing]{.title-ref} module that contains useful types for end-users. The currently available types are
-
ArrayLike: for objects that can be coerced to an array -
DtypeLike: for objects that can be coerced to a dtype
(gh-16515)
numpy.typing is accessible at runtime
The types in numpy.typing can now be imported at runtime. Code like
the following will now work:
{.python}
from numpy.typing import ArrayLike
x: ArrayLike = [1, 2, 3, 4]
(gh-16558)
New __f2py_numpy_version__ attribute for f2py generated modules.
Because f2py is released together with NumPy, __f2py_numpy_version__
provides a way to track the version f2py used to generate the module.
(gh-16594)
mypy tests can be run via runtests.py
Currently running mypy with the NumPy stubs configured requires either:
- Installing NumPy
- Adding the source directory to MYPYPATH and linking to the
mypy.ini
Both options are somewhat inconvenient, so add a --mypy option to
runtests that handles setting things up for you. This will also be
useful in the future for any typing codegen since it will ensure the
project is built before type checking.
(gh-17123)
Negation of user defined BLAS/LAPACK detection order
[~numpy.distutils]{.title-ref} allows negation of libraries when determining BLAS/LAPACK libraries. This may be used to remove an item from the library resolution phase, i.e. to disallow NetLIB libraries one could do:
{.bash}
NPY_BLAS_ORDER='^blas' NPY_LAPACK_ORDER='^lapack' python setup.py build
That will use any of the accelerated libraries instead.
(gh-17219)
Allow passing optimizations arguments to asv build
It is now possible to pass -j, --cpu-baseline, --cpu-dispatch and
--disable-optimization flags to ASV build when the --bench-compare
argument is used.
(gh-17284)
The NVIDIA HPC SDK nvfortran compiler is now supported
Support for the nvfortran compiler, a version of pgfortran, has been added.
(gh-17344)
dtype option for cov and corrcoef
The dtype option is now available for [numpy.cov]{.title-ref} and
[numpy.corrcoef]{.title-ref}. It specifies which data-type the returned
result should have. By default the functions still return a
[numpy.float64]{.title-ref} result.
(gh-17456)
Improvements
Improved string representation for polynomials (__str__)
The string representation (__str__) of all six polynomial types in
[numpy.polynomial]{.title-ref} has been updated to give the polynomial
as a mathematical expression instead of an array of coefficients. Two
package-wide formats for the polynomial expressions are available - one
using Unicode characters for superscripts and subscripts, and another
using only ASCII characters.
(gh-15666)
Remove the Accelerate library as a candidate LAPACK library
Apple no longer supports Accelerate. Remove it.
(gh-15759)
Object arrays containing multi-line objects have a more readable repr
If elements of an object array have a repr containing new lines, then
the wrapped lines will be aligned by column. Notably, this improves the
repr of nested arrays:
>>> np.array([np.eye(2), np.eye(3)], dtype=object)
array([array([[1., 0.],
[0., 1.]]),
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])], dtype=object)
(gh-15997)
Concatenate supports providing an output dtype
Support was added to [~numpy.concatenate]{.title-ref} to provide an
output dtype and casting using keyword arguments. The dtype
argument cannot be provided in conjunction with the out one.
(gh-16134)
Thread safe f2py callback functions
Callback functions in f2py are now thread safe.
(gh-16519)
[numpy.core.records.fromfile]{.title-ref} now supports file-like objects
[numpy.rec.fromfile]{.title-ref} can now use file-like objects, for
instance :pyio.BytesIO{.interpreted-text role="class"}
(gh-16675)
RPATH support on AIX added to distutils
This allows SciPy to be built on AIX.
(gh-16710)
Use f90 compiler specified by the command line args
The compiler command selection for Fortran Portland Group Compiler is changed in [numpy.distutils.fcompiler]{.title-ref}. This only affects the linking command. This forces the use of the executable provided by the command line option (if provided) instead of the pgfortran executable. If no executable is provided to the command line option it defaults to the pgf90 executable, wich is an alias for pgfortran according to the PGI documentation.
(gh-16730)
Add NumPy declarations for Cython 3.0 and later
The pxd declarations for Cython 3.0 were improved to avoid using
deprecated NumPy C-API features. Extension modules built with Cython
3.0+ that use NumPy can now set the C macro
NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION to avoid C compiler warnings
about deprecated API usage.
(gh-16986)
Make the window functions exactly symmetric
Make sure the window functions provided by NumPy are symmetric. There were previously small deviations from symmetry due to numerical precision that are now avoided by better arrangement of the computation.
(gh-17195)
Performance improvements and changes
Enable multi-platform SIMD compiler optimizations
A series of improvements for NumPy infrastructure to pave the way to NEP-38, that can be summarized as follow:
New Build Arguments
-
--cpu-baselineto specify the minimal set of required optimizations, default value isminwhich provides the minimum CPU features that can safely run on a wide range of users platforms. -
--cpu-dispatchto specify the dispatched set of additional optimizations, default value ismax -xop -fma4which enables all CPU features, except for AMD legacy features. -
--disable-optimizationto explicitly disable the whole new improvements, It also adds a new C compiler #definition calledNPY_DISABLE_OPTIMIZATIONwhich it can be used as guard for any SIMD code.
-
Advanced CPU dispatcher
A flexible cross-architecture CPU dispatcher built on the top of Python/Numpy distutils, support all common compilers with a wide range of CPU features.
The new dispatcher requires a special file extension
*.dispatch.cto mark the dispatch-able C sources. These sources have the ability to be compiled multiple times so that each compilation process represents certain CPU features and provides different #definitions and flags that affect the code paths.New auto-generated C header ``core/src/common/_cpu_dispatch.h``
This header is generated by the distutils module
ccompiler_opt, and contains all the #definitions and headers of instruction sets, that had been configured through command arguments \'--cpu-baseline\' and \'--cpu-dispatch\'.New C header ``core/src/common/npy_cpu_dispatch.h``
This header contains all utilities that required for the whole CPU dispatching process, it also can be considered as a bridge linking the new infrastructure work with NumPy CPU runtime detection.
Add new attributes to NumPy umath module(Python level)
-
__cpu_baseline__a list contains the minimal set of required optimizations that supported by the compiler and platform according to the specified values to command argument \'--cpu-baseline\'. -
__cpu_dispatch__a list contains the dispatched set of additional optimizations that supported by the compiler and platform according to the specified values to command argument \'--cpu-dispatch\'.
-
Print the supported CPU features during the run of PytestTester
(gh-13516)
Changes
Changed behavior of divmod(1., 0.) and related functions
The changes also assure that different compiler versions have the same behavior for nan or inf usages in these operations. This was previously compiler dependent, we now force the invalid and divide by zero flags, making the results the same across compilers. For example, gcc-5, gcc-8, or gcc-9 now result in the same behavior. The changes are tabulated below:
| Operator | Old Warning | New Warning | Old Result | New Result | Works on MacOS | | ---------------------------- | ------------- | -------------------------- | ------------ | ----------- | ---------------- | | np.divmod(1.0, 0.0) | Invalid | Invalid and Dividebyzero | nan, nan | inf, nan | Yes | | np.fmod(1.0, 0.0) | Invalid | Invalid | nan | nan | No? Yes | | np.floor_divide(1.0, 0.0) | Invalid | Dividebyzero | nan | inf | Yes | | np.remainder(1.0, 0.0) | Invalid | Invalid | nan | nan | Yes |
: Summary of New Behavior
(gh-16161)
np.linspace on integers now uses floor
When using a int dtype in [numpy.linspace]{.title-ref}, previously
float values would be rounded towards zero. Now
[numpy.floor]{.title-ref} is used instead, which rounds toward -inf.
This changes the results for negative values. For example, the following
would previously give:
>>> np.linspace(-3, 1, 8, dtype=int)
array([-3, -2, -1, -1, 0, 0, 0, 1])
and now results in:
>>> np.linspace(-3, 1, 8, dtype=int)
array([-3, -3, -2, -2, -1, -1, 0, 1])
The former result can still be obtained with:
>>> np.linspace(-3, 1, 8).astype(int)
array([-3, -2, -1, -1, 0, 0, 0, 1])
(gh-16841)
Checksums
MD5
6f43f51475706d8346cee9604ed54e8a numpy-1.20.0-cp37-cp37m-macosx_10_9_x86_64.whl
c77f563595ab4bab6185c795c573a26a numpy-1.20.0-cp37-cp37m-manylinux1_i686.whl
e8f71fdb7e4e837ae79894b621e3ca08 numpy-1.20.0-cp37-cp37m-manylinux1_x86_64.whl
89c477a3eaf2e3379aa21bf80e2a2812 numpy-1.20.0-cp37-cp37m-manylinux2010_i686.whl
82211490e9375bdad57592139b49184d numpy-1.20.0-cp37-cp37m-manylinux2010_x86_64.whl
b2d47be4aa123623b39f18723e0d70b7 numpy-1.20.0-cp37-cp37m-manylinux2014_aarch64.whl
e884b218dc2b20895f57fae00534e8ea numpy-1.20.0-cp37-cp37m-win32.whl
ec8265d429e808d8f92ed46711d66bc7 numpy-1.20.0-cp37-cp37m-win_amd64.whl
791cc5086a755929a1140018067c4587 numpy-1.20.0-cp38-cp38-macosx_10_9_x86_64.whl
2ee146bad9aa521d0bdfd7e30e982a80 numpy-1.20.0-cp38-cp38-manylinux1_i686.whl
83d74204a26e9dd3cb93653818745d09 numpy-1.20.0-cp38-cp38-manylinux1_x86_64.whl
0b0a5e36d4b75a00603cec4db09c44d7 numpy-1.20.0-cp38-cp38-manylinux2010_i686.whl
c192aeac728a3abfbd16daef87b2a307 numpy-1.20.0-cp38-cp38-manylinux2010_x86_64.whl
2282da14106cb52bbf9c8c0b847c3480 numpy-1.20.0-cp38-cp38-manylinux2014_aarch64.whl
0e0e4bf53dd8ea4e232083e788419f30 numpy-1.20.0-cp38-cp38-win32.whl
93ebb884970cf7292778cb19e9f27596 numpy-1.20.0-cp38-cp38-win_amd64.whl
749cca75b33849a78e7238aeb09baded numpy-1.20.0-cp39-cp39-macosx_10_9_x86_64.whl
e36e7e259bb38ccd2320f88a137115e0 numpy-1.20.0-cp39-cp39-manylinux2010_i686.whl
4979a98a2cf0a1b14a82630b717aa12b numpy-1.20.0-cp39-cp39-manylinux2010_x86_64.whl
52a78d15f15959003047ccb6b66a0ee7 numpy-1.20.0-cp39-cp39-manylinux2014_aarch64.whl
796b273028c7724a855214ae9a83e4f8 numpy-1.20.0-cp39-cp39-win32.whl
663428d8bedc5785041800ce098368cd numpy-1.20.0-cp39-cp39-win_amd64.whl
66ea4e7911de7fdce688c1b69f9c7c54 numpy-1.20.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl
fc7c970084438911a50efaa8cddccebc numpy-1.20.0.tar.gz
024eb99dba56c3021458caf86f2fea0a numpy-1.20.0.zip
SHA256
89bd70c9ad540febe6c28451ba225eb4e49d27f64728357f512c808002325dfa numpy-1.20.0-cp37-cp37m-macosx_10_9_x86_64.whl
1264c66129f5ef63187649dd43f1ca59532e8c098723643336a85131c0dcce3f numpy-1.20.0-cp37-cp37m-manylinux1_i686.whl
e9c5fd330d2fedf06051bafb996252de9b032fcb2ec03eefc9a543e56efa66d4 numpy-1.20.0-cp37-cp37m-manylinux1_x86_64.whl
db5e69d08756a2fa75a42b4e433880b6187768fe1bc73d21819def893e5128c6 numpy-1.20.0-cp37-cp37m-manylinux2010_i686.whl
1abc02e30e3efd81a4571e00f8e62bf42e343c76698e0a3e11d9c2b3ee0d77a7 numpy-1.20.0-cp37-cp37m-manylinux2010_x86_64.whl
5ae765dd29c71a555f8102281f6fb15a3f4dbd35f6e7daf36af9df6d9dd716a5 numpy-1.20.0-cp37-cp37m-manylinux2014_aarch64.whl
b51b9ef0624f4b01b846c981034c10d2e30db33f9f8be71e992f3900741f6f77 numpy-1.20.0-cp37-cp37m-win32.whl
afeee581b50df20ef07b736e62ca612858f1fcdba96651d26ab44e3d567a4e6e numpy-1.20.0-cp37-cp37m-win_amd64.whl
2bf0e68c92ef077fe766e53f8937d8ac341bdbca68ec128ae049b7d5c34e3206 numpy-1.20.0-cp38-cp38-macosx_10_9_x86_64.whl
2445a96fbae23a4109c61be0f0af0f3bc273905dc5687a710850c1dfde0fc994 numpy-1.20.0-cp38-cp38-manylinux1_i686.whl
33edfc0eb229f86f539493917b34035054313a11afbed48404aaf9f86bf4b0f6 numpy-1.20.0-cp38-cp38-manylinux1_x86_64.whl
894aaee60043a98b03f0ad992c810f62e3a15f98a701e1c0f58a4f4a0df13429 numpy-1.20.0-cp38-cp38-manylinux2010_i686.whl
b66a6c15d793eda7cdad986e737775aa31b9306d588c14dd0277d2dda5546150 numpy-1.20.0-cp38-cp38-manylinux2010_x86_64.whl
eee454d3aa3955d0c0069a0f265fea47f1e1384c35a110a95efed358eb6e1562 numpy-1.20.0-cp38-cp38-manylinux2014_aarch64.whl
abdfa075e293d73638ece434708aa60b510dc6e70d805f57f481a0f550b25a9e numpy-1.20.0-cp38-cp38-win32.whl
f1e9424e9aa3834ea27cc12f9c6ea8ace5da18ee60a720bb3a85b2f733f41782 numpy-1.20.0-cp38-cp38-win_amd64.whl
cb257bb0c0a3176c32782a63cfab2eace7eabfa2a3b2dfd85a13700617ccaf28 numpy-1.20.0-cp39-cp39-macosx_10_9_x86_64.whl
cf5d9dcbdbe523fa665c5309cce5f144648d94a7fddbf5a40f8e0d5c9f5b596d numpy-1.20.0-cp39-cp39-manylinux2010_i686.whl
93c2abea7bb69f47029b84ceac30ab46dfcfdb99b671ad850a333ff794a765e4 numpy-1.20.0-cp39-cp39-manylinux2010_x86_64.whl
0d28a54afcf46f1f9ebd163e49ad6b49087f22986fefd01a23ca0c1cdda25ca6 numpy-1.20.0-cp39-cp39-manylinux2014_aarch64.whl
d1bc331e1706fd1809a1bc8a31205329e5b30cf5ba50461c624da267e99f6ae6 numpy-1.20.0-cp39-cp39-win32.whl
e3db646af9f6a145f0c57202f4b55d4a33f975e395e78fb7b394644c17c1a3a6 numpy-1.20.0-cp39-cp39-win_amd64.whl
4d592264d2a4f368afbb4288b5ceb646d4cbaf559c0249c096fbb0a149806b90 numpy-1.20.0-pp37-pypy37_pp73-manylinux2010_x86_64.whl
67b630745a71b541ff6517d6f3d62b00690dc8ba0684cad0d7b0ac55aec1de53 numpy-1.20.0.tar.gz
3d8233c03f116d068d5365fed4477f2947c7229582dad81e5953088989294cec numpy-1.20.0.zip
- Python
Published by charris over 5 years ago
numpy -
NumPy 1.19.5 Release Notes
NumPy 1.19.5 is a short bugfix release. Apart from fixing several bugs, the main improvement is the update to OpenBLAS 0.3.13 that works around the windows 2004 bug while not breaking execution on other platforms. This release supports Python 3.6-3.9 and is planned to be the last release in the 1.19.x cycle.
Contributors
A total of 8 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Charles Harris
- Christoph Gohlke
- Matti Picus
- Raghuveer Devulapalli
- Sebastian Berg
- Simon Graham +
- Veniamin Petrenko +
- Bernie Gray +
Pull requests merged
A total of 11 pull requests were merged for this release.
- #17756: BUG: Fix segfault due to out of bound pointer in floatstatus...
- #17774: BUG: fix np.timedelta64(\'nat\').__format__ throwing an exception
- #17775: BUG: Fixed file handle leak in array_tofile.
- #17786: BUG: Raise recursion error during dimension discovery
- #17917: BUG: Fix subarray dtype used with too large count in fromfile
- #17918: BUG: \'bool\' object has no attribute \'ndim\'
- #17919: BUG: ensure _UFuncNoLoopError can be pickled
- #17924: BLD: use BUFFERSIZE=20 in OpenBLAS
- #18026: BLD: update to OpenBLAS 0.3.13
- #18036: BUG: make a variable volatile to work around clang compiler bug
- #18114: REL: Prepare for the NumPy 1.19.5 release.
Checksums
MD5
2651049b70d2ec07d8afd7637f198807 numpy-1.19.5-cp36-cp36m-macosx_10_9_x86_64.whl
71cc7869a54cf55df4699aebe27e9344 numpy-1.19.5-cp36-cp36m-manylinux1_i686.whl
28d23e25c6e6654b2f65218c6e9b3825 numpy-1.19.5-cp36-cp36m-manylinux1_x86_64.whl
fb4128d719d72130cbf24baf308761c9 numpy-1.19.5-cp36-cp36m-manylinux2010_i686.whl
0c8edfbbb26823b7495b5371558b1ae5 numpy-1.19.5-cp36-cp36m-manylinux2010_x86_64.whl
ad8e6247a175f3a9786eedb4baff7c06 numpy-1.19.5-cp36-cp36m-manylinux2014_aarch64.whl
2a3e121d4f242cef4ef00d5e6e3cebc9 numpy-1.19.5-cp36-cp36m-win32.whl
baf1bd7e3a8c19367103483d1fd61cfc numpy-1.19.5-cp36-cp36m-win_amd64.whl
0086e5551c22e62244781e4179a013c9 numpy-1.19.5-cp37-cp37m-macosx_10_9_x86_64.whl
538fe864a8809a8d9b6b5c102ac8de1f numpy-1.19.5-cp37-cp37m-manylinux1_i686.whl
5323920ec3e1953078cfa0560ae53867 numpy-1.19.5-cp37-cp37m-manylinux1_x86_64.whl
464f0f6284ede3cb2ea3070fee729048 numpy-1.19.5-cp37-cp37m-manylinux2010_i686.whl
9aa2656bab43993cc99f9cd996c71997 numpy-1.19.5-cp37-cp37m-manylinux2010_x86_64.whl
bcd1e59d57515d2f7be107266cab4f00 numpy-1.19.5-cp37-cp37m-manylinux2014_aarch64.whl
4e87ab21f30016ea5b9a981e3ecd733a numpy-1.19.5-cp37-cp37m-win32.whl
c50b11de3b82163e6e75d17762368425 numpy-1.19.5-cp37-cp37m-win_amd64.whl
2beca0d3718c5b355f3c78d9f4f1fe87 numpy-1.19.5-cp38-cp38-macosx_10_9_x86_64.whl
8302aaa77a0978df894f9f62caac7ee7 numpy-1.19.5-cp38-cp38-manylinux1_i686.whl
6875515a35558ac17d3cdc8e8578debd numpy-1.19.5-cp38-cp38-manylinux1_x86_64.whl
2c72ca182bc4b4904b6c87f7d4312036 numpy-1.19.5-cp38-cp38-manylinux2010_i686.whl
1b334aad7bdfa96dc3eb10f55f8c44dd numpy-1.19.5-cp38-cp38-manylinux2010_x86_64.whl
f4e63f368fc230f482205e3b65b8f5c7 numpy-1.19.5-cp38-cp38-manylinux2014_aarch64.whl
d5a97ef684d53b04bf14e0b6cca7e8a1 numpy-1.19.5-cp38-cp38-win32.whl
abed55a50177d54a10d8e89ccde971ca numpy-1.19.5-cp38-cp38-win_amd64.whl
3c3fc07aeb311677975a58d1ab1f3e5e numpy-1.19.5-cp39-cp39-macosx_10_9_x86_64.whl
c7c070e284f49f9915ecbcec847760a5 numpy-1.19.5-cp39-cp39-manylinux1_i686.whl
2613261149a32771243bb71f53e3bc3a numpy-1.19.5-cp39-cp39-manylinux1_x86_64.whl
5f84721a5e286e383bf6ba251c8add31 numpy-1.19.5-cp39-cp39-manylinux2010_i686.whl
9a0ac6f630de2081302df9bbffe1b555 numpy-1.19.5-cp39-cp39-manylinux2010_x86_64.whl
b48e31d316e4803b5e463dd5e38c8339 numpy-1.19.5-cp39-cp39-manylinux2014_aarch64.whl
15589af64e734aa1ecc7e04767ccc63d numpy-1.19.5-cp39-cp39-win32.whl
cca2b2301f11a89329727ea5302d9b12 numpy-1.19.5-cp39-cp39-win_amd64.whl
c9b5c30dc035aa7bd9c1ebf6771939c3 numpy-1.19.5-pp36-pypy36_pp73-manylinux2010_x86_64.whl
e67564b7dfedf213fda112ee078c67bf numpy-1.19.5.tar.gz
f6a1b48717c552bbc18f1adc3cc1fe0e numpy-1.19.5.zip
SHA256
cc6bd4fd593cb261332568485e20a0712883cf631f6f5e8e86a52caa8b2b50ff numpy-1.19.5-cp36-cp36m-macosx_10_9_x86_64.whl
aeb9ed923be74e659984e321f609b9ba54a48354bfd168d21a2b072ed1e833ea numpy-1.19.5-cp36-cp36m-manylinux1_i686.whl
8b5e972b43c8fc27d56550b4120fe6257fdc15f9301914380b27f74856299fea numpy-1.19.5-cp36-cp36m-manylinux1_x86_64.whl
43d4c81d5ffdff6bae58d66a3cd7f54a7acd9a0e7b18d97abb255defc09e3140 numpy-1.19.5-cp36-cp36m-manylinux2010_i686.whl
a4646724fba402aa7504cd48b4b50e783296b5e10a524c7a6da62e4a8ac9698d numpy-1.19.5-cp36-cp36m-manylinux2010_x86_64.whl
2e55195bc1c6b705bfd8ad6f288b38b11b1af32f3c8289d6c50d47f950c12e76 numpy-1.19.5-cp36-cp36m-manylinux2014_aarch64.whl
39b70c19ec771805081578cc936bbe95336798b7edf4732ed102e7a43ec5c07a numpy-1.19.5-cp36-cp36m-win32.whl
dbd18bcf4889b720ba13a27ec2f2aac1981bd41203b3a3b27ba7a33f88ae4827 numpy-1.19.5-cp36-cp36m-win_amd64.whl
603aa0706be710eea8884af807b1b3bc9fb2e49b9f4da439e76000f3b3c6ff0f numpy-1.19.5-cp37-cp37m-macosx_10_9_x86_64.whl
cae865b1cae1ec2663d8ea56ef6ff185bad091a5e33ebbadd98de2cfa3fa668f numpy-1.19.5-cp37-cp37m-manylinux1_i686.whl
36674959eed6957e61f11c912f71e78857a8d0604171dfd9ce9ad5cbf41c511c numpy-1.19.5-cp37-cp37m-manylinux1_x86_64.whl
06fab248a088e439402141ea04f0fffb203723148f6ee791e9c75b3e9e82f080 numpy-1.19.5-cp37-cp37m-manylinux2010_i686.whl
6149a185cece5ee78d1d196938b2a8f9d09f5a5ebfbba66969302a778d5ddd1d numpy-1.19.5-cp37-cp37m-manylinux2010_x86_64.whl
50a4a0ad0111cc1b71fa32dedd05fa239f7fb5a43a40663269bb5dc7877cfd28 numpy-1.19.5-cp37-cp37m-manylinux2014_aarch64.whl
d051ec1c64b85ecc69531e1137bb9751c6830772ee5c1c426dbcfe98ef5788d7 numpy-1.19.5-cp37-cp37m-win32.whl
a12ff4c8ddfee61f90a1633a4c4afd3f7bcb32b11c52026c92a12e1325922d0d numpy-1.19.5-cp37-cp37m-win_amd64.whl
cf2402002d3d9f91c8b01e66fbb436a4ed01c6498fffed0e4c7566da1d40ee1e numpy-1.19.5-cp38-cp38-macosx_10_9_x86_64.whl
1ded4fce9cfaaf24e7a0ab51b7a87be9038ea1ace7f34b841fe3b6894c721d1c numpy-1.19.5-cp38-cp38-manylinux1_i686.whl
012426a41bc9ab63bb158635aecccc7610e3eff5d31d1eb43bc099debc979d94 numpy-1.19.5-cp38-cp38-manylinux1_x86_64.whl
759e4095edc3c1b3ac031f34d9459fa781777a93ccc633a472a5468587a190ff numpy-1.19.5-cp38-cp38-manylinux2010_i686.whl
a9d17f2be3b427fbb2bce61e596cf555d6f8a56c222bd2ca148baeeb5e5c783c numpy-1.19.5-cp38-cp38-manylinux2010_x86_64.whl
99abf4f353c3d1a0c7a5f27699482c987cf663b1eac20db59b8c7b061eabd7fc numpy-1.19.5-cp38-cp38-manylinux2014_aarch64.whl
384ec0463d1c2671170901994aeb6dce126de0a95ccc3976c43b0038a37329c2 numpy-1.19.5-cp38-cp38-win32.whl
811daee36a58dc79cf3d8bdd4a490e4277d0e4b7d103a001a4e73ddb48e7e6aa numpy-1.19.5-cp38-cp38-win_amd64.whl
c843b3f50d1ab7361ca4f0b3639bf691569493a56808a0b0c54a051d260b7dbd numpy-1.19.5-cp39-cp39-macosx_10_9_x86_64.whl
d6631f2e867676b13026e2846180e2c13c1e11289d67da08d71cacb2cd93d4aa numpy-1.19.5-cp39-cp39-manylinux1_i686.whl
7fb43004bce0ca31d8f13a6eb5e943fa73371381e53f7074ed21a4cb786c32f8 numpy-1.19.5-cp39-cp39-manylinux1_x86_64.whl
2ea52bd92ab9f768cc64a4c3ef8f4b2580a17af0a5436f6126b08efbd1838371 numpy-1.19.5-cp39-cp39-manylinux2010_i686.whl
400580cbd3cff6ffa6293df2278c75aef2d58d8d93d3c5614cd67981dae68ceb numpy-1.19.5-cp39-cp39-manylinux2010_x86_64.whl
df609c82f18c5b9f6cb97271f03315ff0dbe481a2a02e56aeb1b1a985ce38e60 numpy-1.19.5-cp39-cp39-manylinux2014_aarch64.whl
ab83f24d5c52d60dbc8cd0528759532736b56db58adaa7b5f1f76ad551416a1e numpy-1.19.5-cp39-cp39-win32.whl
0eef32ca3132a48e43f6a0f5a82cb508f22ce5a3d6f67a8329c81c8e226d3f6e numpy-1.19.5-cp39-cp39-win_amd64.whl
a0d53e51a6cb6f0d9082decb7a4cb6dfb33055308c4c44f53103c073f649af73 numpy-1.19.5-pp36-pypy36_pp73-manylinux2010_x86_64.whl
d1654047d75fb9d55cc3d46f312d5247eec5f4999039874d2f571bb8021d8f0b numpy-1.19.5.tar.gz
a76f502430dd98d7546e1ea2250a7360c065a5fdea52b2dffe8ae7180909b6f4 numpy-1.19.5.zip
- Python
Published by charris over 5 years ago
numpy -
NumPy 1.20.0 Release Notes
This NumPy release is the largest so made to date, some 670 PRs contributed by 184 people have been merged. See the list of highlights below for more details. The Python versions supported for this release are 3.7-3.9, support for Python 3.6 has been dropped. Highlights are
- Annotations for NumPy functions. This work is ongoing and improvements can be expected pending feedback from users.
- Wider use of SIMD to increase execution speed of ufuncs. Much work has been done in introducing universal functions that will ease use of modern features across different hardware platforms. This work is ongoing.
- Preliminary work in changing the dtype and casting implementations in order to provide an easier path to extending dtypes. This work is ongoing but enough has been done to allow experimentation and feedback.
- Extensive documentation improvements comprising some 185 PR merges. This work is ongoing and part of the larger project to improve NumPy\'s online presence and usefulness to new users.
- Further cleanups related to removing Python 2.7. This improves code readability and removes technical debt.
- Preliminary support for the upcoming Cython 3.0.
New functions
The random.Generator class has a new permuted function.
The new function differs from shuffle and permutation in that the
subarrays indexed by an axis are permuted rather than the axis being
treated as a separate 1-D array for every combination of the other
indexes. For example, it is now possible to permute the rows or columns
of a 2-D array.
(gh-15121)
sliding_window_view provides a sliding window view for numpy arrays
[numpy.lib.stride_tricks.sliding_window_view]{.title-ref} constructs views on numpy arrays that offer a sliding or moving window access to the array. This allows for the simple implementation of certain algorithms, such as running means.
(gh-17394)
[numpy.broadcast_shapes]{.title-ref} is a new user-facing function
[~numpy.broadcast_shapes]{.title-ref} gets the resulting shape from broadcasting the given shape tuples against each other.
``` {.python}
np.broadcast_shapes((1, 2), (3, 1)) (3, 2)
np.broadcast_shapes(2, (3, 1)) (3, 2)
np.broadcast_shapes((6, 7), (5, 6, 1), (7,), (5, 1, 7)) (5, 6, 7) ```
(gh-17535)
Deprecations
Using the aliases of builtin types like np.int is deprecated
For a long time, np.int has been an alias of the builtin int. This
is repeatedly a cause of confusion for newcomers, and is also simply not
useful.
These aliases have been deprecated. The table below shows the full list of deprecated aliases, along with their exact meaning. Replacing uses of items in the first column with the contents of the second column will work identically and silence the deprecation warning.
In many cases, it may have been intended to use the types from the third column. Be aware that use of these types may result in subtle but desirable behavior changes.
Deprecated name Identical to Possibly intended numpy type
numpy.bool bool [numpy.bool_]{.title-ref}
numpy.int int [numpy.int_]{.title-ref} (default int dtype), [numpy.cint]{.title-ref} (C int)
numpy.float float [numpy.float_]{.title-ref}, [numpy.double]{.title-ref} (equivalent)
numpy.complex complex [numpy.complex_]{.title-ref}, [numpy.cdouble]{.title-ref} (equivalent)
numpy.object object [numpy.object_]{.title-ref}
numpy.str str [numpy.str_]{.title-ref}
numpy.long int (long on Python 2) [numpy.int_]{.title-ref} (C long), [numpy.longlong]{.title-ref} (largest integer type)
numpy.unicode str (unicode on Python 2) [numpy.unicode_]{.title-ref}
Note that for technical reasons these deprecation warnings will only be emitted on Python 3.7 and above.
(gh-14882)
Passing shape=None to functions with a non-optional shape argument is deprecated
Previously, this was an alias for passing shape=(). This deprecation
is emitted by [PyArray_IntpConverter]{.title-ref} in the C API. If your
API is intended to support passing None, then you should check for
None prior to invoking the converter, so as to be able to distinguish
None and ().
(gh-15886)
Indexing errors will be reported even when index result is empty
In the future, NumPy will raise an IndexError when an integer array index contains out of bound values even if a non-indexed dimension is of length 0. This will now emit a DeprecationWarning. This can happen when the array is previously empty, or an empty slice is involved:
arr1 = np.zeros((5, 0))
arr1[[20]]
arr2 = np.zeros((5, 5))
arr2[[20], :0]
Previously the non-empty index [20] was not checked for correctness.
It will now be checked causing a deprecation warning which will be
turned into an error. This also applies to assignments.
(gh-15900)
Inexact matches for mode and searchside are deprecated
Inexact and case insensitive matches for mode and searchside were
valid inputs earlier and will give a DeprecationWarning now. For
example, below are some example usages which are now deprecated and will
give a DeprecationWarning:
import numpy as np
arr = np.array([[3, 6, 6], [4, 5, 1]])
# mode: inexact match
np.ravel_multi_index(arr, (7, 6), mode="clap") # should be "clip"
# searchside: inexact match
np.searchsorted(arr[0], 4, side='random') # should be "right"
(gh-16056)
Deprecation of [numpy.dual]{.title-ref}
The module [numpy.dual]{.title-ref} is deprecated. Instead of importing functions from [numpy.dual]{.title-ref}, the functions should be imported directly from NumPy or SciPy.
(gh-16156)
outer and ufunc.outer deprecated for matrix
np.matrix use with [~numpy.outer]{.title-ref} or generic ufunc outer
calls such as numpy.add.outer. Previously, matrix was converted to an
array here. This will not be done in the future requiring a manual
conversion to arrays.
(gh-16232)
Further Numeric Style types Deprecated
The remaining numeric-style type codes Bytes0, Str0, Uint32,
Uint64, and Datetime64 have been deprecated. The lower-case variants
should be used instead. For bytes and string "S" and "U" are further
alternatives.
(gh-16554)
The ndincr method of ndindex is deprecated
The documentation has warned against using this function since NumPy
1.8. Use next(it) instead of it.ndincr().
(gh-17233)
ArrayLike objects which do not define __len__ and __getitem__
Objects which define one of the protocols __array__,
__array_interface__, or __array_struct__ but are not sequences
(usually defined by having a __len__ and __getitem__) will behave
differently during array-coercion in the future.
When nested inside sequences, such as np.array([array_like]), these
were handled as a single Python object rather than an array. In the
future they will behave identically to:
np.array([np.array(array_like)])
This change should only have an effect if np.array(array_like) is not
0-D. The solution to this warning may depend on the object:
- Some array-likes may expect the new behaviour, and users can ignore the warning. The object can choose to expose the sequence protocol to opt-in to the new behaviour.
- For example,
shapelywill allow conversion to an array-like usingline.coordsrather thannp.asarray(line). Users may work around the warning, or use the new convention when it becomes available.
Unfortunately, using the new behaviour can only be achieved by calling
np.array(array_like).
If you wish to ensure that the old behaviour remains unchanged, please create an object array and then fill it explicitly, for example:
arr = np.empty(3, dtype=object)
arr[:] = [array_like1, array_like2, array_like3]
This will ensure NumPy knows to not enter the array-like and use it as a object instead.
(gh-17973)
Future Changes
Arrays cannot be using subarray dtypes
Array creation and casting using np.array(arr, dtype) and
arr.astype(dtype) will use different logic when dtype is a subarray
dtype such as np.dtype("(2)i,").
For such a dtype the following behaviour is true:
res = np.array(arr, dtype)
res.dtype is not dtype
res.dtype is dtype.base
res.shape == arr.shape + dtype.shape
But res is filled using the logic:
res = np.empty(arr.shape + dtype.shape, dtype=dtype.base)
res[...] = arr
which uses incorrect broadcasting (and often leads to an error). In the future, this will instead cast each element individually, leading to the same result as:
res = np.array(arr, dtype=np.dtype(["f", dtype]))["f"]
Which can normally be used to opt-in to the new behaviour.
This change does not affect np.array(list, dtype="(2)i,") unless the
list itself includes at least one array. In particular, the behaviour
is unchanged for a list of tuples.
(gh-17596)
Expired deprecations
The deprecation of numeric style type-codes
np.dtype("Complex64")(with upper case spelling), is expired."Complex64"corresponded to"complex128"and"Complex32"corresponded to"complex64".The deprecation of
np.sctypeNAandnp.typeNAis expired. Both have been removed from the public API. Usenp.typeDictinstead.(gh-16554)
The 14-year deprecation of
np.ctypeslib.ctypes_load_libraryis expired. Use~numpy.ctypeslib.load_library{.interpreted-text role="func"} instead, which is identical.(gh-17116)
Financial functions removed
In accordance with NEP 32, the financial functions are removed from
NumPy 1.20. The functions that have been removed are fv, ipmt,
irr, mirr, nper, npv, pmt, ppmt, pv, and rate. These
functions are available in the
numpy_financial library.
(gh-17067)
Compatibility notes
isinstance(dtype, np.dtype) and not type(dtype) is not np.dtype
NumPy dtypes are not direct instances of np.dtype anymore. Code that
may have used type(dtype) is np.dtype will always return False and
must be updated to use the correct version
isinstance(dtype, np.dtype).
This change also affects the C-side macro PyArray_DescrCheck if
compiled against a NumPy older than 1.16.6. If code uses this macro and
wishes to compile against an older version of NumPy, it must replace the
macro (see also C API changes section).
Same kind casting in concatenate with axis=None
When [~numpy.concatenate]{.title-ref} is called with axis=None, the
flattened arrays were cast with unsafe. Any other axis choice uses
\"same kind\". That different default has been deprecated and \"same
kind\" casting will be used instead. The new casting keyword argument
can be used to retain the old behaviour.
(gh-16134)
NumPy Scalars are cast when assigned to arrays
When creating or assigning to arrays, in all relevant cases NumPy scalars will now be cast identically to NumPy arrays. In particular this changes the behaviour in some cases which previously raised an error:
np.array([np.float64(np.nan)], dtype=np.int64)
will succeed and return an undefined result (usually the smallest possible integer). This also affects assignments:
arr[0] = np.float64(np.nan)
At this time, NumPy retains the behaviour for:
np.array(np.float64(np.nan), dtype=np.int64)
The above changes do not affect Python scalars:
np.array([float("NaN")], dtype=np.int64)
remains unaffected (np.nan is a Python float, not a NumPy one).
Unlike signed integers, unsigned integers do not retain this special
case, since they always behaved more like casting. The following code
stops raising an error:
np.array([np.float64(np.nan)], dtype=np.uint64)
To avoid backward compatibility issues, at this time assignment from
datetime64 scalar to strings of too short length remains supported.
This means that np.asarray(np.datetime64("2020-10-10"), dtype="S5")
succeeds now, when it failed before. In the long term this may be
deprecated or the unsafe cast may be allowed generally to make
assignment of arrays and scalars behave consistently.
Array coercion changes when Strings and other types are mixed
When strings and other types are mixed, such as:
np.array(["string", np.float64(3.)], dtype="S")
The results will change, which may lead to string dtypes with longer
strings in some cases. In particularly, if dtype="S" is not provided
any numerical value will lead to a string results long enough to hold
all possible numerical values. (e.g. \"S32\" for floats). Note that you
should always provide dtype="S" when converting non-strings to
strings.
If dtype="S" is provided the results will be largely identical to
before, but NumPy scalars (not a Python float like 1.0), will still
enforce a uniform string length:
np.array([np.float64(3.)], dtype="S") # gives "S32"
np.array([3.0], dtype="S") # gives "S3"
Previously the first version gave the same result as the second.
Array coercion restructure
Array coercion has been restructured. In general, this should not affect users. In extremely rare corner cases where array-likes are nested:
np.array([array_like1])
Things will now be more consistent with:
np.array([np.array(array_like1)])
This can subtly change output for some badly defined array-likes. One
example for this are array-like objects which are not also sequences of
matching shape. In NumPy 1.20, a warning will be given when an
array-like is not also a sequence (but behaviour remains identical, see
deprecations). If an array like is also a sequence (defines
__getitem__ and __len__) NumPy will now only use the result given by
__array__, __array_interface__, or __array_struct__. This will
result in differences when the (nested) sequence describes a different
shape.
(gh-16200)
Writing to the result of [numpy.broadcast_arrays]{.title-ref} will export readonly buffers
In NumPy 1.17 [numpy.broadcast_arrays]{.title-ref} started warning when
the resulting array was written to. This warning was skipped when the
array was used through the buffer interface (e.g. memoryview(arr)).
The same thing will now occur for the two protocols
__array_interface__, and __array_struct__ returning read-only
buffers instead of giving a warning.
(gh-16350)
Numeric-style type names have been removed from type dictionaries
To stay in sync with the deprecation for np.dtype("Complex64") and
other numeric-style (capital case) types. These were removed from
np.sctypeDict and np.typeDict. You should use the lower case
versions instead. Note that "Complex64" corresponds to "complex128"
and "Complex32" corresponds to "complex64". The numpy style (new)
versions, denote the full size and not the size of the real/imaginary
part.
(gh-16554)
The operator.concat function now raises TypeError for array arguments
The previous behavior was to fall back to addition and add the two arrays, which was thought to be unexpected behavior for a concatenation function.
(gh-16570)
nickname attribute removed from ABCPolyBase
An abstract property nickname has been removed from ABCPolyBase as
it was no longer used in the derived convenience classes. This may
affect users who have derived classes from ABCPolyBase and overridden
the methods for representation and display, e.g. __str__, __repr__,
_repr_latex, etc.
(gh-16589)
float->timedelta and uint64->timedelta promotion will raise a TypeError
Float and timedelta promotion consistently raises a TypeError.
np.promote_types("float32", "m8") aligns with
np.promote_types("m8", "float32") now and both raise a TypeError.
Previously, np.promote_types("float32", "m8") returned "m8" which
was considered a bug.
Uint64 and timedelta promotion consistently raises a TypeError.
np.promote_types("uint64", "m8") aligns with
np.promote_types("m8", "uint64") now and both raise a TypeError.
Previously, np.promote_types("uint64", "m8") returned "m8" which was
considered a bug.
(gh-16592)
numpy.genfromtxt now correctly unpacks structured arrays
Previously, [numpy.genfromtxt]{.title-ref} failed to unpack if it was
called with unpack=True and a structured datatype was passed to the
dtype argument (or dtype=None was passed and a structured datatype
was inferred). For example:
>>> data = StringIO("21 58.0\n35 72.0")
>>> np.genfromtxt(data, dtype=None, unpack=True)
array([(21, 58.), (35, 72.)], dtype=[('f0', '<i8'), ('f1', '<f8')])
Structured arrays will now correctly unpack into a list of arrays, one for each column:
>>> np.genfromtxt(data, dtype=None, unpack=True)
[array([21, 35]), array([58., 72.])]
(gh-16650)
mgrid, r_, etc. consistently return correct outputs for non-default precision input
Previously,
np.mgrid[np.float32(0.1):np.float32(0.35):np.float32(0.1),] and
np.r_[0:10:np.complex64(3j)] failed to return meaningful output. This
bug potentially affects [~numpy.mgrid]{.title-ref},
[~numpy.ogrid]{.title-ref}, [~numpy.r_]{.title-ref}, and
[~numpy.c_]{.title-ref} when an input with dtype other than the
default float64 and complex128 and equivalent Python types were
used. The methods have been fixed to handle varying precision correctly.
(gh-16815)
Boolean array indices with mismatching shapes now properly give IndexError
Previously, if a boolean array index matched the size of the indexed
array but not the shape, it was incorrectly allowed in some cases. In
other cases, it gave an error, but the error was incorrectly a
ValueError with a message about broadcasting instead of the correct
IndexError.
For example, the following used to incorrectly give
ValueError: operands could not be broadcast together with shapes (2,2) (1,4):
{.python}
np.empty((2, 2))[np.array([[True, False, False, False]])]
And the following used to incorrectly return array([], dtype=float64):
{.python}
np.empty((2, 2))[np.array([[False, False, False, False]])]
Both now correctly give
IndexError: boolean index did not match indexed array along dimension 0; dimension is 2 but corresponding boolean dimension is 1.
(gh-17010)
Casting errors interrupt Iteration
When iterating while casting values, an error may stop the iteration
earlier than before. In any case, a failed casting operation always
returned undefined, partial results. Those may now be even more
undefined and partial. For users of the NpyIter C-API such cast errors
will now cause the [iternext()]{.title-ref} function to return 0 and
thus abort iteration. Currently, there is no API to detect such an error
directly. It is necessary to check PyErr_Occurred(), which may be
problematic in combination with NpyIter_Reset. These issues always
existed, but new API could be added if required by users.
(gh-17029)
f2py generated code may return unicode instead of byte strings
Some byte strings previously returned by f2py generated code may now be unicode strings. This results from the ongoing Python2 -> Python3 cleanup.
(gh-17068)
The first element of the __array_interface__["data"] tuple must be an integer
This has been the documented interface for many years, but there was still code that would accept a byte string representation of the pointer address. That code has been removed, passing the address as a byte string will now raise an error.
(gh-17241)
poly1d respects the dtype of all-zero argument
Previously, constructing an instance of poly1d with all-zero
coefficients would cast the coefficients to np.float64. This affected
the output dtype of methods which construct poly1d instances
internally, such as np.polymul.
(gh-17577)
The numpy.i file for swig is Python 3 only.
Uses of Python 2.7 C-API functions have been updated to Python 3 only. Users who need the old version should take it from an older version of NumPy.
(gh-17580)
Void dtype discovery in np.array
In calls using np.array(..., dtype="V"), arr.astype("V"), and
similar a TypeError will now be correctly raised unless all elements
have the identical void length. An example for this is:
np.array([b"1", b"12"], dtype="V")
Which previously returned an array with dtype "V2" which cannot
represent b"1" faithfully.
(gh-17706)
C API changes
The PyArray_DescrCheck macro is modified
The PyArray_DescrCheck macro has been updated since NumPy 1.16.6 to
be:
#define PyArray_DescrCheck(op) PyObject_TypeCheck(op, &PyArrayDescr_Type)
Starting with NumPy 1.20 code that is compiled against an earlier version will be API incompatible with NumPy 1.20. The fix is to either compile against 1.16.6 (if the NumPy 1.16 release is the oldest release you wish to support), or manually inline the macro by replacing it with the new definition:
PyObject_TypeCheck(op, &PyArrayDescr_Type)
which is compatible with all NumPy versions.
Size of np.ndarray and np.void_ changed
The size of the PyArrayObject and PyVoidScalarObject structures have
changed. The following header definition has been removed:
#define NPY_SIZEOF_PYARRAYOBJECT (sizeof(PyArrayObject_fields))
since the size must not be considered a compile time constant: it will change for different runtime versions of NumPy.
The most likely relevant use are potential subclasses written in C which
will have to be recompiled and should be updated. Please see the
documentation for :cPyArrayObject{.interpreted-text role="type"} for
more details and contact the NumPy developers if you are affected by
this change.
NumPy will attempt to give a graceful error but a program expecting a fixed structure size may have undefined behaviour and likely crash.
(gh-16938)
New Features
where keyword argument for numpy.all and numpy.any functions
The keyword argument where is added and allows to only consider
specified elements or subaxes from an array in the Boolean evaluation of
all and any. This new keyword is available to the functions all
and any both via numpy directly or in the methods of
numpy.ndarray.
Any broadcastable Boolean array or a scalar can be set as where. It
defaults to True to evaluate the functions for all elements in an
array if where is not set by the user. Examples are given in the
documentation of the functions.
where keyword argument for numpy functions mean, std, var
The keyword argument where is added and allows to limit the scope in
the calculation of mean, std and var to only a subset of elements.
It is available both via numpy directly or in the methods of
numpy.ndarray.
Any broadcastable Boolean array or a scalar can be set as where. It
defaults to True to evaluate the functions for all elements in an
array if where is not set by the user. Examples are given in the
documentation of the functions.
(gh-15852)
norm=backward, forward keyword options for numpy.fft functions
The keyword argument option norm=backward is added as an alias for
None and acts as the default option; using it has the direct
transforms unscaled and the inverse transforms scaled by 1/n.
Using the new keyword argument option norm=forward has the direct
transforms scaled by 1/n and the inverse transforms unscaled (i.e.
exactly opposite to the default option norm=backward).
(gh-16476)
NumPy is now typed
Type annotations have been added for large parts of NumPy. There is also a new [numpy.typing]{.title-ref} module that contains useful types for end-users. The currently available types are
-
ArrayLike: for objects that can be coerced to an array -
DtypeLike: for objects that can be coerced to a dtype
(gh-16515)
numpy.typing is accessible at runtime
The types in numpy.typing can now be imported at runtime. Code like
the following will now work:
{.python}
from numpy.typing import ArrayLike
x: ArrayLike = [1, 2, 3, 4]
(gh-16558)
New __f2py_numpy_version__ attribute for f2py generated modules.
Because f2py is released together with NumPy, __f2py_numpy_version__
provides a way to track the version f2py used to generate the module.
(gh-16594)
mypy tests can be run via runtests.py
Currently running mypy with the NumPy stubs configured requires either:
- Installing NumPy
- Adding the source directory to MYPYPATH and linking to the
mypy.ini
Both options are somewhat inconvenient, so add a --mypy option to
runtests that handles setting things up for you. This will also be
useful in the future for any typing codegen since it will ensure the
project is built before type checking.
(gh-17123)
Negation of user defined BLAS/LAPACK detection order
[~numpy.distutils]{.title-ref} allows negation of libraries when determining BLAS/LAPACK libraries. This may be used to remove an item from the library resolution phase, i.e. to disallow NetLIB libraries one could do:
{.bash}
NPY_BLAS_ORDER='^blas' NPY_LAPACK_ORDER='^lapack' python setup.py build
That will use any of the accelerated libraries instead.
(gh-17219)
Allow passing optimizations arguments to asv build
It is now possible to pass -j, --cpu-baseline, --cpu-dispatch and
--disable-optimization flags to ASV build when the --bench-compare
argument is used.
(gh-17284)
The NVIDIA HPC SDK nvfortran compiler is now supported
Support for the nvfortran compiler, a version of pgfortran, has been added.
(gh-17344)
dtype option for cov and corrcoef
The dtype option is now available for [numpy.cov]{.title-ref} and
[numpy.corrcoef]{.title-ref}. It specifies which data-type the returned
result should have. By default the functions still return a
[numpy.float64]{.title-ref} result.
(gh-17456)
Improvements
Improved string representation for polynomials (__str__)
The string representation (__str__) of all six polynomial types in
[numpy.polynomial]{.title-ref} has been updated to give the polynomial
as a mathematical expression instead of an array of coefficients. Two
package-wide formats for the polynomial expressions are available - one
using Unicode characters for superscripts and subscripts, and another
using only ASCII characters.
(gh-15666)
Remove the Accelerate library as a candidate LAPACK library
Apple no longer supports Accelerate. Remove it.
(gh-15759)
Object arrays containing multi-line objects have a more readable repr
If elements of an object array have a repr containing new lines, then
the wrapped lines will be aligned by column. Notably, this improves the
repr of nested arrays:
>>> np.array([np.eye(2), np.eye(3)], dtype=object)
array([array([[1., 0.],
[0., 1.]]),
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])], dtype=object)
(gh-15997)
Concatenate supports providing an output dtype
Support was added to [~numpy.concatenate]{.title-ref} to provide an
output dtype and casting using keyword arguments. The dtype
argument cannot be provided in conjunction with the out one.
(gh-16134)
Thread safe f2py callback functions
Callback functions in f2py are now thread safe.
(gh-16519)
[numpy.core.records.fromfile]{.title-ref} now supports file-like objects
[numpy.rec.fromfile]{.title-ref} can now use file-like objects, for
instance :pyio.BytesIO{.interpreted-text role="class"}
(gh-16675)
RPATH support on AIX added to distutils
This allows SciPy to be built on AIX.
(gh-16710)
Use f90 compiler specified by the command line args
The compiler command selection for Fortran Portland Group Compiler is changed in [numpy.distutils.fcompiler]{.title-ref}. This only affects the linking command. This forces the use of the executable provided by the command line option (if provided) instead of the pgfortran executable. If no executable is provided to the command line option it defaults to the pgf90 executable, wich is an alias for pgfortran according to the PGI documentation.
(gh-16730)
Add NumPy declarations for Cython 3.0 and later
The pxd declarations for Cython 3.0 were improved to avoid using
deprecated NumPy C-API features. Extension modules built with Cython
3.0+ that use NumPy can now set the C macro
NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION to avoid C compiler warnings
about deprecated API usage.
(gh-16986)
Make the window functions exactly symmetric
Make sure the window functions provided by NumPy are symmetric. There were previously small deviations from symmetry due to numerical precision that are now avoided by better arrangement of the computation.
(gh-17195)
Performance improvements and changes
Enable multi-platform SIMD compiler optimizations
A series of improvements for NumPy infrastructure to pave the way to NEP-38, that can be summarized as follow:
New Build Arguments
-
--cpu-baselineto specify the minimal set of required optimizations, default value isminwhich provides the minimum CPU features that can safely run on a wide range of users platforms. -
--cpu-dispatchto specify the dispatched set of additional optimizations, default value ismax -xop -fma4which enables all CPU features, except for AMD legacy features. -
--disable-optimizationto explicitly disable the whole new improvements, It also adds a new C compiler #definition calledNPY_DISABLE_OPTIMIZATIONwhich it can be used as guard for any SIMD code.
-
Advanced CPU dispatcher
A flexible cross-architecture CPU dispatcher built on the top of Python/Numpy distutils, support all common compilers with a wide range of CPU features.
The new dispatcher requires a special file extension
*.dispatch.cto mark the dispatch-able C sources. These sources have the ability to be compiled multiple times so that each compilation process represents certain CPU features and provides different #definitions and flags that affect the code paths.New auto-generated C header ``core/src/common/_cpu_dispatch.h``
This header is generated by the distutils module
ccompiler_opt, and contains all the #definitions and headers of instruction sets, that had been configured through command arguments \'--cpu-baseline\' and \'--cpu-dispatch\'.New C header ``core/src/common/npy_cpu_dispatch.h``
This header contains all utilities that required for the whole CPU dispatching process, it also can be considered as a bridge linking the new infrastructure work with NumPy CPU runtime detection.
Add new attributes to NumPy umath module(Python level)
-
__cpu_baseline__a list contains the minimal set of required optimizations that supported by the compiler and platform according to the specified values to command argument \'--cpu-baseline\'. -
__cpu_dispatch__a list contains the dispatched set of additional optimizations that supported by the compiler and platform according to the specified values to command argument \'--cpu-dispatch\'.
-
Print the supported CPU features during the run of PytestTester
(gh-13516)
Changes
Changed behavior of divmod(1., 0.) and related functions
The changes also assure that different compiler versions have the same behavior for nan or inf usages in these operations. This was previously compiler dependent, we now force the invalid and divide by zero flags, making the results the same across compilers. For example, gcc-5, gcc-8, or gcc-9 now result in the same behavior. The changes are tabulated below:
Operator Old Warning New Warning Old Result New Result Works on MacOS
np.divmod(1.0, 0.0) Invalid Invalid and Dividebyzero nan, nan inf, nan Yes np.fmod(1.0, 0.0) Invalid Invalid nan nan No? Yes np.floor_divide(1.0, 0.0) Invalid Dividebyzero nan inf Yes np.remainder(1.0, 0.0) Invalid Invalid nan nan Yes
: Summary of New Behavior
(gh-16161)
np.linspace on integers now uses floor
When using a int dtype in [numpy.linspace]{.title-ref}, previously
float values would be rounded towards zero. Now
[numpy.floor]{.title-ref} is used instead, which rounds toward -inf.
This changes the results for negative values. For example, the following
would previously give:
>>> np.linspace(-3, 1, 8, dtype=int)
array([-3, -2, -1, -1, 0, 0, 0, 1])
and now results in:
>>> np.linspace(-3, 1, 8, dtype=int)
array([-3, -3, -2, -2, -1, -1, 0, 1])
The former result can still be obtained with:
>>> np.linspace(-3, 1, 8).astype(int)
array([-3, -2, -1, -1, 0, 0, 0, 1])
(gh-16841)
Checksums
MD5
499835b2483fe8edd6d8322c39f30d11 numpy-1.20.0rc2-cp37-cp37m-macosx_10_9_x86_64.whl
b3d6a171b2653a8171a4afb9a302091a numpy-1.20.0rc2-cp37-cp37m-manylinux1_i686.whl
79103a7a6b134a0a778b6f683f3e0925 numpy-1.20.0rc2-cp37-cp37m-manylinux1_x86_64.whl
b931f6e4458d9cb5b000e8a68866c186 numpy-1.20.0rc2-cp37-cp37m-manylinux2010_i686.whl
228f9c1f967ce8a3ac7d6a55e2a62432 numpy-1.20.0rc2-cp37-cp37m-manylinux2010_x86_64.whl
7a8968a7bc381c65d2949de8b67f8172 numpy-1.20.0rc2-cp37-cp37m-manylinux2014_aarch64.whl
90407a37d08075640fec35e68af9c5e3 numpy-1.20.0rc2-cp37-cp37m-win32.whl
24190d9877903a881b76d5c4e7beef98 numpy-1.20.0rc2-cp37-cp37m-win_amd64.whl
1f5f75aa91a0c92b2c0ad1f0cf6f1fd5 numpy-1.20.0rc2-cp38-cp38-macosx_10_9_x86_64.whl
e0ba28cbfa6ffd19c9da9520c7552b30 numpy-1.20.0rc2-cp38-cp38-manylinux1_i686.whl
b5e51332c783437c689aaa2419050d66 numpy-1.20.0rc2-cp38-cp38-manylinux1_x86_64.whl
ba167ede82708365f8591082acc14097 numpy-1.20.0rc2-cp38-cp38-manylinux2010_i686.whl
dd7d41065dfbe0a2376416eb3304ea7e numpy-1.20.0rc2-cp38-cp38-manylinux2010_x86_64.whl
eb7d31baa890fae925aeb17c751b021a numpy-1.20.0rc2-cp38-cp38-manylinux2014_aarch64.whl
442a1c1b06cdb115e88107477fdcc038 numpy-1.20.0rc2-cp38-cp38-win32.whl
34d1f567b65eb281ec79d4f582667865 numpy-1.20.0rc2-cp38-cp38-win_amd64.whl
b1f8dfa6991b23b836bcd1f0834c839e numpy-1.20.0rc2-cp39-cp39-macosx_10_9_x86_64.whl
868005badd253d532c149297d69761a0 numpy-1.20.0rc2-cp39-cp39-manylinux2010_i686.whl
5205110ebbae1e65f316ae49d99d8b97 numpy-1.20.0rc2-cp39-cp39-manylinux2010_x86_64.whl
780a2b89cac827a5df39f6ebeba829f0 numpy-1.20.0rc2-cp39-cp39-manylinux2014_aarch64.whl
237574aa2bdc0bce559fbe6826441107 numpy-1.20.0rc2-cp39-cp39-win32.whl
fb9f403d6665530e502a23e8a047d734 numpy-1.20.0rc2-cp39-cp39-win_amd64.whl
78e1c2dca06f5a8f17e5aebe400c35b2 numpy-1.20.0rc2-pp37-pypy37_pp73-manylinux2010_x86_64.whl
bb7763397cd347d6d7338a3d8f8f4367 numpy-1.20.0rc2.tar.gz
176100b0ed46c6d7ed1e8cdd541679c3 numpy-1.20.0rc2.zip
SHA256
ab9bd6e3e8ce1ce62e3db02462df37ca708d24e8536c71857ad78e4e7d68b024 numpy-1.20.0rc2-cp37-cp37m-macosx_10_9_x86_64.whl
3526a1c1e2456c67fc5f2a67d27ffa42b1bdfc640b0e0d07652799a9259a5f89 numpy-1.20.0rc2-cp37-cp37m-manylinux1_i686.whl
e039cb9e37a651047cb164c7fa2760c502d9e216d24ddd50928e61a02039cb77 numpy-1.20.0rc2-cp37-cp37m-manylinux1_x86_64.whl
adfd6f6900af0c3d550d8d2c48e060f710f61b781eabc983f7f10c9b85a227ed numpy-1.20.0rc2-cp37-cp37m-manylinux2010_i686.whl
73ab3ab1a34abfa4034b9d85be62c6f39c87b47232bf72c9c900ff67d92212b7 numpy-1.20.0rc2-cp37-cp37m-manylinux2010_x86_64.whl
747e2ecd3cf70159a969e267f434f03d949a740645ce74b42476ff33c2037d86 numpy-1.20.0rc2-cp37-cp37m-manylinux2014_aarch64.whl
ac6cd3bee3e2906102f62a9cdec6477d5c5933624ff21f02c2c7da5ace6d865a numpy-1.20.0rc2-cp37-cp37m-win32.whl
0b2298db632958edd25e1edef5a24010bcb01752077b92567bb43c56fcf96578 numpy-1.20.0rc2-cp37-cp37m-win_amd64.whl
d15ce00b4e49fbf946541291bdfc7b673cd08137da8ff6492cd34aa6b612b8eb numpy-1.20.0rc2-cp38-cp38-macosx_10_9_x86_64.whl
f7f3fdaef950dc00bed782b78f970a9d7b496287c6c2494ead8ab98f38477bb0 numpy-1.20.0rc2-cp38-cp38-manylinux1_i686.whl
47e8f866e0342c98a36339264b03e534425d89b18721f1d06565976d31a01071 numpy-1.20.0rc2-cp38-cp38-manylinux1_x86_64.whl
cd4941e3a8dccc572c0f0ed02ab1c8c75d7c47091eccecf9173c92d10b8eeaf5 numpy-1.20.0rc2-cp38-cp38-manylinux2010_i686.whl
d239f8391667f2a4bf913d6bed7b9960ccfb76da5253d16de6553120b1ca393d numpy-1.20.0rc2-cp38-cp38-manylinux2010_x86_64.whl
677d968f9e0d4640a143615780925fd18dba128ef2753e847a94989a51bf5715 numpy-1.20.0rc2-cp38-cp38-manylinux2014_aarch64.whl
faa99af9fbd914e33b8322efd04a13e23c6b032d1dc5cc62bf5294a2ce59212e numpy-1.20.0rc2-cp38-cp38-win32.whl
5ab1a6bda6ded04fc1261bf0d7ef382e814afcd83e478b545dad2094d4f2798e numpy-1.20.0rc2-cp38-cp38-win_amd64.whl
bd36b4e61b4b850bf45d6a079b4b6eb3937442a6c273d2bac1e4377f196632b9 numpy-1.20.0rc2-cp39-cp39-macosx_10_9_x86_64.whl
d5740196e9cf6874108dc78995ef3e2bf2dd2e338e41b5a0083527d178364053 numpy-1.20.0rc2-cp39-cp39-manylinux2010_i686.whl
f45b9d4b1dea1c60339ab06503eaec6c6cb7b7bc66e9939c825544b385581a3b numpy-1.20.0rc2-cp39-cp39-manylinux2010_x86_64.whl
9e0eb4674f9d6980125415fc1802b59fbc9eed32db0ff4689957710b7ee5b55a numpy-1.20.0rc2-cp39-cp39-manylinux2014_aarch64.whl
06995885846f701bddeb7fa289dde6798e5613208bc7a74a7ae165cb3a043d97 numpy-1.20.0rc2-cp39-cp39-win32.whl
9a9ad522f98331668913675ecf611204c74173663edf87f323df7f873bf9d2f8 numpy-1.20.0rc2-cp39-cp39-win_amd64.whl
d8f20a52dd98f8e404c6825fc835934dba3ad71d90ced92069061025fb9c2598 numpy-1.20.0rc2-pp37-pypy37_pp73-manylinux2010_x86_64.whl
5c45808f2da320972a5a2dd2d9f07728bb6c6c05e8f164a8d53dc607d6f29d43 numpy-1.20.0rc2.tar.gz
793383d52f79c785ad2e7cf24b064f8ff5041ee0e44cef34368918c1b89e9d58 numpy-1.20.0rc2.zip
- Python
Published by charris over 5 years ago
numpy -
NumPy 1.20.0 Release Notes
This NumPy release is the largest so made to date, some 654 PRs contributed by 182 people have been merged. See the list of highlights below for more details. The Python versions supported for this release are 3.7-3.9, support for Python 3.6 has been dropped. Highlights are
- Annotations for NumPy functions. This work is ongoing and improvements can be expected pending feedback from users.
- Wider use of SIMD to increase execution speed of ufuncs. Much work has been done in introducing universal functions that will ease use of modern features across different hardware platforms. This work is ongoing.
- Preliminary work in changing the dtype and casting implementations in order to provide an easier path to extending dtypes. This work is ongoing but enough has been done to allow experimentation and feedback.
- Extensive documentation improvements comprising some 185 PR merges. This work is ongoing and part of the larger project to improve NumPy\'s online presence and usefulness to new users.
- Further cleanups related to removing Python 2.7. This improves code readability and removes technical debt.
- Preliminary support for the upcoming Cython 3.0.
New functions
The random.Generator class has a new permuted function.
The new function differs from shuffle and permutation in that the
subarrays indexed by an axis are permuted rather than the axis being
treated as a separate 1-D array for every combination of the other
indexes. For example, it is now possible to permute the rows or columns
of a 2-D array.
(gh-15121)
sliding_window_view provides a sliding window view for numpy arrays
[numpy.lib.stride_tricks.sliding_window_view]{.title-ref} constructs views on numpy arrays that offer a sliding or moving window access to the array. This allows for the simple implementation of certain algorithms, such as running means.
(gh-17394)
[numpy.broadcast_shapes]{.title-ref} is a new user-facing function
[~numpy.broadcast_shapes]{.title-ref} gets the resulting shape from broadcasting the given shape tuples against each other.
``` {.python}
np.broadcast_shapes((1, 2), (3, 1)) (3, 2)
np.broadcast_shapes(2, (3, 1)) (3, 2)
np.broadcast_shapes((6, 7), (5, 6, 1), (7,), (5, 1, 7)) (5, 6, 7) ```
(gh-17535)
Deprecations
Using the aliases of builtin types like np.int is deprecated
For a long time, np.int has been an alias of the builtin int. This
is repeatedly a cause of confusion for newcomers, and is also simply not
useful.
These aliases have been deprecated. The table below shows the full list of deprecated aliases, along with their exact meaning. Replacing uses of items in the first column with the contents of the second column will work identically and silence the deprecation warning.
In many cases, it may have been intended to use the types from the third column. Be aware that use of these types may result in subtle but desirable behavior changes.
Deprecated name Identical to Possibly intended numpy type
numpy.bool bool [numpy.bool_]{.title-ref}
numpy.int int [numpy.int_]{.title-ref} (default int dtype), [numpy.cint]{.title-ref} (C int)
numpy.float float [numpy.float_]{.title-ref}, [numpy.double]{.title-ref} (equivalent)
numpy.complex complex [numpy.complex_]{.title-ref}, [numpy.cdouble]{.title-ref} (equivalent)
numpy.object object [numpy.object_]{.title-ref}
numpy.str str [numpy.str_]{.title-ref}
numpy.long int (long on Python 2) [numpy.int_]{.title-ref} (C long), [numpy.longlong]{.title-ref} (largest integer type)
numpy.unicode str (unicode on Python 2) [numpy.unicode_]{.title-ref}
Note that for technical reasons these deprecation warnings will only be emitted on Python 3.7 and above.
(gh-14882)
Passing shape=None to functions with a non-optional shape argument is deprecated
Previously, this was an alias for passing shape=(). This deprecation
is emitted by [PyArray_IntpConverter]{.title-ref} in the C API. If your
API is intended to support passing None, then you should check for
None prior to invoking the converter, so as to be able to distinguish
None and ().
(gh-15886)
Indexing errors will be reported even when index result is empty
In the future, NumPy will raise an IndexError when an integer array index contains out of bound values even if a non-indexed dimension is of length 0. This will now emit a DeprecationWarning. This can happen when the array is previously empty, or an empty slice is involved:
arr1 = np.zeros((5, 0))
arr1[[20]]
arr2 = np.zeros((5, 5))
arr2[[20], :0]
Previously the non-empty index [20] was not checked for correctness.
It will now be checked causing a deprecation warning which will be
turned into an error. This also applies to assignments.
(gh-15900)
Inexact matches for mode and searchside are deprecated
Inexact and case insensitive matches for mode and searchside were
valid inputs earlier and will give a DeprecationWarning now. For
example, below are some example usages which are now deprecated and will
give a DeprecationWarning:
import numpy as np
arr = np.array([[3, 6, 6], [4, 5, 1]])
# mode: inexact match
np.ravel_multi_index(arr, (7, 6), mode="clap") # should be "clip"
# searchside: inexact match
np.searchsorted(arr[0], 4, side='random') # should be "right"
(gh-16056)
Deprecation of [numpy.dual]{.title-ref}
The module [numpy.dual]{.title-ref} is deprecated. Instead of importing functions from [numpy.dual]{.title-ref}, the functions should be imported directly from NumPy or SciPy.
(gh-16156)
outer and ufunc.outer deprecated for matrix
np.matrix use with [~numpy.outer]{.title-ref} or generic ufunc outer
calls such as numpy.add.outer. Previously, matrix was converted to an
array here. This will not be done in the future requiring a manual
conversion to arrays.
(gh-16232)
Further Numeric Style types Deprecated
The remaining numeric-style type codes Bytes0, Str0, Uint32,
Uint64, and Datetime64 have been deprecated. The lower-case variants
should be used instead. For bytes and string "S" and "U" are further
alternatives.
(gh-16554)
The ndincr method of ndindex is deprecated
The documentation has warned against using this function since NumPy
1.8. Use next(it) instead of it.ndincr().
(gh-17233)
Future Changes
Arrays cannot be using subarray dtypes
Array creation and casting using np.array(arr, dtype) and
arr.astype(dtype) will use different logic when dtype is a subarray
dtype such as np.dtype("(2)i,").
For such a dtype the following behaviour is true:
res = np.array(arr, dtype)
res.dtype is not dtype
res.dtype is dtype.base
res.shape == arr.shape + dtype.shape
But res is filled using the logic:
res = np.empty(arr.shape + dtype.shape, dtype=dtype.base)
res[...] = arr
which uses incorrect broadcasting (and often leads to an error). In the future, this will instead cast each element individually, leading to the same result as:
res = np.array(arr, dtype=np.dtype(["f", dtype]))["f"]
Which can normally be used to opt-in to the new behaviour.
This change does not affect np.array(list, dtype="(2)i,") unless the
list itself includes at least one array. In particular, the behaviour
is unchanged for a list of tuples.
(gh-17596)
Expired deprecations
The deprecation of numeric style type-codes
np.dtype("Complex64")(with upper case spelling), is expired."Complex64"corresponded to"complex128"and"Complex32"corresponded to"complex64".The deprecation of
np.sctypeNAandnp.typeNAis expired. Both have been removed from the public API. Usenp.typeDictinstead.(gh-16554)
The 14-year deprecation of
np.ctypeslib.ctypes_load_libraryis expired. Use~numpy.ctypeslib.load_library{.interpreted-text role="func"} instead, which is identical.(gh-17116)
Financial functions removed
In accordance with NEP 32, the financial functions are removed from
NumPy 1.20. The functions that have been removed are fv, ipmt,
irr, mirr, nper, npv, pmt, ppmt, pv, and rate. These
functions are available in the
numpy_financial library.
(gh-17067)
Compatibility notes
Same kind casting in concatenate with axis=None
When [~numpy.concatenate]{.title-ref} is called with axis=None, the
flattened arrays were cast with unsafe. Any other axis choice uses
\"same kind\". That different default has been deprecated and \"same
kind\" casting will be used instead. The new casting keyword argument
can be used to retain the old behaviour.
(gh-16134)
NumPy Scalars are cast when assigned to arrays
When creating or assigning to arrays, in all relevant cases NumPy scalars will now be cast identically to NumPy arrays. In particular this changes the behaviour in some cases which previously raised an error:
np.array([np.float64(np.nan)], dtype=np.int64)
will succeed and return an undefined result (usually the smallest possible integer). This also affects assignments:
arr[0] = np.float64(np.nan)
At this time, NumPy retains the behaviour for:
np.array(np.float64(np.nan), dtype=np.int64)
The above changes do not affect Python scalars:
np.array([float("NaN")], dtype=np.int64)
remains unaffected (np.nan is a Python float, not a NumPy one).
Unlike signed integers, unsigned integers do not retain this special
case, since they always behaved more like casting. The following code
stops raising an error:
np.array([np.float64(np.nan)], dtype=np.uint64)
To avoid backward compatibility issues, at this time assignment from
datetime64 scalar to strings of too short length remains supported.
This means that np.asarray(np.datetime64("2020-10-10"), dtype="S5")
succeeds now, when it failed before. In the long term this may be
deprecated or the unsafe cast may be allowed generally to make
assignment of arrays and scalars behave consistently.
Array coercion changes when Strings and other types are mixed
When strings and other types are mixed, such as:
np.array(["string", np.float64(3.)], dtype="S")
The results will change, which may lead to string dtypes with longer
strings in some cases. In particularly, if dtype="S" is not provided
any numerical value will lead to a string results long enough to hold
all possible numerical values. (e.g. \"S32\" for floats). Note that you
should always provide dtype="S" when converting non-strings to
strings.
If dtype="S" is provided the results will be largely identical to
before, but NumPy scalars (not a Python float like 1.0), will still
enforce a uniform string length:
np.array([np.float64(3.)], dtype="S") # gives "S32"
np.array([3.0], dtype="S") # gives "S3"
Previously the first version gave the same result as the second.
Array coercion restructure
Array coercion has been restructured. In general, this should not affect users. In extremely rare corner cases where array-likes are nested:
np.array([array_like1])
Things will now be more consistent with:
np.array([np.array(array_like1)])
This could potentially subtly change output for badly defined array-likes. We are not aware of any such case where the results were not clearly incorrect previously.
(gh-16200)
Writing to the result of [numpy.broadcast_arrays]{.title-ref} will export readonly buffers
In NumPy 1.17 [numpy.broadcast_arrays]{.title-ref} started warning when
the resulting array was written to. This warning was skipped when the
array was used through the buffer interface (e.g. memoryview(arr)).
The same thing will now occur for the two protocols
__array_interface__, and __array_struct__ returning read-only
buffers instead of giving a warning.
(gh-16350)
Numeric-style type names have been removed from type dictionaries
To stay in sync with the deprecation for np.dtype("Complex64") and
other numeric-style (capital case) types. These were removed from
np.sctypeDict and np.typeDict. You should use the lower case
versions instead. Note that "Complex64" corresponds to "complex128"
and "Complex32" corresponds to "complex64". The numpy style (new)
versions, denote the full size and not the size of the real/imaginary
part.
(gh-16554)
The operator.concat function now raises TypeError for array arguments
The previous behavior was to fall back to addition and add the two arrays, which was thought to be unexpected behavior for a concatenation function.
(gh-16570)
nickname attribute removed from ABCPolyBase
An abstract property nickname has been removed from ABCPolyBase as
it was no longer used in the derived convenience classes. This may
affect users who have derived classes from ABCPolyBase and overridden
the methods for representation and display, e.g. __str__, __repr__,
_repr_latex, etc.
(gh-16589)
float->timedelta and uint64->timedelta promotion will raise a TypeError
Float and timedelta promotion consistently raises a TypeError.
np.promote_types("float32", "m8") aligns with
np.promote_types("m8", "float32") now and both raise a TypeError.
Previously, np.promote_types("float32", "m8") returned "m8" which
was considered a bug.
Uint64 and timedelta promotion consistently raises a TypeError.
np.promote_types("uint64", "m8") aligns with
np.promote_types("m8", "uint64") now and both raise a TypeError.
Previously, np.promote_types("uint64", "m8") returned "m8" which was
considered a bug.
(gh-16592)
numpy.genfromtxt now correctly unpacks structured arrays
Previously, [numpy.genfromtxt]{.title-ref} failed to unpack if it was
called with unpack=True and a structured datatype was passed to the
dtype argument (or dtype=None was passed and a structured datatype
was inferred). For example:
>>> data = StringIO("21 58.0\n35 72.0")
>>> np.genfromtxt(data, dtype=None, unpack=True)
array([(21, 58.), (35, 72.)], dtype=[('f0', '<i8'), ('f1', '<f8')])
Structured arrays will now correctly unpack into a list of arrays, one for each column:
>>> np.genfromtxt(data, dtype=None, unpack=True)
[array([21, 35]), array([58., 72.])]
(gh-16650)
mgrid, r_, etc. consistently return correct outputs for non-default precision input
Previously,
np.mgrid[np.float32(0.1):np.float32(0.35):np.float32(0.1),] and
np.r_[0:10:np.complex64(3j)] failed to return meaningful output. This
bug potentially affects [~numpy.mgrid]{.title-ref},
[~numpy.ogrid]{.title-ref}, [~numpy.r_]{.title-ref}, and
[~numpy.c_]{.title-ref} when an input with dtype other than the
default float64 and complex128 and equivalent Python types were
used. The methods have been fixed to handle varying precision correctly.
(gh-16815)
Boolean array indices with mismatching shapes now properly give IndexError
Previously, if a boolean array index matched the size of the indexed
array but not the shape, it was incorrectly allowed in some cases. In
other cases, it gave an error, but the error was incorrectly a
ValueError with a message about broadcasting instead of the correct
IndexError.
For example, the following used to incorrectly give
ValueError: operands could not be broadcast together with shapes (2,2) (1,4):
{.python}
np.empty((2, 2))[np.array([[True, False, False, False]])]
And the following used to incorrectly return array([], dtype=float64):
{.python}
np.empty((2, 2))[np.array([[False, False, False, False]])]
Both now correctly give
IndexError: boolean index did not match indexed array along dimension 0; dimension is 2 but corresponding boolean dimension is 1.
(gh-17010)
Casting errors interrupt Iteration
When iterating while casting values, an error may stop the iteration
earlier than before. In any case, a failed casting operation always
returned undefined, partial results. Those may now be even more
undefined and partial. For users of the NpyIter C-API such cast errors
will now cause the [iternext()]{.title-ref} function to return 0 and
thus abort iteration. Currently, there is no API to detect such an error
directly. It is necessary to check PyErr_Occurred(), which may be
problematic in combination with NpyIter_Reset. These issues always
existed, but new API could be added if required by users.
(gh-17029)
f2py generated code may return unicode instead of byte strings
Some byte strings previously returned by f2py generated code may now be unicode strings. This results from the ongoing Python2 -> Python3 cleanup.
(gh-17068)
The first element of the __array_interface__["data"] tuple must be an integer
This has been the documented interface for many years, but there was still code that would accept a byte string representation of the pointer address. That code has been removed, passing the address as a byte string will now raise an error.
(gh-17241)
poly1d respects the dtype of all-zero argument
Previously, constructing an instance of poly1d with all-zero
coefficients would cast the coefficients to np.float64. This affected
the output dtype of methods which construct poly1d instances
internally, such as np.polymul.
(gh-17577)
The numpy.i file for swig is Python 3 only.
Uses of Python 2.7 C-API functions have been updated to Python 3 only. Users who need the old version should take it from an older version of NumPy.
(gh-17580)
Void dtype discovery in np.array
In calls using np.array(..., dtype="V"), arr.astype("V"), and
similar a TypeError will now be correctly raised unless all elements
have the identical void length. An example for this is:
np.array([b"1", b"12"], dtype="V")
Which previously returned an array with dtype "V2" which cannot
represent b"1" faithfully.
(gh-17706)
C API changes
Size of np.ndarray and np.void_ changed
The size of the PyArrayObject and PyVoidScalarObject structures have
changed. The following header definition has been removed:
#define NPY_SIZEOF_PYARRAYOBJECT (sizeof(PyArrayObject_fields))
since the size must not be considered a compile time constant: it will change for different runtime versions of NumPy.
The most likely relevant use are potential subclasses written in C which
will have to be recompiled and should be updated. Please see the
documentation for :cPyArrayObject{.interpreted-text role="type"} for
more details and contact the NumPy developers if you are affected by
this change.
NumPy will attempt to give a graceful error but a program expecting a fixed structure size may have undefined behaviour and likely crash.
(gh-16938)
New Features
where keyword argument for numpy.all and numpy.any functions
The keyword argument where is added and allows to only consider
specified elements or subaxes from an array in the Boolean evaluation of
all and any. This new keyword is available to the functions all
and any both via numpy directly or in the methods of
numpy.ndarray.
Any broadcastable Boolean array or a scalar can be set as where. It
defaults to True to evaluate the functions for all elements in an
array if where is not set by the user. Examples are given in the
documentation of the functions.
where keyword argument for numpy functions mean, std, var
The keyword argument where is added and allows to limit the scope in
the calculation of mean, std and var to only a subset of elements.
It is available both via numpy directly or in the methods of
numpy.ndarray.
Any broadcastable Boolean array or a scalar can be set as where. It
defaults to True to evaluate the functions for all elements in an
array if where is not set by the user. Examples are given in the
documentation of the functions.
(gh-15852)
norm=backward, forward keyword options for numpy.fft functions
The keyword argument option norm=backward is added as an alias for
None and acts as the default option; using it has the direct
transforms unscaled and the inverse transforms scaled by 1/n.
Using the new keyword argument option norm=forward has the direct
transforms scaled by 1/n and the inverse transforms unscaled (i.e.
exactly opposite to the default option norm=backward).
(gh-16476)
NumPy is now typed
Type annotations have been added for large parts of NumPy. There is also a new [numpy.typing]{.title-ref} module that contains useful types for end-users. The currently available types are
-
ArrayLike: for objects that can be coerced to an array -
DtypeLike: for objects that can be coerced to a dtype
(gh-16515)
numpy.typing is accessible at runtime
The types in numpy.typing can now be imported at runtime. Code like
the following will now work:
{.python}
from numpy.typing import ArrayLike
x: ArrayLike = [1, 2, 3, 4]
(gh-16558)
New __f2py_numpy_version__ attribute for f2py generated modules.
Because f2py is released together with NumPy, __f2py_numpy_version__
provides a way to track the version f2py used to generate the module.
(gh-16594)
mypy tests can be run via runtests.py
Currently running mypy with the NumPy stubs configured requires either:
- Installing NumPy
- Adding the source directory to MYPYPATH and linking to the
mypy.ini
Both options are somewhat inconvenient, so add a --mypy option to
runtests that handles setting things up for you. This will also be
useful in the future for any typing codegen since it will ensure the
project is built before type checking.
(gh-17123)
Negation of user defined BLAS/LAPACK detection order
[~numpy.distutils]{.title-ref} allows negation of libraries when determining BLAS/LAPACK libraries. This may be used to remove an item from the library resolution phase, i.e. to disallow NetLIB libraries one could do:
{.bash}
NPY_BLAS_ORDER='^blas' NPY_LAPACK_ORDER='^lapack' python setup.py build
That will use any of the accelerated libraries instead.
(gh-17219)
Allow passing optimizations arguments to asv build
It is now possible to pass -j, --cpu-baseline, --cpu-dispatch and
--disable-optimization flags to ASV build when the --bench-compare
argument is used.
(gh-17284)
The NVIDIA HPC SDK nvfortran compiler is now supported
Support for the nvfortran compiler, a version of pgfortran, has been added.
(gh-17344)
dtype option for cov and corrcoef
The dtype option is now available for [numpy.cov]{.title-ref} and
[numpy.corrcoef]{.title-ref}. It specifies which data-type the returned
result should have. By default the functions still return a
[numpy.float64]{.title-ref} result.
(gh-17456)
Improvements
Improved string representation for polynomials (__str__)
The string representation (__str__) of all six polynomial types in
[numpy.polynomial]{.title-ref} has been updated to give the polynomial
as a mathematical expression instead of an array of coefficients. Two
package-wide formats for the polynomial expressions are available - one
using Unicode characters for superscripts and subscripts, and another
using only ASCII characters.
(gh-15666)
Remove the Accelerate library as a candidate LAPACK library
Apple no longer supports Accelerate. Remove it.
(gh-15759)
Object arrays containing multi-line objects have a more readable repr
If elements of an object array have a repr containing new lines, then
the wrapped lines will be aligned by column. Notably, this improves the
repr of nested arrays:
>>> np.array([np.eye(2), np.eye(3)], dtype=object)
array([array([[1., 0.],
[0., 1.]]),
array([[1., 0., 0.],
[0., 1., 0.],
[0., 0., 1.]])], dtype=object)
(gh-15997)
Concatenate supports providing an output dtype
Support was added to [~numpy.concatenate]{.title-ref} to provide an
output dtype and casting using keyword arguments. The dtype
argument cannot be provided in conjunction with the out one.
(gh-16134)
Thread safe f2py callback functions
Callback functions in f2py are now thread safe.
(gh-16519)
[numpy.core.records.fromfile]{.title-ref} now supports file-like objects
[numpy.rec.fromfile]{.title-ref} can now use file-like objects, for
instance :pyio.BytesIO{.interpreted-text role="class"}
(gh-16675)
RPATH support on AIX added to distutils
This allows SciPy to be built on AIX.
(gh-16710)
Use f90 compiler specified by the command line args
The compiler command selection for Fortran Portland Group Compiler is changed in [numpy.distutils.fcompiler]{.title-ref}. This only affects the linking command. This forces the use of the executable provided by the command line option (if provided) instead of the pgfortran executable. If no executable is provided to the command line option it defaults to the pgf90 executable, wich is an alias for pgfortran according to the PGI documentation.
(gh-16730)
Add NumPy declarations for Cython 3.0 and later
The pxd declarations for Cython 3.0 were improved to avoid using
deprecated NumPy C-API features. Extension modules built with Cython
3.0+ that use NumPy can now set the C macro
NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION to avoid C compiler warnings
about deprecated API usage.
(gh-16986)
Make the window functions exactly symmetric
Make sure the window functions provided by NumPy are symmetric. There were previously small deviations from symmetry due to numerical precision that are now avoided by better arrangement of the computation.
(gh-17195)
Performance improvements and changes
Enable multi-platform SIMD compiler optimizations
A series of improvements for NumPy infrastructure to pave the way to NEP-38, that can be summarized as follow:
New Build Arguments
-
--cpu-baselineto specify the minimal set of required optimizations, default value isminwhich provides the minimum CPU features that can safely run on a wide range of users platforms. -
--cpu-dispatchto specify the dispatched set of additional optimizations, default value ismax -xop -fma4which enables all CPU features, except for AMD legacy features. -
--disable-optimizationto explicitly disable the whole new improvements, It also adds a new C compiler #definition calledNPY_DISABLE_OPTIMIZATIONwhich it can be used as guard for any SIMD code.
-
Advanced CPU dispatcher
A flexible cross-architecture CPU dispatcher built on the top of Python/Numpy distutils, support all common compilers with a wide range of CPU features.
The new dispatcher requires a special file extension
*.dispatch.cto mark the dispatch-able C sources. These sources have the ability to be compiled multiple times so that each compilation process represents certain CPU features and provides different #definitions and flags that affect the code paths.New auto-generated C header ``core/src/common/_cpu_dispatch.h``
This header is generated by the distutils module
ccompiler_opt, and contains all the #definitions and headers of instruction sets, that had been configured through command arguments \'--cpu-baseline\' and \'--cpu-dispatch\'.New C header ``core/src/common/npy_cpu_dispatch.h``
This header contains all utilities that required for the whole CPU dispatching process, it also can be considered as a bridge linking the new infrastructure work with NumPy CPU runtime detection.
Add new attributes to NumPy umath module(Python level)
-
__cpu_baseline__a list contains the minimal set of required optimizations that supported by the compiler and platform according to the specified values to command argument \'--cpu-baseline\'. -
__cpu_dispatch__a list contains the dispatched set of additional optimizations that supported by the compiler and platform according to the specified values to command argument \'--cpu-dispatch\'.
-
Print the supported CPU features during the run of PytestTester
(gh-13516)
Changes
Changed behavior of divmod(1., 0.) and related functions
The changes also assure that different compiler versions have the same behavior for nan or inf usages in these operations. This was previously compiler dependent, we now force the invalid and divide by zero flags, making the results the same across compilers. For example, gcc-5, gcc-8, or gcc-9 now result in the same behavior. The changes are tabulated below:
Operator Old Warning New Warning Old Result New Result Works on MacOS
np.divmod(1.0, 0.0) Invalid Invalid and Dividebyzero nan, nan inf, nan Yes np.fmod(1.0, 0.0) Invalid Invalid nan nan No? Yes np.floor_divide(1.0, 0.0) Invalid Dividebyzero nan inf Yes np.remainder(1.0, 0.0) Invalid Invalid nan nan Yes
: Summary of New Behavior
(gh-16161)
np.linspace on integers now uses floor
When using a int dtype in [numpy.linspace]{.title-ref}, previously
float values would be rounded towards zero. Now
[numpy.floor]{.title-ref} is used instead, which rounds toward -inf.
This changes the results for negative values. For example, the following
would previously give:
>>> np.linspace(-3, 1, 8, dtype=int)
array([-3, -2, -1, -1, 0, 0, 0, 1])
and now results in:
>>> np.linspace(-3, 1, 8, dtype=int)
array([-3, -3, -2, -2, -1, -1, 0, 1])
The former result can still be obtained with:
>>> np.linspace(-3, 1, 8).astype(int)
array([-3, -2, -1, -1, 0, 0, 0, 1])
(gh-16841)
Checksums
MD5
c182567139ec82a140d5fbf363ed1697 numpy-1.20.0rc1-cp37-cp37m-macosx_10_9_x86_64.whl
06de963440e3dcf0dfd619a2b4936e59 numpy-1.20.0rc1-cp37-cp37m-manylinux1_i686.whl
436a34182e234dce16bc597929a61313 numpy-1.20.0rc1-cp37-cp37m-manylinux1_x86_64.whl
73aa4c274c2aee36f5f4d1c58b74a4a8 numpy-1.20.0rc1-cp37-cp37m-manylinux2010_i686.whl
cc0bbd29cca3f80dbb09a3177df6b677 numpy-1.20.0rc1-cp37-cp37m-manylinux2010_x86_64.whl
be993784ee6c9e9e95f949071f30a853 numpy-1.20.0rc1-cp37-cp37m-manylinux2014_aarch64.whl
971e01facbe869f95dda518ecc0b4c09 numpy-1.20.0rc1-cp37-cp37m-win32.whl
951e744fb554af874a0ba4bdbeedc882 numpy-1.20.0rc1-cp37-cp37m-win_amd64.whl
197de0d040463b4d6026e83284f272ac numpy-1.20.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
27f146dbee25d7058def106f5c15eca0 numpy-1.20.0rc1-cp38-cp38-manylinux1_i686.whl
b0f5ec0b31566270f8546a79d73e3424 numpy-1.20.0rc1-cp38-cp38-manylinux1_x86_64.whl
2e9c06be7d826451b9227b11b3e6cd69 numpy-1.20.0rc1-cp38-cp38-manylinux2010_i686.whl
f9fb7537b1e8197824f47650e883c63d numpy-1.20.0rc1-cp38-cp38-manylinux2010_x86_64.whl
83ad71e9a7a46947e2fe203e3f822ad3 numpy-1.20.0rc1-cp38-cp38-manylinux2014_aarch64.whl
318da96660e8c8ce5bac22e851969d15 numpy-1.20.0rc1-cp38-cp38-win32.whl
051419fe996b984eced3a6e28320a45a numpy-1.20.0rc1-cp38-cp38-win_amd64.whl
bca434dd07cd58b2436e592efc72c10b numpy-1.20.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
91beb7602bc10db4a912b9de8d082efe numpy-1.20.0rc1-cp39-cp39-manylinux2010_i686.whl
d213368ea0f28697597041ab175242f1 numpy-1.20.0rc1-cp39-cp39-manylinux2010_x86_64.whl
c1f3936e707014e1683eaeae30b71649 numpy-1.20.0rc1-cp39-cp39-manylinux2014_aarch64.whl
d4881ad35eb820a5e3a27bb47adcbb2b numpy-1.20.0rc1-cp39-cp39-win32.whl
ae4a01a84de51a0957452611dbad1199 numpy-1.20.0rc1-cp39-cp39-win_amd64.whl
c3d85a1bada3081b917ee9498ec4fb08 numpy-1.20.0rc1-pp37-pypy37_pp73-manylinux2010_x86_64.whl
94bb7d8f42e03c0c1cd37c230fcdfc14 numpy-1.20.0rc1.tar.gz
1ed93be9e6bfb1de153af93d20c4e443 numpy-1.20.0rc1.zip
SHA256
01e9029472857f8dd9868e1f83f3ff9df0b477e9e7554bc4455eb5293b8ae335 numpy-1.20.0rc1-cp37-cp37m-macosx_10_9_x86_64.whl
c6545bc46b3e4accaff4c542b4b4b95993ef0e4d74bb86fe19189b630740f76e numpy-1.20.0rc1-cp37-cp37m-manylinux1_i686.whl
b028d1104eb8f7c5f0bc5bdc4c35768efc755b459f3a67b38a79eb9b86e354c2 numpy-1.20.0rc1-cp37-cp37m-manylinux1_x86_64.whl
4789ad6cc531c9a24ce8cff59ac3c669e307599fba2bd40c2bc700d5b3013105 numpy-1.20.0rc1-cp37-cp37m-manylinux2010_i686.whl
e9b0138142f72a3c143f262fd435b331e9807a2eb1c0e2ff6904f2cdc9b9b1a5 numpy-1.20.0rc1-cp37-cp37m-manylinux2010_x86_64.whl
a2a4d00b119c71ba83fc1dd0f4dc71e2dd0fd61acd5cbd40541da4f9172427d3 numpy-1.20.0rc1-cp37-cp37m-manylinux2014_aarch64.whl
dcee4823291188e213d681b05a2749ff36a87d4933a91b9654fcf0e2bf02ce4a numpy-1.20.0rc1-cp37-cp37m-win32.whl
b1cf3925dda0920ee469c95260d2313f1f4a8d6381d42cfdd607e6fd991c4256 numpy-1.20.0rc1-cp37-cp37m-win_amd64.whl
10baa94959bcbea0070e82e7ed3db9090fbaf267811a74701bdc0a0697dfe2ae numpy-1.20.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
7f7f08cc1a3415a61382a2c60bd71d5bd3efa33ee90ebc14ce4754dfa0a138c9 numpy-1.20.0rc1-cp38-cp38-manylinux1_i686.whl
1a544c8d7928c85fcfb3af1649aad7d60376e89f9bc5be89f6da6d5eff1ed107 numpy-1.20.0rc1-cp38-cp38-manylinux1_x86_64.whl
c9a21184a9b40793bc17a1456c3713a98c9466af2d1f849354cef0a756e2f7c6 numpy-1.20.0rc1-cp38-cp38-manylinux2010_i686.whl
09fcbaef175786b99287039ada5dcf2c9131b65ceab1807fa9a61e5b062091a8 numpy-1.20.0rc1-cp38-cp38-manylinux2010_x86_64.whl
ce8c2a2fbfdaf14fd7ed85e9a10bea9247f9f884bf504ed773aee8c0adcee220 numpy-1.20.0rc1-cp38-cp38-manylinux2014_aarch64.whl
dd298a8efe8c62acb94797932d39ad3b74d1c4c1f496fa259b28a677e8f4793e numpy-1.20.0rc1-cp38-cp38-win32.whl
55dcf4a830d1198a72b6afb72cb02879c3abb95024c250402851de66db94a30d numpy-1.20.0rc1-cp38-cp38-win_amd64.whl
76cda96f70435bf75cac28dd081bb9e47e8eaf2badd1d9ad5ab19723d74e5921 numpy-1.20.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
ed955ab39527f7500b31dae6075b00f284a0c2eb23e7fd1a5a40a5066cab309f numpy-1.20.0rc1-cp39-cp39-manylinux2010_i686.whl
b38a2caf64429bab2c06b87eea0d2b24f736894f805f3d7210ecafb5573cb0de numpy-1.20.0rc1-cp39-cp39-manylinux2010_x86_64.whl
14aa454e438290d1ce464c80530157dc1ece86e34dd79a8077ca0e05ebab3665 numpy-1.20.0rc1-cp39-cp39-manylinux2014_aarch64.whl
3c27251c07f8e3cd727cab8cc275c1294be006ed725496090a6081f6d8d1d811 numpy-1.20.0rc1-cp39-cp39-win32.whl
4925c540f1bde557987c2d0b258b9c57cb6da020957ffa4ac355f13d6819b121 numpy-1.20.0rc1-cp39-cp39-win_amd64.whl
e9a5652afbe2128cb1734546608a0a0d5dbd21160738a40521464d7cb4cc22b5 numpy-1.20.0rc1-pp37-pypy37_pp73-manylinux2010_x86_64.whl
b4993844022e98fe363467ce42404ffd6f975239d294b6e4ea44a6e797891fac numpy-1.20.0rc1.tar.gz
98f4e754f1c3db7ca53e53b1ef6474703b167af75f3784f99b1fe4dd936ea77f numpy-1.20.0rc1.zip
- Python
Published by charris over 5 years ago
numpy -
NumPy 1.19.4 Release Notes
NumPy 1.19.4 is a quick release to revert the OpenBLAS library version. It was hoped that the 0.3.12 OpenBLAS version used in 1.19.3 would work around the Microsoft fmod bug, but problems in some docker environments turned up. Instead, 1.19.4 will use the older library and run a sanity check on import, raising an error if the problem is detected. Microsoft is aware of the problem and has promised a fix, users should upgrade when it becomes available.
This release supports Python 3.6-3.9
Contributors
A total of 1 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Charles Harris
Pull requests merged
A total of 2 pull requests were merged for this release.
- #17679: MAINT: Add check for Windows 10 version 2004 bug.
- #17680: REV: Revert OpenBLAS to 1.19.2 version for 1.19.4
Checksums
MD5
09b6f7f17ca61f0f3b943d4107ea6a6c numpy-1.19.4-cp36-cp36m-macosx_10_9_x86_64.whl
bfb801672e0d9916407352f7158b5584 numpy-1.19.4-cp36-cp36m-manylinux1_i686.whl
2469be359c8c383509eaded8e758488a numpy-1.19.4-cp36-cp36m-manylinux1_x86_64.whl
4af398903b0957ad3a40ec17631879ed numpy-1.19.4-cp36-cp36m-manylinux2010_i686.whl
bb3f911ba616d36a2daff5b8e1402b1b numpy-1.19.4-cp36-cp36m-manylinux2010_x86_64.whl
3b754c1135f7aa3e6a7c1f46af6a84c9 numpy-1.19.4-cp36-cp36m-manylinux2014_aarch64.whl
9db8749b90405780614f126c77eef3bb numpy-1.19.4-cp36-cp36m-win32.whl
25bc59391b8b4f06eb28e74e97afc488 numpy-1.19.4-cp36-cp36m-win_amd64.whl
355d7f49b9e442f9e73580e64c8bf2c2 numpy-1.19.4-cp37-cp37m-macosx_10_9_x86_64.whl
3c1ce8ca6f6f11ea9d49859b2ffb70cf numpy-1.19.4-cp37-cp37m-manylinux1_i686.whl
5524143ee95cc7e3400dbbff709de7cd numpy-1.19.4-cp37-cp37m-manylinux1_x86_64.whl
c40206040b8ddb62309cbef1cdf0fa82 numpy-1.19.4-cp37-cp37m-manylinux2010_i686.whl
552839ea3bc2dfc98611254f8188feb8 numpy-1.19.4-cp37-cp37m-manylinux2010_x86_64.whl
2e5c50e57cff5085ffb32185591e49ed numpy-1.19.4-cp37-cp37m-manylinux2014_aarch64.whl
ce6c1cd93d5fc56d0de608b84cc14a7e numpy-1.19.4-cp37-cp37m-win32.whl
a73acaea97da74db366372b3d70219a7 numpy-1.19.4-cp37-cp37m-win_amd64.whl
2f52c91231b2b3c54535dee98a5ad0a3 numpy-1.19.4-cp38-cp38-macosx_10_9_x86_64.whl
e619d04f2ac42a9feb0efcc1d9901d94 numpy-1.19.4-cp38-cp38-manylinux1_i686.whl
01c2f102e73b2569cf3ebe5eab112c4e numpy-1.19.4-cp38-cp38-manylinux1_x86_64.whl
6a66109907b356ddd67f1e282e1879e6 numpy-1.19.4-cp38-cp38-manylinux2010_i686.whl
79354b01e11789bb5d12c9edc754297b numpy-1.19.4-cp38-cp38-manylinux2010_x86_64.whl
4f1b335dfe5c7fcf5c8c89983cef9f0b numpy-1.19.4-cp38-cp38-manylinux2014_aarch64.whl
949a5f9e9a75b9cbb3c74e4bf4eb0683 numpy-1.19.4-cp38-cp38-win32.whl
27eb1b83f3cac67fb26c7fe9a25b0635 numpy-1.19.4-cp38-cp38-win_amd64.whl
ae1e4a06e721e83b530860835c708690 numpy-1.19.4-cp39-cp39-macosx_10_9_x86_64.whl
d263c7d04c46d5ecca3b32ad11925bad numpy-1.19.4-cp39-cp39-manylinux1_i686.whl
132e95910d76b045caf1883146ec34a6 numpy-1.19.4-cp39-cp39-manylinux1_x86_64.whl
4d4e5f147fe6fdedbdde4df9eaf2a4b1 numpy-1.19.4-cp39-cp39-manylinux2010_i686.whl
5ac2071e995ff4fc066741b1edcc159c numpy-1.19.4-cp39-cp39-manylinux2010_x86_64.whl
5d678c6cc45ee3ee976e8b3b2ebe9c13 numpy-1.19.4-cp39-cp39-manylinux2014_aarch64.whl
7bc02e21133a1b82994c81c7521156a8 numpy-1.19.4-cp39-cp39-win32.whl
55c735347e8fb2ce3674243b38b3cee3 numpy-1.19.4-cp39-cp39-win_amd64.whl
673234a8dc2d3d3912c24c64aef6263e numpy-1.19.4-pp36-pypy36_pp73-manylinux2010_x86_64.whl
a25e91ea62ffd37ccf8e0d917484962c numpy-1.19.4.tar.gz
d40f6fcf611ab40eed4ff90606e05307 numpy-1.19.4.zip
SHA256
e9b30d4bd69498fc0c3fe9db5f62fffbb06b8eb9321f92cc970f2969be5e3949 numpy-1.19.4-cp36-cp36m-macosx_10_9_x86_64.whl
fedbd128668ead37f33917820b704784aff695e0019309ad446a6d0b065b57e4 numpy-1.19.4-cp36-cp36m-manylinux1_i686.whl
8ece138c3a16db8c1ad38f52eb32be6086cc72f403150a79336eb2045723a1ad numpy-1.19.4-cp36-cp36m-manylinux1_x86_64.whl
64324f64f90a9e4ef732be0928be853eee378fd6a01be21a0a8469c4f2682c83 numpy-1.19.4-cp36-cp36m-manylinux2010_i686.whl
ad6f2ff5b1989a4899bf89800a671d71b1612e5ff40866d1f4d8bcf48d4e5764 numpy-1.19.4-cp36-cp36m-manylinux2010_x86_64.whl
d6c7bb82883680e168b55b49c70af29b84b84abb161cbac2800e8fcb6f2109b6 numpy-1.19.4-cp36-cp36m-manylinux2014_aarch64.whl
13d166f77d6dc02c0a73c1101dd87fdf01339febec1030bd810dcd53fff3b0f1 numpy-1.19.4-cp36-cp36m-win32.whl
448ebb1b3bf64c0267d6b09a7cba26b5ae61b6d2dbabff7c91b660c7eccf2bdb numpy-1.19.4-cp36-cp36m-win_amd64.whl
27d3f3b9e3406579a8af3a9f262f5339005dd25e0ecf3cf1559ff8a49ed5cbf2 numpy-1.19.4-cp37-cp37m-macosx_10_9_x86_64.whl
16c1b388cc31a9baa06d91a19366fb99ddbe1c7b205293ed072211ee5bac1ed2 numpy-1.19.4-cp37-cp37m-manylinux1_i686.whl
e5b6ed0f0b42317050c88022349d994fe72bfe35f5908617512cd8c8ef9da2a9 numpy-1.19.4-cp37-cp37m-manylinux1_x86_64.whl
18bed2bcb39e3f758296584337966e68d2d5ba6aab7e038688ad53c8f889f757 numpy-1.19.4-cp37-cp37m-manylinux2010_i686.whl
fe45becb4c2f72a0907c1d0246ea6449fe7a9e2293bb0e11c4e9a32bb0930a15 numpy-1.19.4-cp37-cp37m-manylinux2010_x86_64.whl
6d7593a705d662be5bfe24111af14763016765f43cb6923ed86223f965f52387 numpy-1.19.4-cp37-cp37m-manylinux2014_aarch64.whl
6ae6c680f3ebf1cf7ad1d7748868b39d9f900836df774c453c11c5440bc15b36 numpy-1.19.4-cp37-cp37m-win32.whl
9eeb7d1d04b117ac0d38719915ae169aa6b61fca227b0b7d198d43728f0c879c numpy-1.19.4-cp37-cp37m-win_amd64.whl
cb1017eec5257e9ac6209ac172058c430e834d5d2bc21961dceeb79d111e5909 numpy-1.19.4-cp38-cp38-macosx_10_9_x86_64.whl
edb01671b3caae1ca00881686003d16c2209e07b7ef8b7639f1867852b948f7c numpy-1.19.4-cp38-cp38-manylinux1_i686.whl
f29454410db6ef8126c83bd3c968d143304633d45dc57b51252afbd79d700893 numpy-1.19.4-cp38-cp38-manylinux1_x86_64.whl
ec149b90019852266fec2341ce1db513b843e496d5a8e8cdb5ced1923a92faab numpy-1.19.4-cp38-cp38-manylinux2010_i686.whl
1aeef46a13e51931c0b1cf8ae1168b4a55ecd282e6688fdb0a948cc5a1d5afb9 numpy-1.19.4-cp38-cp38-manylinux2010_x86_64.whl
08308c38e44cc926bdfce99498b21eec1f848d24c302519e64203a8da99a97db numpy-1.19.4-cp38-cp38-manylinux2014_aarch64.whl
5734bdc0342aba9dfc6f04920988140fb41234db42381cf7ccba64169f9fe7ac numpy-1.19.4-cp38-cp38-win32.whl
09c12096d843b90eafd01ea1b3307e78ddd47a55855ad402b157b6c4862197ce numpy-1.19.4-cp38-cp38-win_amd64.whl
e452dc66e08a4ce642a961f134814258a082832c78c90351b75c41ad16f79f63 numpy-1.19.4-cp39-cp39-macosx_10_9_x86_64.whl
a5d897c14513590a85774180be713f692df6fa8ecf6483e561a6d47309566f37 numpy-1.19.4-cp39-cp39-manylinux1_i686.whl
a09f98011236a419ee3f49cedc9ef27d7a1651df07810ae430a6b06576e0b414 numpy-1.19.4-cp39-cp39-manylinux1_x86_64.whl
50e86c076611212ca62e5a59f518edafe0c0730f7d9195fec718da1a5c2bb1fc numpy-1.19.4-cp39-cp39-manylinux2010_i686.whl
f0d3929fe88ee1c155129ecd82f981b8856c5d97bcb0d5f23e9b4242e79d1de3 numpy-1.19.4-cp39-cp39-manylinux2010_x86_64.whl
c42c4b73121caf0ed6cd795512c9c09c52a7287b04d105d112068c1736d7c753 numpy-1.19.4-cp39-cp39-manylinux2014_aarch64.whl
8cac8790a6b1ddf88640a9267ee67b1aee7a57dfa2d2dd33999d080bc8ee3a0f numpy-1.19.4-cp39-cp39-win32.whl
4377e10b874e653fe96985c05feed2225c912e328c8a26541f7fc600fb9c637b numpy-1.19.4-cp39-cp39-win_amd64.whl
2a2740aa9733d2e5b2dfb33639d98a64c3b0f24765fed86b0fd2aec07f6a0a08 numpy-1.19.4-pp36-pypy36_pp73-manylinux2010_x86_64.whl
fe836a685d6838dbb3f603caef01183ea98e88febf4ce956a2ea484a75378413 numpy-1.19.4.tar.gz
141ec3a3300ab89c7f2b0775289954d193cc8edb621ea05f99db9cb181530512 numpy-1.19.4.zip
- Python
Published by charris over 5 years ago
numpy -
NumPy 1.19.3 Release Notes
NumPy 1.19.3 is a small maintenace release with two major improvements:
- Python 3.9 binary wheels on all supported platforms.
- OpenBLAS fixes for Windows 10 version 2004 fmod bug.
This release supports Python 3.6-3.9 and is linked with OpenBLAS 3.7 to avoid some of the fmod problems on Windows 10 version 2004. Microsoft is aware of the problem and users should upgrade when the fix becomes available, the fix here is limited in scope.
Contributors
A total of 8 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Charles Harris
- Chris Brown +
- Daniel Vanzo +
- E. Madison Bray +
- Hugo van Kemenade +
- Ralf Gommers
- Sebastian Berg
- \@danbeibei +
Pull requests merged
A total of 10 pull requests were merged for this release.
- #17298: BLD: set upper versions for build dependencies
- #17336: BUG: Set deprecated fields to null in PyArray_InitArrFuncs
- #17446: ENH: Warn on unsupported Python 3.10+
- #17450: MAINT: Update test_requirements.txt.
- #17522: ENH: Support for the NVIDIA HPC SDK nvfortran compiler
- #17568: BUG: Cygwin Workaround for #14787 on affected platforms
- #17647: BUG: Fix memory leak of buffer-info cache due to relaxed strides
- #17652: MAINT: Backport openblas_support from master.
- #17653: TST: Add Python 3.9 to the CI testing on Windows, Mac.
- #17660: TST: Simplify source path names in test_extending.
Checksums
MD5
e5c6c782b2f112c32dcc38242521ec83 numpy-1.19.3-cp36-cp36m-macosx_10_9_x86_64.whl
02323e4a20e14e6f7cded1c55f6a0afe numpy-1.19.3-cp36-cp36m-manylinux1_i686.whl
95f19f0b6c60a755a8454f22eb15f4d6 numpy-1.19.3-cp36-cp36m-manylinux1_x86_64.whl
e66cf5ea007a9b567be2b1a901b3d2e0 numpy-1.19.3-cp36-cp36m-manylinux2010_i686.whl
8c7d422f147392bd31f9e5bfc41a170e numpy-1.19.3-cp36-cp36m-manylinux2010_x86_64.whl
da02c95dcf0acf7688aebaba7ba2750d numpy-1.19.3-cp36-cp36m-manylinux2014_aarch64.whl
96e6ec05aca18516c8a5961c17a0cac6 numpy-1.19.3-cp36-cp36m-win32.whl
5aa36a829a7ce0a89e6fea502d4fa9ea numpy-1.19.3-cp36-cp36m-win_amd64.whl
9143b46601bc0457dd42795a71ccd2f1 numpy-1.19.3-cp37-cp37m-macosx_10_9_x86_64.whl
ebe09a5e206db0de65154ef75377f963 numpy-1.19.3-cp37-cp37m-manylinux1_i686.whl
96008f5c61368d4cd967ecd474525df6 numpy-1.19.3-cp37-cp37m-manylinux1_x86_64.whl
e61aaf0c971b667c5fed8b5de3773c6d numpy-1.19.3-cp37-cp37m-manylinux2010_i686.whl
74a9f9dab6f00bcf56096eaa910c48b9 numpy-1.19.3-cp37-cp37m-manylinux2010_x86_64.whl
18d911f7f462ee98333de9579adde331 numpy-1.19.3-cp37-cp37m-manylinux2014_aarch64.whl
f29846178b82bd4e8db1685a6e911336 numpy-1.19.3-cp37-cp37m-win32.whl
d372be03d9e57e5e0e1372bf39391241 numpy-1.19.3-cp37-cp37m-win_amd64.whl
c64b6538e07bca9d84287eebb3f3a01b numpy-1.19.3-cp38-cp38-macosx_10_9_x86_64.whl
8ac57941de395be58376611b211ea571 numpy-1.19.3-cp38-cp38-manylinux1_i686.whl
81cc1993ac8da61fea677a7eb49989e8 numpy-1.19.3-cp38-cp38-manylinux1_x86_64.whl
9b2b05db89068d1f3f32a231f3953355 numpy-1.19.3-cp38-cp38-manylinux2010_i686.whl
d26cfa5ad6f4aa6beb42246efc45f565 numpy-1.19.3-cp38-cp38-manylinux2010_x86_64.whl
969a13b40fceb950021e297d5427f329 numpy-1.19.3-cp38-cp38-manylinux2014_aarch64.whl
f978618640860e72b91c522f4e4085af numpy-1.19.3-cp38-cp38-win32.whl
af140a06f216c4100dc93c4135003d10 numpy-1.19.3-cp38-cp38-win_amd64.whl
fda3cdf138516040cad3de66496cf670 numpy-1.19.3-cp39-cp39-macosx_10_9_x86_64.whl
f683469f18abc8c84aa831d9e78f4eb6 numpy-1.19.3-cp39-cp39-manylinux1_i686.whl
26414c3db751ca4735f744b239bf9703 numpy-1.19.3-cp39-cp39-manylinux1_x86_64.whl
3164ede05e3a5d28dd8bd66aee56928c numpy-1.19.3-cp39-cp39-manylinux2010_i686.whl
fc0b0c73c5508247d21beb42cf3fff66 numpy-1.19.3-cp39-cp39-manylinux2010_x86_64.whl
75097b6e154469c63c50c8f7eaf52a89 numpy-1.19.3-cp39-cp39-manylinux2014_aarch64.whl
cd4363bde576c997bf737f420a85683a numpy-1.19.3-cp39-cp39-win32.whl
54fa685b3d30585763f59a7b2be7279b numpy-1.19.3-cp39-cp39-win_amd64.whl
ed5bd59a064fe5b95699c222dc7a4638 numpy-1.19.3-pp36-pypy36_pp73-manylinux2010_x86_64.whl
b2d13ca1b8ff89a9289174a86b835165 numpy-1.19.3.tar.gz
7f014f9964987b59083c8dc4d158d45a numpy-1.19.3.zip
SHA256
942d2cdcb362739908c26ce8dd88db6e139d3fa829dd7452dd9ff02cba6b58b2 numpy-1.19.3-cp36-cp36m-macosx_10_9_x86_64.whl
efd656893171bbf1331beca4ec9f2e74358fc732a2084f664fd149cc4b3441d2 numpy-1.19.3-cp36-cp36m-manylinux1_i686.whl
1a307bdd3dd444b1d0daa356b5f4c7de2e24d63bdc33ea13ff718b8ec4c6a268 numpy-1.19.3-cp36-cp36m-manylinux1_x86_64.whl
9d08d84bb4128abb9fbd9f073e5c69f70e5dab991a9c42e5b4081ea5b01b5db0 numpy-1.19.3-cp36-cp36m-manylinux2010_i686.whl
7197ee0a25629ed782c7bd01871ee40702ffeef35bc48004bc2fdcc71e29ba9d numpy-1.19.3-cp36-cp36m-manylinux2010_x86_64.whl
8edc4d687a74d0a5f8b9b26532e860f4f85f56c400b3a98899fc44acb5e27add numpy-1.19.3-cp36-cp36m-manylinux2014_aarch64.whl
522053b731e11329dd52d258ddf7de5288cae7418b55e4b7d32f0b7e31787e9d numpy-1.19.3-cp36-cp36m-win32.whl
eefc13863bf01583a85e8c1121a901cc7cb8f059b960c4eba30901e2e6aba95f numpy-1.19.3-cp36-cp36m-win_amd64.whl
6ff88bcf1872b79002569c63fe26cd2cda614e573c553c4d5b814fb5eb3d2822 numpy-1.19.3-cp37-cp37m-macosx_10_9_x86_64.whl
e080087148fd70469aade2abfeadee194357defd759f9b59b349c6192aba994c numpy-1.19.3-cp37-cp37m-manylinux1_i686.whl
50f68ebc439821b826823a8da6caa79cd080dee2a6d5ab9f1163465a060495ed numpy-1.19.3-cp37-cp37m-manylinux1_x86_64.whl
b9074d062d30c2779d8af587924f178a539edde5285d961d2dfbecbac9c4c931 numpy-1.19.3-cp37-cp37m-manylinux2010_i686.whl
463792a249a81b9eb2b63676347f996d3f0082c2666fd0604f4180d2e5445996 numpy-1.19.3-cp37-cp37m-manylinux2010_x86_64.whl
ea6171d2d8d648dee717457d0f75db49ad8c2f13100680e284d7becf3dc311a6 numpy-1.19.3-cp37-cp37m-manylinux2014_aarch64.whl
0ee77786eebbfa37f2141fd106b549d37c89207a0d01d8852fde1c82e9bfc0e7 numpy-1.19.3-cp37-cp37m-win32.whl
271139653e8b7a046d11a78c0d33bafbddd5c443a5b9119618d0652a4eb3a09f numpy-1.19.3-cp37-cp37m-win_amd64.whl
e983cbabe10a8989333684c98fdc5dd2f28b236216981e0c26ed359aaa676772 numpy-1.19.3-cp38-cp38-macosx_10_9_x86_64.whl
d78294f1c20f366cde8a75167f822538a7252b6e8b9d6dbfb3bdab34e7c1929e numpy-1.19.3-cp38-cp38-manylinux1_i686.whl
199bebc296bd8a5fc31c16f256ac873dd4d5b4928dfd50e6c4995570fc71a8f3 numpy-1.19.3-cp38-cp38-manylinux1_x86_64.whl
dffed17848e8b968d8d3692604e61881aa6ef1f8074c99e81647ac84f6038535 numpy-1.19.3-cp38-cp38-manylinux2010_i686.whl
5ea4401ada0d3988c263df85feb33818dc995abc85b8125f6ccb762009e7bc68 numpy-1.19.3-cp38-cp38-manylinux2010_x86_64.whl
604d2e5a31482a3ad2c88206efd43d6fcf666ada1f3188fd779b4917e49b7a98 numpy-1.19.3-cp38-cp38-manylinux2014_aarch64.whl
a2daea1cba83210c620e359de2861316f49cc7aea8e9a6979d6cb2ddab6dda8c numpy-1.19.3-cp38-cp38-win32.whl
dfdc8b53aa9838b9d44ed785431ca47aa3efaa51d0d5dd9c412ab5247151a7c4 numpy-1.19.3-cp38-cp38-win_amd64.whl
9f7f56b5e85b08774939622b7d45a5d00ff511466522c44fc0756ac7692c00f2 numpy-1.19.3-cp39-cp39-macosx_10_9_x86_64.whl
8802d23e4895e0c65e418abe67cdf518aa5cbb976d97f42fd591f921d6dffad0 numpy-1.19.3-cp39-cp39-manylinux1_i686.whl
c4aa79993f5d856765819a3651117520e41ac3f89c3fc1cb6dee11aa562df6da numpy-1.19.3-cp39-cp39-manylinux1_x86_64.whl
51e8d2ae7c7e985c7bebf218e56f72fa93c900ad0c8a7d9fbbbf362f45710f69 numpy-1.19.3-cp39-cp39-manylinux2010_i686.whl
50d3513469acf5b2c0406e822d3f314d7ac5788c2b438c24e5dd54d5a81ef522 numpy-1.19.3-cp39-cp39-manylinux2010_x86_64.whl
741d95eb2b505bb7a99fbf4be05fa69f466e240c2b4f2d3ddead4f1b5f82a5a5 numpy-1.19.3-cp39-cp39-manylinux2014_aarch64.whl
1ea7e859f16e72ab81ef20aae69216cfea870676347510da9244805ff9670170 numpy-1.19.3-cp39-cp39-win32.whl
83af653bb92d1e248ccf5fdb05ccc934c14b936bcfe9b917dc180d3f00250ac6 numpy-1.19.3-cp39-cp39-win_amd64.whl
9a0669787ba8c9d3bb5de5d9429208882fb47764aa79123af25c5edc4f5966b9 numpy-1.19.3-pp36-pypy36_pp73-manylinux2010_x86_64.whl
9179d259a9bc53ed7b153d31fc3156d1ca560d61079f53191cf177c3efc4a498 numpy-1.19.3.tar.gz
35bf5316af8dc7c7db1ad45bec603e5fb28671beb98ebd1d65e8059efcfd3b72 numpy-1.19.3.zip
- Python
Published by charris over 5 years ago
numpy -
NumPy 1.19.2 Release Notes
NumPy 1.19.2 fixes several bugs, prepares for the upcoming Cython 3.x release. and pins setuptools to keep distutils working while upstream modifications are ongoing. The aarch64 wheels are built with the latest manylinux2014 release that fixes the problem of differing page sizes used by different linux distros.
This release supports Python 3.6-3.8. Cython >= 0.29.21 needs to be used when building with Python 3.9 for testing purposes.
There is a known problem with Windows 10 version=2004 and OpenBLAS svd that we are trying to debug. If you are running that Windows version you should use a NumPy version that links to the MKL library, earlier Windows versions are fine.
Improvements
Add NumPy declarations for Cython 3.0 and later
The pxd declarations for Cython 3.0 were improved to avoid using
deprecated NumPy C-API features. Extension modules built with Cython
3.0+ that use NumPy can now set the C macro
NPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION to avoid C compiler warnings
about deprecated API usage.
Contributors
A total of 8 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Charles Harris
- Matti Picus
- Pauli Virtanen
- Philippe Ombredanne +
- Sebastian Berg
- Stefan Behnel +
- Stephan Loyd +
- Zac Hatfield-Dodds
Pull requests merged
A total of 9 pull requests were merged for this release.
- #16959: TST: Change aarch64 to arm64 in travis.yml.
- #16998: MAINT: Configure hypothesis in
np.test()for determinism,... - #17000: BLD: pin setuptools < 49.2.0
- #17015: ENH: Add NumPy declarations to be used by Cython 3.0+
- #17125: BUG: Remove non-threadsafe sigint handling from fft calculation
- #17243: BUG: core: fix ilp64 blas dot/vdot/... for strides > int32 max
- #17244: DOC: Use SPDX license expressions with correct license
- #17245: DOC: Fix the link to the quick-start in the old API functions
- #17272: BUG: fix pickling of arrays larger than 2GiB
Checksums
MD5
b74295cbb5b1c98f46f26e13c0fca0ea numpy-1.19.2-cp36-cp36m-macosx_10_9_x86_64.whl
3e307eca6c448bbe30e4c1dc99824642 numpy-1.19.2-cp36-cp36m-manylinux1_i686.whl
bfe6c2053a7a792097df912d1175ef7e numpy-1.19.2-cp36-cp36m-manylinux1_x86_64.whl
3b61953b421460abc7d2ecb4df4060bc numpy-1.19.2-cp36-cp36m-manylinux2010_i686.whl
7c442b7c5af62bd5be669bf6c360e114 numpy-1.19.2-cp36-cp36m-manylinux2010_x86_64.whl
f6eaf46804f0d66c123fa7ff728b178e numpy-1.19.2-cp36-cp36m-manylinux2014_aarch64.whl
30bbe0bcd774ab483c7494d1cf827199 numpy-1.19.2-cp36-cp36m-win32.whl
cf54372ccde7de333d7b69cd16abfa70 numpy-1.19.2-cp36-cp36m-win_amd64.whl
285d0fc2986bf4a050523d98f47f2175 numpy-1.19.2-cp37-cp37m-macosx_10_9_x86_64.whl
a0901b44347ba39154058a26a9fc8e77 numpy-1.19.2-cp37-cp37m-manylinux1_i686.whl
21bfe38bdb317ad4af4959279dd90fde numpy-1.19.2-cp37-cp37m-manylinux1_x86_64.whl
ec32c124ace9c08399e88b8eca6d7475 numpy-1.19.2-cp37-cp37m-manylinux2010_i686.whl
0d5cae15043a8172a1b8a478b7c98119 numpy-1.19.2-cp37-cp37m-manylinux2010_x86_64.whl
c7e9905e721dc31a666f59e30e37aa0d numpy-1.19.2-cp37-cp37m-manylinux2014_aarch64.whl
ad32d083e641f2cf1a50fe821f3673a7 numpy-1.19.2-cp37-cp37m-win32.whl
a243b3e844507e424e828430010612c1 numpy-1.19.2-cp37-cp37m-win_amd64.whl
8f4d5df29d4fbf21bf8c4c976595214f numpy-1.19.2-cp38-cp38-macosx_10_9_x86_64.whl
7b003b2fd18125f3956eb3a182ab0d7f numpy-1.19.2-cp38-cp38-manylinux1_i686.whl
e7b8242ee7a79778c6df64772fde5885 numpy-1.19.2-cp38-cp38-manylinux1_x86_64.whl
e89e05d24b6f898005e03ba3f01c0641 numpy-1.19.2-cp38-cp38-manylinux2010_i686.whl
4cffe85a99bfe08d47d7f1f655142be4 numpy-1.19.2-cp38-cp38-manylinux2010_x86_64.whl
39e363f10f0a9af0a8506699118d3aaf numpy-1.19.2-cp38-cp38-manylinux2014_aarch64.whl
13ccd230fefdd56a1679fd72fd0d8a55 numpy-1.19.2-cp38-cp38-win32.whl
a3d85f244058882b90140468b86f2e2e numpy-1.19.2-cp38-cp38-win_amd64.whl
ef4cf0675f801a4bf339348fc1843f50 numpy-1.19.2-pp36-pypy36_pp73-manylinux2010_x86_64.whl
471156268abd8686e39e811003726ab1 numpy-1.19.2.tar.gz
2d011c5422596d742784ba5c2204bc5d numpy-1.19.2.zip
SHA256
b594f76771bc7fc8a044c5ba303427ee67c17a09b36e1fa32bde82f5c419d17a numpy-1.19.2-cp36-cp36m-macosx_10_9_x86_64.whl
e6ddbdc5113628f15de7e4911c02aed74a4ccff531842c583e5032f6e5a179bd numpy-1.19.2-cp36-cp36m-manylinux1_i686.whl
3733640466733441295b0d6d3dcbf8e1ffa7e897d4d82903169529fd3386919a numpy-1.19.2-cp36-cp36m-manylinux1_x86_64.whl
4339741994c775396e1a274dba3609c69ab0f16056c1077f18979bec2a2c2e6e numpy-1.19.2-cp36-cp36m-manylinux2010_i686.whl
7c6646314291d8f5ea900a7ea9c4261f834b5b62159ba2abe3836f4fa6705526 numpy-1.19.2-cp36-cp36m-manylinux2010_x86_64.whl
7118f0a9f2f617f921ec7d278d981244ba83c85eea197be7c5a4f84af80a9c3c numpy-1.19.2-cp36-cp36m-manylinux2014_aarch64.whl
9a3001248b9231ed73894c773142658bab914645261275f675d86c290c37f66d numpy-1.19.2-cp36-cp36m-win32.whl
967c92435f0b3ba37a4257c48b8715b76741410467e2bdb1097e8391fccfae15 numpy-1.19.2-cp36-cp36m-win_amd64.whl
d526fa58ae4aead839161535d59ea9565863bb0b0bdb3cc63214613fb16aced4 numpy-1.19.2-cp37-cp37m-macosx_10_9_x86_64.whl
eb25c381d168daf351147713f49c626030dcff7a393d5caa62515d415a6071d8 numpy-1.19.2-cp37-cp37m-manylinux1_i686.whl
62139af94728d22350a571b7c82795b9d59be77fc162414ada6c8b6a10ef5d02 numpy-1.19.2-cp37-cp37m-manylinux1_x86_64.whl
0c66da1d202c52051625e55a249da35b31f65a81cb56e4c69af0dfb8fb0125bf numpy-1.19.2-cp37-cp37m-manylinux2010_i686.whl
2117536e968abb7357d34d754e3733b0d7113d4c9f1d921f21a3d96dec5ff716 numpy-1.19.2-cp37-cp37m-manylinux2010_x86_64.whl
54045b198aebf41bf6bf4088012777c1d11703bf74461d70cd350c0af2182e45 numpy-1.19.2-cp37-cp37m-manylinux2014_aarch64.whl
aba1d5daf1144b956bc87ffb87966791f5e9f3e1f6fab3d7f581db1f5b598f7a numpy-1.19.2-cp37-cp37m-win32.whl
addaa551b298052c16885fc70408d3848d4e2e7352de4e7a1e13e691abc734c1 numpy-1.19.2-cp37-cp37m-win_amd64.whl
58d66a6b3b55178a1f8a5fe98df26ace76260a70de694d99577ddeab7eaa9a9d numpy-1.19.2-cp38-cp38-macosx_10_9_x86_64.whl
59f3d687faea7a4f7f93bd9665e5b102f32f3fa28514f15b126f099b7997203d numpy-1.19.2-cp38-cp38-manylinux1_i686.whl
cebd4f4e64cfe87f2039e4725781f6326a61f095bc77b3716502bed812b385a9 numpy-1.19.2-cp38-cp38-manylinux1_x86_64.whl
c35a01777f81e7333bcf276b605f39c872e28295441c265cd0c860f4b40148c1 numpy-1.19.2-cp38-cp38-manylinux2010_i686.whl
d7ac33585e1f09e7345aa902c281bd777fdb792432d27fca857f39b70e5dd31c numpy-1.19.2-cp38-cp38-manylinux2010_x86_64.whl
04c7d4ebc5ff93d9822075ddb1751ff392a4375e5885299445fcebf877f179d5 numpy-1.19.2-cp38-cp38-manylinux2014_aarch64.whl
51ee93e1fac3fe08ef54ff1c7f329db64d8a9c5557e6c8e908be9497ac76374b numpy-1.19.2-cp38-cp38-win32.whl
1669ec8e42f169ff715a904c9b2105b6640f3f2a4c4c2cb4920ae8b2785dac65 numpy-1.19.2-cp38-cp38-win_amd64.whl
0bfd85053d1e9f60234f28f63d4a5147ada7f432943c113a11afcf3e65d9d4c8 numpy-1.19.2-pp36-pypy36_pp73-manylinux2010_x86_64.whl
74d0cf50aa28af81874aca3e67560945afd783b2a006913577d6cddc35a824a6 numpy-1.19.2.tar.gz
0d310730e1e793527065ad7dde736197b705d0e4c9999775f212b03c44a8484c numpy-1.19.2.zip
- Python
Published by charris over 5 years ago
numpy -
NumPy 1.19.1 Release Notes
NumPy 1.19.1 fixes several bugs found in the 1.19.0 release, replaces several functions deprecated in the upcoming Python-3.9 release, has improved support for AIX, and has a number of development related updates to keep CI working with recent upstream changes.
This release supports Python 3.6-3.8. Cython >= 0.29.21 needs to be used when building with Python 3.9 for testing purposes.
Contributors
A total of 15 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Abhinav Reddy +
- Anirudh Subramanian
- Antonio Larrosa +
- Charles Harris
- Chunlin Fang
- Eric Wieser
- Etienne Guesnet +
- Kevin Sheppard
- Matti Picus
- Raghuveer Devulapalli
- Roman Yurchak
- Ross Barnowski
- Sayed Adel
- Sebastian Berg
- Tyler Reddy
Pull requests merged
A total of 25 pull requests were merged for this release.
- #16649: MAINT, CI: disable Shippable cache
- #16652: MAINT: Replace PyUString_GET_SIZE with PyUnicode_GetLength.
- #16654: REL: Fix outdated docs link
- #16656: BUG: raise IEEE exception on AIX
- #16672: BUG: Fix bug in AVX complex absolute while processing array of...
- #16693: TST: Add extra debugging information to CPU features detection
- #16703: BLD: Add CPU entry for Emscripten / WebAssembly
- #16705: TST: Disable Python 3.9-dev testing.
- #16714: MAINT: Disable use_hugepages in case of ValueError
- #16724: BUG: Fix PyArray_SearchSorted signature.
- #16768: MAINT: Fixes for deprecated functions in scalartypes.c.src
- #16772: MAINT: Remove unneeded call to PyUnicode_READY
- #16776: MAINT: Fix deprecated functions in scalarapi.c
- #16779: BLD, ENH: Add RPATH support for AIX
- #16780: BUG: Fix default fallback in genfromtxt
- #16784: BUG: Added missing return after raising error in methods.c
- #16795: BLD: update cython to 0.29.21
- #16832: MAINT: setuptools 49.2.0 emits a warning, avoid it
- #16872: BUG: Validate output size in bin- and multinomial
- #16875: BLD, MAINT: Pin setuptools
- #16904: DOC: Reconstruct Testing Guideline.
- #16905: TST, BUG: Re-raise MemoryError exception in test_large_zip\'s...
- #16906: BUG, DOC: Fix bad MPL kwarg.
- #16916: BUG: Fix string/bytes to complex assignment
- #16922: REL: Prepare for NumPy 1.19.1 release
Checksums
MD5
a57df319841a487b22b932aa99562fd8 numpy-1.19.1-cp36-cp36m-macosx_10_9_x86_64.whl
c86be0ba1efc221cdd3aba05c21ab7a6 numpy-1.19.1-cp36-cp36m-manylinux1_i686.whl
09bb5d4ff277bc2caddc107af963f006 numpy-1.19.1-cp36-cp36m-manylinux1_x86_64.whl
c150ffb56704ff319e8ea525773de49e numpy-1.19.1-cp36-cp36m-manylinux2010_i686.whl
e7c22cfc5956330df8fc107968472e28 numpy-1.19.1-cp36-cp36m-manylinux2010_x86_64.whl
9255520a51c6aa591489f68ac7a4cb0e numpy-1.19.1-cp36-cp36m-manylinux2014_aarch64.whl
7de3e77a0cda438724e1d8f312805742 numpy-1.19.1-cp36-cp36m-win32.whl
d6d00a2e7b5bbfa7f5f097e8f99d17a7 numpy-1.19.1-cp36-cp36m-win_amd64.whl
c8bc9f328f3a89ab35c374e9cf36dd80 numpy-1.19.1-cp37-cp37m-macosx_10_9_x86_64.whl
8e2eb1614b6a7ce286a5ddf39805564c numpy-1.19.1-cp37-cp37m-manylinux1_i686.whl
884540e9a94a9da88cd35311a40e1f98 numpy-1.19.1-cp37-cp37m-manylinux1_x86_64.whl
c8dea76ce437f9795a2c38fc3a94cc64 numpy-1.19.1-cp37-cp37m-manylinux2010_i686.whl
fceff6d052e0729e0bc4725d415a0424 numpy-1.19.1-cp37-cp37m-manylinux2010_x86_64.whl
8a40347a7aa0a78ad652761b18646b94 numpy-1.19.1-cp37-cp37m-manylinux2014_aarch64.whl
6f83733af7f25219b1309ed6e2125b40 numpy-1.19.1-cp37-cp37m-win32.whl
5ffe9aaa1be9790546bf0805349d11de numpy-1.19.1-cp37-cp37m-win_amd64.whl
9fc17dd30d41000be08a5e76bda7cd13 numpy-1.19.1-cp38-cp38-macosx_10_9_x86_64.whl
e164a68bb255e40835243843fd748786 numpy-1.19.1-cp38-cp38-manylinux1_i686.whl
831327c74d9d0c69adba8c626e09a842 numpy-1.19.1-cp38-cp38-manylinux1_x86_64.whl
8d5cfc3f45d07874d427e9d62dfe6b0d numpy-1.19.1-cp38-cp38-manylinux2010_i686.whl
08a1030ceea2f30f51e6c39264aec2e3 numpy-1.19.1-cp38-cp38-manylinux2010_x86_64.whl
a4dab4ffba3b1b2600400f89ab065112 numpy-1.19.1-cp38-cp38-manylinux2014_aarch64.whl
3b7770f38ed195e24692d6581e4634a1 numpy-1.19.1-cp38-cp38-win32.whl
8ec6183c736b4eacec8de80c98261af1 numpy-1.19.1-cp38-cp38-win_amd64.whl
a15c1aec844788f6e55c1da12f6bfa86 numpy-1.19.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl
bb6f87f7b2d15a2e2a983b972afbcde5 numpy-1.19.1.tar.gz
2ccca1881b2766040149629614d22a3f numpy-1.19.1.zip
SHA256
b1cca51512299841bf69add3b75361779962f9cee7d9ee3bb446d5982e925b69 numpy-1.19.1-cp36-cp36m-macosx_10_9_x86_64.whl
c9591886fc9cbe5532d5df85cb8e0cc3b44ba8ce4367bd4cf1b93dc19713da72 numpy-1.19.1-cp36-cp36m-manylinux1_i686.whl
cf1347450c0b7644ea142712619533553f02ef23f92f781312f6a3553d031fc7 numpy-1.19.1-cp36-cp36m-manylinux1_x86_64.whl
ed8a311493cf5480a2ebc597d1e177231984c818a86875126cfd004241a73c3e numpy-1.19.1-cp36-cp36m-manylinux2010_i686.whl
3673c8b2b29077f1b7b3a848794f8e11f401ba0b71c49fbd26fb40b71788b132 numpy-1.19.1-cp36-cp36m-manylinux2010_x86_64.whl
56ef7f56470c24bb67fb43dae442e946a6ce172f97c69f8d067ff8550cf782ff numpy-1.19.1-cp36-cp36m-manylinux2014_aarch64.whl
aaf42a04b472d12515debc621c31cf16c215e332242e7a9f56403d814c744624 numpy-1.19.1-cp36-cp36m-win32.whl
082f8d4dd69b6b688f64f509b91d482362124986d98dc7dc5f5e9f9b9c3bb983 numpy-1.19.1-cp36-cp36m-win_amd64.whl
e4f6d3c53911a9d103d8ec9518190e52a8b945bab021745af4939cfc7c0d4a9e numpy-1.19.1-cp37-cp37m-macosx_10_9_x86_64.whl
5b6885c12784a27e957294b60f97e8b5b4174c7504665333c5e94fbf41ae5d6a numpy-1.19.1-cp37-cp37m-manylinux1_i686.whl
1bc0145999e8cb8aed9d4e65dd8b139adf1919e521177f198529687dbf613065 numpy-1.19.1-cp37-cp37m-manylinux1_x86_64.whl
5a936fd51049541d86ccdeef2833cc89a18e4d3808fe58a8abeb802665c5af93 numpy-1.19.1-cp37-cp37m-manylinux2010_i686.whl
ef71a1d4fd4858596ae80ad1ec76404ad29701f8ca7cdcebc50300178db14dfc numpy-1.19.1-cp37-cp37m-manylinux2010_x86_64.whl
b9792b0ac0130b277536ab8944e7b754c69560dac0415dd4b2dbd16b902c8954 numpy-1.19.1-cp37-cp37m-manylinux2014_aarch64.whl
b12e639378c741add21fbffd16ba5ad25c0a1a17cf2b6fe4288feeb65144f35b numpy-1.19.1-cp37-cp37m-win32.whl
8343bf67c72e09cfabfab55ad4a43ce3f6bf6e6ced7acf70f45ded9ebb425055 numpy-1.19.1-cp37-cp37m-win_amd64.whl
e45f8e981a0ab47103181773cc0a54e650b2aef8c7b6cd07405d0fa8d869444a numpy-1.19.1-cp38-cp38-macosx_10_9_x86_64.whl
667c07063940e934287993366ad5f56766bc009017b4a0fe91dbd07960d0aba7 numpy-1.19.1-cp38-cp38-manylinux1_i686.whl
480fdd4dbda4dd6b638d3863da3be82873bba6d32d1fc12ea1b8486ac7b8d129 numpy-1.19.1-cp38-cp38-manylinux1_x86_64.whl
935c27ae2760c21cd7354402546f6be21d3d0c806fffe967f745d5f2de5005a7 numpy-1.19.1-cp38-cp38-manylinux2010_i686.whl
309cbcfaa103fc9a33ec16d2d62569d541b79f828c382556ff072442226d1968 numpy-1.19.1-cp38-cp38-manylinux2010_x86_64.whl
7ed448ff4eaffeb01094959b19cbaf998ecdee9ef9932381420d514e446601cd numpy-1.19.1-cp38-cp38-manylinux2014_aarch64.whl
de8b4a9b56255797cbddb93281ed92acbc510fb7b15df3f01bd28f46ebc4edae numpy-1.19.1-cp38-cp38-win32.whl
92feb989b47f83ebef246adabc7ff3b9a59ac30601c3f6819f8913458610bdcc numpy-1.19.1-cp38-cp38-win_amd64.whl
e1b1dc0372f530f26a03578ac75d5e51b3868b9b76cd2facba4c9ee0eb252ab1 numpy-1.19.1-pp36-pypy36_pp73-manylinux2010_x86_64.whl
1396e6c3d20cbfc119195303b0272e749610b7042cc498be4134f013e9a3215c numpy-1.19.1.tar.gz
b8456987b637232602ceb4d663cb34106f7eb780e247d51a260b84760fd8f491 numpy-1.19.1.zip
- Python
Published by charris almost 6 years ago
numpy -
NumPy 1.19.0 Release Notes
This NumPy release is marked by the removal of much technical debt: support for Python 2 has been removed, many deprecations have been expired, and documentation has been improved. The polishing of the random module continues apace with bug fixes and better usability from Cython.
The Python versions supported for this release are 3.6-3.8. Downstream developers should use Cython >= 0.29.16 for Python 3.8 support and OpenBLAS >= 3.7 to avoid problems on the Skylake architecture.
Highlights
Code compatibility with Python versions < 3.6 (including Python 2) was dropped from both the python and C code. The shims in
numpy.compatwill remain to support third-party packages, but they may be deprecated in a future release. Note that 1.19.x will not compile with earlier versions of Python due to the use of f-strings.(gh-15233)
Expired deprecations
numpy.insert and numpy.delete can no longer be passed an axis on 0d arrays
This concludes a deprecation from 1.9, where when an axis argument was
passed to a call to ~numpy.insert and ~numpy.delete on a 0d array,
the axis and obj argument and indices would be completely ignored.
In these cases, insert(arr, "nonsense", 42, axis=0) would actually
overwrite the entire array, while delete(arr, "nonsense", axis=0)
would be arr.copy()
Now passing axis on a 0d array raises ~numpy.AxisError.
(gh-15802)
numpy.delete no longer ignores out-of-bounds indices
This concludes deprecations from 1.8 and 1.9, where np.delete would
ignore both negative and out-of-bounds items in a sequence of indices.
This was at odds with its behavior when passed a single index.
Now out-of-bounds items throw IndexError, and negative items index
from the end.
(gh-15804)
numpy.insert and numpy.delete no longer accept non-integral indices
This concludes a deprecation from 1.9, where sequences of non-integers
indices were allowed and cast to integers. Now passing sequences of
non-integral indices raises IndexError, just like it does when passing
a single non-integral scalar.
(gh-15805)
numpy.delete no longer casts boolean indices to integers
This concludes a deprecation from 1.8, where np.delete would cast
boolean arrays and scalars passed as an index argument into integer
indices. The behavior now is to treat boolean arrays as a mask, and to
raise an error on boolean scalars.
(gh-15815)
Compatibility notes
Changed random variate stream from numpy.random.Generator.dirichlet
A bug in the generation of random variates for the Dirichlet
distribution with small \'alpha\' values was fixed by using a different
algorithm when max(alpha) < 0.1. Because of the change, the stream of
variates generated by dirichlet in this case will be different from
previous releases.
(gh-14924)
Scalar promotion in PyArray_ConvertToCommonType
The promotion of mixed scalars and arrays in
PyArray_ConvertToCommonType has been changed to adhere to those used
by np.result_type. This means that input such as
(1000, np.array([1], dtype=np.uint8))) will now return uint16
dtypes. In most cases the behaviour is unchanged. Note that the use of
this C-API function is generally discouraged. This also fixes
np.choose to behave the same way as the rest of NumPy in this respect.
(gh-14933)
Fasttake and fastputmask slots are deprecated and NULL\'ed
The fasttake and fastputmask slots are now never used and must always be set to NULL. This will result in no change in behaviour. However, if a user dtype should set one of these a DeprecationWarning will be given.
(gh-14942)
np.ediff1d casting behaviour with to_end and to_begin
np.ediff1d now uses the "same_kind" casting rule for its additional
to_end and to_begin arguments. This ensures type safety except when
the input array has a smaller integer type than to_begin or to_end.
In rare cases, the behaviour will be more strict than it was previously
in 1.16 and 1.17. This is necessary to solve issues with floating point
NaN.
(gh-14981)
Converting of empty array-like objects to NumPy arrays
Objects with len(obj) == 0 which implement an \"array-like\"
interface, meaning an object implementing obj.__array__(),
obj.__array_interface__, obj.__array_struct__, or the python buffer
interface and which are also sequences (i.e. Pandas objects) will now
always retain there shape correctly when converted to an array. If such
an object has a shape of (0, 1) previously, it could be converted into
an array of shape (0,) (losing all dimensions after the first 0).
(gh-14995)
Removed multiarray.int_asbuffer
As part of the continued removal of Python 2 compatibility,
multiarray.int_asbuffer was removed. On Python 3, it threw a
NotImplementedError and was unused internally. It is expected that
there are no downstream use cases for this method with Python 3.
(gh-15229)
numpy.distutils.compat has been removed
This module contained only the function get_exception(), which was
used as:
try:
...
except Exception:
e = get_exception()
Its purpose was to handle the change in syntax introduced in Python 2.6,
from except Exception, e: to except Exception as e:, meaning it was
only necessary for codebases supporting Python 2.5 and older.
(gh-15255)
issubdtype no longer interprets float as np.floating
numpy.issubdtype had a FutureWarning since NumPy 1.14 which has
expired now. This means that certain input where the second argument was
neither a datatype nor a NumPy scalar type (such as a string or a python
type like int or float) will now be consistent with passing in
np.dtype(arg2).type. This makes the result consistent with
expectations and leads to a false result in some cases which previously
returned true.
(gh-15773)
Change output of round on scalars to be consistent with Python
Output of the __round__ dunder method and consequently the Python
built-in round has been changed to be a Python int to be consistent
with calling it on Python float objects when called with no arguments.
Previously, it would return a scalar of the np.dtype that was passed
in.
(gh-15840)
The numpy.ndarray constructor no longer interprets strides=() as strides=None
The former has changed to have the expected meaning of setting
numpy.ndarray.strides to (), while the latter continues to result in
strides being chosen automatically.
(gh-15882)
C-Level string to datetime casts changed
The C-level casts from strings were simplified. This changed also fixes
string to datetime and timedelta casts to behave correctly (i.e. like
Python casts using string_arr.astype("M8") while previously the cast
would behave like string_arr.astype(np.int_).astype("M8"). This only
affects code using low-level C-API to do manual casts (not full array
casts) of single scalar values or using e.g. PyArray_GetCastFunc, and
should thus not affect the vast majority of users.
(gh-16068)
SeedSequence with small seeds no longer conflicts with spawning
Small seeds (less than 2**96) were previously implicitly 0-padded out
to 128 bits, the size of the internal entropy pool. When spawned, the
spawn key was concatenated before the 0-padding. Since the first spawn
key is (0,), small seeds before the spawn created the same states as
the first spawned SeedSequence. Now, the seed is explicitly 0-padded
out to the internal pool size before concatenating the spawn key.
Spawned SeedSequences will produce different results than in the
previous release. Unspawned SeedSequences will still produce the same
results.
(gh-16551)
Deprecations
Deprecate automatic dtype=object for ragged input
Calling np.array([[1, [1, 2, 3]]) will issue a DeprecationWarning as
per NEP 34. Users should
explicitly use dtype=object to avoid the warning.
(gh-15119)
Passing shape=0 to factory functions in numpy.rec is deprecated
0 is treated as a special case and is aliased to None in the
functions:
-
numpy.core.records.fromarrays -
numpy.core.records.fromrecords -
numpy.core.records.fromstring -
numpy.core.records.fromfile
In future, 0 will not be special cased, and will be treated as an
array length like any other integer.
(gh-15217)
Deprecation of probably unused C-API functions
The following C-API functions are probably unused and have been deprecated:
-
PyArray_GetArrayParamsFromObject -
PyUFunc_GenericFunction -
PyUFunc_SetUsesArraysAsData
In most cases PyArray_GetArrayParamsFromObject should be replaced by
converting to an array, while PyUFunc_GenericFunction can be replaced
with PyObject_Call (see documentation for details).
(gh-15427)
Converting certain types to dtypes is Deprecated
The super classes of scalar types, such as np.integer, np.generic,
or np.inexact will now give a deprecation warning when converted to a
dtype (or used in a dtype keyword argument). The reason for this is that
np.integer is converted to np.int_, while it would be expected to
represent any integer (e.g. also int8, int16, etc. For example,
dtype=np.floating is currently identical to dtype=np.float64, even
though also np.float32 is a subclass of np.floating.
(gh-15534)
Deprecation of round for np.complexfloating scalars
Output of the __round__ dunder method and consequently the Python
built-in round has been deprecated on complex scalars. This does not
affect np.round.
(gh-15840)
numpy.ndarray.tostring() is deprecated in favor of tobytes()
~numpy.ndarray.tobytes has existed since the 1.9 release, but until
this release ~numpy.ndarray.tostring emitted no warning. The change to
emit a warning brings NumPy in line with the builtin array.array
methods of the same name.
(gh-15867)
C API changes
Better support for const dimensions in API functions
The following functions now accept a constant array of npy_intp:
-
PyArray_BroadcastToShape -
PyArray_IntTupleFromIntp -
PyArray_OverflowMultiplyList
Previously the caller would have to cast away the const-ness to call these functions.
(gh-15251)
Const qualify UFunc inner loops
UFuncGenericFunction now expects pointers to const dimension and
strides as arguments. This means inner loops may no longer modify
either dimension or strides. This change leads to an
incompatible-pointer-types warning forcing users to either ignore the
compiler warnings or to const qualify their own loop signatures.
(gh-15355)
New Features
numpy.frompyfunc now accepts an identity argument
This allows the `numpy.ufunc.identity{.interpreted-text
role="attr"}[ attribute to be set on the resulting ufunc, meaning it can
be used for empty and multi-dimensional calls to
:meth:]{.title-ref}[numpy.ufunc.reduce]{.title-ref}`.
(gh-8255)
np.str_ scalars now support the buffer protocol
np.str_ arrays are always stored as UCS4, so the corresponding scalars
now expose this through the buffer interface, meaning
memoryview(np.str_('test')) now works.
(gh-15385)
subok option for numpy.copy
A new kwarg, subok, was added to numpy.copy to allow users to toggle
the behavior of numpy.copy with respect to array subclasses. The
default value is False which is consistent with the behavior of
numpy.copy for previous numpy versions. To create a copy that
preserves an array subclass with numpy.copy, call
np.copy(arr, subok=True). This addition better documents that the
default behavior of numpy.copy differs from the numpy.ndarray.copy
method which respects array subclasses by default.
(gh-15685)
numpy.linalg.multi_dot now accepts an out argument
out can be used to avoid creating unnecessary copies of the final
product computed by numpy.linalg.multidot.
(gh-15715)
keepdims parameter for numpy.count_nonzero
The parameter keepdims was added to numpy.count_nonzero. The
parameter has the same meaning as it does in reduction functions such as
numpy.sum or numpy.mean.
(gh-15870)
equal_nan parameter for numpy.array_equal
The keyword argument equal_nan was added to numpy.array_equal.
equal_nan is a boolean value that toggles whether or not nan values
are considered equal in comparison (default is False). This matches
API used in related functions such as numpy.isclose and
numpy.allclose.
(gh-16128)
Improvements
Improve detection of CPU features
Replace npy_cpu_supports which was a gcc specific mechanism to test
support of AVX with more general functions npy_cpu_init and
npy_cpu_have, and expose the results via a NPY_CPU_HAVE c-macro as
well as a python-level __cpu_features__ dictionary.
(gh-13421)
Use 64-bit integer size on 64-bit platforms in fallback lapack_lite
Use 64-bit integer size on 64-bit platforms in the fallback LAPACK library, which is used when the system has no LAPACK installed, allowing it to deal with linear algebra for large arrays.
(gh-15218)
Use AVX512 intrinsic to implement np.exp when input is np.float64
Use AVX512 intrinsic to implement np.exp when input is np.float64,
which can improve the performance of np.exp with np.float64 input
5-7x faster than before. The _multiarray_umath.so module has grown
about 63 KB on linux64.
(gh-15648)
Ability to disable madvise hugepages
On Linux NumPy has previously added support for madavise hugepages which can improve performance for very large arrays. Unfortunately, on older Kernel versions this led to peformance regressions, thus by default the support has been disabled on kernels before version 4.6. To override the default, you can use the environment variable:
NUMPY_MADVISE_HUGEPAGE=0
or set it to 1 to force enabling support. Note that this only makes a difference if the operating system is set up to use madvise transparent hugepage.
(gh-15769)
numpy.einsum accepts NumPy int64 type in subscript list
There is no longer a type error thrown when numpy.einsum is passed a
NumPy int64 array as its subscript list.
(gh-16080)
np.logaddexp2.identity changed to -inf
The ufunc ~numpy.logaddexp2 now has an identity of -inf, allowing it
to be called on empty sequences. This matches the identity of
~numpy.logaddexp.
(gh-16102)
Changes
Remove handling of extra argument to __array__
A code path and test have been in the code since NumPy 0.4 for a
two-argument variant of __array__(dtype=None, context=None). It was
activated when calling ufunc(op) or ufunc.reduce(op) if
op.__array__ existed. However that variant is not documented, and it
is not clear what the intention was for its use. It has been removed.
(gh-15118)
numpy.random._bit_generator moved to numpy.random.bit_generator
In order to expose numpy.random.BitGenerator and
numpy.random.SeedSequence to Cython, the _bitgenerator module is now
public as numpy.random.bit_generator
Cython access to the random distributions is provided via a pxd file
c_distributions.pxd provides access to the c functions behind many of
the random distributions from Cython, making it convenient to use and
extend them.
(gh-15463)
Fixed eigh and cholesky methods in numpy.random.multivariate_normal
Previously, when passing method='eigh' or method='cholesky',
numpy.random.multivariate_normal produced samples from the wrong
distribution. This is now fixed.
(gh-15872)
Fixed the jumping implementation in MT19937.jumped
This fix changes the stream produced from jumped MT19937 generators. It
does not affect the stream produced using RandomState or MT19937
that are directly seeded.
The translation of the jumping code for the MT19937 contained a reversed
loop ordering. MT19937.jumped matches the Makoto Matsumoto\'s original
implementation of the Horner and Sliding Window jump methods.
(gh-16153)
Checksums
MD5
17e9b15e5b54f6963da30e9de93437b8 numpy-1.19.0-cp36-cp36m-macosx_10_9_x86_64.whl
2117953099e3343e6ac642de66c7127f numpy-1.19.0-cp36-cp36m-manylinux1_i686.whl
fe0d7f18fd5af93cb027fe0e2462b3bc numpy-1.19.0-cp36-cp36m-manylinux1_x86_64.whl
23a76cbf0cec80d59d48f2342de13cb2 numpy-1.19.0-cp36-cp36m-manylinux2010_i686.whl
3b35908cd21ce6558ec61806bbc9efee numpy-1.19.0-cp36-cp36m-manylinux2010_x86_64.whl
b35af24ffa550054aadb620f6afb7d67 numpy-1.19.0-cp36-cp36m-manylinux2014_aarch64.whl
5d2a0e9c23383abed01c2795c6e9f2c1 numpy-1.19.0-cp36-cp36m-win32.whl
e0548c4ec436abb249d2e59ed5fd727f numpy-1.19.0-cp36-cp36m-win_amd64.whl
3f939fa2f3b2f881862f7e02a0116970 numpy-1.19.0-cp37-cp37m-macosx_10_9_x86_64.whl
012026c54f196b8f342e4b49cb4b9294 numpy-1.19.0-cp37-cp37m-manylinux1_i686.whl
27227fdd6329f098fc9a85e9d40b1916 numpy-1.19.0-cp37-cp37m-manylinux1_x86_64.whl
a471c34d7a07468c09696165eae0cd57 numpy-1.19.0-cp37-cp37m-manylinux2010_i686.whl
27af6195869cd518f5d2a71885f21806 numpy-1.19.0-cp37-cp37m-manylinux2010_x86_64.whl
62dbe6623e9aebd2bb1aef6d1e0f815d numpy-1.19.0-cp37-cp37m-manylinux2014_aarch64.whl
760e6b5681eea93cf6c85bcd1a739068 numpy-1.19.0-cp37-cp37m-win32.whl
d75a6104a6cce3c669e2363470d567bc numpy-1.19.0-cp37-cp37m-win_amd64.whl
09f870d54906d964bd0f93b22695f9ae numpy-1.19.0-cp38-cp38-macosx_10_9_x86_64.whl
ea9f4248d9ba0c647e07427cb542c2bf numpy-1.19.0-cp38-cp38-manylinux1_i686.whl
11b7a5b055bb1417c8935d267b7d88de numpy-1.19.0-cp38-cp38-manylinux1_x86_64.whl
6f6dec62163fa21259b7157516cc9e84 numpy-1.19.0-cp38-cp38-manylinux2010_i686.whl
ca83ee74cbdac0ffe3ec2c8c79294d67 numpy-1.19.0-cp38-cp38-manylinux2010_x86_64.whl
560567c2b3017ed146c3d08b0a58cadb numpy-1.19.0-cp38-cp38-manylinux2014_aarch64.whl
d160b64e914c5f2e4807943c83dae54a numpy-1.19.0-cp38-cp38-win32.whl
4e563e6434af5b90f1f99d9b916b2525 numpy-1.19.0-cp38-cp38-win_amd64.whl
a26c769ffe249f02cb73e6fbec7ff9ca numpy-1.19.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
d59aadf47354bd10c7b9996032ba4da0 numpy-1.19.0.tar.gz
3f5ce88a859302f0a1aceb5f75b563fc numpy-1.19.0.zip
SHA256
63d971bb211ad3ca37b2adecdd5365f40f3b741a455beecba70fd0dde8b2a4cb numpy-1.19.0-cp36-cp36m-macosx_10_9_x86_64.whl
b6aaeadf1e4866ca0fdf7bb4eed25e521ae21a7947c59f78154b24fc7abbe1dd numpy-1.19.0-cp36-cp36m-manylinux1_i686.whl
13af0184177469192d80db9bd02619f6fa8b922f9f327e077d6f2a6acb1ce1c0 numpy-1.19.0-cp36-cp36m-manylinux1_x86_64.whl
356f96c9fbec59974a592452ab6a036cd6f180822a60b529a975c9467fcd5f23 numpy-1.19.0-cp36-cp36m-manylinux2010_i686.whl
fa1fe75b4a9e18b66ae7f0b122543c42debcf800aaafa0212aaff3ad273c2596 numpy-1.19.0-cp36-cp36m-manylinux2010_x86_64.whl
cbe326f6d364375a8e5a8ccb7e9cd73f4b2f6dc3b2ed205633a0db8243e2a96a numpy-1.19.0-cp36-cp36m-manylinux2014_aarch64.whl
a2e3a39f43f0ce95204beb8fe0831199542ccab1e0c6e486a0b4947256215632 numpy-1.19.0-cp36-cp36m-win32.whl
7b852817800eb02e109ae4a9cef2beda8dd50d98b76b6cfb7b5c0099d27b52d4 numpy-1.19.0-cp36-cp36m-win_amd64.whl
d97a86937cf9970453c3b62abb55a6475f173347b4cde7f8dcdb48c8e1b9952d numpy-1.19.0-cp37-cp37m-macosx_10_9_x86_64.whl
a86c962e211f37edd61d6e11bb4df7eddc4a519a38a856e20a6498c319efa6b0 numpy-1.19.0-cp37-cp37m-manylinux1_i686.whl
d34fbb98ad0d6b563b95de852a284074514331e6b9da0a9fc894fb1cdae7a79e numpy-1.19.0-cp37-cp37m-manylinux1_x86_64.whl
658624a11f6e1c252b2cd170d94bf28c8f9410acab9f2fd4369e11e1cd4e1aaf numpy-1.19.0-cp37-cp37m-manylinux2010_i686.whl
4d054f013a1983551254e2379385e359884e5af105e3efe00418977d02f634a7 numpy-1.19.0-cp37-cp37m-manylinux2010_x86_64.whl
26a45798ca2a4e168d00de75d4a524abf5907949231512f372b217ede3429e98 numpy-1.19.0-cp37-cp37m-manylinux2014_aarch64.whl
3c40c827d36c6d1c3cf413694d7dc843d50997ebffbc7c87d888a203ed6403a7 numpy-1.19.0-cp37-cp37m-win32.whl
be62aeff8f2f054eff7725f502f6228298891fd648dc2630e03e44bf63e8cee0 numpy-1.19.0-cp37-cp37m-win_amd64.whl
dd53d7c4a69e766e4900f29db5872f5824a06827d594427cf1a4aa542818b796 numpy-1.19.0-cp38-cp38-macosx_10_9_x86_64.whl
30a59fb41bb6b8c465ab50d60a1b298d1cd7b85274e71f38af5a75d6c475d2d2 numpy-1.19.0-cp38-cp38-manylinux1_i686.whl
df1889701e2dfd8ba4dc9b1a010f0a60950077fb5242bb92c8b5c7f1a6f2668a numpy-1.19.0-cp38-cp38-manylinux1_x86_64.whl
33c623ef9ca5e19e05991f127c1be5aeb1ab5cdf30cb1c5cf3960752e58b599b numpy-1.19.0-cp38-cp38-manylinux2010_i686.whl
26f509450db547e4dfa3ec739419b31edad646d21fb8d0ed0734188b35ff6b27 numpy-1.19.0-cp38-cp38-manylinux2010_x86_64.whl
7b57f26e5e6ee2f14f960db46bd58ffdca25ca06dd997729b1b179fddd35f5a3 numpy-1.19.0-cp38-cp38-manylinux2014_aarch64.whl
a8705c5073fe3fcc297fb8e0b31aa794e05af6a329e81b7ca4ffecab7f2b95ef numpy-1.19.0-cp38-cp38-win32.whl
c2edbb783c841e36ca0fa159f0ae97a88ce8137fb3a6cd82eae77349ba4b607b numpy-1.19.0-cp38-cp38-win_amd64.whl
8cde829f14bd38f6da7b2954be0f2837043e8b8d7a9110ec5e318ae6bf706610 numpy-1.19.0-pp36-pypy36_pp73-manylinux2010_x86_64.whl
153cf8b0176e57a611931981acfe093d2f7fef623b48f91176efa199798a6b90 numpy-1.19.0.tar.gz
76766cc80d6128750075378d3bb7812cf146415bd29b588616f72c943c00d598 numpy-1.19.0.zip
- Python
Published by charris almost 6 years ago
numpy -
NumPy 1.18.5 Release Notes
This is a short release to allow pickle protocol=5 to be used in
Python3.5. It is motivated by the recent backport of pickle5 to
Python3.5.
The Python versions supported in this release are 3.5-3.8. Downstream developers should use Cython >= 0.29.15 for Python 3.8 support and OpenBLAS >= 3.7 to avoid errors on the Skylake architecture.
Contributors
A total of 3 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Charles Harris
- Matti Picus
- Siyuan Zhuang +
Pull requests merged
A total of 2 pull requests were merged for this release.
- #16439: ENH: enable pickle protocol 5 support for python3.5
- #16441: BUG: relpath fails for different drives on windows
Checksums
MD5
f923519347ba9f6bca59dce0583bdbd5 numpy-1.18.5-cp35-cp35m-macosx_10_9_intel.whl
79990253bda9ffa2db75152e77c318e9 numpy-1.18.5-cp35-cp35m-manylinux1_i686.whl
d5bf77d6caf4f83ed871ab9e4f9d1f72 numpy-1.18.5-cp35-cp35m-manylinux1_x86_64.whl
2cc7cc1b1640d6b50c50d96a35624698 numpy-1.18.5-cp35-cp35m-win32.whl
5a93e72e30c56462492a29315e19c0cc numpy-1.18.5-cp35-cp35m-win_amd64.whl
caef5b4785e5deb6891f118a49d48ccc numpy-1.18.5-cp36-cp36m-macosx_10_9_x86_64.whl
402be8c771c2541c7ee936ef63c9ebc0 numpy-1.18.5-cp36-cp36m-manylinux1_i686.whl
259dbb8694209921d56ffb091ae42b5b numpy-1.18.5-cp36-cp36m-manylinux1_x86_64.whl
9188a301a9640836322f2dc926640515 numpy-1.18.5-cp36-cp36m-win32.whl
acfa82d4e66601386dad19ad3a3983a5 numpy-1.18.5-cp36-cp36m-win_amd64.whl
bc1ebaa1ecf20f22b72cbb824c9cbc21 numpy-1.18.5-cp37-cp37m-macosx_10_9_x86_64.whl
97f27a6e2e6951cf8107132e7c628004 numpy-1.18.5-cp37-cp37m-manylinux1_i686.whl
f261237ab3d47b9b6e859bf240014a48 numpy-1.18.5-cp37-cp37m-manylinux1_x86_64.whl
08bdf2289600c5c728a2668b585fdd02 numpy-1.18.5-cp37-cp37m-win32.whl
8b793d97dae258d06e63c452a2684b16 numpy-1.18.5-cp37-cp37m-win_amd64.whl
2b9153362bf0e53574abc2df048a1578 numpy-1.18.5-cp38-cp38-macosx_10_9_x86_64.whl
1715c674b3070ccd90f56fa2cd48cce1 numpy-1.18.5-cp38-cp38-manylinux1_i686.whl
2347f759a1b8bc27423bb5ece6ae1c79 numpy-1.18.5-cp38-cp38-manylinux1_x86_64.whl
b66c03695208dd843b78acb32557a765 numpy-1.18.5-cp38-cp38-win32.whl
81c9e86442602529b3c52d4af7a515b7 numpy-1.18.5-cp38-cp38-win_amd64.whl
ca23173650ded5585f7030fee91005bf numpy-1.18.5.tar.gz
0d426af04e17cd480ecf3cd70743eaf4 numpy-1.18.5.zip
SHA256
e91d31b34fc7c2c8f756b4e902f901f856ae53a93399368d9a0dc7be17ed2ca0 numpy-1.18.5-cp35-cp35m-macosx_10_9_intel.whl
7d42ab8cedd175b5ebcb39b5208b25ba104842489ed59fbb29356f671ac93583 numpy-1.18.5-cp35-cp35m-manylinux1_i686.whl
a78e438db8ec26d5d9d0e584b27ef25c7afa5a182d1bf4d05e313d2d6d515271 numpy-1.18.5-cp35-cp35m-manylinux1_x86_64.whl
a87f59508c2b7ceb8631c20630118cc546f1f815e034193dc72390db038a5cb3 numpy-1.18.5-cp35-cp35m-win32.whl
965df25449305092b23d5145b9bdaeb0149b6e41a77a7d728b1644b3c99277c1 numpy-1.18.5-cp35-cp35m-win_amd64.whl
ac792b385d81151bae2a5a8adb2b88261ceb4976dbfaaad9ce3a200e036753dc numpy-1.18.5-cp36-cp36m-macosx_10_9_x86_64.whl
ef627986941b5edd1ed74ba89ca43196ed197f1a206a3f18cc9faf2fb84fd675 numpy-1.18.5-cp36-cp36m-manylinux1_i686.whl
f718a7949d1c4f622ff548c572e0c03440b49b9531ff00e4ed5738b459f011e8 numpy-1.18.5-cp36-cp36m-manylinux1_x86_64.whl
4064f53d4cce69e9ac613256dc2162e56f20a4e2d2086b1956dd2fcf77b7fac5 numpy-1.18.5-cp36-cp36m-win32.whl
b03b2c0badeb606d1232e5f78852c102c0a7989d3a534b3129e7856a52f3d161 numpy-1.18.5-cp36-cp36m-win_amd64.whl
a7acefddf994af1aeba05bbbafe4ba983a187079f125146dc5859e6d817df824 numpy-1.18.5-cp37-cp37m-macosx_10_9_x86_64.whl
cd49930af1d1e49a812d987c2620ee63965b619257bd76eaaa95870ca08837cf numpy-1.18.5-cp37-cp37m-manylinux1_i686.whl
b39321f1a74d1f9183bf1638a745b4fd6fe80efbb1f6b32b932a588b4bc7695f numpy-1.18.5-cp37-cp37m-manylinux1_x86_64.whl
cae14a01a159b1ed91a324722d746523ec757357260c6804d11d6147a9e53e3f numpy-1.18.5-cp37-cp37m-win32.whl
0172304e7d8d40e9e49553901903dc5f5a49a703363ed756796f5808a06fc233 numpy-1.18.5-cp37-cp37m-win_amd64.whl
e15b382603c58f24265c9c931c9a45eebf44fe2e6b4eaedbb0d025ab3255228b numpy-1.18.5-cp38-cp38-macosx_10_9_x86_64.whl
3676abe3d621fc467c4c1469ee11e395c82b2d6b5463a9454e37fe9da07cd0d7 numpy-1.18.5-cp38-cp38-manylinux1_i686.whl
4674f7d27a6c1c52a4d1aa5f0881f1eff840d2206989bae6acb1c7668c02ebfb numpy-1.18.5-cp38-cp38-manylinux1_x86_64.whl
9c9d6531bc1886454f44aa8f809268bc481295cf9740827254f53c30104f074a numpy-1.18.5-cp38-cp38-win32.whl
3dd6823d3e04b5f223e3e265b4a1eae15f104f4366edd409e5a5e413a98f911f numpy-1.18.5-cp38-cp38-win_amd64.whl
2c095bd1c5290966cceee8b6ef5cd66f13cd0e9d6d0e8d6fc8961abd64a8e51f numpy-1.18.5.tar.gz
34e96e9dae65c4839bd80012023aadd6ee2ccb73ce7fdf3074c62f301e63120b numpy-1.18.5.zip
- Python
Published by charris almost 6 years ago
numpy -
NumPy 1.19.0 Release Notes
This NumPy release is marked by the removal of much technical debt: support for Python 2 has been removed, many deprecations have been expired, and documentation has been improved. The polishing of the random module continues apace with bug fixes and better usability from Cython.
The Python versions supported for this release are 3.6-3.8. Downstream developers should use Cython >= 0.29.16 for Python 3.8 support and OpenBLAS >= 3.7 to avoid problems on the Skylake architecture.
Highlights
Code compatibility with Python versions < 3.6 (including Python 2) was dropped from both the python and C code. The shims in
numpy.compatwill remain to support third-party packages, but they may be deprecated in a future release. Note that 1.19.x will not compile with earlier versions of Python due to the use of f-strings.(gh-15233)
Expired deprecations
numpy.insert and numpy.delete can no longer be passed an axis on 0d arrays
This concludes a deprecation from 1.9, where when an axis argument was
passed to a call to ~numpy.insert and ~numpy.delete on a 0d array,
the axis and obj argument and indices would be completely ignored.
In these cases, insert(arr, "nonsense", 42, axis=0) would actually
overwrite the entire array, while delete(arr, "nonsense", axis=0)
would be arr.copy()
Now passing axis on a 0d array raises ~numpy.AxisError.
(gh-15802)
numpy.delete no longer ignores out-of-bounds indices
This concludes deprecations from 1.8 and 1.9, where np.delete would
ignore both negative and out-of-bounds items in a sequence of indices.
This was at odds with its behavior when passed a single index.
Now out-of-bounds items throw IndexError, and negative items index
from the end.
(gh-15804)
numpy.insert and numpy.delete no longer accept non-integral indices
This concludes a deprecation from 1.9, where sequences of non-integers
indices were allowed and cast to integers. Now passing sequences of
non-integral indices raises IndexError, just like it does when passing
a single non-integral scalar.
(gh-15805)
numpy.delete no longer casts boolean indices to integers
This concludes a deprecation from 1.8, where np.delete would cast
boolean arrays and scalars passed as an index argument into integer
indices. The behavior now is to treat boolean arrays as a mask, and to
raise an error on boolean scalars.
(gh-15815)
Compatibility notes
Changed random variate stream from numpy.random.Generator.dirichlet
A bug in the generation of random variates for the Dirichlet
distribution with small \'alpha\' values was fixed by using a different
algorithm when max(alpha) < 0.1. Because of the change, the stream of
variates generated by dirichlet in this case will be different from
previous releases.
(gh-14924)
Scalar promotion in PyArray_ConvertToCommonType
The promotion of mixed scalars and arrays in
PyArray_ConvertToCommonType has been changed to adhere to those used
by np.result_type. This means that input such as
(1000, np.array([1], dtype=np.uint8))) will now return uint16
dtypes. In most cases the behaviour is unchanged. Note that the use of
this C-API function is generally discouraged. This also fixes
np.choose to behave the same way as the rest of NumPy in this respect.
(gh-14933)
Fasttake and fastputmask slots are deprecated and NULL\'ed
The fasttake and fastputmask slots are now never used and must always be set to NULL. This will result in no change in behaviour. However, if a user dtype should set one of these a DeprecationWarning will be given.
(gh-14942)
np.ediff1d casting behaviour with to_end and to_begin
np.ediff1d now uses the "same_kind" casting rule for its additional
to_end and to_begin arguments. This ensures type safety except when
the input array has a smaller integer type than to_begin or to_end.
In rare cases, the behaviour will be more strict than it was previously
in 1.16 and 1.17. This is necessary to solve issues with floating point
NaN.
(gh-14981)
Converting of empty array-like objects to NumPy arrays
Objects with len(obj) == 0 which implement an \"array-like\"
interface, meaning an object implementing obj.__array__(),
obj.__array_interface__, obj.__array_struct__, or the python buffer
interface and which are also sequences (i.e. Pandas objects) will now
always retain there shape correctly when converted to an array. If such
an object has a shape of (0, 1) previously, it could be converted into
an array of shape (0,) (losing all dimensions after the first 0).
(gh-14995)
Removed multiarray.int_asbuffer
As part of the continued removal of Python 2 compatibility,
multiarray.int_asbuffer was removed. On Python 3, it threw a
NotImplementedError and was unused internally. It is expected that
there are no downstream use cases for this method with Python 3.
(gh-15229)
numpy.distutils.compat has been removed
This module contained only the function get_exception(), which was
used as:
try:
...
except Exception:
e = get_exception()
Its purpose was to handle the change in syntax introduced in Python 2.6,
from except Exception, e: to except Exception as e:, meaning it was
only necessary for codebases supporting Python 2.5 and older.
(gh-15255)
issubdtype no longer interprets float as np.floating
numpy.issubdtype had a FutureWarning since NumPy 1.14 which has
expired now. This means that certain input where the second argument was
neither a datatype nor a NumPy scalar type (such as a string or a python
type like int or float) will now be consistent with passing in
np.dtype(arg2).type. This makes the result consistent with
expectations and leads to a false result in some cases which previously
returned true.
(gh-15773)
Change output of round on scalars to be consistent with Python
Output of the __round__ dunder method and consequently the Python
built-in round has been changed to be a Python int to be consistent
with calling it on Python float objects when called with no arguments.
Previously, it would return a scalar of the np.dtype that was passed
in.
(gh-15840)
The numpy.ndarray constructor no longer interprets strides=() as strides=None
The former has changed to have the expected meaning of setting
numpy.ndarray.strides to (), while the latter continues to result in
strides being chosen automatically.
(gh-15882)
C-Level string to datetime casts changed
The C-level casts from strings were simplified. This changed also fixes
string to datetime and timedelta casts to behave correctly (i.e. like
Python casts using string_arr.astype("M8") while previously the cast
would behave like string_arr.astype(np.int_).astype("M8"). This only
affects code using low-level C-API to do manual casts (not full array
casts) of single scalar values or using e.g. PyArray_GetCastFunc, and
should thus not affect the vast majority of users.
(gh-16068)
Deprecations
Deprecate automatic dtype=object for ragged input
Calling np.array([[1, [1, 2, 3]]) will issue a DeprecationWarning as
per NEP 34. Users should
explicitly use dtype=object to avoid the warning.
(gh-15119)
Passing shape=0 to factory functions in numpy.rec is deprecated
0 is treated as a special case and is aliased to None in the
functions:
-
numpy.core.records.fromarrays -
numpy.core.records.fromrecords -
numpy.core.records.fromstring -
numpy.core.records.fromfile
In future, 0 will not be special cased, and will be treated as an
array length like any other integer.
(gh-15217)
Deprecation of probably unused C-API functions
The following C-API functions are probably unused and have been deprecated:
-
PyArray_GetArrayParamsFromObject -
PyUFunc_GenericFunction -
PyUFunc_SetUsesArraysAsData
In most cases PyArray_GetArrayParamsFromObject should be replaced by
converting to an array, while PyUFunc_GenericFunction can be replaced
with PyObject_Call (see documentation for details).
(gh-15427)
Converting certain types to dtypes is Deprecated
The super classes of scalar types, such as np.integer, np.generic,
or np.inexact will now give a deprecation warning when converted to a
dtype (or used in a dtype keyword argument). The reason for this is that
np.integer is converted to np.int_, while it would be expected to
represent any integer (e.g. also int8, int16, etc. For example,
dtype=np.floating is currently identical to dtype=np.float64, even
though also np.float32 is a subclass of np.floating.
(gh-15534)
Deprecation of round for np.complexfloating scalars
Output of the __round__ dunder method and consequently the Python
built-in round has been deprecated on complex scalars. This does not
affect np.round.
(gh-15840)
numpy.ndarray.tostring() is deprecated in favor of tobytes()
~numpy.ndarray.tobytes has existed since the 1.9 release, but until
this release ~numpy.ndarray.tostring emitted no warning. The change to
emit a warning brings NumPy in line with the builtin array.array
methods of the same name.
(gh-15867)
C API changes
Better support for const dimensions in API functions
The following functions now accept a constant array of npy_intp:
-
PyArray_BroadcastToShape -
PyArray_IntTupleFromIntp -
PyArray_OverflowMultiplyList
Previously the caller would have to cast away the const-ness to call these functions.
(gh-15251)
Const qualify UFunc inner loops
UFuncGenericFunction now expects pointers to const dimension and
strides as arguments. This means inner loops may no longer modify
either dimension or strides. This change leads to an
incompatible-pointer-types warning forcing users to either ignore the
compiler warnings or to const qualify their own loop signatures.
(gh-15355)
New Features
numpy.frompyfunc now accepts an identity argument
This allows the `numpy.ufunc.identity{.interpreted-text
role="attr"}[ attribute to be set on the resulting ufunc, meaning it can
be used for empty and multi-dimensional calls to
:meth:]{.title-ref}[numpy.ufunc.reduce]{.title-ref}`.
(gh-8255)
np.str_ scalars now support the buffer protocol
np.str_ arrays are always stored as UCS4, so the corresponding scalars
now expose this through the buffer interface, meaning
memoryview(np.str_('test')) now works.
(gh-15385)
subok option for numpy.copy
A new kwarg, subok, was added to numpy.copy to allow users to toggle
the behavior of numpy.copy with respect to array subclasses. The
default value is False which is consistent with the behavior of
numpy.copy for previous numpy versions. To create a copy that
preserves an array subclass with numpy.copy, call
np.copy(arr, subok=True). This addition better documents that the
default behavior of numpy.copy differs from the numpy.ndarray.copy
method which respects array subclasses by default.
(gh-15685)
numpy.linalg.multi_dot now accepts an out argument
out can be used to avoid creating unnecessary copies of the final
product computed by numpy.linalg.multidot.
(gh-15715)
keepdims parameter for numpy.count_nonzero
The parameter keepdims was added to numpy.count_nonzero. The
parameter has the same meaning as it does in reduction functions such as
numpy.sum or numpy.mean.
(gh-15870)
equal_nan parameter for numpy.array_equal
The keyword argument equal_nan was added to numpy.array_equal.
equal_nan is a boolean value that toggles whether or not nan values
are considered equal in comparison (default is False). This matches
API used in related functions such as numpy.isclose and
numpy.allclose.
(gh-16128)
Improvements
Improve detection of CPU features
Replace npy_cpu_supports which was a gcc specific mechanism to test
support of AVX with more general functions npy_cpu_init and
npy_cpu_have, and expose the results via a NPY_CPU_HAVE c-macro as
well as a python-level __cpu_features__ dictionary.
(gh-13421)
Use 64-bit integer size on 64-bit platforms in fallback lapack_lite
Use 64-bit integer size on 64-bit platforms in the fallback LAPACK library, which is used when the system has no LAPACK installed, allowing it to deal with linear algebra for large arrays.
(gh-15218)
Use AVX512 intrinsic to implement np.exp when input is np.float64
Use AVX512 intrinsic to implement np.exp when input is np.float64,
which can improve the performance of np.exp with np.float64 input
5-7x faster than before. The _multiarray_umath.so module has grown
about 63 KB on linux64.
(gh-15648)
Ability to disable madvise hugepages
On Linux NumPy has previously added support for madavise hugepages which can improve performance for very large arrays. Unfortunately, on older Kernel versions this led to peformance regressions, thus by default the support has been disabled on kernels before version 4.6. To override the default, you can use the environment variable:
NUMPY_MADVISE_HUGEPAGE=0
or set it to 1 to force enabling support. Note that this only makes a difference if the operating system is set up to use madvise transparent hugepage.
(gh-15769)
numpy.einsum accepts NumPy int64 type in subscript list
There is no longer a type error thrown when numpy.einsum is passed a
NumPy int64 array as its subscript list.
(gh-16080)
np.logaddexp2.identity changed to -inf
The ufunc ~numpy.logaddexp2 now has an identity of -inf, allowing it
to be called on empty sequences. This matches the identity of
~numpy.logaddexp.
(gh-16102)
Changes
Remove handling of extra argument to __array__
A code path and test have been in the code since NumPy 0.4 for a
two-argument variant of __array__(dtype=None, context=None). It was
activated when calling ufunc(op) or ufunc.reduce(op) if
op.__array__ existed. However that variant is not documented, and it
is not clear what the intention was for its use. It has been removed.
(gh-15118)
numpy.random._bit_generator moved to numpy.random.bit_generator
In order to expose numpy.random.BitGenerator and
numpy.random.SeedSequence to Cython, the _bitgenerator module is now
public as numpy.random.bit_generator
Cython access to the random distributions is provided via a pxd file
c_distributions.pxd provides access to the c functions behind many of
the random distributions from Cython, making it convenient to use and
extend them.
(gh-15463)
Fixed eigh and cholesky methods in numpy.random.multivariate_normal
Previously, when passing method='eigh' or method='cholesky',
numpy.random.multivariate_normal produced samples from the wrong
distribution. This is now fixed.
(gh-15872)
Fixed the jumping implementation in MT19937.jumped
This fix changes the stream produced from jumped MT19937 generators. It
does not affect the stream produced using RandomState or MT19937
that are directly seeded.
The translation of the jumping code for the MT19937 contained a reversed
loop ordering. MT19937.jumped matches the Makoto Matsumoto\'s original
implementation of the Horner and Sliding Window jump methods.
(gh-16153)
Checksums
MD5
4402625434f1a72bbb92eb2f778746de numpy-1.19.0rc2-cp36-cp36m-macosx_10_9_x86_64.whl
00dc464c6ea41b0455bfa2ac10743ff4 numpy-1.19.0rc2-cp36-cp36m-manylinux1_i686.whl
79329dbf55bbfd2ab0fa939121ccc78a numpy-1.19.0rc2-cp36-cp36m-manylinux1_x86_64.whl
5e6da57e789798f724347ef60f3c92a6 numpy-1.19.0rc2-cp36-cp36m-manylinux2010_i686.whl
bdae85b54774be5b653dec764566506f numpy-1.19.0rc2-cp36-cp36m-manylinux2010_x86_64.whl
5584ce67eb578fb27821577a5490dd50 numpy-1.19.0rc2-cp36-cp36m-manylinux2014_aarch64.whl
a59cdc4f173a0e03fea4b89c71151d2a numpy-1.19.0rc2-cp36-cp36m-win32.whl
04be1471f39e3283a77988804fc839fe numpy-1.19.0rc2-cp36-cp36m-win_amd64.whl
5fb6f812e8c581b1a65ef69bccdc1bb4 numpy-1.19.0rc2-cp37-cp37m-macosx_10_9_x86_64.whl
14d63aba4c1aa6ca7a757d8be68cd696 numpy-1.19.0rc2-cp37-cp37m-manylinux1_i686.whl
e253be865c122d87908218fe660862c3 numpy-1.19.0rc2-cp37-cp37m-manylinux1_x86_64.whl
78576e10b9bf48837aae9d6b7a231219 numpy-1.19.0rc2-cp37-cp37m-manylinux2010_i686.whl
790ca051a69e393ede6952c0588a4ccb numpy-1.19.0rc2-cp37-cp37m-manylinux2010_x86_64.whl
70ff604feed46336810fc8b539d0ab79 numpy-1.19.0rc2-cp37-cp37m-manylinux2014_aarch64.whl
925bd569daf0c2d1ed441ba1022c74d8 numpy-1.19.0rc2-cp37-cp37m-win32.whl
773f795f1c9ce00beed2646b4e496155 numpy-1.19.0rc2-cp37-cp37m-win_amd64.whl
265faec32b8bd19ad46d71f0fdc23eba numpy-1.19.0rc2-cp38-cp38-macosx_10_9_x86_64.whl
34d0ed75f82bced398cf8d42f40faf2f numpy-1.19.0rc2-cp38-cp38-manylinux1_i686.whl
6c4e77576987f13d894cc3b763da3372 numpy-1.19.0rc2-cp38-cp38-manylinux1_x86_64.whl
be31ca0f2dbef9450dfd737fdf9ea297 numpy-1.19.0rc2-cp38-cp38-manylinux2010_i686.whl
d7a19658651a4290c289b7736a3d0471 numpy-1.19.0rc2-cp38-cp38-manylinux2010_x86_64.whl
118e4b75b557b29ea284cb1f97ab76ee numpy-1.19.0rc2-cp38-cp38-manylinux2014_aarch64.whl
8b1325b84fa1dea25137595bcc3fba4d numpy-1.19.0rc2-cp38-cp38-win32.whl
022defe479409b7b5604c38df63ba330 numpy-1.19.0rc2-cp38-cp38-win_amd64.whl
1ba5b606b95e0fee55ec99da3b15fae5 numpy-1.19.0rc2-pp36-pypy36_pp73-manylinux2010_x86_64.whl
b24c70ce8bed9e03ef08730127f4d30b numpy-1.19.0rc2.tar.gz
93e7419f48a0faa2ba91531df8f2f2a6 numpy-1.19.0rc2.zip
SHA256
6068db7fc6e34aed8a2d4ea4041fbeff3485a05452524d307c70da708ea40d63 numpy-1.19.0rc2-cp36-cp36m-macosx_10_9_x86_64.whl
e1c4e32318501ec8e8fa3dead802dd1b913dcf8eddeb2b0370f35b58c71d6018 numpy-1.19.0rc2-cp36-cp36m-manylinux1_i686.whl
01e17a9c1fdc7b97c75ad926f816694397be76251222a6f6cb50bbe3218cf3e5 numpy-1.19.0rc2-cp36-cp36m-manylinux1_x86_64.whl
9e8bf8bb69ef268eaab6483b354039aabb737c3aaab4ad526e4ad7c95a87bd3c numpy-1.19.0rc2-cp36-cp36m-manylinux2010_i686.whl
c49cc2b4e1b40bd836b2077d1cfee738577d2a411268eccace4f01dc22ef90ed numpy-1.19.0rc2-cp36-cp36m-manylinux2010_x86_64.whl
3eb013e193de97ec196441f6bdf9a1bea84dfbfb2421d5cccfdbba3aa2d60ec0 numpy-1.19.0rc2-cp36-cp36m-manylinux2014_aarch64.whl
307da8faeb1e84bbee082004c06aa41510e52321025d4a54a16ca48f8329ca4f numpy-1.19.0rc2-cp36-cp36m-win32.whl
7c716527392f34c217f18672aac79e88f4747e2717bd0c0c99755b197a5f5197 numpy-1.19.0rc2-cp36-cp36m-win_amd64.whl
c2f32979427df01cda8834af714dfacd06dce92f6c9275482a2e2932c67e67a1 numpy-1.19.0rc2-cp37-cp37m-macosx_10_9_x86_64.whl
d9b07673ac07cd02b1ba4d7eb920cd762d1559cc40af63d8e2b16774fdc3aa36 numpy-1.19.0rc2-cp37-cp37m-manylinux1_i686.whl
5e5b36b986a28d6651f6c8ebed084290e30833f50a7e0fe04f916b59d5113863 numpy-1.19.0rc2-cp37-cp37m-manylinux1_x86_64.whl
707be2715ca33f98335fdc84e3a79de4d85c7dd6b24aff6a57e45bf393205eb5 numpy-1.19.0rc2-cp37-cp37m-manylinux2010_i686.whl
cf6a8eb39bd191584de2f47dcc40155ffc902a32cff2a985ac58d93c035b306a numpy-1.19.0rc2-cp37-cp37m-manylinux2010_x86_64.whl
ec6c41348e05e2bee6b34cedb5bb38f7e53dee7e0791a4a63e1425dbee5ef326 numpy-1.19.0rc2-cp37-cp37m-manylinux2014_aarch64.whl
45c0a742198566b46479231cb4f189f69c4fd8fe1331f1217f9c58496fe52fc2 numpy-1.19.0rc2-cp37-cp37m-win32.whl
32073a47eeb37172f23f4f432efb2068c6b13b04d3eb4f0558056430ee3f32c5 numpy-1.19.0rc2-cp37-cp37m-win_amd64.whl
7526a8dbc68d730785a57ec18541b194d4ac7402843addb0d706174668f5be16 numpy-1.19.0rc2-cp38-cp38-macosx_10_9_x86_64.whl
b82511ae4d8e3dbf727c91bf6c761f882750428e888e0c1795b57f3c4b8cfc1e numpy-1.19.0rc2-cp38-cp38-manylinux1_i686.whl
159741a29c33b5e2829e4fcdcd712c35651f1b7571672002453f27fe438459d4 numpy-1.19.0rc2-cp38-cp38-manylinux1_x86_64.whl
e9ad332f8ff6f53dba38f39f3832a2f9fd4627039bc3a2baddb699fdf445adb1 numpy-1.19.0rc2-cp38-cp38-manylinux2010_i686.whl
93bb0c1f9c69e5ce97e8d6b45c472a050bfa1e433c4c70c4568718c60cc7c306 numpy-1.19.0rc2-cp38-cp38-manylinux2010_x86_64.whl
53564bfd09dda34cd74d11cbc1aad88b7fd2ad8b1d6eae6b4274ac789f30d6c0 numpy-1.19.0rc2-cp38-cp38-manylinux2014_aarch64.whl
dd21db931bdeb5d6ecffe36673bbaee4510f7e79b9afdbbdc2bf9c157ec8734c numpy-1.19.0rc2-cp38-cp38-win32.whl
612878ef8025af60c9d43556e45d93fa07d2e6a960e252a475575d3018e361cc numpy-1.19.0rc2-cp38-cp38-win_amd64.whl
e20452ad415c56cec51f52080adb4eccc4891ee86cf6b194e2434d09d42a183d numpy-1.19.0rc2-pp36-pypy36_pp73-manylinux2010_x86_64.whl
39814c52f65c89385028da97da574d5e2a74de5c52d6273cae755982c91597bc numpy-1.19.0rc2.tar.gz
a233044f7100e9f2100a4fc0f82021c827f7a82624b649059c5dd92cec4cee17 numpy-1.19.0rc2.zip
- Python
Published by charris about 6 years ago
numpy -
NumPy 1.19.0 Release Notes
This NumPy release is marked by the removal of much technical debt: support for Python 2 has been removed, many deprecations have been expired, and documentation has been improved. The polishing of the random module continues apace with bug fixes and better usability from Cython.
The Python versions supported for this release are 3.6-3.8. Downstream developers should use Cython >= 0.29.16 for Python 3.8 support and OpenBLAS >= 3.7 to avoid problems on the Skylake architecture.
Highlights
Code compatibility with Python versions < 3.5 (including Python 2) was dropped from both the python and C code. The shims in
numpy.compatwill remain to support third-party packages, but they may be deprecated in a future release.(gh-15233)
Expired deprecations
numpy.insert and numpy.delete can no longer be passed an axis on 0d arrays
This concludes a deprecation from 1.9, where when an axis argument was
passed to a call to ~numpy.insert and ~numpy.delete on a 0d array,
the axis and obj argument and indices would be completely ignored.
In these cases, insert(arr, "nonsense", 42, axis=0) would actually
overwrite the entire array, while delete(arr, "nonsense", axis=0)
would be arr.copy()
Now passing axis on a 0d array raises ~numpy.AxisError.
(gh-15802)
numpy.delete no longer ignores out-of-bounds indices
This concludes deprecations from 1.8 and 1.9, where np.delete would
ignore both negative and out-of-bounds items in a sequence of indices.
This was at odds with its behavior when passed a single index.
Now out-of-bounds items throw IndexError, and negative items index
from the end.
(gh-15804)
numpy.insert and numpy.delete no longer accept non-integral indices
This concludes a deprecation from 1.9, where sequences of non-integers
indices were allowed and cast to integers. Now passing sequences of
non-integral indices raises IndexError, just like it does when passing
a single non-integral scalar.
(gh-15805)
numpy.delete no longer casts boolean indices to integers
This concludes a deprecation from 1.8, where np.delete would cast
boolean arrays and scalars passed as an index argument into integer
indices. The behavior now is to treat boolean arrays as a mask, and to
raise an error on boolean scalars.
(gh-15815)
Compatibility notes
Changed random variate stream from numpy.random.Generator.dirichlet
A bug in the generation of random variates for the Dirichlet
distribution with small \'alpha\' values was fixed by using a different
algorithm when max(alpha) < 0.1. Because of the change, the stream of
variates generated by dirichlet in this case will be different from
previous releases.
(gh-14924)
Scalar promotion in PyArray_ConvertToCommonType
The promotion of mixed scalars and arrays in
PyArray_ConvertToCommonType has been changed to adhere to those used
by np.result_type. This means that input such as
(1000, np.array([1], dtype=np.uint8))) will now return uint16
dtypes. In most cases the behaviour is unchanged. Note that the use of
this C-API function is generally discouraged. This also fixes
np.choose to behave the same way as the rest of NumPy in this respect.
(gh-14933)
Fasttake and fastputmask slots are deprecated and NULL\'ed
The fasttake and fastputmask slots are now never used and must always be set to NULL. This will result in no change in behaviour. However, if a user dtype should set one of these a DeprecationWarning will be given.
(gh-14942)
np.ediff1d casting behaviour with to_end and to_begin
np.ediff1d now uses the "same_kind" casting rule for its additional
to_end and to_begin arguments. This ensures type safety except when
the input array has a smaller integer type than to_begin or to_end.
In rare cases, the behaviour will be more strict than it was previously
in 1.16 and 1.17. This is necessary to solve issues with floating point
NaN.
(gh-14981)
Converting of empty array-like objects to NumPy arrays
Objects with len(obj) == 0 which implement an \"array-like\"
interface, meaning an object implementing obj.__array__(),
obj.__array_interface__, obj.__array_struct__, or the python buffer
interface and which are also sequences (i.e. Pandas objects) will now
always retain there shape correctly when converted to an array. If such
an object has a shape of (0, 1) previously, it could be converted into
an array of shape (0,) (losing all dimensions after the first 0).
(gh-14995)
Removed multiarray.int_asbuffer
As part of the continued removal of Python 2 compatibility,
multiarray.int_asbuffer was removed. On Python 3, it threw a
NotImplementedError and was unused internally. It is expected that
there are no downstream use cases for this method with Python 3.
(gh-15229)
numpy.distutils.compat has been removed
This module contained only the function get_exception(), which was
used as:
try:
...
except Exception:
e = get_exception()
Its purpose was to handle the change in syntax introduced in Python 2.6,
from except Exception, e: to except Exception as e:, meaning it was
only necessary for codebases supporting Python 2.5 and older.
(gh-15255)
issubdtype no longer interprets float as np.floating
numpy.issubdtype had a FutureWarning since NumPy 1.14 which has
expired now. This means that certain input where the second argument was
neither a datatype nor a NumPy scalar type (such as a string or a python
type like int or float) will now be consistent with passing in
np.dtype(arg2).type. This makes the result consistent with
expectations and leads to a false result in some cases which previously
returned true.
(gh-15773)
Change output of round on scalars to be consistent with Python
Output of the __round__ dunder method and consequently the Python
built-in round has been changed to be a Python int to be consistent
with calling it on Python float objects when called with no arguments.
Previously, it would return a scalar of the np.dtype that was passed
in.
(gh-15840)
The numpy.ndarray constructor no longer interprets strides=() as strides=None
The former has changed to have the expected meaning of setting
numpy.ndarray.strides to (), while the latter continues to result in
strides being chosen automatically.
(gh-15882)
C-Level string to datetime casts changed
The C-level casts from strings were simplified. This changed also fixes
string to datetime and timedelta casts to behave correctly (i.e. like
Python casts using string_arr.astype("M8") while previously the cast
would behave like string_arr.astype(np.int_).astype("M8"). This only
affects code using low-level C-API to do manual casts (not full array
casts) of single scalar values or using e.g. PyArray_GetCastFunc, and
should thus not affect the vast majority of users.
(gh-16068)
Deprecations
Deprecate automatic dtype=object for ragged input
Calling np.array([[1, [1, 2, 3]]) will issue a DeprecationWarning as
per NEP 34. Users should
explicitly use dtype=object to avoid the warning.
(gh-15119)
Passing shape=0 to factory functions in numpy.rec is deprecated
0 is treated as a special case and is aliased to None in the
functions:
-
numpy.core.records.fromarrays -
numpy.core.records.fromrecords -
numpy.core.records.fromstring -
numpy.core.records.fromfile
In future, 0 will not be special cased, and will be treated as an
array length like any other integer.
(gh-15217)
Deprecation of probably unused C-API functions
The following C-API functions are probably unused and have been deprecated:
-
PyArray_GetArrayParamsFromObject -
PyUFunc_GenericFunction -
PyUFunc_SetUsesArraysAsData
In most cases PyArray_GetArrayParamsFromObject should be replaced by
converting to an array, while PyUFunc_GenericFunction can be replaced
with PyObject_Call (see documentation for details).
(gh-15427)
Converting certain types to dtypes is Deprecated
The super classes of scalar types, such as np.integer, np.generic,
or np.inexact will now give a deprecation warning when converted to a
dtype (or used in a dtype keyword argument). The reason for this is that
np.integer is converted to np.int_, while it would be expected to
represent any integer (e.g. also int8, int16, etc. For example,
dtype=np.floating is currently identical to dtype=np.float64, even
though also np.float32 is a subclass of np.floating.
(gh-15534)
Deprecation of round for np.complexfloating scalars
Output of the __round__ dunder method and consequently the Python
built-in round has been deprecated on complex scalars. This does not
affect np.round.
(gh-15840)
numpy.ndarray.tostring() is deprecated in favor of tobytes()
~numpy.ndarray.tobytes has existed since the 1.9 release, but until
this release ~numpy.ndarray.tostring emitted no warning. The change to
emit a warning brings NumPy in line with the builtin array.array
methods of the same name.
(gh-15867)
C API changes
Better support for const dimensions in API functions
The following functions now accept a constant array of npy_intp:
-
PyArray_BroadcastToShape -
PyArray_IntTupleFromIntp -
PyArray_OverflowMultiplyList
Previously the caller would have to cast away the const-ness to call these functions.
(gh-15251)
Const qualify UFunc inner loops
UFuncGenericFunction now expects pointers to const dimension and
strides as arguments. This means inner loops may no longer modify
either dimension or strides. This change leads to an
incompatible-pointer-types warning forcing users to either ignore the
compiler warnings or to const qualify their own loop signatures.
(gh-15355)
New Features
numpy.frompyfunc now accepts an identity argument
This allows the `numpy.ufunc.identity{.interpreted-text
role="attr"}[ attribute to be set on the resulting ufunc, meaning it can
be used for empty and multi-dimensional calls to
:meth:]{.title-ref}[numpy.ufunc.reduce]{.title-ref}`.
(gh-8255)
np.str_ scalars now support the buffer protocol
np.str_ arrays are always stored as UCS4, so the corresponding scalars
now expose this through the buffer interface, meaning
memoryview(np.str_('test')) now works.
(gh-15385)
subok option for numpy.copy
A new kwarg, subok, was added to numpy.copy to allow users to toggle
the behavior of numpy.copy with respect to array subclasses. The
default value is False which is consistent with the behavior of
numpy.copy for previous numpy versions. To create a copy that
preserves an array subclass with numpy.copy, call
np.copy(arr, subok=True). This addition better documents that the
default behavior of numpy.copy differs from the numpy.ndarray.copy
method which respects array subclasses by default.
(gh-15685)
numpy.linalg.multi_dot now accepts an out argument
out can be used to avoid creating unnecessary copies of the final
product computed by numpy.linalg.multidot.
(gh-15715)
keepdims parameter for numpy.count_nonzero
The parameter keepdims was added to numpy.count_nonzero. The
parameter has the same meaning as it does in reduction functions such as
numpy.sum or numpy.mean.
(gh-15870)
equal_nan parameter for numpy.array_equal
The keyword argument equal_nan was added to numpy.array_equal.
equal_nan is a boolean value that toggles whether or not nan values
are considered equal in comparison (default is False). This matches
API used in related functions such as numpy.isclose and
numpy.allclose.
(gh-16128)
Improvements
Improve detection of CPU features
Replace npy_cpu_supports which was a gcc specific mechanism to test
support of AVX with more general functions npy_cpu_init and
npy_cpu_have, and expose the results via a NPY_CPU_HAVE c-macro as
well as a python-level __cpu_features__ dictionary.
(gh-13421)
Use 64-bit integer size on 64-bit platforms in fallback lapack_lite
Use 64-bit integer size on 64-bit platforms in the fallback LAPACK library, which is used when the system has no LAPACK installed, allowing it to deal with linear algebra for large arrays.
(gh-15218)
Use AVX512 intrinsic to implement np.exp when input is np.float64
Use AVX512 intrinsic to implement np.exp when input is np.float64,
which can improve the performance of np.exp with np.float64 input
5-7x faster than before. The _multiarray_umath.so module has grown
about 63 KB on linux64.
(gh-15648)
Ability to disable madvise hugepages
On Linux NumPy has previously added support for madavise hugepages which can improve performance for very large arrays. Unfortunately, on older Kernel versions this led to peformance regressions, thus by default the support has been disabled on kernels before version 4.6. To override the default, you can use the environment variable:
NUMPY_MADVISE_HUGEPAGE=0
or set it to 1 to force enabling support. Note that this only makes a difference if the operating system is set up to use madvise transparent hugepage.
(gh-15769)
numpy.einsum accepts NumPy int64 type in subscript list
There is no longer a type error thrown when numpy.einsum is passed a
NumPy int64 array as its subscript list.
(gh-16080)
np.logaddexp2.identity changed to -inf
The ufunc ~numpy.logaddexp2 now has an identity of -inf, allowing it
to be called on empty sequences. This matches the identity of
~numpy.logaddexp.
(gh-16102)
Changes
Remove handling of extra argument to __array__
A code path and test have been in the code since NumPy 0.4 for a
two-argument variant of __array__(dtype=None, context=None). It was
activated when calling ufunc(op) or ufunc.reduce(op) if
op.__array__ existed. However that variant is not documented, and it
is not clear what the intention was for its use. It has been removed.
(gh-15118)
numpy.random._bit_generator moved to numpy.random.bit_generator
In order to expose numpy.random.BitGenerator and
numpy.random.SeedSequence to Cython, the _bitgenerator module is now
public as numpy.random.bit_generator
Cython access to the random distributions is provided via a pxd file
c_distributions.pxd provides access to the c functions behind many of
the random distributions from Cython, making it convenient to use and
extend them.
(gh-15463)
Fixed eigh and cholesky methods in numpy.random.multivariate_normal
Previously, when passing method='eigh' or method='cholesky',
numpy.random.multivariate_normal produced samples from the wrong
distribution. This is now fixed.
(gh-15872)
Fixed the jumping implementation in MT19937.jumped
This fix changes the stream produced from jumped MT19937 generators. It
does not affect the stream produced using RandomState or MT19937
that are directly seeded.
The translation of the jumping code for the MT19937 contained a reversed
loop ordering. MT19937.jumped matches the Makoto Matsumoto\'s original
implementation of the Horner and Sliding Window jump methods.
(gh-16153)
Checksums
MD5
dac784fdc5f86f6b4daabb8a3edb59ef numpy-1.19.0rc1-cp36-cp36m-macosx_10_9_x86_64.whl
40df9787a18b84fbb7ab06de9e557abd numpy-1.19.0rc1-cp36-cp36m-manylinux1_i686.whl
f54d2c826b31469e1bddf271e8ebbbfa numpy-1.19.0rc1-cp36-cp36m-manylinux1_x86_64.whl
11da401f740d8fed948ab84f92b52490 numpy-1.19.0rc1-cp36-cp36m-manylinux2010_i686.whl
3a49ddd9cc062896b352d9914213d6c8 numpy-1.19.0rc1-cp36-cp36m-manylinux2010_x86_64.whl
426c0c9859f7384781be7fbfa1fbca28 numpy-1.19.0rc1-cp36-cp36m-manylinux2014_aarch64.whl
5e7c8d718b3e867a8c063bd18addde3f numpy-1.19.0rc1-cp36-cp36m-win32.whl
5dfdf8b5dea6ac218a93038dc1eb5b8b numpy-1.19.0rc1-cp36-cp36m-win_amd64.whl
10575aa075e31e1f190a802e8c784bd5 numpy-1.19.0rc1-cp37-cp37m-macosx_10_9_x86_64.whl
1cf8fa399117e8d95ef9ca8847451362 numpy-1.19.0rc1-cp37-cp37m-manylinux1_i686.whl
c832ede9b1272d32cb282ca7f951b084 numpy-1.19.0rc1-cp37-cp37m-manylinux1_x86_64.whl
3798e81e08e02c9683b03245ef181fe0 numpy-1.19.0rc1-cp37-cp37m-manylinux2010_i686.whl
fea16821dabc6563ff1475eadf18ecbb numpy-1.19.0rc1-cp37-cp37m-manylinux2010_x86_64.whl
040b481a6ba7c613f246dac8ebc5c44c numpy-1.19.0rc1-cp37-cp37m-manylinux2014_aarch64.whl
96698d2aa93adcc16296fa40f094bbc1 numpy-1.19.0rc1-cp37-cp37m-win32.whl
f930010f054f835d3818a2929ba66746 numpy-1.19.0rc1-cp37-cp37m-win_amd64.whl
1dc7545c2c53a95ea2523d98e6b7047e numpy-1.19.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
d9f9d3653f4a5f58c0b4fa391bbeabbe numpy-1.19.0rc1-cp38-cp38-manylinux1_i686.whl
a89277714025de276a6c2916df470372 numpy-1.19.0rc1-cp38-cp38-manylinux1_x86_64.whl
894196d9ce2e1620a8fbc5ed95543580 numpy-1.19.0rc1-cp38-cp38-manylinux2010_i686.whl
071173ca8afca1b3fbcfc926a56ffd7f numpy-1.19.0rc1-cp38-cp38-manylinux2010_x86_64.whl
4180d5cda1e44242e8ed5b3c8b379d88 numpy-1.19.0rc1-cp38-cp38-manylinux2014_aarch64.whl
17c1867c83b2f07621d064145a255fc1 numpy-1.19.0rc1-cp38-cp38-win32.whl
b32c7bfc056895eb78b6129045f49523 numpy-1.19.0rc1-cp38-cp38-win_amd64.whl
704bc03983673b18017e6b461d55a8c8 numpy-1.19.0rc1-pp36-pypy36_pp73-manylinux2010_x86_64.whl
fd6765ceb2074658eb40641de9ad596f numpy-1.19.0rc1.tar.gz
cc786052918361cb08f885e3e8c257fe numpy-1.19.0rc1.zip
SHA256
361c84cdf8e10a27d1ce7bb0404284eed2f704fb10ebbdb714fe5a51ef4f2765 numpy-1.19.0rc1-cp36-cp36m-macosx_10_9_x86_64.whl
de874f2537e4e604c1db5905c4728b6b715c66a85bc71b5bc1b236973dc7610a numpy-1.19.0rc1-cp36-cp36m-manylinux1_i686.whl
8c4be83b9f253701ff865b6a9de26bbb67a3104486123347a3629101d3268a43 numpy-1.19.0rc1-cp36-cp36m-manylinux1_x86_64.whl
f6fe5dd6526fa6c0083fb5218a903dc9d9ea02df66996cd3be8c44c3b97894d5 numpy-1.19.0rc1-cp36-cp36m-manylinux2010_i686.whl
96578b9000e8ca35b83e96237d617345c4ac7bf8816cb950ddf76235b3b7306c numpy-1.19.0rc1-cp36-cp36m-manylinux2010_x86_64.whl
8ac99d78e3ebc41b0dccf024a8dd36057abfa4dfcf3875259abf09da28e89fd2 numpy-1.19.0rc1-cp36-cp36m-manylinux2014_aarch64.whl
fbd9dbb96fa22ee2f2cfad5311563a9df4528d3ac70f7635a9da0c7424ba4459 numpy-1.19.0rc1-cp36-cp36m-win32.whl
c995c832ddf4ce88b6383ce8c9160e86d614141412c0c874b6df87f680783528 numpy-1.19.0rc1-cp36-cp36m-win_amd64.whl
1ae709f648755ce757ef896fb110c52cbc76bc787a1243ad9b1262be3cc01e64 numpy-1.19.0rc1-cp37-cp37m-macosx_10_9_x86_64.whl
0028da01578ddb0d7372ccd168d7e7e3b04f25881db7f520bff6c50456aa7b02 numpy-1.19.0rc1-cp37-cp37m-manylinux1_i686.whl
82a905f8d920aa1dc2d642a1e76ed54f2baa3eb23e2216bc6cd41ae2b274dded numpy-1.19.0rc1-cp37-cp37m-manylinux1_x86_64.whl
09e0e60d6ed6417516a08f9767665ae459507dd1df63942e0c0bb69d93f05c0e numpy-1.19.0rc1-cp37-cp37m-manylinux2010_i686.whl
164d8d2a0de07c3aba089e7db0873930ac05252d985c8825f247bd79ddf3bd9d numpy-1.19.0rc1-cp37-cp37m-manylinux2010_x86_64.whl
1041dd124664263f1b9cde98028dd2d0f164a94b13a06183f27a7b7dd14767ad numpy-1.19.0rc1-cp37-cp37m-manylinux2014_aarch64.whl
d5833cb9cce627e960c87b75eb1878498cdf430155062f9423cee5617032284f numpy-1.19.0rc1-cp37-cp37m-win32.whl
59b4ace51c26d6f6698ebaee442a37d2f34415ad2d9c683e18bb462f50768697 numpy-1.19.0rc1-cp37-cp37m-win_amd64.whl
1d84d42be12fc7d3e9afc2e381136e6a4a0aa509183166b99079fd87afb8a6a6 numpy-1.19.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
f45938abfa864e342f6719f05150f6458e018e22793a6fdf60e0ea4d4d15f53c numpy-1.19.0rc1-cp38-cp38-manylinux1_i686.whl
876a0d72f16e60c34678ff52535d0ccdfb5718ed0ebac4ed50187bd6e06c1bac numpy-1.19.0rc1-cp38-cp38-manylinux1_x86_64.whl
0bffe7f20aa96e3b16a99c5a38a6e3ebeeff9203c8000723f040c72746808c5b numpy-1.19.0rc1-cp38-cp38-manylinux2010_i686.whl
c39e84169f93899a15dbb7cbd3e68bd6bb31f56800658d966f89a2186eb4f929 numpy-1.19.0rc1-cp38-cp38-manylinux2010_x86_64.whl
5c1db3b05428c6c8397c2457063b16a03688f1d0531dac96afa46a0362a5f237 numpy-1.19.0rc1-cp38-cp38-manylinux2014_aarch64.whl
c58eedde4999735da1d95a4af266a43ba1c32fbc2021941bb5149ad58da1312d numpy-1.19.0rc1-cp38-cp38-win32.whl
705551bb2fb68a3ee1c5868a24d9e57670324a2c25530e3846b58f111ca3bada numpy-1.19.0rc1-cp38-cp38-win_amd64.whl
72a8744aa28d2f85629810aa13fe45b13992ca9566eade5fecb0e916d7df6c80 numpy-1.19.0rc1-pp36-pypy36_pp73-manylinux2010_x86_64.whl
c42b898277e1c2fdefa4361c6435e57311ad547f584039cbd935625701572d8e numpy-1.19.0rc1.tar.gz
1ae657a2390cbc1553df60cb2a5f69742761d0ad5957b0113c9c00bb06276a78 numpy-1.19.0rc1.zip
- Python
Published by charris about 6 years ago
numpy -
title: 'NumPy 1.18.4 Release Notes'
This is that last planned release in the 1.18.x series. It reverts the
bool("0") behavior introduced in 1.18.3 and fixes a bug in
Generator.integers. There is also improved help in the error message
emitted when numpy import fails due to a link to a new troubleshooting
section in the documentation that is now included.
The Python versions supported in this release are 3.5-3.8. Downstream developers should use Cython >= 0.29.15 for Python 3.8 support and OpenBLAS >= 3.7 to avoid errors on the Skylake architecture.
Contributors
A total of 4 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Charles Harris
- Matti Picus
- Sebastian Berg
- Warren Weckesser
Pull requests merged
A total of 6 pull requests were merged for this release.
- #16055 BLD: add i686 for 1.18 builds
- #16090 BUG: random:
Generator.integers(2**32)always returned 0. - #16091 BLD: fix path to libgfortran on macOS
- #16109 REV: Reverts side-effect changes to casting
- #16114 BLD: put openblas library in local directory on windows
- #16132 DOC: Change import error \"howto\" to link to new troubleshooting...
Checksums
MD5
1fe09153c9e6da5c9e73f3ed466da50c numpy-1.18.4-cp35-cp35m-macosx_10_9_intel.whl
707b0270ece3e9a16905e756884daa48 numpy-1.18.4-cp35-cp35m-manylinux1_i686.whl
47f90c71c3df80ace2b32d011ed1c240 numpy-1.18.4-cp35-cp35m-manylinux1_x86_64.whl
e0e7d9fd9f4c8cf077ba5cda69833d38 numpy-1.18.4-cp35-cp35m-win32.whl
06e844091463932a0d4da103951ffc2c numpy-1.18.4-cp35-cp35m-win_amd64.whl
32ce3d6d266f1fbfef4a2ff917053718 numpy-1.18.4-cp36-cp36m-macosx_10_9_x86_64.whl
f5d27cca8bf9dc8f603cad5255674bb8 numpy-1.18.4-cp36-cp36m-manylinux1_i686.whl
460bd10297e582f0e061194356990afb numpy-1.18.4-cp36-cp36m-manylinux1_x86_64.whl
160c62c881a5109f3e47813dd0079ab1 numpy-1.18.4-cp36-cp36m-win32.whl
03e2d39bfaaf27993b353b98c75f27cc numpy-1.18.4-cp36-cp36m-win_amd64.whl
672cb3889e7c9285ca260f8d15c2bc9f numpy-1.18.4-cp37-cp37m-macosx_10_9_x86_64.whl
eaebca109ce5346ec1626af476e88edb numpy-1.18.4-cp37-cp37m-manylinux1_i686.whl
bdf6d9bd169e5552284dd366c12e3759 numpy-1.18.4-cp37-cp37m-manylinux1_x86_64.whl
408f8eedcfb8bee6c0d8cb13f4665edd numpy-1.18.4-cp37-cp37m-win32.whl
2d2cc2ccd5c276bde6696856609dee9f numpy-1.18.4-cp37-cp37m-win_amd64.whl
5bdfaa2daf5afd8e6db8c202f58d5ef0 numpy-1.18.4-cp38-cp38-macosx_10_9_x86_64.whl
1aad5b0c4545e206aae7848853633885 numpy-1.18.4-cp38-cp38-manylinux1_i686.whl
f7e78dcee83fb851c97804d7fb987fdb numpy-1.18.4-cp38-cp38-manylinux1_x86_64.whl
91678301ec0d6e6c20bf7c71bc8665a5 numpy-1.18.4-cp38-cp38-win32.whl
916b27fca6fb780907033067cad175fe numpy-1.18.4-cp38-cp38-win_amd64.whl
70e6c294f8dffa8d630eda1b0d42ae4d numpy-1.18.4.tar.gz
37277c5cbe5a850513fbff5ffdad1caf numpy-1.18.4.zip
SHA256
efdba339fffb0e80fcc19524e4fdbda2e2b5772ea46720c44eaac28096d60720 numpy-1.18.4-cp35-cp35m-macosx_10_9_intel.whl
2b573fcf6f9863ce746e4ad00ac18a948978bb3781cffa4305134d31801f3e26 numpy-1.18.4-cp35-cp35m-manylinux1_i686.whl
3f0dae97e1126f529ebb66f3c63514a0f72a177b90d56e4bce8a0b5def34627a numpy-1.18.4-cp35-cp35m-manylinux1_x86_64.whl
dccd380d8e025c867ddcb2f84b439722cf1f23f3a319381eac45fd077dee7170 numpy-1.18.4-cp35-cp35m-win32.whl
02ec9582808c4e48be4e93cd629c855e644882faf704bc2bd6bbf58c08a2a897 numpy-1.18.4-cp35-cp35m-win_amd64.whl
904b513ab8fbcbdb062bed1ce2f794ab20208a1b01ce9bd90776c6c7e7257032 numpy-1.18.4-cp36-cp36m-macosx_10_9_x86_64.whl
e22cd0f72fc931d6abc69dc7764484ee20c6a60b0d0fee9ce0426029b1c1bdae numpy-1.18.4-cp36-cp36m-manylinux1_i686.whl
2466fbcf23711ebc5daa61d28ced319a6159b260a18839993d871096d66b93f7 numpy-1.18.4-cp36-cp36m-manylinux1_x86_64.whl
00d7b54c025601e28f468953d065b9b121ddca7fff30bed7be082d3656dd798d numpy-1.18.4-cp36-cp36m-win32.whl
7d59f21e43bbfd9a10953a7e26b35b6849d888fc5a331fa84a2d9c37bd9fe2a2 numpy-1.18.4-cp36-cp36m-win_amd64.whl
efb7ac5572c9a57159cf92c508aad9f856f1cb8e8302d7fdb99061dbe52d712c numpy-1.18.4-cp37-cp37m-macosx_10_9_x86_64.whl
0e6f72f7bb08f2f350ed4408bb7acdc0daba637e73bce9f5ea2b207039f3af88 numpy-1.18.4-cp37-cp37m-manylinux1_i686.whl
9933b81fecbe935e6a7dc89cbd2b99fea1bf362f2790daf9422a7bb1dc3c3085 numpy-1.18.4-cp37-cp37m-manylinux1_x86_64.whl
96dd36f5cdde152fd6977d1bbc0f0561bccffecfde63cd397c8e6033eb66baba numpy-1.18.4-cp37-cp37m-win32.whl
57aea170fb23b1fd54fa537359d90d383d9bf5937ee54ae8045a723caa5e0961 numpy-1.18.4-cp37-cp37m-win_amd64.whl
ed722aefb0ebffd10b32e67f48e8ac4c5c4cf5d3a785024fdf0e9eb17529cd9d numpy-1.18.4-cp38-cp38-macosx_10_9_x86_64.whl
50fb72bcbc2cf11e066579cb53c4ca8ac0227abb512b6cbc1faa02d1595a2a5d numpy-1.18.4-cp38-cp38-manylinux1_i686.whl
709c2999b6bd36cdaf85cf888d8512da7433529f14a3689d6e37ab5242e7add5 numpy-1.18.4-cp38-cp38-manylinux1_x86_64.whl
f22273dd6a403ed870207b853a856ff6327d5cbce7a835dfa0645b3fc00273ec numpy-1.18.4-cp38-cp38-win32.whl
1be2e96314a66f5f1ce7764274327fd4fb9da58584eaff00b5a5221edefee7d6 numpy-1.18.4-cp38-cp38-win_amd64.whl
e0781ec6627e85f2a618478ee278893343fb8b40577b4c74b2ec15c7a5b8f698 numpy-1.18.4.tar.gz
bbcc85aaf4cd84ba057decaead058f43191cc0e30d6bc5d44fe336dc3d3f4509 numpy-1.18.4.zip
- Python
Published by charris about 6 years ago
numpy -
NumPy 1.18.3 Release Notes
This release contains various bug/regression fixes.
The Python versions supported in this release are 3.5-3.8. Downstream developers should use Cython >= 0.29.15 for Python 3.8 support and OpenBLAS >= 3.7 to avoid errors on the Skylake architecture.
Highlights
- Fix for the
method='eigh'andmethod='cholesky'options innumpy.random.multivariate_normal. Those were producing samples from the wrong distribution.
Contributors
A total of 6 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Charles Harris
- Max Balandat +
- \@Mibu287 +
- Pan Jan +
- Sebastian Berg
- \@panpiort8 +
Pull requests merged
A total of 5 pull requests were merged for this release.
- #15916: BUG: Fix eigh and cholesky methods of numpy.random.multivariate_normal
- #15929: BUG,MAINT: Remove incorrect special case in string to number...
- #15930: BUG: Guarantee array is in valid state after memory error occurs...
- #15954: BUG: Check that [pvals]{.title-ref} is 1D in
_generator.multinomial. - #16017: BUG: Alpha parameter must be 1D in
_generator.dirichlet
Checksums
MD5
6582c9a045ba92cb11a7062cfabba898 numpy-1.18.3-cp35-cp35m-macosx_10_9_intel.whl
f70d5c8d4f598653ff66f640487481ce numpy-1.18.3-cp35-cp35m-manylinux1_i686.whl
5c0f1a8c94d095efd21ab4b8ffeed921 numpy-1.18.3-cp35-cp35m-manylinux1_x86_64.whl
92cab35405fe3042e7aa8504d8669cd0 numpy-1.18.3-cp35-cp35m-win32.whl
8769b5434fd08fe67d912077082b91d7 numpy-1.18.3-cp35-cp35m-win_amd64.whl
2f1f330199d95bd8e709d0e4a0eec65e numpy-1.18.3-cp36-cp36m-macosx_10_9_x86_64.whl
19892d1f036da55f8841ef121478d554 numpy-1.18.3-cp36-cp36m-manylinux1_i686.whl
676c3dd16e9d80271c31ee5f9c3b8f20 numpy-1.18.3-cp36-cp36m-manylinux1_x86_64.whl
6484099fdb78f732a758286d2eb87632 numpy-1.18.3-cp36-cp36m-win32.whl
7d99a2a4ba819b75347468c8ed5e5a9e numpy-1.18.3-cp36-cp36m-win_amd64.whl
a5672f35136ea83dfa7960859a38d6e9 numpy-1.18.3-cp37-cp37m-macosx_10_9_x86_64.whl
5b36aaaeb4203b3d26c5dc801dbc66bd numpy-1.18.3-cp37-cp37m-manylinux1_i686.whl
afc4b2445d447f1a7c338026778bd34e numpy-1.18.3-cp37-cp37m-manylinux1_x86_64.whl
2ebc3ba9945d108df75319c359190516 numpy-1.18.3-cp37-cp37m-win32.whl
a78f661b1c7bd153c8399db90fba652c numpy-1.18.3-cp37-cp37m-win_amd64.whl
8f16d580559468b7cf23a71dc9945f39 numpy-1.18.3-cp38-cp38-macosx_10_9_x86_64.whl
5ec887ba38cd99775666f3493d82ea7c numpy-1.18.3-cp38-cp38-manylinux1_i686.whl
88ce81bc31dec4c14bf835dc466308ed numpy-1.18.3-cp38-cp38-manylinux1_x86_64.whl
5afe9a5f3c21299da599210ff5b76834 numpy-1.18.3-cp38-cp38-win32.whl
205364093300906654debbe3beb13359 numpy-1.18.3-cp38-cp38-win_amd64.whl
cd631c761f141d382b4e1b31c8232fc0 numpy-1.18.3.tar.gz
91314710fe9d29d80b6ccc9629e4532b numpy-1.18.3.zip
SHA256
a6bc9432c2640b008d5f29bad737714eb3e14bb8854878eacf3d7955c4e91c36 numpy-1.18.3-cp35-cp35m-macosx_10_9_intel.whl
48e15612a8357393d176638c8f68a19273676877caea983f8baf188bad430379 numpy-1.18.3-cp35-cp35m-manylinux1_i686.whl
eb2286249ebfe8fcb5b425e5ec77e4736d53ee56d3ad296f8947f67150f495e3 numpy-1.18.3-cp35-cp35m-manylinux1_x86_64.whl
1e37626bcb8895c4b3873fcfd54e9bfc5ffec8d0f525651d6985fcc5c6b6003c numpy-1.18.3-cp35-cp35m-win32.whl
163c78c04f47f26ca1b21068cea25ed7c5ecafe5f5ab2ea4895656a750582b56 numpy-1.18.3-cp35-cp35m-win_amd64.whl
3d9e1554cd9b5999070c467b18e5ae3ebd7369f02706a8850816f576a954295f numpy-1.18.3-cp36-cp36m-macosx_10_9_x86_64.whl
40c24960cd5cec55222963f255858a1c47c6fa50a65a5b03fd7de75e3700eaaa numpy-1.18.3-cp36-cp36m-manylinux1_i686.whl
a551d8cc267c634774830086da42e4ba157fa41dd3b93982bc9501b284b0c689 numpy-1.18.3-cp36-cp36m-manylinux1_x86_64.whl
0aa2b318cf81eb1693fcfcbb8007e95e231d7e1aa24288137f3b19905736c3ee numpy-1.18.3-cp36-cp36m-win32.whl
a41f303b3f9157a31ce7203e3ca757a0c40c96669e72d9b6ee1bce8507638970 numpy-1.18.3-cp36-cp36m-win_amd64.whl
e607b8cdc2ae5d5a63cd1bec30a15b5ed583ac6a39f04b7ba0f03fcfbf29c05b numpy-1.18.3-cp37-cp37m-macosx_10_9_x86_64.whl
fdee7540d12519865b423af411bd60ddb513d2eb2cd921149b732854995bbf8b numpy-1.18.3-cp37-cp37m-manylinux1_i686.whl
6725d2797c65598778409aba8cd67077bb089d5b7d3d87c2719b206dc84ec05e numpy-1.18.3-cp37-cp37m-manylinux1_x86_64.whl
4847f0c993298b82fad809ea2916d857d0073dc17b0510fbbced663b3265929d numpy-1.18.3-cp37-cp37m-win32.whl
46f404314dbec78cb342904f9596f25f9b16e7cf304030f1339e553c8e77f51c numpy-1.18.3-cp37-cp37m-win_amd64.whl
264fd15590b3f02a1fbc095e7e1f37cdac698ff3829e12ffdcffdce3772f9d44 numpy-1.18.3-cp38-cp38-macosx_10_9_x86_64.whl
e94a39d5c40fffe7696009dbd11bc14a349b377e03a384ed011e03d698787dd3 numpy-1.18.3-cp38-cp38-manylinux1_i686.whl
a4305564e93f5c4584f6758149fd446df39fd1e0a8c89ca0deb3cce56106a027 numpy-1.18.3-cp38-cp38-manylinux1_x86_64.whl
99f0ba97e369f02a21bb95faa3a0de55991fd5f0ece2e30a9e2eaebeac238921 numpy-1.18.3-cp38-cp38-win32.whl
c60175d011a2e551a2f74c84e21e7c982489b96b6a5e4b030ecdeacf2914da68 numpy-1.18.3-cp38-cp38-win_amd64.whl
93ee59ec38f3bf8f9a42d5f4301f60e6825a4a6385a145f70badcd2bf2a11134 numpy-1.18.3.tar.gz
e46e2384209c91996d5ec16744234d1c906ab79a701ce1a26155c9ec890b8dc8 numpy-1.18.3.zip
- Python
Published by charris about 6 years ago
numpy -
NumPy 1.18.2 Release Notes
This small elease contains a fix for a performance regression in numpy/random and several bug/maintenance updates.
The Python versions supported in this release are 3.5-3.8. Downstream developers should use Cython >= 0.29.15 for Python 3.8 support and OpenBLAS >= 3.7 to avoid errors on the Skylake architecture.
Contributors
A total of 5 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Charles Harris
- Ganesh Kathiresan +
- Matti Picus
- Sebastian Berg
- przemb +
Pull requests merged
A total of 7 pull requests were merged for this release.
- #15675: TST: move _no_tracing to testing._private
- #15676: MAINT: Large overhead in some random functions
- #15677: TST: Do not create gfortran link in azure Mac testing.
- #15679: BUG: Added missing error check in ndarray.__contains__
- #15722: MAINT: use list-based APIs to call subprocesses
- #15729: REL: Prepare for 1.18.2 release.
- #15734: BUG: fix logic error when nm fails on 32-bit
Checksums
MD5
b9efe544f2bfbbd4e226c5639f22b1d2 numpy-1.18.2-cp35-cp35m-macosx_10_9_x86_64.whl
59c0bc09053c0029e829685dcb3dafa5 numpy-1.18.2-cp35-cp35m-manylinux1_i686.whl
1783f9194ceeabb236bd46ed6cb6ed60 numpy-1.18.2-cp35-cp35m-manylinux1_x86_64.whl
8a6fa57b509e6d9e194fb43b0ac5bbc7 numpy-1.18.2-cp35-cp35m-win32.whl
3167feeb5e30445ca7beed1d55b6d73a numpy-1.18.2-cp35-cp35m-win_amd64.whl
c193d593d3b8a46c610511a69c86f879 numpy-1.18.2-cp36-cp36m-macosx_10_9_x86_64.whl
f31c65b4699b12e73b36eb268931dbdc numpy-1.18.2-cp36-cp36m-manylinux1_i686.whl
f5b0613cacaaf2179528a36b75712d65 numpy-1.18.2-cp36-cp36m-manylinux1_x86_64.whl
77e40c0481f2c1608d344032038fa969 numpy-1.18.2-cp36-cp36m-win32.whl
2c402211d77a10025b047042d191839b numpy-1.18.2-cp36-cp36m-win_amd64.whl
3adec0f3cd5946ae7a0ab67790b2d8f1 numpy-1.18.2-cp37-cp37m-macosx_10_9_x86_64.whl
baea3b06dac41d5f6f1fbb7a62114656 numpy-1.18.2-cp37-cp37m-manylinux1_i686.whl
99b3c14bfc303c662b899d1a5ca4df6a numpy-1.18.2-cp37-cp37m-manylinux1_x86_64.whl
293066cca2b3772fa3ae204f6ff98ce7 numpy-1.18.2-cp37-cp37m-win32.whl
21f3cda116631da8823a621e90c30bbb numpy-1.18.2-cp37-cp37m-win_amd64.whl
47978cedd45ded509073025c1aa60506 numpy-1.18.2-cp38-cp38-macosx_10_9_x86_64.whl
4864078352c7faa69a8f9e98e48f7d8a numpy-1.18.2-cp38-cp38-manylinux1_i686.whl
c0111a5fce4aa57004366e9d5edc5644 numpy-1.18.2-cp38-cp38-manylinux1_x86_64.whl
7f8ca4e685e607f80ad002495b603436 numpy-1.18.2-cp38-cp38-win32.whl
e8e192005a0b8045928f0ac712762a6f numpy-1.18.2-cp38-cp38-win_amd64.whl
52601ac4cfbd513218bc088b74715098 numpy-1.18.2.tar.gz
511010c9fbd2516fe5a24aabcb76a56d numpy-1.18.2.zip
SHA256
a1baa1dc8ecd88fb2d2a651671a84b9938461e8a8eed13e2f0a812a94084d1fa numpy-1.18.2-cp35-cp35m-macosx_10_9_x86_64.whl
a244f7af80dacf21054386539699ce29bcc64796ed9850c99a34b41305630286 numpy-1.18.2-cp35-cp35m-manylinux1_i686.whl
6fcc5a3990e269f86d388f165a089259893851437b904f422d301cdce4ff25c8 numpy-1.18.2-cp35-cp35m-manylinux1_x86_64.whl
b5ad0adb51b2dee7d0ee75a69e9871e2ddfb061c73ea8bc439376298141f77f5 numpy-1.18.2-cp35-cp35m-win32.whl
87902e5c03355335fc5992a74ba0247a70d937f326d852fc613b7f53516c0963 numpy-1.18.2-cp35-cp35m-win_amd64.whl
9ab21d1cb156a620d3999dd92f7d1c86824c622873841d6b080ca5495fa10fef numpy-1.18.2-cp36-cp36m-macosx_10_9_x86_64.whl
cdb3a70285e8220875e4d2bc394e49b4988bdb1298ffa4e0bd81b2f613be397c numpy-1.18.2-cp36-cp36m-manylinux1_i686.whl
6d205249a0293e62bbb3898c4c2e1ff8a22f98375a34775a259a0523111a8f6c numpy-1.18.2-cp36-cp36m-manylinux1_x86_64.whl
a35af656a7ba1d3decdd4fae5322b87277de8ac98b7d9da657d9e212ece76a61 numpy-1.18.2-cp36-cp36m-win32.whl
1598a6de323508cfeed6b7cd6c4efb43324f4692e20d1f76e1feec7f59013448 numpy-1.18.2-cp36-cp36m-win_amd64.whl
deb529c40c3f1e38d53d5ae6cd077c21f1d49e13afc7936f7f868455e16b64a0 numpy-1.18.2-cp37-cp37m-macosx_10_9_x86_64.whl
cd77d58fb2acf57c1d1ee2835567cd70e6f1835e32090538f17f8a3a99e5e34b numpy-1.18.2-cp37-cp37m-manylinux1_i686.whl
b1fe1a6f3a6f355f6c29789b5927f8bd4f134a4bd9a781099a7c4f66af8850f5 numpy-1.18.2-cp37-cp37m-manylinux1_x86_64.whl
2e40be731ad618cb4974d5ba60d373cdf4f1b8dcbf1dcf4d9dff5e212baf69c5 numpy-1.18.2-cp37-cp37m-win32.whl
4ba59db1fcc27ea31368af524dcf874d9277f21fd2e1f7f1e2e0c75ee61419ed numpy-1.18.2-cp37-cp37m-win_amd64.whl
59ca9c6592da581a03d42cc4e270732552243dc45e87248aa8d636d53812f6a5 numpy-1.18.2-cp38-cp38-macosx_10_9_x86_64.whl
1b0ece94018ae21163d1f651b527156e1f03943b986188dd81bc7e066eae9d1c numpy-1.18.2-cp38-cp38-manylinux1_i686.whl
82847f2765835c8e5308f136bc34018d09b49037ec23ecc42b246424c767056b numpy-1.18.2-cp38-cp38-manylinux1_x86_64.whl
5e0feb76849ca3e83dd396254e47c7dba65b3fa9ed3df67c2556293ae3e16de3 numpy-1.18.2-cp38-cp38-win32.whl
ba3c7a2814ec8a176bb71f91478293d633c08582119e713a0c5351c0f77698da numpy-1.18.2-cp38-cp38-win_amd64.whl
da204ce460aa4247e595b7c7189d2fb2ed5f796bc03197055de01dac61d0125e numpy-1.18.2.tar.gz
e7894793e6e8540dbeac77c87b489e331947813511108ae097f1715c018b8f3d numpy-1.18.2.zip
- Python
Published by charris about 6 years ago
numpy -
NumPy 1.18.1 Release Notes
This release contains fixes for bugs reported against NumPy 1.18.0. Two bugs in particular that caused widespread problems downstream were:
- The cython random extension test was not using a temporary directory for building, resulting in a permission violation. Fixed.
- Numpy distutils was appending [-std=c99]{.title-ref} to all C compiler runs, leading to changed behavior and compile problems downstream. That flag is now only applied when building numpy C code.
The Python versions supported in this release are 3.5-3.8. Downstream developers should use Cython >= 0.29.14 for Python 3.8 support and OpenBLAS >= 3.7 to avoid errors on the Skylake architecture.
Contributors
A total of 7 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Charles Harris
- Matti Picus
- Maxwell Aladago
- Pauli Virtanen
- Ralf Gommers
- Tyler Reddy
- Warren Weckesser
Pull requests merged
A total of 13 pull requests were merged for this release.
- #15158: MAINT: Update pavement.py for towncrier.
- #15159: DOC: add moved modules to 1.18 release note
- #15161: MAINT, DOC: Minor backports and updates for 1.18.x
- #15176: TST: Add assert_array_equal test for big integer arrays
- #15184: BUG: use tmp dir and check version for cython test (#15170)
- #15220: BUG: distutils: fix msvc+gfortran openblas handling corner case
- #15221: BUG: remove -std=c99 for c++ compilation (#15194)
- #15222: MAINT: unskip test on win32
- #15223: TST: add BLAS ILP64 run in Travis & Azure
- #15245: MAINT: only add --std=c99 where needed
- #15246: BUG: lib: Fix handling of integer arrays by gradient.
- #15247: MAINT: Do not use private Python function in testing
- #15250: REL: Prepare for the NumPy 1.18.1 release.
Checksums
MD5
f41ef9a855aa0baeb900827e2f99ab7b numpy-1.18.1-cp35-cp35m-macosx_10_6_intel.whl
5239118baa2f0db334e70aac6cf26927 numpy-1.18.1-cp35-cp35m-manylinux1_i686.whl
78d95d2f1814b517e7cc887e559c7cd4 numpy-1.18.1-cp35-cp35m-manylinux1_x86_64.whl
c58a268ad42c31883b5756ad20cebe87 numpy-1.18.1-cp35-cp35m-win32.whl
2ffc13917b6813a85b8e1032402ca5f5 numpy-1.18.1-cp35-cp35m-win_amd64.whl
c3ac9936c6b21fef95a2304505fdb594 numpy-1.18.1-cp36-cp36m-macosx_10_9_x86_64.whl
e0a26cc2d04a7f115489b9ccc9678d3f numpy-1.18.1-cp36-cp36m-manylinux1_i686.whl
d79f59200a821f90acf73f97c5252902 numpy-1.18.1-cp36-cp36m-manylinux1_x86_64.whl
8ba2338c677f238a84264633e3b96d9d numpy-1.18.1-cp36-cp36m-win32.whl
2a2ab91e19bd2703eaa1506b06036958 numpy-1.18.1-cp36-cp36m-win_amd64.whl
6cc9c5767ffc0de03685f928e4e97f0f numpy-1.18.1-cp37-cp37m-macosx_10_9_x86_64.whl
486a5ab59cbdfc2861be08701702e251 numpy-1.18.1-cp37-cp37m-manylinux1_i686.whl
08123450dfbb9f53c812caa65895afcb numpy-1.18.1-cp37-cp37m-manylinux1_x86_64.whl
3e4e223ba7b784cd90f891e8867d0cf8 numpy-1.18.1-cp37-cp37m-win32.whl
4a51b085685511e95be3077a7360785f numpy-1.18.1-cp37-cp37m-win_amd64.whl
d1f034f563252a57b9235bc9ea2c1aef numpy-1.18.1-cp38-cp38-macosx_10_9_x86_64.whl
2252dcd00034da6f99c98584875dcb9d numpy-1.18.1-cp38-cp38-manylinux1_i686.whl
6e93a3c8618e87aee2b0cd648b1730f0 numpy-1.18.1-cp38-cp38-manylinux1_x86_64.whl
10f1d9a6faf6a2fdb0693347cb2348b0 numpy-1.18.1-cp38-cp38-win32.whl
b9d0e0840e3e6e37f384a794d48c4ae8 numpy-1.18.1-cp38-cp38-win_amd64.whl
9ab88e85f5b1fc70506287317b58f71d numpy-1.18.1.tar.gz
18787d6482681c85a66629a781fb84c3 numpy-1.18.1.zip
SHA256
20b26aaa5b3da029942cdcce719b363dbe58696ad182aff0e5dcb1687ec946dc numpy-1.18.1-cp35-cp35m-macosx_10_6_intel.whl
70a840a26f4e61defa7bdf811d7498a284ced303dfbc35acb7be12a39b2aa121 numpy-1.18.1-cp35-cp35m-manylinux1_i686.whl
17aa7a81fe7599a10f2b7d95856dc5cf84a4eefa45bc96123cbbc3ebc568994e numpy-1.18.1-cp35-cp35m-manylinux1_x86_64.whl
f3d0a94ad151870978fb93538e95411c83899c9dc63e6fb65542f769568ecfa5 numpy-1.18.1-cp35-cp35m-win32.whl
1786a08236f2c92ae0e70423c45e1e62788ed33028f94ca99c4df03f5be6b3c6 numpy-1.18.1-cp35-cp35m-win_amd64.whl
ae0975f42ab1f28364dcda3dde3cf6c1ddab3e1d4b2909da0cb0191fa9ca0480 numpy-1.18.1-cp36-cp36m-macosx_10_9_x86_64.whl
cf7eb6b1025d3e169989416b1adcd676624c2dbed9e3bcb7137f51bfc8cc2572 numpy-1.18.1-cp36-cp36m-manylinux1_i686.whl
b765ed3930b92812aa698a455847141869ef755a87e099fddd4ccf9d81fffb57 numpy-1.18.1-cp36-cp36m-manylinux1_x86_64.whl
2d75908ab3ced4223ccba595b48e538afa5ecc37405923d1fea6906d7c3a50bc numpy-1.18.1-cp36-cp36m-win32.whl
9acdf933c1fd263c513a2df3dceecea6f3ff4419d80bf238510976bf9bcb26cd numpy-1.18.1-cp36-cp36m-win_amd64.whl
56bc8ded6fcd9adea90f65377438f9fea8c05fcf7c5ba766bef258d0da1554aa numpy-1.18.1-cp37-cp37m-macosx_10_9_x86_64.whl
e422c3152921cece8b6a2fb6b0b4d73b6579bd20ae075e7d15143e711f3ca2ca numpy-1.18.1-cp37-cp37m-manylinux1_i686.whl
b3af02ecc999c8003e538e60c89a2b37646b39b688d4e44d7373e11c2debabec numpy-1.18.1-cp37-cp37m-manylinux1_x86_64.whl
d92350c22b150c1cae7ebb0ee8b5670cc84848f6359cf6b5d8f86617098a9b73 numpy-1.18.1-cp37-cp37m-win32.whl
77c3bfe65d8560487052ad55c6998a04b654c2fbc36d546aef2b2e511e760971 numpy-1.18.1-cp37-cp37m-win_amd64.whl
c98c5ffd7d41611407a1103ae11c8b634ad6a43606eca3e2a5a269e5d6e8eb07 numpy-1.18.1-cp38-cp38-macosx_10_9_x86_64.whl
9537eecf179f566fd1c160a2e912ca0b8e02d773af0a7a1120ad4f7507cd0d26 numpy-1.18.1-cp38-cp38-manylinux1_i686.whl
e840f552a509e3380b0f0ec977e8124d0dc34dc0e68289ca28f4d7c1d0d79474 numpy-1.18.1-cp38-cp38-manylinux1_x86_64.whl
590355aeade1a2eaba17617c19edccb7db8d78760175256e3cf94590a1a964f3 numpy-1.18.1-cp38-cp38-win32.whl
39d2c685af15d3ce682c99ce5925cc66efc824652e10990d2462dfe9b8918c6a numpy-1.18.1-cp38-cp38-win_amd64.whl
e37802868ba5f389bf4e3f4c40c16e1b031814f0585ac122637de219de6279cb numpy-1.18.1.tar.gz
b6ff59cee96b454516e47e7721098e6ceebef435e3e21ac2d6c3b8b02628eb77 numpy-1.18.1.zip
- Python
Published by charris over 6 years ago
numpy -
NumPy 1.17.5 Release Notes
This release contains fixes for bugs reported against NumPy 1.17.4 along with some build improvements. The Python versions supported in this release are 3.5-3.8.
Downstream developers should use Cython >= 0.29.14 for Python 3.8 support and OpenBLAS >= 3.7 to avoid errors on the Skylake architecture.
It is recommended that developers interested in the new random bit generators upgrade to the NumPy 1.18.x series, as it has updated documentation and many small improvements.
Contributors
A total of 6 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.
- Charles Harris
- Eric Wieser
- Ilhan Polat
- Matti Picus
- Michael Hudson-Doyle
- Ralf Gommers
Pull requests merged
A total of 8 pull requests were merged for this release.
- #14593: MAINT: backport Cython API cleanup to 1.17.x, remove docs
- #14937: BUG: fix integer size confusion in handling array\'s ndmin argument
- #14939: BUILD: remove SSE2 flag from numpy.random builds
- #14993: MAINT: Added Python3.8 branch to dll lib discovery
- #15038: BUG: Fix refcounting in ufunc object loops
- #15067: BUG: Exceptions tracebacks are dropped
- #15175: ENH: Backport improvements to testing functions.
- #15213: REL: Prepare for the NumPy 1.17.5 release.
Checksums
MD5
e1d378317e20e340ea46937cbaf45094 numpy-1.17.5-cp35-cp35m-macosx_10_9_intel.whl
49b263605ab32a0880fa68b29c2586b0 numpy-1.17.5-cp35-cp35m-manylinux1_i686.whl
41b4800ea0b8410919500e264994fb6f numpy-1.17.5-cp35-cp35m-manylinux1_x86_64.whl
7ac18d112a745aabf5059da85de91c57 numpy-1.17.5-cp35-cp35m-win32.whl
98dfbe821c010b34771f789dff36ca76 numpy-1.17.5-cp35-cp35m-win_amd64.whl
3a14d2a58b72db3020b2d1760aefed5c numpy-1.17.5-cp36-cp36m-macosx_10_9_x86_64.whl
47810aa1c34d9d46581f0b8dee0d1acc numpy-1.17.5-cp36-cp36m-manylinux1_i686.whl
e0f2d037ecd1ecbfa5f3d282bf69fad2 numpy-1.17.5-cp36-cp36m-manylinux1_x86_64.whl
addda5c691eaca7b8aa2f8413c936f54 numpy-1.17.5-cp36-cp36m-win32.whl
ee5c057451e77ad2aeb1a7ed2df3754d numpy-1.17.5-cp36-cp36m-win_amd64.whl
8be28f068e0b2e9c5202debd6e2bcf6c numpy-1.17.5-cp37-cp37m-macosx_10_9_x86_64.whl
8400685497628c48b292ff8bb8b7286e numpy-1.17.5-cp37-cp37m-manylinux1_i686.whl
a399036176dd2e23e07b866b460b6f20 numpy-1.17.5-cp37-cp37m-manylinux1_x86_64.whl
f9497454c4d3a8fdcc62788420f365c7 numpy-1.17.5-cp37-cp37m-win32.whl
930a172f90ea6658adf2d25700a98757 numpy-1.17.5-cp37-cp37m-win_amd64.whl
1fddb7a3de3aba553614919411e70698 numpy-1.17.5-cp38-cp38-macosx_10_9_x86_64.whl
003e1514a5ed31cebb10a8055f7b63e6 numpy-1.17.5-cp38-cp38-manylinux1_i686.whl
de8f5f3f602f889fb0ed42cfd5da40bc numpy-1.17.5-cp38-cp38-manylinux1_x86_64.whl
91a89b84875f30f6b8166d4791212aa3 numpy-1.17.5-cp38-cp38-win32.whl
ba5eb1d2705e4a169df105ce7a95abc0 numpy-1.17.5-cp38-cp38-win_amd64.whl
59d27965e42caedf8913ebe03cf36f87 numpy-1.17.5.tar.gz
763a5646fa6eef7a22f4895bca0524f2 numpy-1.17.5.zip
SHA256
d977a91f7b02b14843562d2e8740acfdfb46996e64985b69b2d404bfa43bc07d numpy-1.17.5-cp35-cp35m-macosx_10_9_intel.whl
6c6cab8089ad39554d7fed04d338e7bd7ea6ac48235a542ea0b37214c8d0a9bc numpy-1.17.5-cp35-cp35m-manylinux1_i686.whl
4760bcc6adaf0d853379d01ce60f320e5ab6d0d719662aef3c460dad3cf79989 numpy-1.17.5-cp35-cp35m-manylinux1_x86_64.whl
c3fb7eb84cd455ea2294980e557cc40b0042f7fc7ebab28c74ccae85c8b0c2c4 numpy-1.17.5-cp35-cp35m-win32.whl
6167d214a842610d4168311d803f2a6f2c1a9a866b6b370f7408ba508d265add numpy-1.17.5-cp35-cp35m-win_amd64.whl
ca43581440ce2585f83c8d524c3435569b212bf281b7c67395e78260fcffb341 numpy-1.17.5-cp36-cp36m-macosx_10_9_x86_64.whl
5347fc1258ebe501d352363da06229fc97785d67423b56a9fd032a8389355781 numpy-1.17.5-cp36-cp36m-manylinux1_i686.whl
1739f079e2fcc985cc187aa3ce489d127a02ff12bcc5178269bb7ce5dc860e8f numpy-1.17.5-cp36-cp36m-manylinux1_x86_64.whl
af51bc1d78ddc1588115b73a1d3824440f5cf55c498681e8ac4ab2f28f0efa99 numpy-1.17.5-cp36-cp36m-win32.whl
259b5aa0a1d2e63bbe9d985bc8249b515541b9993e1b1540563428f5db7bc389 numpy-1.17.5-cp36-cp36m-win_amd64.whl
8ba8ef37b16288dd2390cd9dea3c8470436f6cfe4c665f4640c349e98bae2908 numpy-1.17.5-cp37-cp37m-macosx_10_9_x86_64.whl
348efb76a26f9f3235e492813503639731a885aa5780579ee28d688607d188b2 numpy-1.17.5-cp37-cp37m-manylinux1_i686.whl
31db2f9604afbf897b23478942074bbbb2513467d2b4b4ac573a7b65c63c073c numpy-1.17.5-cp37-cp37m-manylinux1_x86_64.whl
68bdc37f3ccdc3e945914b3201acd8823ac9dec870ede5371cd5cfedcf5a901a numpy-1.17.5-cp37-cp37m-win32.whl
15db548aade41e32bfb6f6d3d9e91797261197622afe4102f79220d17da2a29f numpy-1.17.5-cp37-cp37m-win_amd64.whl
fc56ec046a2cc3aba91fe29e482c145c17925db1b00eafa924d9e16020a3eb88 numpy-1.17.5-cp38-cp38-macosx_10_9_x86_64.whl
73d20aebe518997dce89da356d4b8e4cf60143151c22a0ec76cb00840bb09320 numpy-1.17.5-cp38-cp38-manylinux1_i686.whl
aa3dd92c1427e032fe345f054503f45c9fc7883aa7156a60900641259dd78a78 numpy-1.17.5-cp38-cp38-manylinux1_x86_64.whl
6338f8fa99ea0b00944a256941eea406089a9c0242f594b69289edd91e2d6192 numpy-1.17.5-cp38-cp38-win32.whl
14804866e57322bf601c966e428c271b7e301b631bdfbe0522800483b802bc58 numpy-1.17.5-cp38-cp38-win_amd64.whl
ef0801b6feca0f50e56c29b02e0f3e2c8c40963d44c38484e6f47bfcfbf17d32 numpy-1.17.5.tar.gz
16507ba6617f62ae3c6ab1725ae6f550331025d4d9a369b83f6d5a470446c342 numpy-1.17.5.zip
- Python
Published by charris over 6 years ago
numpy -
NumPy 1.16.6 Release Notes
The NumPy 1.16.6 release fixes bugs reported against the 1.16.5 release, and also backports several enhancements from master that seem appropriate for a release series that is the last to support Python 2.7. The wheels on PyPI are linked with OpenBLAS v0.3.7, which should fix errors on Skylake series cpus.
Downstream developers building this release should use Cython >= 0.29.2 and, if using OpenBLAS, OpenBLAS >= v0.3.7. The supported Python versions are 2.7 and 3.5-3.7.
Highlights
- The
np.testing.utilsfunctions have been updated from 1.19.0-dev0. This improves the function documentation and error messages as well extending theassert_array_comparefunction to additional types.
New functions
Allow matmul (@) to work with object arrays.
This is an enhancement that was added in NumPy 1.17 and seems reasonable to include in the LTS 1.16 release series.
Compatibility notes
Fix regression in matmul (@) for boolean types
Booleans were being treated as integers rather than booleans, which was a regression from previous behavior.
Improvements
Array comparison assertions include maximum differences
Error messages from array comparison tests such as
testing.assert_allclose now include \"max absolute difference\" and
\"max relative difference,\" in addition to the previous \"mismatch\"
percentage. This information makes it easier to update absolute and
relative error tolerances.
Contributors
A total of 10 people contributed to this release.
- CakeWithSteak
- Charles Harris
- Chris Burr
- Eric Wieser
- Fernando Saravia
- Lars Grueter
- Matti Picus
- Maxwell Aladago
- Qiming Sun
- Warren Weckesser
Pull requests merged
A total of 14 pull requests were merged for this release.
- #14211: BUG: Fix uint-overflow if padding with linear_ramp and negative...
- #14275: BUG: fixing to allow unpickling of PY3 pickles from PY2
- #14340: BUG: Fix misuse of .names and .fields in various places (backport...
- #14423: BUG: test, fix regression in converting to ctypes.
- #14434: BUG: Fixed maximum relative error reporting in assert_allclose
- #14509: BUG: Fix regression in boolean matmul.
- #14686: BUG: properly define PyArray_DescrCheck
- #14853: BLD: add \'apt update\' to shippable
- #14854: BUG: Fix _ctypes class circular reference. (#13808)
- #14856: BUG: Fix [np.einsum]{.title-ref} errors on Power9 Linux and z/Linux
- #14863: BLD: Prevent -flto from optimising long double representation...
- #14864: BUG: lib: Fix histogram problem with signed integer arrays.
- #15172: ENH: Backport improvements to testing functions.
- #15191: REL: Prepare for 1.16.6 release.
Checksums
MD5
4e224331023d95e98074d629b79cd4af numpy-1.16.6-cp27-cp27m-macosx_10_9_x86_64.whl
d3a48c10422909a5610b42380ed8ddc6 numpy-1.16.6-cp27-cp27m-manylinux1_i686.whl
6896018676021f6cff25abb30d9da143 numpy-1.16.6-cp27-cp27m-manylinux1_x86_64.whl
c961575405015b018a497e8f90db5e38 numpy-1.16.6-cp27-cp27m-win32.whl
8fa39acea08658ca355005c07e15f06f numpy-1.16.6-cp27-cp27m-win_amd64.whl
8802bee0140fd50aecddab0141d0eb82 numpy-1.16.6-cp27-cp27mu-manylinux1_i686.whl
2f9761f243249d33867f86c10c549dfa numpy-1.16.6-cp27-cp27mu-manylinux1_x86_64.whl
171a699d84b6ec8ac699627d606890e0 numpy-1.16.6-cp35-cp35m-macosx_10_9_intel.whl
7185860b022aa72cd9abb112b2d2b6cf numpy-1.16.6-cp35-cp35m-manylinux1_i686.whl
33f35e1b39f572ca98e697b7054fffd1 numpy-1.16.6-cp35-cp35m-manylinux1_x86_64.whl
2ec010ba75c0ac5602e1dbf7fe01ddbf numpy-1.16.6-cp35-cp35m-win32.whl
88c6c5e1f531e32f65f9f9437045f6f5 numpy-1.16.6-cp35-cp35m-win_amd64.whl
751f8ea2353e73bb3440f241ebad6c5d numpy-1.16.6-cp36-cp36m-macosx_10_9_x86_64.whl
819af6ec8c90e8209471ecbc6fc47b95 numpy-1.16.6-cp36-cp36m-manylinux1_i686.whl
56ab65e9d3bac5f502507d198634e675 numpy-1.16.6-cp36-cp36m-manylinux1_x86_64.whl
88d4ed4565d31a1978f4bf013f4ffd2e numpy-1.16.6-cp36-cp36m-win32.whl
167ac7f60d82bd32feb60e675a2c3b01 numpy-1.16.6-cp36-cp36m-win_amd64.whl
2e47bb698842b7289bb34951edf3be3d numpy-1.16.6-cp37-cp37m-macosx_10_9_x86_64.whl
169eb83d7f0a566207048cc282720ff8 numpy-1.16.6-cp37-cp37m-manylinux1_i686.whl
454ac4d3e09931bfb58cc01b679f4f5f numpy-1.16.6-cp37-cp37m-manylinux1_x86_64.whl
192593ce2df33b60eab445b31285ad96 numpy-1.16.6-cp37-cp37m-win32.whl
de3b92f1133613e1bd96d788ba9d4307 numpy-1.16.6-cp37-cp37m-win_amd64.whl
5e958c603605f3168b7b29f421f64cdd numpy-1.16.6.tar.gz
3dc21c84a295fe77eadf8f872685a7de numpy-1.16.6.zip
SHA256
08bf4f66f190822f4642e036accde8da810b87fffc0b9409e7a00d9e54760099 numpy-1.16.6-cp27-cp27m-macosx_10_9_x86_64.whl
d759ca1b76ac6f6b6159fb74984126035feb1dee9f68b4b961889b6dc090f33a numpy-1.16.6-cp27-cp27m-manylinux1_i686.whl
d3c5377c6122de876e695937ef41ffee5d2831154c5e4856481b93406cdfeecb numpy-1.16.6-cp27-cp27m-manylinux1_x86_64.whl
345b1748e6b0d4773a518868c783b16fdc33a22683bdb863484cd29fe8d206e6 numpy-1.16.6-cp27-cp27m-win32.whl
7a5a1f49a643aa1ab3e0579da0a48b8a48ea4369eb63c5065459d0a37f430237 numpy-1.16.6-cp27-cp27m-win_amd64.whl
817eed5a6ec2fc9c1a0ee3fbf9a441c66b6766383580513ccbdf3121acc0b4fb numpy-1.16.6-cp27-cp27mu-manylinux1_i686.whl
1680c8d5086a88d293dfd1a10b6429a09140cacee878034fa2308472ec835db4 numpy-1.16.6-cp27-cp27mu-manylinux1_x86_64.whl
a4383edb1b8caa989c3541a37ef204916322c503b8eeacc7ee8f4ba24cac97b8 numpy-1.16.6-cp35-cp35m-macosx_10_9_intel.whl
9bb690692f3101583b0b99f3be362742e4f8ebe6c7934fa36cd8ca2b567a0bcc numpy-1.16.6-cp35-cp35m-manylinux1_i686.whl
b9e334568ca1bf56598eddfac6db6a75bcf1c91aa90d598648f21e45207daeae numpy-1.16.6-cp35-cp35m-manylinux1_x86_64.whl
55cae40d2024c56e7b79fb070106cb4289dcc6b55c62dba1d89a6944448c6a53 numpy-1.16.6-cp35-cp35m-win32.whl
a1ffc9c770ccc2be9284310a3726c918b26ca19b34c0079e7a41aba950ab175f numpy-1.16.6-cp35-cp35m-win_amd64.whl
3f423b06bf67cd1dbf72e13e9b53a9ca71972e5abf712ee6cb5d8cbb178fff02 numpy-1.16.6-cp36-cp36m-macosx_10_9_x86_64.whl
34e6bb44e3d9a663f903b8c297ede865b4dff039aa43cc9a0b249e02c27f1396 numpy-1.16.6-cp36-cp36m-manylinux1_i686.whl
60c56922c9d759d664078fbef94132377ef1498ab27dd3d0cc7a21b346e68c06 numpy-1.16.6-cp36-cp36m-manylinux1_x86_64.whl
23cad5e5858dfb73c0e5bce03fe78e5e5908c22263156c58d4afdbb240683c6c numpy-1.16.6-cp36-cp36m-win32.whl
77399828d96cca386bfba453025c34f22569909d90332b961d3d4341cdb46a84 numpy-1.16.6-cp36-cp36m-win_amd64.whl
97ddfa7688295d460ee48a4d76337e9fdd2506d9d1d0eee7f0348b42b430da4c numpy-1.16.6-cp37-cp37m-macosx_10_9_x86_64.whl
390f6e14a8d73591f086680464aa101a9be9187d0c633f48c98b429b31b712c2 numpy-1.16.6-cp37-cp37m-manylinux1_i686.whl
a1772dc227e3e415eeaa646d25690dc854bddc3d626e454c7c27acba060cb900 numpy-1.16.6-cp37-cp37m-manylinux1_x86_64.whl
c9fb4fcfcdcaccfe2c4e1f9e0133ed59df5df2aa3655f3d391887e892b0a784c numpy-1.16.6-cp37-cp37m-win32.whl
6b1853364775edb85ceb0f7f8214d9e993d4d1d9bd3310eae80529ea14ba2ba6 numpy-1.16.6-cp37-cp37m-win_amd64.whl
61562ddac78765969959500b0da9c6f9ba7d77eeb12ec3927afae5303df08777 numpy-1.16.6.tar.gz
e5cf3fdf13401885e8eea8170624ec96225e2174eb0c611c6f26dd33b489e3ff numpy-1.16.6.zip
- Python
Published by charris over 6 years ago
numpy -
NumPy NumPy 1.18.0 Release Notes
In addition to the usual bug fixes, this NumPy release cleans up and documents the new random C-API, expires a large number of old deprecations, and improves the appearance of the documentation. The Python versions supported are 3.5-3.8. This is the last NumPy release series that will support Python 3.5.
Downstream developers should use Cython >= 0.29.14 for Python 3.8 support and OpenBLAS >= 3.7 to avoid problems on the Skylake architecture.
Highlights
- The C-API for
numpy.randomhas been defined and documented. - Basic infrastructure for linking with 64 bit BLAS and LAPACK libraries.
- Many documentation improvements.
New functions
Multivariate hypergeometric distribution added to numpy.random
The method multivariate_hypergeometric has been added to the class
[numpy.random.Generator]{.title-ref}. This method generates random
variates from the multivariate hypergeometric probability distribution.
(gh-13794)
Deprecations
np.fromfile and np.fromstring will error on bad data
In future numpy releases, the functions np.fromfile and
np.fromstring will throw an error when parsing bad data. This will now
give a DeprecationWarning where previously partial or even invalid
data was silently returned. This deprecation also affects the C defined
functions PyArray_FromString and PyArray_FromFile
(gh-13605)
Deprecate non-scalar arrays as fill values in ma.fill_value
Setting a MaskedArray.fill_value to a non-scalar array is deprecated
since the logic to broadcast the fill value to the array is fragile,
especially when slicing.
(gh-13698)
Deprecate PyArray_As1D, PyArray_As2D
PyArray_As1D, PyArray_As2D are deprecated, use PyArray_AsCArray
instead (gh-14036)
Deprecate np.alen
np.alen was deprecated. Use len instead.
(gh-14181)
Deprecate the financial functions
In accordance with
NEP-32,
the financial functions fv ipmt, irr, mirr, nper, npv,
pmt, ppmt, pv and rate are deprecated, and will be removed from
NumPy 1.20.The replacement for these functions is the Python package
numpy-financial.
(gh-14720)
The axis argument to numpy.ma.mask_cols and numpy.ma.mask_row is deprecated
This argument was always ignored. (gh-14996)
Expired deprecations
-
PyArray_As1DandPyArray_As2Dhave been removed in favor ofPyArray_AsCArray(gh-14036) -
np.rankhas been removed. This was deprecated in NumPy 1.10 and has been replaced bynp.ndim. (gh-14039) - The deprecation of
expand_dimsout-of-range axes in 1.13.0 has expired. (gh-14051) -
PyArray_FromDimsAndDataAndDescrandPyArray_FromDimshave been removed (they will always raise an error). UsePyArray_NewFromDescrandPyArray_SimpleNewinstead. (gh-14100) -
numeric.loads,numeric.load,np.ma.dump,np.ma.dumps,np.ma.load,np.ma.loadsare removed, usepicklemethods instead (gh-14256) -
arrayprint.FloatFormat,arrayprint.LongFloatFormathas been removed, useFloatingFormatinstead -
arrayprint.ComplexFormat,arrayprint.LongComplexFormathas been removed, useComplexFloatingFormatinstead -
arrayprint.StructureFormathas been removed, useStructureVoidFormatinstead (gh-14259) -
np.testing.randhas been removed. This was deprecated in NumPy 1.11 and has been replaced bynp.random.rand. (gh-14325) - Class
SafeEvalinnumpy/lib/utils.pyhas been removed. This was deprecated in NumPy 1.10. Usenp.safe_evalinstead. (gh-14335) - Remove deprecated support for boolean and empty condition lists in
np.select(gh-14583) - Array order only accepts \'C\', \'F\', \'A\', and \'K\'. More permissive options were deprecated in NumPy 1.11. (gh-14596)
- np.linspace parameter
nummust be an integer. Deprecated in NumPy 1.12. (gh-14620) - UFuncs with multiple outputs must use a tuple for the
outkwarg. This finishes a deprecation started in NumPy 1.10. (gh-14682)
The files numpy/testing/decorators.py, numpy/testing/noseclasses.py
and numpy/testing/nosetester.py have been removed. They were never
meant to be public (all relevant objects are present in the
numpy.testing namespace), and importing them has given a deprecation
warning since NumPy 1.15.0
(gh-14567)
Compatibility notes
[numpy.lib.recfunctions.drop_fields]{.title-ref} can no longer return None
If drop_fields is used to drop all fields, previously the array would
be completely discarded and None returned. Now it returns an array of
the same shape as the input, but with no fields. The old behavior can be
retained with:
dropped_arr = drop_fields(arr, ['a', 'b'])
if dropped_arr.dtype.names == ():
dropped_arr = None
converting the empty recarray to None (gh-14510)
numpy.argmin/argmax/min/max returns NaT if it exists in array
numpy.argmin, numpy.argmax, numpy.min, and numpy.max will return
NaT if it exists in the array.
(gh-14717)
np.can_cast(np.uint64, np.timedelta64, casting='safe') is now False
Previously this was True - however, this was inconsistent with
uint64 not being safely castable to int64, and resulting in strange
type resolution.
If this impacts your code, cast uint64 to int64 first.
(gh-14718)
Changed random variate stream from numpy.random.Generator.integers
There was a bug in numpy.random.Generator.integers that caused biased
sampling of 8 and 16 bit integer types. Fixing that bug has changed the
output stream from what it was in previous releases.
(gh-14777)
Add more ufunc loops for datetime64, timedelta64
np.datetime('NaT') should behave more like float('Nan'). Add needed
infrastructure so np.isinf(a) and np.isnan(a) will run on
datetime64 and timedelta64 dtypes. Also added specific loops for
numpy.fmin and numpy.fmax that mask NaT. This may require
adjustment to user- facing code. Specifically, code that either
disallowed the calls to numpy.isinf or numpy.isnan or checked that
they raised an exception will require adaptation, and code that
mistakenly called numpy.fmax and numpy.fmin instead of
numpy.maximum or numpy.minimum respectively will requre adjustment.
This also affects numpy.nanmax and numpy.nanmin.
(gh-14841)
C API changes
PyDataType_ISUNSIZED(descr) now returns False for structured datatypes
Previously this returned True for any datatype of itemsize 0, but now
this returns false for the non-flexible datatype with itemsize 0,
np.dtype([]). (gh-14393)
New Features
Add our own *.pxd cython import file
Added a numpy/__init__.pxd file. It will be used for cimport numpy
(gh-12284)
A tuple of axes can now be input to expand_dims
The numpy.expand_dims axis keyword can now accept a tuple of axes.
Previously, axis was required to be an integer.
(gh-14051)
Support for 64-bit OpenBLAS
Added support for 64-bit (ILP64) OpenBLAS. See site.cfg.example for
details. (gh-15012)
Add --f2cmap option to F2PY
Allow specifying a file to load Fortran-to-C type map customizations from. (gh-15113)
Improvements
Different C numeric types of the same size have unique names
On any given platform, two of np.intc, np.int_, and np.longlong
would previously appear indistinguishable through their repr, despite
their corresponding dtype having different properties. A similar
problem existed for the unsigned counterparts to these types, and on
some platforms for np.double and np.longdouble
These types now always print with a unique __name__.
(gh-10151)
argwhere now produces a consistent result on 0d arrays
On N-d arrays, numpy.argwhere now always produces an array of shape
(n_non_zero, arr.ndim), even when arr.ndim == 0. Previously, the
last axis would have a dimension of 1 in this case.
(gh-13610)
Add axis argument for random.permutation and random.shuffle
Previously the random.permutation and random.shuffle functions can
only shuffle an array along the first axis; they now have a new argument
axis which allows shuffle along a specified axis.
(gh-13829)
method keyword argument for np.random.multivariate_normal
A method keyword argument is now available for
np.random.multivariate_normal with possible values
{'svd', 'eigh', 'cholesky'}. To use it, write
np.random.multivariate_normal(..., method=<method>).
(gh-14197)
Add complex number support for numpy.fromstring
Now numpy.fromstring can read complex numbers.
(gh-14227)
numpy.unique has consistent axes order when axis is not None
Using moveaxis instead of swapaxes in numpy.unique, so that the
ordering of axes except the axis in arguments will not be broken.
(gh-14255)
numpy.matmul with boolean output now converts to boolean values
Calling numpy.matmul where the output is a boolean array would fill
the array with uint8 equivalents of the result, rather than 0/1. Now it
forces the output to 0 or 1 (NPY_TRUE or NPY_FALSE).
(gh-14464)
numpy.random.randint produced incorrect value when the range was 2**32
The implementation introduced in 1.17.0 had an incorrect check when
determining whether to use the 32-bit path or the full 64-bit path that
incorrectly redirected random integer generation with a high - low range
of 2**32 to the 64-bit generator.
(gh-14501)
Add complex number support for numpy.fromfile
Now numpy.fromfile can read complex numbers.
(gh-14730)
std=c99 added if compiler is named gcc
GCC before version 5 requires the -std=c99 command line argument.
Newer compilers automatically turn on C99 mode. The compiler setup code
will automatically add the code if the compiler name has gcc in it.
(gh-14771)
Changes
NaT now sorts to the end of arrays
NaT is now effectively treated as the largest integer for sorting
purposes, so that it sorts to the end of arrays. This change is for
consistency with NaN sorting behavior.
(gh-12658)
(gh-15068)
Incorrect threshold in np.set_printoptions raises TypeError or ValueError
Previously an incorrect threshold raised ValueError; it now raises
TypeError for non-numeric types and ValueError for nan values.
(gh-13899)
Warn when saving a dtype with metadata
A UserWarning will be emitted when saving an array via numpy.save
with metadata. Saving such an array may not preserve metadata, and if
metadata is preserved, loading it will cause a ValueError. This
shortcoming in save and load will be addressed in a future release.
(gh-14142)
numpy.distutils append behavior changed for LDFLAGS and similar
[numpy.distutils]{.title-ref} has always overridden rather than appended
to LDFLAGS and other similar such environment variables for compiling
Fortran extensions. Now the default behavior has changed to appending -
which is the expected behavior in most situations. To preserve the old
(overwriting) behavior, set the NPY_DISTUTILS_APPEND_FLAGS environment
variable to 0. This applies to: LDFLAGS, F77FLAGS, F90FLAGS,
FREEFLAGS, FOPT, FDEBUG, and FFLAGS. NumPy 1.16 and 1.17 gave
build warnings in situations where this change in behavior would have
affected the compile flags used.
(gh-14248)
Remove numpy.random.entropy without a deprecation
numpy.random.entropy was added to the numpy.random namespace in
1.17.0. It was meant to be a private c-extension module, but was exposed
as public. It has been replaced by numpy.random.SeedSequence so the
module was completely removed.
(gh-14498)
Add options to quiet build configuration and build with -Werror
Added two new configuration options. During the build_src subcommand,
as part of configuring NumPy, the files _numpyconfig.h and config.h
are created by probing support for various runtime functions and
routines. Previously, the very verbose compiler output during this stage
clouded more important information. By default the output is silenced.
Running runtests.py --debug-info will add --verbose-cfg to the
build_src subcommand, which will restore the previous behaviour.
Adding CFLAGS=-Werror to turn warnings into errors would trigger
errors during the configuration. Now runtests.py --warn-error will add
--warn-error to the build subcommand, which will percolate to the
build_ext and build_lib subcommands. This will add the compiler flag
to those stages and turn compiler warnings into errors while actually
building NumPy itself, avoiding the build_src subcommand compiler
calls.
Checksums
MD5
40576031bfba1732ee850a1c576ba096 numpy-1.18.0-cp35-cp35m-macosx_10_6_intel.whl
99dce76e7845e10585001a6892bb5f63 numpy-1.18.0-cp35-cp35m-manylinux1_i686.whl
81e4e422392219e8bc809d9b17c0d0a6 numpy-1.18.0-cp35-cp35m-manylinux1_x86_64.whl
785d52acbbbcdd4967acd6f27e341dc6 numpy-1.18.0-cp35-cp35m-win32.whl
52ab10e952b72c69f492f30dcc03e561 numpy-1.18.0-cp35-cp35m-win_amd64.whl
dc0f8c3b608f17fd1af2ac5dab012683 numpy-1.18.0-cp36-cp36m-macosx_10_9_x86_64.whl
990b9567a5f5322ec0115552be9bd169 numpy-1.18.0-cp36-cp36m-manylinux1_i686.whl
7cdcb013123ae7b44100ca00a98f8ab3 numpy-1.18.0-cp36-cp36m-manylinux1_x86_64.whl
f6b497230df4d8b9a3e80e8e6b896caa numpy-1.18.0-cp36-cp36m-win32.whl
28de3a14f6fcf1391929f1061590b49d numpy-1.18.0-cp36-cp36m-win_amd64.whl
d3279da6815745d977f16383d9b8c0d7 numpy-1.18.0-cp37-cp37m-macosx_10_9_x86_64.whl
3eff2e553b4826428790551834f862e9 numpy-1.18.0-cp37-cp37m-manylinux1_i686.whl
f0f7b7e58635dea515f6aa5302bdd924 numpy-1.18.0-cp37-cp37m-manylinux1_x86_64.whl
df8e307782f55f508405b135211dbeb0 numpy-1.18.0-cp37-cp37m-win32.whl
022dd577b0858b146e2d33ed7426cf07 numpy-1.18.0-cp37-cp37m-win_amd64.whl
89bbc272a243cdf5c521fea5efe6b853 numpy-1.18.0-cp38-cp38-macosx_10_9_x86_64.whl
dc6e094c4c7777ac4040e6f945788f60 numpy-1.18.0-cp38-cp38-manylinux1_i686.whl
4cac27e608e6d24a8b2b6b911bd23d6c numpy-1.18.0-cp38-cp38-manylinux1_x86_64.whl
45a9355fb360d321d90ae55aefb1d206 numpy-1.18.0-cp38-cp38-win32.whl
c86dc59260f42e9cce05a396cbb33f4e numpy-1.18.0-cp38-cp38-win_amd64.whl
2f607a0e79321b6e4f426307134dbd2c numpy-1.18.0.tar.gz
3545a7dc22e704461f6ccb604b8da952 numpy-1.18.0.zip
SHA256
b091e5d4cbbe79f0e8b6b6b522346e54a282eadb06e3fd761e9b6fafc2ca91ad numpy-1.18.0-cp35-cp35m-macosx_10_6_intel.whl
443ab93fc35b31f01db8704681eb2fd82f3a1b2fa08eed2dd0e71f1f57423d4a numpy-1.18.0-cp35-cp35m-manylinux1_i686.whl
88c5ccbc4cadf39f32193a5ef22e3f84674418a9fd877c63322917ae8f295a56 numpy-1.18.0-cp35-cp35m-manylinux1_x86_64.whl
e1080e37c090534adb2dd7ae1c59ee883e5d8c3e63d2a4d43c20ee348d0459c5 numpy-1.18.0-cp35-cp35m-win32.whl
f084d513de729ff10cd72a1f80db468cff464fedb1ef2fea030221a0f62d7ff4 numpy-1.18.0-cp35-cp35m-win_amd64.whl
1baefd1fb4695e7f2e305467dbd876d765e6edd30c522894df76f8301efaee36 numpy-1.18.0-cp36-cp36m-macosx_10_9_x86_64.whl
cc070fc43a494e42732d6ae2f6621db040611c1dde64762a40c8418023af56d7 numpy-1.18.0-cp36-cp36m-manylinux1_i686.whl
6f8113c8dbfc192b58996ee77333696469ea121d1c44ea429d8fd266e4c6be51 numpy-1.18.0-cp36-cp36m-manylinux1_x86_64.whl
a30f5c3e1b1b5d16ec1f03f4df28e08b8a7529d8c920bbed657f4fde61f1fbcd numpy-1.18.0-cp36-cp36m-win32.whl
3c68c827689ca0ca713dba598335073ce0966850ec0b30715527dce4ecd84055 numpy-1.18.0-cp36-cp36m-win_amd64.whl
f6a7421da632fc01e8a3ecd19c3f7350258d82501a646747664bae9c6a87c731 numpy-1.18.0-cp37-cp37m-macosx_10_9_x86_64.whl
905cd6fa6ac14654a6a32b21fad34670e97881d832e24a3ca32e19b455edb4a8 numpy-1.18.0-cp37-cp37m-manylinux1_i686.whl
854f6ed4fa91fa6da5d764558804ba5b0f43a51e5fe9fc4fdc93270b052f188a numpy-1.18.0-cp37-cp37m-manylinux1_x86_64.whl
ac3cf835c334fcc6b74dc4e630f9b5ff7b4c43f7fb2a7813208d95d4e10b5623 numpy-1.18.0-cp37-cp37m-win32.whl
62506e9e4d2a39c87984f081a2651d4282a1d706b1a82fe9d50a559bb58e705a numpy-1.18.0-cp37-cp37m-win_amd64.whl
9d6de2ad782aae68f7ed0e0e616477fbf693d6d7cc5f0f1505833ff12f84a673 numpy-1.18.0-cp38-cp38-macosx_10_9_x86_64.whl
1c35fb1131362e6090d30286cfda52ddd42e69d3e2bf1fea190a0fad83ea3a18 numpy-1.18.0-cp38-cp38-manylinux1_i686.whl
56710a756c5009af9f35b91a22790701420406d9ac24cf6b652b0e22cfbbb7ff numpy-1.18.0-cp38-cp38-manylinux1_x86_64.whl
03bbde29ac8fba860bb2c53a1525b3604a9b60417855ac3119d89868ec6041c3 numpy-1.18.0-cp38-cp38-win32.whl
712f0c32555132f4b641b918bdb1fd3c692909ae916a233ce7f50eac2de87e37 numpy-1.18.0-cp38-cp38-win_amd64.whl
e5eaf340489b76eef91352bf48b36e92ace07f6b0f1c87dcd3b5dbada97df03a numpy-1.18.0.tar.gz
a9d72d9abaf65628f0f31bbb573b7d9304e43b1e6bbae43149c17737a42764c4 numpy-1.18.0.zip
- Python
Published by charris over 6 years ago
numpy -
NumPy NumPy 1.18.0 Release Notes
In addition to the usual bug fixes, this NumPy release cleans up and documents the new random C-API, expires a large number of old deprecations, and improves the appearance of the documentation. The Python versions supported are 3.5-3.8. This is the last NumPy release series that will support Python 3.5.
Downstream developers should use Cython >= 0.29.14 for Python 3.8 support and OpenBLAS >= 3.7 to avoid problems on the Skylake architecture.
Highlights
- The C-API for
numpy.randomhas been defined and documented. - Basic infrastructure for linking with 64 bit BLAS and LAPACK libraries.
- Many documentation improvements.
New functions
Multivariate hypergeometric distribution added to numpy.random
The method multivariate_hypergeometric has been added to the class
numpy.random.Generator. This method generates random variates from the
multivariate hypergeometric probability distribution.
(gh-13794 <https://github.com/numpy/numpy/pull/13794>__)
Deprecations
np.fromfile and np.fromstring will error on bad data
In future numpy releases, the functions np.fromfile and
np.fromstring will throw an error when parsing bad data. This will now
give a DeprecationWarning where previously partial or even invalid
data was silently returned. This deprecation also affects the C defined
functions PyArray_FromString and PyArray_FromFile
(gh-13605 <https://github.com/numpy/numpy/pull/13605>__)
Deprecate non-scalar arrays as fill values in ma.fill_value
Setting a MaskedArray.fill_value to a non-scalar array is deprecated
since the logic to broadcast the fill value to the array is fragile,
especially when slicing.
(gh-13698 <https://github.com/numpy/numpy/pull/13698>__)
Deprecate PyArray_As1D, PyArray_As2D
PyArray_As1D, PyArray_As2D are deprecated, use PyArray_AsCArray
instead (gh-14036 <https://github.com/numpy/numpy/pull/14036>__)
Deprecate np.alen
np.alen was deprecated. Use len instead.
(gh-14181 <https://github.com/numpy/numpy/pull/14181>__)
Deprecate the financial functions
In accordance with
NEP-32 <https://numpy.org/neps/nep-0032-remove-financial-functions.html>,
the financial functions fv, ipmt, irr, mirr, nper, npv,
pmt, ppmt, pv and rate are deprecated, and will be removed from
NumPy 1.20.The replacement for these functions is the Python package
numpy-financial <https://pypi.org/project/numpy-financial>*.
(gh-14720 <https://github.com/numpy/numpy/pull/14720>__)
The axis argument to numpy.ma.mask_cols and numpy.ma.mask_row is deprecated
This argument was always ignored.
(gh-14996 <https://github.com/numpy/numpy/pull/14996>__)
Expired deprecations
PyArray_As1DandPyArray_As2Dhave been removed in favor ofPyArray_AsCArray(gh-14036 <https://github.com/numpy/numpy/pull/14036>__)np.rankhas been removed. This was deprecated in NumPy 1.10 and has been replaced bynp.ndim. (gh-14039 <https://github.com/numpy/numpy/pull/14039>__)The deprecation of
expand_dimsout-of-range axes in 1.13.0 has expired. (gh-14051 <https://github.com/numpy/numpy/pull/14051>__)PyArray_FromDimsAndDataAndDescrandPyArray_FromDimshave been removed (they will always raise an error). UsePyArray_NewFromDescrandPyArray_SimpleNewinstead. (gh-14100 <https://github.com/numpy/numpy/pull/14100>__)numeric.loads,numeric.load,np.ma.dump,np.ma.dumps,np.ma.load,np.ma.loadsare removed, usepicklemethods instead (gh-14256 <https://github.com/numpy/numpy/pull/14256>__)arrayprint.FloatFormat,arrayprint.LongFloatFormathas been removed, useFloatingFormatinsteadarrayprint.ComplexFormat,arrayprint.LongComplexFormathas been removed, useComplexFloatingFormatinsteadarrayprint.StructureFormathas been removed, useStructureVoidFormatinstead (gh-14259 <https://github.com/numpy/numpy/pull/14259>__)np.testing.randhas been removed. This was deprecated in NumPy 1.11 and has been replaced bynp.random.rand. (gh-14325 <https://github.com/numpy/numpy/pull/14325>__)Class
SafeEvalinnumpy/lib/utils.pyhas been removed. This was deprecated in NumPy 1.10. Usenp.safe_evalinstead. (gh-14335 <https://github.com/numpy/numpy/pull/14335>__)Remove deprecated support for boolean and empty condition lists in
np.select(gh-14583 <https://github.com/numpy/numpy/pull/14583>__)Array order only accepts 'C', 'F', 'A', and 'K'. More permissive options were deprecated in NumPy 1.11. (
gh-14596 <https://github.com/numpy/numpy/pull/14596>__)np.linspace parameter
nummust be an integer. Deprecated in NumPy 1.12. (gh-14620 <https://github.com/numpy/numpy/pull/14620>__)UFuncs with multiple outputs must use a tuple for the
outkwarg. This finishes a deprecation started in NumPy 1.10. (gh-14682 <https://github.com/numpy/numpy/pull/14682>__)
The files numpy/testing/decorators.py, numpy/testing/noseclasses.py
and numpy/testing/nosetester.py have been removed. They were never
meant to be public (all relevant objects are present in the
numpy.testing namespace), and importing them has given a deprecation
warning since NumPy 1.15.0
(gh-14567 <https://github.com/numpy/numpy/pull/14567>__)
Compatibility notes
numpy.lib.recfunctions.drop_fields can no longer return None
If drop_fields is used to drop all fields, previously the array would
be completely discarded and None returned. Now it returns an array of
the same shape as the input, but with no fields. The old behavior can be
retained with::
dropped_arr = drop_fields(arr, ['a', 'b'])
if dropped_arr.dtype.names == ():
dropped_arr = None
converting the empty recarray to None
(gh-14510 <https://github.com/numpy/numpy/pull/14510>__)
numpy.argmin/argmax/min/max returns NaT if it exists in array
numpy.argmin, numpy.argmax, numpy.min, and numpy.max will return
NaT if it exists in the array.
(gh-14717 <https://github.com/numpy/numpy/pull/14717>__)
np.can_cast(np.uint64, np.timedelta64, casting='safe') is now False
Previously this was True - however, this was inconsistent with
uint64 not being safely castable to int64, and resulting in strange
type resolution.
If this impacts your code, cast uint64 to int64 first.
(gh-14718 <https://github.com/numpy/numpy/pull/14718>__)
Changed random variate stream from numpy.random.Generator.integers
There was a bug in numpy.random.Generator.integers that caused biased
sampling of 8 and 16 bit integer types. Fixing that bug has changed the
output stream from what it was in previous releases.
(gh-14777 <https://github.com/numpy/numpy/pull/14777>__)
Add more ufunc loops for datetime64, timedelta64
np.datetime('NaT') should behave more like float('Nan'). Add needed
infrastructure so np.isinf(a) and np.isnan(a) will run on
datetime64 and timedelta64 dtypes. Also added specific loops for
numpy.fmin and numpy.fmax that mask NaT. This may require
adjustment to user- facing code. Specifically, code that either
disallowed the calls to numpy.isinf or numpy.isnan or checked that
they raised an exception will require adaptation, and code that
mistakenly called numpy.fmax and numpy.fmin instead of
numpy.maximum or numpy.minimum respectively will requre adjustment.
This also affects numpy.nanmax and numpy.nanmin.
(gh-14841 <https://github.com/numpy/numpy/pull/14841>__)
C API changes
PyDataType_ISUNSIZED(descr) now returns False for structured datatypes
Previously this returned True for any datatype of itemsize 0, but now
this returns false for the non-flexible datatype with itemsize 0,
np.dtype([]).
(gh-14393 <https://github.com/numpy/numpy/pull/14393>__)
New Features
Add our own *.pxd cython import file
Added a numpy/__init__.pxd file. It will be used for cimport numpy
(gh-12284 <https://github.com/numpy/numpy/pull/12284>__)
A tuple of axes can now be input to expand_dims
The numpy.expand_dims axis keyword can now accept a tuple of axes.
Previously, axis was required to be an integer.
(gh-14051 <https://github.com/numpy/numpy/pull/14051>__)
Support for 64-bit OpenBLAS with symbol suffix
Added support for 64-bit (ILP64) OpenBLAS compiled with
make INTERFACE64=1 SYMBOLSUFFIX=64_. See site.cfg.example for
details. (gh-15012 <https://github.com/numpy/numpy/pull/15012>__)
Improvements
Different C numeric types of the same size have unique names
On any given platform, two of np.intc, np.int_, and np.longlong
would previously appear indistinguishable through their repr, despite
their corresponding dtype having different properties. A similar
problem existed for the unsigned counterparts to these types, and on
some platforms for np.double and np.longdouble
These types now always print with a unique __name__.
(gh-10151 <https://github.com/numpy/numpy/pull/10151>__)
argwhere now produces a consistent result on 0d arrays
On N-d arrays, numpy.argwhere now always produces an array of shape
(n_non_zero, arr.ndim), even when arr.ndim == 0. Previously, the
last axis would have a dimension of 1 in this case.
(gh-13610 <https://github.com/numpy/numpy/pull/13610>__)
Add axis argument for random.permutation and random.shuffle
Previously the random.permutation and random.shuffle functions can
only shuffle an array along the first axis; they now have a new argument
axis which allows shuffle along a specified axis.
(gh-13829 <https://github.com/numpy/numpy/pull/13829>__)
method keyword argument for np.random.multivariate_normal
A method keyword argument is now available for
np.random.multivariate_normal with possible values
{'svd', 'eigh', 'cholesky'}. To use it, write
np.random.multivariate_normal(..., method=<method>).
(gh-14197 <https://github.com/numpy/numpy/pull/14197>__)
Add complex number support for numpy.fromstring
Now numpy.fromstring can read complex numbers.
(gh-14227 <https://github.com/numpy/numpy/pull/14227>__)
numpy.unique has consistent axes order when axis is not None
Using moveaxis instead of swapaxes in numpy.unique, so that the
ordering of axes except the axis in arguments will not be broken.
(gh-14255 <https://github.com/numpy/numpy/pull/14255>__)
numpy.matmul with boolean output now converts to boolean values
Calling numpy.matmul where the output is a boolean array would fill
the array with uint8 equivalents of the result, rather than 0/1. Now it
forces the output to 0 or 1 (NPY_TRUE or NPY_FALSE).
(gh-14464 <https://github.com/numpy/numpy/pull/14464>__)
numpy.random.randint produced incorrect value when the range was 2**32
The implementation introduced in 1.17.0 had an incorrect check when
determining whether to use the 32-bit path or the full 64-bit path that
incorrectly redirected random integer generation with a high - low range
of 2**32 to the 64-bit generator.
(gh-14501 <https://github.com/numpy/numpy/pull/14501>__)
Add complex number support for numpy.fromfile
Now numpy.fromfile can read complex numbers.
(gh-14730 <https://github.com/numpy/numpy/pull/14730>__)
std=c99 added if compiler is named gcc
GCC before version 5 requires the -std=c99 command line argument.
Newer compilers automatically turn on C99 mode. The compiler setup code
will automatically add the code if the compiler name has gcc in it.
(gh-14771 <https://github.com/numpy/numpy/pull/14771>__)
Changes
NaT now sorts to the end of arrays
NaT is now effectively treated as the largest integer for sorting
purposes, so that it sorts to the end of arrays. This change is for
consistency with NaN sorting behavior.
(gh-12658 <https://github.com/numpy/numpy/pull/12658>__)
Incorrect threshold in np.set_printoptions raises TypeError or ValueError
Previously an incorrect threshold raised ValueError; it now raises
TypeError for non-numeric types and ValueError for nan values.
(gh-13899 <https://github.com/numpy/numpy/pull/13899>__)
Warn when saving a dtype with metadata
A UserWarning will be emitted when saving an array via numpy.save
with metadata. Saving such an array may not preserve metadata, and if
metadata is preserved, loading it will cause a ValueError. This
shortcoming in save and load will be addressed in a future release.
(gh-14142 <https://github.com/numpy/numpy/pull/14142>__)
numpy.distutils append behavior changed for LDFLAGS and similar
numpy.distutils has always overridden rather than appended to
LDFLAGS and other similar such environment variables for compiling
Fortran extensions. Now the default behavior has changed to appending -
which is the expected behavior in most situations. To preserve the old
(overwriting) behavior, set the NPY_DISTUTILS_APPEND_FLAGS environment
variable to 0. This applies to: LDFLAGS, F77FLAGS, F90FLAGS,
FREEFLAGS, FOPT, FDEBUG, and FFLAGS. NumPy 1.16 and 1.17 gave
build warnings in situations where this change in behavior would have
affected the compile flags used.
(gh-14248 <https://github.com/numpy/numpy/pull/14248>__)
Remove numpy.random.entropy without a deprecation
numpy.random.entropy was added to the numpy.random namespace in
1.17.0. It was meant to be a private c-extension module, but was exposed
as public. It has been replaced by numpy.random.SeedSequence so the
module was completely removed.
(gh-14498 <https://github.com/numpy/numpy/pull/14498>__)
Add options to quiet build configuration and build with -Werror
Added two new configuration options. During the build_src subcommand,
as part of configuring NumPy, the files _numpyconfig.h and config.h
are created by probing support for various runtime functions and
routines. Previously, the very verbose compiler output during this stage
clouded more important information. By default the output is silenced.
Running runtests.py --debug-info will add --verbose-cfg to the
build_src subcommand, which will restore the previous behaviour.
Adding CFLAGS=-Werror to turn warnings into errors would trigger
errors during the configuration. Now runtests.py --warn-error will add
--warn-error to the build subcommand, which will percolate to the
build_ext and build_lib subcommands. This will add the compiler flag
to those stages and turn compiler warnings into errors while actually
building NumPy itself, avoiding the build_src subcommand compiler
calls.
(gh-14527 <https://github.com/numpy/numpy/pull/14527>)
(gh-14518 <https://github.com/numpy/numpy/pull/14518>)
Checksums
MD5
2255387d9bc4c626b30b4b15d41360aa numpy-1.18.0rc1-cp35-cp35m-macosx_10_6_intel.whl
cebfd1b532cd5a0c389a12e0e9b9fc59 numpy-1.18.0rc1-cp35-cp35m-manylinux1_i686.whl
837c58136102cfa1689e3ce6092a3fe9 numpy-1.18.0rc1-cp35-cp35m-manylinux1_x86_64.whl
6dec034185665cb0968da09d1193da97 numpy-1.18.0rc1-cp35-cp35m-win32.whl
d551b3da446160c3a76329916d4544d2 numpy-1.18.0rc1-cp35-cp35m-win_amd64.whl
d39fad23c70d9e088328f51f989ceffe numpy-1.18.0rc1-cp36-cp36m-macosx_10_9_x86_64.whl
8b0ed4cdf265428bdaf3e8619c18754a numpy-1.18.0rc1-cp36-cp36m-manylinux1_i686.whl
aaa92422da55cb6e3136f89860239975 numpy-1.18.0rc1-cp36-cp36m-manylinux1_x86_64.whl
2406854f74f825d95a95a671034eef3b numpy-1.18.0rc1-cp36-cp36m-win32.whl
f706077e4d9ef783c43eb11dabc08e1e numpy-1.18.0rc1-cp36-cp36m-win_amd64.whl
caaa53c0e5c8c1fac3af572b98569c0c numpy-1.18.0rc1-cp37-cp37m-macosx_10_9_x86_64.whl
b1c2decd9ac8c6acb5c0b75372c5bbe9 numpy-1.18.0rc1-cp37-cp37m-manylinux1_i686.whl
575f399026a997e9af2c2108c1542b7f numpy-1.18.0rc1-cp37-cp37m-manylinux1_x86_64.whl
4d4bc961757251346c31dd6412961946 numpy-1.18.0rc1-cp37-cp37m-win32.whl
df6cede6ee4d4f75e739771ae27920bb numpy-1.18.0rc1-cp37-cp37m-win_amd64.whl
eea97481a22b8ec1b486fe8dfcc4bbe4 numpy-1.18.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
a7ecc50638b65934388803e0c16e01ab numpy-1.18.0rc1-cp38-cp38-manylinux1_i686.whl
9626634ff55aba4c1f7726a969ef4e76 numpy-1.18.0rc1-cp38-cp38-manylinux1_x86_64.whl
4e6e1f36860da4b1f5cbe9874b71c6fc numpy-1.18.0rc1-cp38-cp38-win32.whl
a75c35b50e1c39428ff42f6291337487 numpy-1.18.0rc1-cp38-cp38-win_amd64.whl
076bed609ce25b400c3fa028d67a0b63 numpy-1.18.0rc1.tar.gz
2708c1b940227b917c088ad3b79183bf numpy-1.18.0rc1.zip
SHA256
76d92b0b86227c6dbc3f9030b8b865f41ae04f73daa161e4e3c5566e03d6ed41 numpy-1.18.0rc1-cp35-cp35m-macosx_10_6_intel.whl
c9e73aa60166609c80f4285af8ba8b9b79e5a935df6927a174637c7c08fa8e67 numpy-1.18.0rc1-cp35-cp35m-manylinux1_i686.whl
2bc9c62dfc893626cdd50dce30f597f387c4aca11cd2cdffe3e7e06a4fe19ee6 numpy-1.18.0rc1-cp35-cp35m-manylinux1_x86_64.whl
73abd855401b9da6efb67490f4dd82226cf95f47d66b8dc9ebe4df523baaaeb2 numpy-1.18.0rc1-cp35-cp35m-win32.whl
c207646355d1d04c054d781ddcd100bbd5afc69f75f8a7623317b9db41a2015f numpy-1.18.0rc1-cp35-cp35m-win_amd64.whl
f676739da486d1c7de2d9450dafca6dee04f4d3e881b8761b795865ef1872eaf numpy-1.18.0rc1-cp36-cp36m-macosx_10_9_x86_64.whl
787781333c1d69c7c23ccd85165cca732a5f3fd9d997b8ee40829b7c0c38db86 numpy-1.18.0rc1-cp36-cp36m-manylinux1_i686.whl
e9907b5ea505dcd2cfaeb6ab08f241047ba651611f3974c9d624a7c5066ab3a6 numpy-1.18.0rc1-cp36-cp36m-manylinux1_x86_64.whl
78ca6befab03c682bcb013241801e3b750e9de9b60664e9839e5b2098b5580ee numpy-1.18.0rc1-cp36-cp36m-win32.whl
e89027b24027dade03929bc17adee23feec1f6f707f4ea366c5d5a342d4d81a1 numpy-1.18.0rc1-cp36-cp36m-win_amd64.whl
70319f4d4e0a0c94e04922aaaf8c9aca72d38b61cc69e338fb872e9ff27d94a2 numpy-1.18.0rc1-cp37-cp37m-macosx_10_9_x86_64.whl
4c51a496ec1ce170f2b5eb458c0441affc5b1fd1d7272cf322b443c90c69983a numpy-1.18.0rc1-cp37-cp37m-manylinux1_i686.whl
3701ddb007a0549c12b26e90c82d520b9c4acf801705b9334654ade2a9550b75 numpy-1.18.0rc1-cp37-cp37m-manylinux1_x86_64.whl
cbd2e1c1fb61b17eca745d7f9f6d684fd7f7817bef6454890eb6fa3e1cd4905a numpy-1.18.0rc1-cp37-cp37m-win32.whl
d7b16541a6e970d402587ff2f1cbd85753c8d982a0d5894991505fea9b81a52b numpy-1.18.0rc1-cp37-cp37m-win_amd64.whl
6beebdc222e214bbbafab8f089a65821cff6cad25b349eabb653490dc25342fd numpy-1.18.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
fa8851d10af0739adcae54acf5706953e2e45752f4a550006f6f3aff92335566 numpy-1.18.0rc1-cp38-cp38-manylinux1_i686.whl
a8081de993fd47b9cb7376935bb1781118fd2c473a0e834601e28229275f78d6 numpy-1.18.0rc1-cp38-cp38-manylinux1_x86_64.whl
c9474a8fe03ca958e6fafefee13d6b4a45ea4ed7e35261abf61899c0f599a118 numpy-1.18.0rc1-cp38-cp38-win32.whl
9b369822f7681bc36b6ba624bc8ea0a1a456a9f72b324070d89ee2856cba62be numpy-1.18.0rc1-cp38-cp38-win_amd64.whl
3e9b05aa444adbd2511e5646541cf3aa64ef7aa923d48350aa8db8099a0a3800 numpy-1.18.0rc1.tar.gz
7b0b915190cf60e691c17147f5d955e273d4c482b795a7bb168ad4a2fe2fb180 numpy-1.18.0rc1.zip
- Python
Published by charris over 6 years ago
numpy -
NumPy 1.17.4 Release Notes
This release contains fixes for bugs reported against NumPy 1.17.3 along with some build improvements. The Python versions supported in this release are 3.5-3.8.
Downstream developers should use Cython >= 0.29.13 for Python 3.8 support and OpenBLAS >= 3.7 to avoid errors on the Skylake architecture.
Highlights
- Fixed
np.random.random_integersbiased generation of 8 and 16 bit integers. - Fixed
np.einsumregression on Power9 and z/Linux. - Fixed histogram problem with signed integer arrays.
Contributors
A total of 5 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- Charles Harris
- Chris Burr +
- Matti Picus
- Qiming Sun +
- Warren Weckesser
Pull requests merged
A total of 8 pull requests were merged for this release.
- #14758: BLD: declare support for python 3.8
- #14781: BUG: random: biased samples from integers() with 8 or 16 bit...
- #14851: BUG: Fix _ctypes class circular reference. (#13808)
- #14852: BLD: add 'apt update' to shippable
- #14855: BUG: Fix
np.einsumerrors on Power9 Linux and z/Linux - #14857: BUG: lib: Fix histogram problem with signed integer arrays.
- #14858: BLD: Prevent -flto from optimising long double representation...
- #14866: MAINT: move buffer.h -> npy_buffer.h to avoid conflicts
Checksums
MD5
1d5b9a989a22e2c5d0774d9a8e19f3db numpy-1.17.4-cp35-cp35m-macosx_10_6_intel.whl
3b3fc8a8db5a026349b3ead44e755bc5 numpy-1.17.4-cp35-cp35m-manylinux1_i686.whl
bfcafd2994423e9ed8337eb4a10cc885 numpy-1.17.4-cp35-cp35m-manylinux1_x86_64.whl
8196de4edb9f37578acab2749e2af61c numpy-1.17.4-cp35-cp35m-win32.whl
71292c5b45feec7cae81a1fc6272b0e0 numpy-1.17.4-cp35-cp35m-win_amd64.whl
39cfbfdf236a20f9901b918b39e20e54 numpy-1.17.4-cp36-cp36m-macosx_10_9_x86_64.whl
8cff96c6bc944b44b7232d72244e0838 numpy-1.17.4-cp36-cp36m-manylinux1_i686.whl
d62a4e3880432bb8deec3a51bcc8a30e numpy-1.17.4-cp36-cp36m-manylinux1_x86_64.whl
aaa948d1ef36659450791229a966ed19 numpy-1.17.4-cp36-cp36m-win32.whl
e4482c52d63ab698d2e81ad71903b64b numpy-1.17.4-cp36-cp36m-win_amd64.whl
4fadb49558c6089d8f8f32d775de91ae numpy-1.17.4-cp37-cp37m-macosx_10_9_x86_64.whl
2e3a09d2aefd90856600c821db49cf99 numpy-1.17.4-cp37-cp37m-manylinux1_i686.whl
2f0527f8eedcb2b3d83912dd254356f9 numpy-1.17.4-cp37-cp37m-manylinux1_x86_64.whl
aded41f748a1dc3f71924200c3fe1bc0 numpy-1.17.4-cp37-cp37m-win32.whl
34a187a48ceb4378ac28c6951d7f8dd6 numpy-1.17.4-cp37-cp37m-win_amd64.whl
f5da7b0b94eacde2898654cfc25e8e78 numpy-1.17.4-cp38-cp38-macosx_10_9_x86_64.whl
08f4a5d6ea64c3f1f22ff9e4da4b55dd numpy-1.17.4-cp38-cp38-manylinux1_i686.whl
bafe3eb23ae8cb6f062e55c7aab52a98 numpy-1.17.4-cp38-cp38-manylinux1_x86_64.whl
0f1add30eb00bf40e5456e8ab10b5342 numpy-1.17.4-cp38-cp38-win32.whl
11649cda484b4d0d4426c3dab2c8ed5f numpy-1.17.4-cp38-cp38-win_amd64.whl
9147c3ee75e58d657b5b8b5a4f3564e0 numpy-1.17.4.tar.gz
d7d3563cca0b99ba68a3f064a9e46ebe numpy-1.17.4.zip
SHA256
ede47b98de79565fcd7f2decb475e2dcc85ee4097743e551fe26cfc7eb3ff143 numpy-1.17.4-cp35-cp35m-macosx_10_6_intel.whl
43bb4b70585f1c2d153e45323a886839f98af8bfa810f7014b20be714c37c447 numpy-1.17.4-cp35-cp35m-manylinux1_i686.whl
c7354e8f0eca5c110b7e978034cd86ed98a7a5ffcf69ca97535445a595e07b8e numpy-1.17.4-cp35-cp35m-manylinux1_x86_64.whl
64874913367f18eb3013b16123c9fed113962e75d809fca5b78ebfbb73ed93ba numpy-1.17.4-cp35-cp35m-win32.whl
6ca4000c4a6f95a78c33c7dadbb9495c10880be9c89316aa536eac359ab820ae numpy-1.17.4-cp35-cp35m-win_amd64.whl
75fd817b7061f6378e4659dd792c84c0b60533e867f83e0d1e52d5d8e53df88c numpy-1.17.4-cp36-cp36m-macosx_10_9_x86_64.whl
7d81d784bdbed30137aca242ab307f3e65c8d93f4c7b7d8f322110b2e90177f9 numpy-1.17.4-cp36-cp36m-manylinux1_i686.whl
fe39f5fd4103ec4ca3cb8600b19216cd1ff316b4990f4c0b6057ad982c0a34d5 numpy-1.17.4-cp36-cp36m-manylinux1_x86_64.whl
e467c57121fe1b78a8f68dd9255fbb3bb3f4f7547c6b9e109f31d14569f490c3 numpy-1.17.4-cp36-cp36m-win32.whl
8d0af8d3664f142414fd5b15cabfd3b6cc3ef242a3c7a7493257025be5a6955f numpy-1.17.4-cp36-cp36m-win_amd64.whl
9679831005fb16c6df3dd35d17aa31dc0d4d7573d84f0b44cc481490a65c7725 numpy-1.17.4-cp37-cp37m-macosx_10_9_x86_64.whl
acbf5c52db4adb366c064d0b7c7899e3e778d89db585feadd23b06b587d64761 numpy-1.17.4-cp37-cp37m-manylinux1_i686.whl
3d52298d0be333583739f1aec9026f3b09fdfe3ddf7c7028cb16d9d2af1cca7e numpy-1.17.4-cp37-cp37m-manylinux1_x86_64.whl
475963c5b9e116c38ad7347e154e5651d05a2286d86455671f5b1eebba5feb76 numpy-1.17.4-cp37-cp37m-win32.whl
0c0763787133dfeec19904c22c7e358b231c87ba3206b211652f8cbe1241deb6 numpy-1.17.4-cp37-cp37m-win_amd64.whl
683828e50c339fc9e68720396f2de14253992c495fdddef77a1e17de55f1decc numpy-1.17.4-cp38-cp38-macosx_10_9_x86_64.whl
e2e9d8c87120ba2c591f60e32736b82b67f72c37ba88a4c23c81b5b8fa49c018 numpy-1.17.4-cp38-cp38-manylinux1_i686.whl
a8f67ebfae9f575d85fa859b54d3bdecaeece74e3274b0b5c5f804d7ca789fe1 numpy-1.17.4-cp38-cp38-manylinux1_x86_64.whl
0a7a1dd123aecc9f0076934288ceed7fd9a81ba3919f11a855a7887cbe82a02f numpy-1.17.4-cp38-cp38-win32.whl
ada4805ed51f5bcaa3a06d3dd94939351869c095e30a2b54264f5a5004b52170 numpy-1.17.4-cp38-cp38-win_amd64.whl
fb0415475e673cb9a6dd816df999e0ab9f86fa3af2b1770944e7288d2bea4ac9 numpy-1.17.4.tar.gz
f58913e9227400f1395c7b800503ebfdb0772f1c33ff8cb4d6451c06cabdf316 numpy-1.17.4.zip
- Python
Published by charris over 6 years ago
numpy -
NumPy 1.17.3 Release Notes
This release contains fixes for bugs reported against NumPy 1.17.2 along with a some documentation improvements. The Python versions supported in this release are 3.5-3.8.
Downstream developers should use Cython >= 0.29.13 for Python 3.8 support and OpenBLAS >= 3.7 to avoid errors on the Skylake architecture.
Highlights
- Wheels for Python 3.8
- Boolean
matmulfixed to use booleans instead of integers.
Compatibility notes
- The seldom used
PyArray_DescrCheckmacro has been changed/fixed.
Contributors
A total of 7 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- Allan Haldane
- Charles Harris
- Kevin Sheppard
- Matti Picus
- Ralf Gommers
- Sebastian Berg
- Warren Weckesser
Pull requests merged
A total of 12 pull requests were merged for this release.
- #14456: MAINT: clean up pocketfft modules inside numpy.fft namespace.
- #14463: BUG: random.hypergeometic assumes npylong is npyint64, hung...
- #14502: BUG: random: Revert gh-14458 and refix gh-14557.
- #14504: BUG: add a specialized loop for boolean matmul.
- #14506: MAINT: Update pytest version for Python 3.8
- #14512: DOC: random: fix doc linking, was referencing private submodules.
- #14513: BUG,MAINT: Some fixes and minor cleanup based on clang analysis
- #14515: BUG: Fix randint when range is 2**32
- #14519: MAINT: remove the entropy c-extension module
- #14563: DOC: remove note about Pocketfft license file (non-existing here).
- #14578: BUG: random: Create a legacy implementation of random.binomial.
- #14687: BUG: properly define PyArray_DescrCheck
Checksums
MD5
7e96dd5ca587fa647d21628072f08751 numpy-1.17.3-cp35-cp35m-macosx_10_6_intel.whl
f5fd3a434d9e426c9f01ca5669e84973 numpy-1.17.3-cp35-cp35m-manylinux1_i686.whl
d4520794f05e6466a1064e046b4ade2c numpy-1.17.3-cp35-cp35m-manylinux1_x86_64.whl
67967e337b8378c92af9c2b6926b6dcd numpy-1.17.3-cp35-cp35m-win32.whl
341b29b85c5305edd3f5ca9d9981f1b4 numpy-1.17.3-cp35-cp35m-win_amd64.whl
7d9492ee0fbe8292518af104772bcee0 numpy-1.17.3-cp36-cp36m-macosx_10_9_x86_64.whl
b0f1a9b0da552e2baa2e6db4668efee8 numpy-1.17.3-cp36-cp36m-manylinux1_i686.whl
8b9c50124ae13279e9969fc0cf3b5e5f numpy-1.17.3-cp36-cp36m-manylinux1_x86_64.whl
428766619877efec34ba224d9252396c numpy-1.17.3-cp36-cp36m-win32.whl
a2fd25bf087e7765a4322ef3fa7f87b6 numpy-1.17.3-cp36-cp36m-win_amd64.whl
98eb0ec4fe00f9f3309f2e523e76e36e numpy-1.17.3-cp37-cp37m-macosx_10_9_x86_64.whl
415f086791be02d658a2800fa25874e4 numpy-1.17.3-cp37-cp37m-manylinux1_i686.whl
3f5fd3e63dc84db7dd3745b007faea46 numpy-1.17.3-cp37-cp37m-manylinux1_x86_64.whl
3f7ba813f7318d9671da66c610ab1e91 numpy-1.17.3-cp37-cp37m-win32.whl
deb55760769373ad1da9844df8b9c865 numpy-1.17.3-cp37-cp37m-win_amd64.whl
964b1cdad1cf20c63461246fe0638956 numpy-1.17.3-cp38-cp38-macosx_10_9_x86_64.whl
ece34643fc0c42801a8d3a53708f09ed numpy-1.17.3-cp38-cp38-manylinux1_i686.whl
081fd68219088577857ebd265e963d1e numpy-1.17.3-cp38-cp38-manylinux1_x86_64.whl
a231efeb2cfe69cf94764ccecba73d50 numpy-1.17.3-cp38-cp38-win32.whl
1c548f96188826e6999d3ba3fde99cf9 numpy-1.17.3-cp38-cp38-win_amd64.whl
48d6d97d6037eb8e171064a850b53aab numpy-1.17.3.tar.gz
a3195ccbbd97b0366f0c46e36a62717a numpy-1.17.3.zip
SHA256
4dd830a11e8724c9c9379feed1d1be43113f8bcce55f47ea7186d3946769ce26 numpy-1.17.3-cp35-cp35m-macosx_10_6_intel.whl
30c84e3a62cfcb9e3066f25226e131451312a044f1fe2040e69ce792cb7de418 numpy-1.17.3-cp35-cp35m-manylinux1_i686.whl
9395b0a41e8b7e9a284e3be7060db9d14ad80273841c952c83a5afc241d2bd98 numpy-1.17.3-cp35-cp35m-manylinux1_x86_64.whl
9e37c35fc4e9410093b04a77d11a34c64bf658565e30df7cbe882056088a91c1 numpy-1.17.3-cp35-cp35m-win32.whl
de2b1c20494bdf47f0160bd88ed05f5e48ae5dc336b8de7cfade71abcc95c0b9 numpy-1.17.3-cp35-cp35m-win_amd64.whl
669795516d62f38845c7033679c648903200980d68935baaa17ac5c7ae03ae0c numpy-1.17.3-cp36-cp36m-macosx_10_9_x86_64.whl
4650d94bb9c947151737ee022b934b7d9a845a7c76e476f3e460f09a0c8c6f39 numpy-1.17.3-cp36-cp36m-manylinux1_i686.whl
4f2a2b279efde194877aff1f76cf61c68e840db242a5c7169f1ff0fd59a2b1e2 numpy-1.17.3-cp36-cp36m-manylinux1_x86_64.whl
ffca69e29079f7880c5392bf675eb8b4146479d976ae1924d01cd92b04cccbcc numpy-1.17.3-cp36-cp36m-win32.whl
2e418f0a59473dac424f888dd57e85f77502a593b207809211c76e5396ae4f5c numpy-1.17.3-cp36-cp36m-win_amd64.whl
75fcd60d682db3e1f8fbe2b8b0c6761937ad56d01c1dc73edf4ef2748d5b6bc4 numpy-1.17.3-cp37-cp37m-macosx_10_9_x86_64.whl
28b1180c758abf34a5c3fea76fcee66a87def1656724c42bb14a6f9717a5bdf7 numpy-1.17.3-cp37-cp37m-manylinux1_i686.whl
dd0667f5be56fb1b570154c2c0516a528e02d50da121bbbb2cbb0b6f87f59bc2 numpy-1.17.3-cp37-cp37m-manylinux1_x86_64.whl
25ffe71f96878e1da7e014467e19e7db90ae7d4e12affbc73101bcf61785214e numpy-1.17.3-cp37-cp37m-win32.whl
0b0dd8f47fb177d00fa6ef2d58783c4f41ad3126b139c91dd2f7c4b3fdf5e9a5 numpy-1.17.3-cp37-cp37m-win_amd64.whl
62d22566b3e3428dfc9ec972014c38ed9a4db4f8969c78f5414012ccd80a149e numpy-1.17.3-cp38-cp38-macosx_10_9_x86_64.whl
26efd7f7d755e6ca966a5c0ac5a930a87dbbaab1c51716ac26a38f42ecc9bc4b numpy-1.17.3-cp38-cp38-manylinux1_i686.whl
b46554ad4dafb2927f88de5a1d207398c5385edbb5c84d30b3ef187c4a3894d8 numpy-1.17.3-cp38-cp38-manylinux1_x86_64.whl
c867eeccd934920a800f65c6068acdd6b87e80d45cd8c8beefff783b23cdc462 numpy-1.17.3-cp38-cp38-win32.whl
f1df7b2b7740dd777571c732f98adb5aad5450aee32772f1b39249c8a50386f6 numpy-1.17.3-cp38-cp38-win_amd64.whl
c93733dbebc2599d2747ceac4b18825a73767d289176ed8e02090325656d69aa numpy-1.17.3.tar.gz
a0678793096205a4d784bd99f32803ba8100f639cf3b932dc63b21621390ea7e numpy-1.17.3.zip
- Python
Published by charris over 6 years ago
numpy -
NumPy 1.17.2 Release Notes
This release contains fixes for bugs reported against NumPy 1.17.1 along with a some documentation improvements. The most important fix is for lexsort when the keys are of type (u)int8 or (u)int16. If you are currently using 1.17 you should upgrade.
The Python versions supported in this release are 3.5-3.7, Python 2.7 has been dropped. Python 3.8b4 should work with the released source packages, but there are no future guarantees.
Downstream developers should use Cython >= 0.29.13 for Python 3.8 support and OpenBLAS >= 3.7 to avoid errors on the Skylake architecture. The NumPy wheels on PyPI are built from the OpenBLAS development branch in order to avoid those errors.
Contributors
A total of 7 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- CakeWithSteak +
- Charles Harris
- Dan Allan
- Hameer Abbasi
- Lars Grueter
- Matti Picus
- Sebastian Berg
Pull requests merged
A total of 8 pull requests were merged for this release.
- #14418: BUG: Fix aradixsort indirect indexing.
- #14420: DOC: Fix a minor typo in dispatch documentation.
- #14421: BUG: test, fix regression in converting to ctypes
- #14430: BUG: Do not show Override module in private error classes.
- #14432: BUG: Fixed maximum relative error reporting in assert_allclose.
- #14433: BUG: Fix uint-overflow if padding with linear_ramp and negative...
- #14436: BUG: Update 1.17.x with 1.18.0-dev pocketfft.py.
- #14446: REL: Prepare for NumPy 1.17.2 release.
Checksums
MD5
900786591ffe811ff9ff8b3fcf9e3ff9 numpy-1.17.2-cp35-cp35m-macosx_10_6_intel.whl
307df8c629637865205276f0e48cbe53 numpy-1.17.2-cp35-cp35m-manylinux1_i686.whl
279b286a569bacba85dfe44d86ed9767 numpy-1.17.2-cp35-cp35m-manylinux1_x86_64.whl
0bc93e932b32408cceb5579f074e30a9 numpy-1.17.2-cp35-cp35m-win32.whl
b963be3cae47b66b2c8b433d34cb93d1 numpy-1.17.2-cp35-cp35m-win_amd64.whl
3eed381285a43bd23d7c568c6c165ec9 numpy-1.17.2-cp36-cp36m-macosx_10_6_intel.whl
0a6d7616b5ed35d65a58c6a61256afb0 numpy-1.17.2-cp36-cp36m-manylinux1_i686.whl
5b5a2f0bc6f01c1ae2c831fbfd8c8b06 numpy-1.17.2-cp36-cp36m-manylinux1_x86_64.whl
8f166ccebf19a8c9c6ac00c8d93ba566 numpy-1.17.2-cp36-cp36m-win32.whl
406fc90887f6af60f2edf229b2cfb2cf numpy-1.17.2-cp36-cp36m-win_amd64.whl
a82da3fd77787c73cae9057f63e3b666 numpy-1.17.2-cp37-cp37m-macosx_10_6_intel.whl
1f9b449eca275014f133872cdddf166d numpy-1.17.2-cp37-cp37m-manylinux1_i686.whl
1de9df1e07a1f2becc7925b0861d1b2d numpy-1.17.2-cp37-cp37m-manylinux1_x86_64.whl
0ae4a060c7353723c340aaf0fc655220 numpy-1.17.2-cp37-cp37m-win32.whl
a7a026ef5c54dbc295e134d04367514e numpy-1.17.2-cp37-cp37m-win_amd64.whl
68d582e09b951717b7ae1e9c0011d779 numpy-1.17.2.tar.gz
a0fffd7651e6ed4c60d94394ca6662cd numpy-1.17.2.zip
SHA256
3d0b0989dd2d066db006158de7220802899a1e5c8cf622abe2d0bd158fd01c2c numpy-1.17.2-cp35-cp35m-macosx_10_6_intel.whl
7bd355ad7496f4ce1d235e9814ec81ee3d28308d591c067ce92e49f745ba2c2f numpy-1.17.2-cp35-cp35m-manylinux1_i686.whl
7d077f2976b8f3de08a0dcf5d72083f4af5411e8fddacd662aae27baa2601196 numpy-1.17.2-cp35-cp35m-manylinux1_x86_64.whl
05dbfe72684cc14b92568de1bc1f41e5f62b00f714afc9adee42f6311738091f numpy-1.17.2-cp35-cp35m-win32.whl
f4a4f6aba148858a5a5d546a99280f71f5ee6ec8182a7d195af1a914195b21a2 numpy-1.17.2-cp35-cp35m-win_amd64.whl
ee8e9d7cad5fe6dde50ede0d2e978d81eafeaa6233fb0b8719f60214cf226578 numpy-1.17.2-cp36-cp36m-macosx_10_6_intel.whl
438a3f0e7b681642898fd7993d38e2bf140a2d1eafaf3e89bb626db7f50db355 numpy-1.17.2-cp36-cp36m-manylinux1_i686.whl
b458de8624c9f6034af492372eb2fee41a8e605f03f4732f43fc099e227858b2 numpy-1.17.2-cp36-cp36m-manylinux1_x86_64.whl
0d82cb7271a577529d07bbb05cb58675f2deb09772175fab96dc8de025d8ac05 numpy-1.17.2-cp36-cp36m-win32.whl
12322df2e21f033a60c80319c25011194cd2a21294cc66fee0908aeae2c27832 numpy-1.17.2-cp36-cp36m-win_amd64.whl
e70fc8ff03a961f13363c2c95ef8285e0cf6a720f8271836f852cc0fa64e97c8 numpy-1.17.2-cp37-cp37m-macosx_10_6_intel.whl
a4092682778dc48093e8bda8d26ee8360153e2047826f95a3f5eae09f0ae3abf numpy-1.17.2-cp37-cp37m-manylinux1_i686.whl
10132aa1fef99adc85a905d82e8497a580f83739837d7cbd234649f2e9b9dc58 numpy-1.17.2-cp37-cp37m-manylinux1_x86_64.whl
16f19b3aa775dddc9814e02a46b8e6ae6a54ed8cf143962b4e53f0471dbd7b16 numpy-1.17.2-cp37-cp37m-win32.whl
5fd214f482ab53f2cea57414c5fb3e58895b17df6e6f5bca5be6a0bb6aea23bb numpy-1.17.2-cp37-cp37m-win_amd64.whl
81a4f748dcfa80a7071ad8f3d9f8edb9f8bc1f0a9bdd19bfd44fd42c02bd286c numpy-1.17.2.tar.gz
73615d3edc84dd7c4aeb212fa3748fb83217e00d201875a47327f55363cef2df numpy-1.17.2.zip
- Python
Published by charris over 6 years ago
numpy -
NumPy 1.16.5 Release Notes
The NumPy 1.16.5 release fixes bugs reported against the 1.16.4 release, and also backports several enhancements from master that seem appropriate for a release series that is the last to support Python 2.7. The wheels on PyPI are linked with OpenBLAS v0.3.7-dev, which should fix errors on Skylake series cpus.
Downstream developers building this release should use Cython >= 0.29.2 and, if using OpenBLAS, OpenBLAS >= v0.3.7. The supported Python versions are 2.7 and 3.5-3.7.
Contributors
A total of 18 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- Alexander Shadchin
- Allan Haldane
- Bruce Merry +
- Charles Harris
- Colin Snyder +
- Dan Allan +
- Emile +
- Eric Wieser
- Grey Baker +
- Maksim Shabunin +
- Marten van Kerkwijk
- Matti Picus
- Peter Andreas Entschev +
- Ralf Gommers
- Richard Harris +
- Sebastian Berg
- Sergei Lebedev +
- Stephan Hoyer
Pull requests merged
A total of 23 pull requests were merged for this release.
- #13742: ENH: Add project URLs to setup.py
- #13823: TEST, ENH: fix tests and ctypes code for PyPy
- #13845: BUG: use npy_intp instead of int for indexing array
- #13867: TST: Ignore DeprecationWarning during nose imports
- #13905: BUG: Fix use-after-free in boolean indexing
- #13933: MAINT/BUG/DOC: Fix errors in addnewdocs
- #13984: BUG: fix byte order reversal for datetime64[ns]
- #13994: MAINT,BUG: Use nbytes to also catch empty descr during allocation
- #14042: BUG: np.array cleared errors occured in PyMemoryView_FromObject
- #14043: BUG: Fixes for Undefined Behavior Sanitizer (UBSan) errors.
- #14044: BUG: ensure that casting to/from structured is properly checked.
- #14045: MAINT: fix histogram*d dispatchers
- #14046: BUG: further fixup to histogram2d dispatcher.
- #14052: BUG: Replace contextlib.suppress for Python 2.7
- #14056: BUG: fix compilation of 3rd party modules with PyLIMITEDAPI...
- #14057: BUG: Fix memory leak in dtype from dict contructor
- #14058: DOC: Document array_function at a higher level.
- #14084: BUG, DOC: add new recfunctions to
__all__ - #14162: BUG: Remove stray print that causes a SystemError on python 3.7
- #14297: TST: Pin pytest version to 5.0.1.
- #14322: ENH: Enable huge pages in all Linux builds
- #14346: BUG: fix behavior of structuredtounstructured on non-trivial...
- #14382: REL: Prepare for the NumPy 1.16.5 release.
Checksums
MD5
cf7ff97464eb044cb49618be5fe29aee numpy-1.16.5-cp27-cp27m-macosx_10_9_x86_64.whl
6fbf51644f8722fa90276c04fe3d031f numpy-1.16.5-cp27-cp27m-manylinux1_i686.whl
df4ab8600495131e44ad1b173f6cc9fc numpy-1.16.5-cp27-cp27m-manylinux1_x86_64.whl
2f6fd50a02da9d56e3d950a6b738337e numpy-1.16.5-cp27-cp27m-win32.whl
d36b67522ee102b7865a83b26a1d97aa numpy-1.16.5-cp27-cp27m-win_amd64.whl
5b4f83c092257f6c98bedd44505e7b6d numpy-1.16.5-cp27-cp27mu-manylinux1_i686.whl
d6fd33607099abdea62752cf303a1763 numpy-1.16.5-cp27-cp27mu-manylinux1_x86_64.whl
fa48e45bd3e5dbac923296b039e70706 numpy-1.16.5-cp35-cp35m-macosx_10_9_x86_64.whl
85a7db0c597037cced7ab82c0f0cdcc8 numpy-1.16.5-cp35-cp35m-manylinux1_i686.whl
401e053e98faada4bc8cdcc9b04d619f numpy-1.16.5-cp35-cp35m-manylinux1_x86_64.whl
2912ba9109dca60115dba59606cac27b numpy-1.16.5-cp35-cp35m-win32.whl
756b7ff320ef821f2cd279c5df7c9f46 numpy-1.16.5-cp35-cp35m-win_amd64.whl
2ae22b506a07575a4bc6a91d2db25df5 numpy-1.16.5-cp36-cp36m-macosx_10_9_x86_64.whl
12cbf61ed2abec3f77cfa3a46b7e4bdc numpy-1.16.5-cp36-cp36m-manylinux1_i686.whl
ab726a4244e9e070cde814d8415cff4c numpy-1.16.5-cp36-cp36m-manylinux1_x86_64.whl
752e461d193b7049e25c7e20f7d4808a numpy-1.16.5-cp36-cp36m-win32.whl
2712434cdfb27a301c49cf97eee656d5 numpy-1.16.5-cp36-cp36m-win_amd64.whl
394fee86faa235dea6d2bb6270961266 numpy-1.16.5-cp37-cp37m-macosx_10_9_x86_64.whl
0713da36acc884897f76bc8117ca7a42 numpy-1.16.5-cp37-cp37m-manylinux1_i686.whl
7856a32b3b2d93d018d2ba5dce941ffa numpy-1.16.5-cp37-cp37m-manylinux1_x86_64.whl
33b7fd0d727c9f09d61879afde8096f6 numpy-1.16.5-cp37-cp37m-win32.whl
5287ce297cd8093463bb29bef42db103 numpy-1.16.5-cp37-cp37m-win_amd64.whl
f9c22f53f17e81b25af8e53b026a9831 numpy-1.16.5.tar.gz
adaad8c166cf0344af3ca1a664dd4a38 numpy-1.16.5.zip
SHA256
37fdd3bb05caaaacac58015cfa38e38b006ee9cef1eaacdb70bb68c16ac7db1d numpy-1.16.5-cp27-cp27m-macosx_10_9_x86_64.whl
f42e21d8db16315bc30b437bff63d6b143befb067b8cd396fa3ef17f1c21e1a0 numpy-1.16.5-cp27-cp27m-manylinux1_i686.whl
4208b225ae049641a7a99ab92e84ce9d642ded8250d2b6c9fd61a7fa8c072561 numpy-1.16.5-cp27-cp27m-manylinux1_x86_64.whl
4d790e2a37aa3350667d8bb8acc919010c7e46234c3d615738564ddc6d22026f numpy-1.16.5-cp27-cp27m-win32.whl
1594aec94e4896e0688f4f405481fda50fb70547000ae71f2e894299a088a661 numpy-1.16.5-cp27-cp27m-win_amd64.whl
2c5a556272c67566e8f4607d1c78ad98e954fa6c32802002a4a0b029ad8dd759 numpy-1.16.5-cp27-cp27mu-manylinux1_i686.whl
3a96e59f61c7a8f8838d0f4d19daeba551c5f07c5cdd5c81e8e9d4089ade0042 numpy-1.16.5-cp27-cp27mu-manylinux1_x86_64.whl
612297115bade249a118616c065597ff2e5e1f47ed220d7ba71f3e6c6ebcd814 numpy-1.16.5-cp35-cp35m-macosx_10_9_x86_64.whl
dbc9e9a6a5e0c4f57498855d4e30ef8b599c0ce13fdf9d64299197508d67d9e8 numpy-1.16.5-cp35-cp35m-manylinux1_i686.whl
fada0492dd35412cd96e0578677e9a4bdae8f102ef2b631301fcf19066b57119 numpy-1.16.5-cp35-cp35m-manylinux1_x86_64.whl
ada1a1cd68b9874fa480bd287438f92bd7ce88ca0dd6e8d56c70f2b3dab97314 numpy-1.16.5-cp35-cp35m-win32.whl
27aa457590268cb059c47daa8c55f48c610ce81da8a062ec117f74efa9124ec9 numpy-1.16.5-cp35-cp35m-win_amd64.whl
03b28330253904d410c3c82d66329f29645eb54a7345cb7dd7a1529d61fa603f numpy-1.16.5-cp36-cp36m-macosx_10_9_x86_64.whl
911d91ffc6688db0454d69318584415f7dfb0fc1b8ac9b549234e39495684230 numpy-1.16.5-cp36-cp36m-manylinux1_i686.whl
ceb353e3ae840ce76256935b18c17236ca808509f231f41d5173d7b2680d5e77 numpy-1.16.5-cp36-cp36m-manylinux1_x86_64.whl
e6ce7c0051ed5443f8343da2a14580aa438822ae6526900332c4564f371d2aaf numpy-1.16.5-cp36-cp36m-win32.whl
9a2b950bca9faca0145491ae9fd214c432f2b1e36783399bc2c3732e7bcc94f4 numpy-1.16.5-cp36-cp36m-win_amd64.whl
00836128feaf9a7c7fedeea05ad593e7965f523d23fe3ffbf20cfffd88e9f2b1 numpy-1.16.5-cp37-cp37m-macosx_10_9_x86_64.whl
3d6a354bb1a1ce2cabd47e0bdcf25364322fb55a29efb59f76944d7ee546d8b6 numpy-1.16.5-cp37-cp37m-manylinux1_i686.whl
f7fb27c0562206787011cf299c03f663c604b58a35a9c2b5218ba6485a17b145 numpy-1.16.5-cp37-cp37m-manylinux1_x86_64.whl
46469e7fcb689036e72ce61c3d432ed35eb4c71b5119e894845b434b0fae5813 numpy-1.16.5-cp37-cp37m-win32.whl
fb207362394567343d84c0462ec3ba203a21c78be9a0fdbb94982e76859ec37e numpy-1.16.5-cp37-cp37m-win_amd64.whl
2b63c414fb43a4f0cb69b29b7e9d48275af0dbb5b1ffd2f2de99c4df9967e151 numpy-1.16.5.tar.gz
8bb452d94e964b312205b0de1238dd7209da452343653ab214b5d681780e7a0c numpy-1.16.5.zip
- Python
Published by charris almost 7 years ago
numpy -
NumPy 1.17.1 Release Notes
This release contains a number of fixes for bugs reported against NumPy 1.17.0 along with a few documentation and build improvements. The Python versions supported are 3.5-3.7, note that Python 2.7 has been dropped. Python 3.8b3 should work with the released source packages, but there are no future guarantees.
Downstream developers should use Cython >= 0.29.13 for Python 3.8 support and OpenBLAS >= 3.7 to avoid problems on the Skylake architecture. The NumPy wheels on PyPI are built from the OpenBLAS development branch in order to avoid those problems.
Contributors
A total of 17 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- Alexander Jung +
- Allan Haldane
- Charles Harris
- Eric Wieser
- Giuseppe Cuccu +
- Hiroyuki V. Yamazaki
- Jérémie du Boisberranger
- Kmol Yuan +
- Matti Picus
- Max Bolingbroke +
- Maxwell Aladago +
- Oleksandr Pavlyk
- Peter Andreas Entschev
- Sergei Lebedev
- Seth Troisi +
- Vladimir Pershin +
- Warren Weckesser
Pull requests merged
A total of 24 pull requests were merged for this release.
- #14156: TST: Allow fuss in testing strided/non-strided exp/log loops
- #14157: BUG: avx2scalefps must be static
- #14158: BUG: Remove stray print that causes a SystemError on python 3.7.
- #14159: BUG: Fix DeprecationWarning in python 3.8.
- #14160: BLD: Add missing gcd/lcm definitions to npy_math.h
- #14161: DOC, BUILD: cleanups and fix (again) 'build dist'
- #14166: TST: Add 3.8-dev to travisCI testing.
- #14194: BUG: Remove the broken clip wrapper (Backport)
- #14198: DOC: Fix hermitian argument docs in svd.
- #14199: MAINT: Workaround for Intel compiler bug leading to failing test
- #14200: TST: Clean up of test_pocketfft.py
- #14201: BUG: Make advanced indexing result on read-only subclass writeable...
- #14236: BUG: Fixed default BitGenerator name
- #14237: ENH: add c-imported modules for freeze analysis in np.random
- #14296: TST: Pin pytest version to 5.0.1
- #14301: BUG: Fix leak in the f2py-generated module init and
PyMem_Del... - #14302: BUG: Fix formatting error in exception message
- #14307: MAINT: random: Match type of SeedSequence.poolsize to DEFAULTPOOL_SIZE.
- #14308: BUG: Fix numpy.random bug in platform detection
- #14309: ENH: Enable huge pages in all Linux builds
- #14330: BUG: Fix segfault in
random.permutation(x)when x is a string. - #14338: BUG: don't fail when lexsorting some empty arrays (#14228)
- #14339: BUG: Fix misuse of .names and .fields in various places (backport...
- #14345: BUG: fix behavior of structuredtounstructured on non-trivial...
- #14350: REL: Prepare 1.17.1 release
Checksums
MD5
99708c771ef1efe283ecfd6e30698e1a numpy-1.17.1-cp35-cp35m-macosx_10_9_x86_64.whl
5547039914b3f9541137e8cd9fab57c7 numpy-1.17.1-cp35-cp35m-manylinux1_i686.whl
b24c5726f07d5f71d244baaa513af920 numpy-1.17.1-cp35-cp35m-manylinux1_x86_64.whl
55070ccaeabbe5036c5a577f4e4cc2b0 numpy-1.17.1-cp35-cp35m-win32.whl
086a59eab8e5b8ebbf10755b8a2db677 numpy-1.17.1-cp35-cp35m-win_amd64.whl
a7d523ddbe70107016026da5474b7245 numpy-1.17.1-cp36-cp36m-macosx_10_9_x86_64.whl
794d982a831762918eba7fa5cf8f16e8 numpy-1.17.1-cp36-cp36m-manylinux1_i686.whl
c50ee655b018c315e75a8cb40c771225 numpy-1.17.1-cp36-cp36m-manylinux1_x86_64.whl
e1b9c4c90df2b84674dbd6c3875d44b1 numpy-1.17.1-cp36-cp36m-win32.whl
0799ddcbb5d28d789d613558bce33b30 numpy-1.17.1-cp36-cp36m-win_amd64.whl
7e723a8f451eaa091f09a4df09bdf776 numpy-1.17.1-cp37-cp37m-macosx_10_9_x86_64.whl
c4c09c737c19d86829e4f2268d2c8991 numpy-1.17.1-cp37-cp37m-manylinux1_i686.whl
c711188365a7677334ddc754778d4822 numpy-1.17.1-cp37-cp37m-manylinux1_x86_64.whl
dddef61754e2ddb46cce6a1656d35eb4 numpy-1.17.1-cp37-cp37m-win32.whl
5e022462aedaac5e9d7f5b09a8f7e3bb numpy-1.17.1-cp37-cp37m-win_amd64.whl
b2260d650bc28c846e18b7c29a089953 numpy-1.17.1.tar.gz
cad292965675fbe8d5fbae3009ab8b58 numpy-1.17.1.zip
SHA256
078c8025da5ab9e8657edc9c2a1e9642e06e953bc7baa2e65c1aa9d9dfb7e98b numpy-1.17.1-cp35-cp35m-macosx_10_9_x86_64.whl
a3f6b3024f8826d8b1490e6e2a9b99e841cd2c375791b1df62991bd8f4c00b89 numpy-1.17.1-cp35-cp35m-manylinux1_i686.whl
bede70fd8699695363f39e86c1e869b2c8b74fb5ef135a67b9e1eeebff50322a numpy-1.17.1-cp35-cp35m-manylinux1_x86_64.whl
1c841033f4fe6801648180c3033c45b3235a8bbd09bc7249010f99ea27bb6790 numpy-1.17.1-cp35-cp35m-win32.whl
03f2ebcbffcce2dec8860633b89a93e80c6a239d21a77ae8b241450dc21e8c35 numpy-1.17.1-cp35-cp35m-win_amd64.whl
c304b2221f33489cd15a915237a84cdfe9420d7e4d4828c78a0820f9d990395c numpy-1.17.1-cp36-cp36m-macosx_10_9_x86_64.whl
0fbfa98c5d5c3c6489cc1e852ec94395d51f35d9ebe70c6850e47f465038cdf4 numpy-1.17.1-cp36-cp36m-manylinux1_i686.whl
fb6178b0488b0ce6a54bc4accbdf5225e937383586555604155d64773f6beb2b numpy-1.17.1-cp36-cp36m-manylinux1_x86_64.whl
2c0984a01ddd0aeec89f0ce46ef21d64761048cd76c0074d0658c91f9131f154 numpy-1.17.1-cp36-cp36m-win32.whl
8c2d98d0623bd63fb883b65256c00454d5f53127a5a7bcdaa8bdc582814e8cb4 numpy-1.17.1-cp36-cp36m-win_amd64.whl
8cb4b6ae45aad6d26712a1ce0a3f2556c5e1484867f9649e03496e45d6a5eba4 numpy-1.17.1-cp37-cp37m-macosx_10_9_x86_64.whl
4c166dcb0fff7cb3c0bbc682dfb5061852a2547efb6222e043a7932828c08fb5 numpy-1.17.1-cp37-cp37m-manylinux1_i686.whl
93050e73c446c82065b7410221b07682e475ac51887cd9368227a5d944afae80 numpy-1.17.1-cp37-cp37m-manylinux1_x86_64.whl
fa5f2a8ef1e07ba258dc07d4dd246de23ef4ab920ae0f3fa2a1cc5e90f0f1888 numpy-1.17.1-cp37-cp37m-win32.whl
fd5e830d4dc31658d61a6452cd3e842213594d8c15578cdae6829e36ad9c0930 numpy-1.17.1-cp37-cp37m-win_amd64.whl
24d479ebc92f2d1c739622568f0e4d1382c6bf9778505146a370c8e2f5749839 numpy-1.17.1.tar.gz
f11331530f0eff69a758d62c2461cd98cdc2eae0147279d8fc86e0464eb7e8ca numpy-1.17.1.zip
- Python
Published by charris almost 7 years ago
numpy -
NumPy 1.17.0 Release Notes
This NumPy release contains a number of new features that should substantially improve its performance and usefulness, see Highlights below for a summary. The Python versions supported are 3.5-3.7, note that Python 2.7 has been dropped. Python 3.8b2 should work with the released source packages, but there are no future guarantees.
Downstream developers should use Cython >= 0.29.11 for Python 3.8 support and OpenBLAS >= 3.7 (not currently out) to avoid problems on the Skylake architecture. The NumPy wheels on PyPI are built from the OpenBLAS development branch in order to avoid those problems.
Highlights
A new extensible
randommodule along with four selectablerandom number generators <random.BitGenerators>and improved seeding designed for use in parallel processes has been added. The currently available bit generators areMT19937 <random.mt19937.MT19937>,PCG64 <random.pcg64.PCG64>,Philox <random.philox.Philox>, andSFC64 <random.sfc64.SFC64>. See below under New Features.NumPy's
FFT <fft>implementation was changed from fftpack to pocketfft, resulting in faster, more accurate transforms and better handling of datasets of prime length. See below under Improvements.New radix sort and timsort sorting methods. It is currently not possible to choose which will be used. They are hardwired to the datatype and used when either
stableormergesortis passed as the method. See below under Improvements.Overriding numpy functions is now possible by default, see
__array_function__below.
New functions
numpy.errstateis now also a function decorator
Deprecations
numpy.polynomial functions warn when passed float in place of int
Previously functions in this module would accept float values provided they
were integral (1.0, 2.0, etc). For consistency with the rest of numpy,
doing so is now deprecated, and in future will raise a TypeError.
Similarly, passing a float like 0.5 in place of an integer will now raise a
TypeError instead of the previous ValueError.
Deprecate numpy.distutils.exec_command and temp_file_name
The internal use of these functions has been refactored and there are better
alternatives. Replace exec_command with subprocess.Popen and
temp_file_name <numpy.distutils.exec_command> with tempfile.mkstemp.
Writeable flag of C-API wrapped arrays
When an array is created from the C-API to wrap a pointer to data, the only
indication we have of the read-write nature of the data is the writeable
flag set during creation. It is dangerous to force the flag to writeable.
In the future it will not be possible to switch the writeable flag to True
from python.
This deprecation should not affect many users since arrays created in such
a manner are very rare in practice and only available through the NumPy C-API.
numpy.nonzero should no longer be called on 0d arrays
The behavior of numpy.nonzero on 0d arrays was surprising, making uses of it
almost always incorrect. If the old behavior was intended, it can be preserved
without a warning by using nonzero(atleast_1d(arr)) instead of
nonzero(arr). In a future release, it is most likely this will raise a
ValueError.
Writing to the result of numpy.broadcast_arrays will warn
Commonly numpy.broadcast_arrays returns a writeable array with internal
overlap, making it unsafe to write to. A future version will set the
writeable flag to False, and require users to manually set it to
True if they are sure that is what they want to do. Now writing to it will
emit a deprecation warning with instructions to set the writeable flag
True. Note that if one were to inspect the flag before setting it, one
would find it would already be True. Explicitly setting it, though, as one
will need to do in future versions, clears an internal flag that is used to
produce the deprecation warning. To help alleviate confusion, an additional
FutureWarning will be emitted when accessing the writeable flag state to
clarify the contradiction.
Note that for the C-side buffer protocol such an array will return a
readonly buffer immediately unless a writable buffer is requested. If
a writeable buffer is requested a warning will be given. When using
cython, the const qualifier should be used with such arrays to avoid
the warning (e.g. cdef const double[::1] view).
Future Changes
Shape-1 fields in dtypes won't be collapsed to scalars in a future version
Currently, a field specified as [(name, dtype, 1)] or "1type" is
interpreted as a scalar field (i.e., the same as [(name, dtype)] or
[(name, dtype, ()]). This now raises a FutureWarning; in a future version,
it will be interpreted as a shape-(1,) field, i.e. the same as [(name,
dtype, (1,))] or "(1,)type" (consistently with [(name, dtype, n)]
/ "ntype" with n>1, which is already equivalent to [(name, dtype,
(n,)] / "(n,)type").
Compatibility notes
float16 subnormal rounding
Casting from a different floating point precision to float16 used incorrect
rounding in some edge cases. This means in rare cases, subnormal results will
now be rounded up instead of down, changing the last bit (ULP) of the result.
Signed zero when using divmod
Starting in version 1.12.0, numpy incorrectly returned a negatively signed zero
when using the divmod and floor_divide functions when the result was
zero. For example::
```
np.zeros(10)//1 array([-0., -0., -0., -0., -0., -0., -0., -0., -0., -0.])
With this release, the result is correctly returned as a positively signed zero::np.zeros(10)//1 array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]) ```
MaskedArray.mask now returns a view of the mask, not the mask itself
Returning the mask itself was unsafe, as it could be reshaped in place which
would violate expectations of the masked array code. The behavior of mask
<ma.MaskedArray.mask> is now consistent with data <ma.MaskedArray.data>,
which also returns a view.
The underlying mask can still be accessed with ._mask if it is needed.
Tests that contain assert x.mask is not y.mask or similar will need to be
updated.
Do not lookup __buffer__ attribute in numpy.frombuffer
Looking up __buffer__ attribute in numpy.frombuffer was undocumented and
non-functional. This code was removed. If needed, use
frombuffer(memoryview(obj), ...) instead.
out is buffered for memory overlaps in take, choose, put
If the out argument to these functions is provided and has memory overlap with the other arguments, it is now buffered to avoid order-dependent behavior.
Unpickling while loading requires explicit opt-in
The functions load, and lib.format.read_array take an
allow_pickle keyword which now defaults to False in response to
CVE-2019-6446 <https://nvd.nist.gov/vuln/detail/CVE-2019-6446>_.
Potential changes to the random stream in old random module
Due to bugs in the application of log to random floating point numbers,
the stream may change when sampling from ~RandomState.beta, ~RandomState.binomial,
~RandomState.laplace, ~RandomState.logistic, ~RandomState.logseries or
~RandomState.multinomial if a 0 is generated in the underlying MT19937
<~numpy.random.mt11937.MT19937> random stream. There is a 1 in
:math:10^{53} chance of this occurring, so the probability that the stream
changes for any given seed is extremely small. If a 0 is encountered in the
underlying generator, then the incorrect value produced (either numpy.inf or
numpy.nan) is now dropped.
i0 now always returns a result with the same shape as the input
Previously, the output was squeezed, such that, e.g., input with just a single
element would lead to an array scalar being returned, and inputs with shapes
such as (10, 1) would yield results that would not broadcast against the
input.
Note that we generally recommend the SciPy implementation over the numpy one: it is a proper ufunc written in C, and more than an order of magnitude faster.
can_cast no longer assumes all unsafe casting is allowed
Previously, can_cast returned True for almost all inputs for
casting='unsafe', even for cases where casting was not possible, such as
from a structured dtype to a regular one. This has been fixed, making it
more consistent with actual casting using, e.g., the .astype <ndarray.astype>
method.
ndarray.flags.writeable can be switched to true slightly more often
In rare cases, it was not possible to switch an array from not writeable
to writeable, although a base array is writeable. This can happen if an
intermediate ndarray.base object is writeable. Previously, only the deepest
base object was considered for this decision. However, in rare cases this
object does not have the necessary information. In that case switching to
writeable was never allowed. This has now been fixed.
C API changes
dimension or stride input arguments are now passed by npy_intp const*
Previously these function arguments were declared as the more strict
npy_intp*, which prevented the caller passing constant data.
This change is backwards compatible, but now allows code like::
npy_intp const fixed_dims[] = {1, 2, 3};
// no longer complains that the const-qualifier is discarded
npy_intp size = PyArray_MultiplyList(fixed_dims, 3);
New Features
New extensible numpy.random module with selectable random number generators
A new extensible numpy.random module along with four selectable random number
generators and improved seeding designed for use in parallel processes has been
added. The currently available :ref:Bit Generators <bit_generator> are
~mt19937.MT19937, ~pcg64.PCG64, ~philox.Philox, and ~sfc64.SFC64.
PCG64 is the new default while MT19937 is retained for backwards
compatibility. Note that the legacy random module is unchanged and is now
frozen, your current results will not change. More information is available in
the :ref:API change description <new-or-different> and in the top-level view
<numpy.random> documentation.
libFLAME
Support for building NumPy with the libFLAME linear algebra package as the LAPACK,
implementation, see
libFLAME <https://www.cs.utexas.edu/~flame/web/libFLAME.html>_ for details.
User-defined BLAS detection order
distutils now uses an environment variable, comma-separated and case
insensitive, to determine the detection order for BLAS libraries.
By default NPY_BLAS_ORDER=mkl,blis,openblas,atlas,accelerate,blas.
However, to force the use of OpenBLAS simply do::
NPYBLASORDER=openblas python setup.py build
which forces the use of OpenBLAS. This may be helpful for users which have a MKL installation but wishes to try out different implementations.
User-defined LAPACK detection order
numpy.distutils now uses an environment variable, comma-separated and case
insensitive, to determine the detection order for LAPACK libraries.
By default NPY_LAPACK_ORDER=mkl,openblas,flame,atlas,accelerate,lapack.
However, to force the use of OpenBLAS simply do::
NPYLAPACKORDER=openblas python setup.py build
which forces the use of OpenBLAS. This may be helpful for users which have a MKL installation but wishes to try out different implementations.
ufunc.reduce and related functions now accept a where mask
ufunc.reduce, sum, prod, min, max all
now accept a where keyword argument, which can be used to tell which
elements to include in the reduction. For reductions that do not have an
identity, it is necessary to also pass in an initial value (e.g.,
initial=np.inf for min). For instance, the equivalent of
nansum would be np.sum(a, where=~np.isnan(a)).
Timsort and radix sort have replaced mergesort for stable sorting
Both radix sort and timsort have been implemented and are now used in place of
mergesort. Due to the need to maintain backward compatibility, the sorting
kind options "stable" and "mergesort" have been made aliases of
each other with the actual sort implementation depending on the array type.
Radix sort is used for small integer types of 16 bits or less and timsort for
the remaining types. Timsort features improved performace on data containing
already or nearly sorted data and performs like mergesort on random data and
requires :math:O(n/2) working space. Details of the timsort algorithm can be
found at CPython listsort.txt
<https://github.com/python/cpython/blob/3.7/Objects/listsort.txt>_.
packbits and unpackbits accept an order keyword
The order keyword defaults to big, and will order the bits
accordingly. For 'order=big' 3 will become [0, 0, 0, 0, 0, 0, 1, 1],
and [1, 1, 0, 0, 0, 0, 0, 0] for order=little
unpackbits now accepts a count parameter
count allows subsetting the number of bits that will be unpacked up-front,
rather than reshaping and subsetting later, making the packbits operation
invertible, and the unpacking less wasteful. Counts larger than the number of
available bits add zero padding. Negative counts trim bits off the end instead
of counting from the beginning. None counts implement the existing behavior of
unpacking everything.
linalg.svd and linalg.pinv can be faster on hermitian inputs
These functions now accept a hermitian argument, matching the one added
to linalg.matrix_rank in 1.14.0.
divmod operation is now supported for two timedelta64 operands
The divmod operator now handles two timedelta64 operands, with
type signature mm->qm.
fromfile now takes an offset argument
This function now takes an offset keyword argument for binary files,
which specifics the offset (in bytes) from the file's current position.
Defaults to 0.
New mode "empty" for pad
This mode pads an array to a desired shape without initializing the new entries.
empty_like and related functions now accept a shape argument
empty_like, full_like, ones_like and zeros_like now accept a shape
keyword argument, which can be used to create a new array
as the prototype, overriding its shape as well. This is particularly useful
when combined with the __array_function__ protocol, allowing the creation
of new arbitrary-shape arrays from NumPy-like libraries when such an array
is used as the prototype.
Floating point scalars implement as_integer_ratio to match the builtin float
This returns a (numerator, denominator) pair, which can be used to construct a
fractions.Fraction.
Structured dtype objects can be indexed with multiple fields names
arr.dtype[['a', 'b']] now returns a dtype that is equivalent to
arr[['a', 'b']].dtype, for consistency with
arr.dtype['a'] == arr['a'].dtype.
Like the dtype of structured arrays indexed with a list of fields, this dtype
has the same itemsize as the original, but only keeps a subset of the fields.
This means that arr[['a', 'b']] and arr.view(arr.dtype[['a', 'b']]) are
equivalent.
.npy files support unicode field names
A new format version of 3.0 has been introduced, which enables structured types with non-latin1 field names. This is used automatically when needed.
Improvements
Array comparison assertions include maximum differences
Error messages from array comparison tests such as
testing.assert_allclose now include "max absolute difference" and
"max relative difference," in addition to the previous "mismatch" percentage.
This information makes it easier to update absolute and relative error
tolerances.
Replacement of the fftpack based fft module by the pocketfft library
Both implementations have the same ancestor (Fortran77 FFTPACK by Paul N.
Swarztrauber), but pocketfft contains additional modifications which improve
both accuracy and performance in some circumstances. For FFT lengths containing
large prime factors, pocketfft uses Bluestein's algorithm, which maintains
:math:O(N log N) run time complexity instead of deteriorating towards
:math:O(N*N) for prime lengths. Also, accuracy for real valued FFTs with near
prime lengths has improved and is on par with complex valued FFTs.
Further improvements to ctypes support in numpy.ctypeslib
A new numpy.ctypeslib.as_ctypes_type function has been added, which can be
used to converts a dtype into a best-guess ctypes type. Thanks to this
new function, numpy.ctypeslib.as_ctypes now supports a much wider range of
array types, including structures, booleans, and integers of non-native
endianness.
numpy.errstate is now also a function decorator
Currently, if you have a function like::
def foo():
pass
and you want to wrap the whole thing in errstate, you have to rewrite it
like so::
def foo():
with np.errstate(...):
pass
but with this change, you can do::
@np.errstate(...)
def foo():
pass
thereby saving a level of indentation
numpy.exp and numpy.log speed up for float32 implementation
float32 implementation of exp and log now benefit from AVX2/AVX512
instruction set which are detected during runtime. exp has a max ulp
error of 2.52 and log has a max ulp error or 3.83.
Improve performance of numpy.pad
The performance of the function has been improved for most cases by filling in a preallocated array with the desired padded shape instead of using concatenation.
numpy.interp handles infinities more robustly
In some cases where interp would previously return nan, it now
returns an appropriate infinity.
Pathlib support for fromfile, tofile and ndarray.dump
fromfile, ndarray.ndarray.tofile and ndarray.dump now support
the pathlib.Path type for the file/fid parameter.
Specialized isnan, isinf, and isfinite ufuncs for bool and int types
The boolean and integer types are incapable of storing nan and inf values,
which allows us to provide specialized ufuncs that are up to 250x faster than
the previous approach.
isfinite supports datetime64 and timedelta64 types
Previously, isfinite used to raise a TypeError on being used on these
two types.
New keywords added to nan_to_num
nan_to_num now accepts keywords nan, posinf and neginf
allowing the user to define the value to replace the nan, positive and
negative np.inf values respectively.
MemoryErrors caused by allocated overly large arrays are more descriptive
Often the cause of a MemoryError is incorrect broadcasting, which results in a very large and incorrect shape. The message of the error now includes this shape to help diagnose the cause of failure.
floor, ceil, and trunc now respect builtin magic methods
These ufuncs now call the __floor__, __ceil__, and __trunc__
methods when called on object arrays, making them compatible with
decimal.Decimal and fractions.Fraction objects.
quantile now works on fraction.Fraction and decimal.Decimal objects
In general, this handles object arrays more gracefully, and avoids floating- point operations if exact arithmetic types are used.
Support of object arrays in matmul
It is now possible to use matmul (or the @ operator) with object arrays.
For instance, it is now possible to do::
from fractions import Fraction
a = np.array([[Fraction(1, 2), Fraction(1, 3)], [Fraction(1, 3), Fraction(1, 2)]])
b = a @ a
Changes
median and percentile family of functions no longer warn about nan
numpy.median, numpy.percentile, and numpy.quantile used to emit a
RuntimeWarning when encountering an nan. Since they return the
nan value, the warning is redundant and has been removed.
timedelta64 % 0 behavior adjusted to return NaT
The modulus operation with two np.timedelta64 operands now returns
NaT in the case of division by zero, rather than returning zero
NumPy functions now always support overrides with __array_function__
NumPy now always checks the __array_function__ method to implement overrides
of NumPy functions on non-NumPy arrays, as described in NEP 18_. The feature
was available for testing with NumPy 1.16 if appropriate environment variables
are set, but is now always enabled.
.. _NEP 18 : http://www.numpy.org/neps/nep-0018-array-function-protocol.html
lib.recfunctions.structured_to_unstructured does not squeeze single-field views
Previously structured_to_unstructured(arr[['a']]) would produce a squeezed
result inconsistent with structured_to_unstructured(arr[['a', b']]). This
was accidental. The old behavior can be retained with
structured_to_unstructured(arr[['a']]).squeeze(axis=-1) or far more simply,
arr['a'].
clip now uses a ufunc under the hood
This means that registering clip functions for custom dtypes in C via
descr->f->fastclip is deprecated - they should use the ufunc registration
mechanism instead, attaching to the np.core.umath.clip ufunc.
It also means that clip accepts where and casting arguments,
and can be override with __array_ufunc__.
A consequence of this change is that some behaviors of the old clip have
been deprecated:
- Passing
nanto mean "do not clip" as one or both bounds. This didn't work in all cases anyway, and can be better handled by passing infinities of the appropriate sign. - Using "unsafe" casting by default when an
outargument is passed. Usingcasting="unsafe"explicitly will silence this warning.
Additionally, there are some corner cases with behavior changes:
- Padding
max < minhas changed to be more consistent across dtypes, but should not be relied upon. - Scalar
minandmaxtake part in promotion rules like they do in all other ufuncs.
__array_interface__ offset now works as documented
The interface may use an offset value that was mistakenly ignored.
Pickle protocol in savez set to 3 for force zip64 flag
savez was not using the force_zip64 flag, which limited the size of
the archive to 2GB. But using the flag requires us to use pickle protocol 3 to
write object arrays. The protocol used was bumped to 3, meaning the archive
will be unreadable by Python2.
Structured arrays indexed with non-existent fields raise KeyError not ValueError
arr['bad_field'] on a structured type raises KeyError, for consistency
with dict['bad_field'].
Checksums
MD5
5ac469e3c2cd9b34c2a906d48544f491 numpy-1.17.0-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
526c60c36c61b7d30e6a50ffad3e81a2 numpy-1.17.0-cp35-cp35m-manylinux1_i686.whl
71066029b28fa03b897fd960be6dc6a9 numpy-1.17.0-cp35-cp35m-manylinux1_x86_64.whl
ab16f4b7f83e64113bf118ae3a9414b9 numpy-1.17.0-cp35-cp35m-win32.whl
e919d45495558d93275ef4ab724f767a numpy-1.17.0-cp35-cp35m-win_amd64.whl
101e88a9870a5046536f71d77d0a7f5c numpy-1.17.0-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
c996484b56aefecfe3626bcaca88a187 numpy-1.17.0-cp36-cp36m-manylinux1_i686.whl
4db1ecda4fbc202722774599cb434378 numpy-1.17.0-cp36-cp36m-manylinux1_x86_64.whl
feeecc8ea0bbc37b2f0be447b32a478f numpy-1.17.0-cp36-cp36m-win32.whl
b7efb94a9cf4cc864ea546fb21a4d6bf numpy-1.17.0-cp36-cp36m-win_amd64.whl
c6501eed55a840b2c81b211d6cf5065e numpy-1.17.0-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
49ae9d7440e5dbabf3e02eba5b4bb8cd numpy-1.17.0-cp37-cp37m-manylinux1_i686.whl
a245e8fc884fcd6ad1c53c322496cace numpy-1.17.0-cp37-cp37m-manylinux1_x86_64.whl
0da9af1ac3832ae8b94f5fdce31c8c7d numpy-1.17.0-cp37-cp37m-win32.whl
1ffa1bc110de363748a849a35126d9ff numpy-1.17.0-cp37-cp37m-win_amd64.whl
c48b2ad785f82cdfe28c907ce35e2a71 numpy-1.17.0.tar.gz
aed49b31bcb44ec73b8155be78566135 numpy-1.17.0.zip
SHA256
910d2272403c2ea8a52d9159827dc9f7c27fb4b263749dca884e2e4a8af3b302 numpy-1.17.0-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
9ce8300950f2f1d29d0e49c28ebfff0d2f1e2a7444830fbb0b913c7c08f31511 numpy-1.17.0-cp35-cp35m-manylinux1_i686.whl
7724e9e31ee72389d522b88c0d4201f24edc34277999701ccd4a5392e7d8af61 numpy-1.17.0-cp35-cp35m-manylinux1_x86_64.whl
0cdd229a53d2720d21175012ab0599665f8c9588b3b8ffa6095dd7b90f0691dd numpy-1.17.0-cp35-cp35m-win32.whl
5adfde7bd3ee4864536e230bcab1c673f866736698724d5d28c11a4d63672658 numpy-1.17.0-cp35-cp35m-win_amd64.whl
464b1c48baf49e8505b1bb754c47a013d2c305c5b14269b5c85ea0625b6a988a numpy-1.17.0-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
eb0fc4a492cb896346c9e2c7a22eae3e766d407df3eb20f4ce027f23f76e4c54 numpy-1.17.0-cp36-cp36m-manylinux1_i686.whl
9588c6b4157f493edeb9378788dcd02cb9e6a6aeaa518b511a1c79d06cbd8094 numpy-1.17.0-cp36-cp36m-manylinux1_x86_64.whl
03e311b0a4c9f5755da7d52161280c6a78406c7be5c5cc7facfbcebb641efb7e numpy-1.17.0-cp36-cp36m-win32.whl
c3ab2d835b95ccb59d11dfcd56eb0480daea57cdf95d686d22eff35584bc4554 numpy-1.17.0-cp36-cp36m-win_amd64.whl
f4e4612de60a4f1c4d06c8c2857cdcb2b8b5289189a12053f37d3f41f06c60d0 numpy-1.17.0-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
312bb18e95218bedc3563f26fcc9c1c6bfaaf9d453d15942c0839acdd7e4c473 numpy-1.17.0-cp37-cp37m-manylinux1_i686.whl
8d36f7c53ae741e23f54793ffefb2912340b800476eb0a831c6eb602e204c5c4 numpy-1.17.0-cp37-cp37m-manylinux1_x86_64.whl
ec0c56eae6cee6299f41e780a0280318a93db519bbb2906103c43f3e2be1206c numpy-1.17.0-cp37-cp37m-win32.whl
be39cca66cc6806652da97103605c7b65ee4442c638f04ff064a7efd9a81d50a numpy-1.17.0-cp37-cp37m-win_amd64.whl
47b7b6145e7ba5918ce26be25999b6d4b35cf9fbfdf46b7da50090ffdb020445 numpy-1.17.0.tar.gz
951fefe2fb73f84c620bec4e001e80a80ddaa1b84dce244ded7f1e0cbe0ed34a numpy-1.17.0.zip
- Python
Published by charris almost 7 years ago
numpy -
.. currentmodule:: numpy
==========================
NumPy 1.17.0 Release Notes
This NumPy release contains a number of new features that should substantially improve its performance and usefulness, see Highlights below for a summary. The Python versions supported are 3.5-3.7, note that Python 2.7 has been dropped. Python 3.8b2 should work with the released source packages, but there are no future guarantees.
Downstream developers should use Cython >= 0.29.11 for Python 3.8 support and OpenBLAS >= 3.7 (not currently out) to avoid problems on the Skylake architecture. The NumPy wheels on PyPI are built from the OpenBLAS development branch in order to avoid those problems.
Highlights
A new extensible
randommodule along with four selectablerandom number generators <random.BitGenerators>and improved seeding designed for use in parallel processes has been added. The currently available bit generators areMT19937 <random.mt19937.MT19937>,PCG64 <random.pcg64.PCG64>,Philox <random.philox.Philox>, andSFC64 <random.sfc64.SFC64>. See below under New Features.NumPy's
FFT <fft>implementation was changed from fftpack to pocketfft, resulting in faster, more accurate transforms and better handling of datasets of prime length. See below under Improvements.New radix sort and timsort sorting methods. It is currently not possible to choose which will be used. They are hardwired to the datatype and used when either
stableormergesortis passed as the method. See below under Improvements.Overriding numpy functions is now possible by default, see
__array_function__below.
New functions
numpy.errstateis now also a function decorator
Deprecations
numpy.polynomial functions warn when passed float in place of int
Previously functions in this module would accept float values provided they
were integral (1.0, 2.0, etc). For consistency with the rest of numpy,
doing so is now deprecated, and in future will raise a TypeError.
Similarly, passing a float like 0.5 in place of an integer will now raise a
TypeError instead of the previous ValueError.
Deprecate numpy.distutils.exec_command and temp_file_name
The internal use of these functions has been refactored and there are better
alternatives. Replace exec_command with subprocess.Popen and
temp_file_name <numpy.distutils.exec_command> with tempfile.mkstemp.
Writeable flag of C-API wrapped arrays
When an array is created from the C-API to wrap a pointer to data, the only
indication we have of the read-write nature of the data is the writeable
flag set during creation. It is dangerous to force the flag to writeable.
In the future it will not be possible to switch the writeable flag to True
from python.
This deprecation should not affect many users since arrays created in such
a manner are very rare in practice and only available through the NumPy C-API.
numpy.nonzero should no longer be called on 0d arrays
The behavior of numpy.nonzero on 0d arrays was surprising, making uses of it
almost always incorrect. If the old behavior was intended, it can be preserved
without a warning by using nonzero(atleast_1d(arr)) instead of
nonzero(arr). In a future release, it is most likely this will raise a
ValueError.
Writing to the result of numpy.broadcast_arrays will warn
Commonly numpy.broadcast_arrays returns a writeable array with internal
overlap, making it unsafe to write to. A future version will set the
writeable flag to False, and require users to manually set it to
True if they are sure that is what they want to do. Now writing to it will
emit a deprecation warning with instructions to set the writeable flag
True. Note that if one were to inspect the flag before setting it, one
would find it would already be True. Explicitly setting it, though, as one
will need to do in future versions, clears an internal flag that is used to
produce the deprecation warning. To help alleviate confusion, an additional
FutureWarning will be emitted when accessing the writeable flag state to
clarify the contradiction.
Note that for the C-side buffer protocol such an array will return a
readonly buffer immediately unless a writable buffer is requested. If
a writeable buffer is requested a warning will be given. When using
cython, the const qualifier should be used with such arrays to avoid
the warning (e.g. cdef const double[::1] view).
Future Changes
Shape-1 fields in dtypes won't be collapsed to scalars in a future version
Currently, a field specified as [(name, dtype, 1)] or "1type" is
interpreted as a scalar field (i.e., the same as [(name, dtype)] or
[(name, dtype, ()]). This now raises a FutureWarning; in a future version,
it will be interpreted as a shape-(1,) field, i.e. the same as [(name,
dtype, (1,))] or "(1,)type" (consistently with [(name, dtype, n)]
/ "ntype" with n>1, which is already equivalent to [(name, dtype,
(n,)] / "(n,)type").
Compatibility notes
float16 subnormal rounding
Casting from a different floating point precision to float16 used incorrect
rounding in some edge cases. This means in rare cases, subnormal results will
now be rounded up instead of down, changing the last bit (ULP) of the result.
Signed zero when using divmod
Starting in version 1.12.0, numpy incorrectly returned a negatively signed zero
when using the divmod and floor_divide functions when the result was
zero. For example::
```
np.zeros(10)//1 array([-0., -0., -0., -0., -0., -0., -0., -0., -0., -0.])
With this release, the result is correctly returned as a positively signed zero::np.zeros(10)//1 array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]) ```
MaskedArray.masknow returns a view of the mask, not the mask itselfReturning the mask itself was unsafe, as it could be reshaped in place which would violate expectations of the masked array code. The behavior of
mask <ma.MaskedArray.mask>is now consistent withdata <ma.MaskedArray.data>, which also returns a view.
The underlying mask can still be accessed with ._mask if it is needed.
Tests that contain assert x.mask is not y.mask or similar will need to be
updated.
Do not lookup __buffer__ attribute in numpy.frombuffer
Looking up __buffer__ attribute in numpy.frombuffer was undocumented and
non-functional. This code was removed. If needed, use
frombuffer(memoryview(obj), ...) instead.
out is buffered for memory overlaps in take, choose, put
If the out argument to these functions is provided and has memory overlap with the other arguments, it is now buffered to avoid order-dependent behavior.
Unpickling while loading requires explicit opt-in
The functions load, and lib.format.read_array take an
allow_pickle keyword which now defaults to False in response to
CVE-2019-6446 <https://nvd.nist.gov/vuln/detail/CVE-2019-6446>_.
.. currentmodule:: numpy.random.mtrand
Potential changes to the random stream in old random module
Due to bugs in the application of log to random floating point numbers,
the stream may change when sampling from ~RandomState.beta, ~RandomState.binomial,
~RandomState.laplace, ~RandomState.logistic, ~RandomState.logseries or
~RandomState.multinomial if a 0 is generated in the underlying MT19937
<~numpy.random.mt11937.MT19937> random stream. There is a 1 in
:math:10^{53} chance of this occurring, so the probability that the stream
changes for any given seed is extremely small. If a 0 is encountered in the
underlying generator, then the incorrect value produced (either numpy.inf or
numpy.nan) is now dropped.
.. currentmodule:: numpy
i0 now always returns a result with the same shape as the input
Previously, the output was squeezed, such that, e.g., input with just a single
element would lead to an array scalar being returned, and inputs with shapes
such as (10, 1) would yield results that would not broadcast against the
input.
Note that we generally recommend the SciPy implementation over the numpy one: it is a proper ufunc written in C, and more than an order of magnitude faster.
can_cast no longer assumes all unsafe casting is allowed
Previously, can_cast returned True for almost all inputs for
casting='unsafe', even for cases where casting was not possible, such as
from a structured dtype to a regular one. This has been fixed, making it
more consistent with actual casting using, e.g., the .astype <ndarray.astype>
method.
ndarray.flags.writeable can be switched to true slightly more often
In rare cases, it was not possible to switch an array from not writeable
to writeable, although a base array is writeable. This can happen if an
intermediate ndarray.base object is writeable. Previously, only the deepest
base object was considered for this decision. However, in rare cases this
object does not have the necessary information. In that case switching to
writeable was never allowed. This has now been fixed.
C API changes
dimension or stride input arguments are now passed by npy_intp const*
Previously these function arguments were declared as the more strict
npy_intp*, which prevented the caller passing constant data.
This change is backwards compatible, but now allows code like::
npy_intp const fixed_dims[] = {1, 2, 3};
// no longer complains that the const-qualifier is discarded
npy_intp size = PyArray_MultiplyList(fixed_dims, 3);
New Features
.. currentmodule:: numpy.random
New extensible numpy.random module with selectable random number generators
A new extensible numpy.random module along with four selectable random number
generators and improved seeding designed for use in parallel processes has been
added. The currently available :ref:Bit Generators <bit_generator> are
~mt19937.MT19937, ~pcg64.PCG64, ~philox.Philox, and ~sfc64.SFC64.
PCG64 is the new default while MT19937 is retained for backwards
compatibility. Note that the legacy random module is unchanged and is now
frozen, your current results will not change. More information is available in
the :ref:API change description <new-or-different> and in the top-level view
<numpy.random> documentation.
.. currentmodule:: numpy
libFLAME
Support for building NumPy with the libFLAME linear algebra package as the LAPACK,
implementation, see
libFLAME <https://www.cs.utexas.edu/~flame/web/libFLAME.html>_ for details.
User-defined BLAS detection order
distutils now uses an environment variable, comma-separated and case
insensitive, to determine the detection order for BLAS libraries.
By default NPY_BLAS_ORDER=mkl,blis,openblas,atlas,accelerate,blas.
However, to force the use of OpenBLAS simply do::
NPYBLASORDER=openblas python setup.py build
which forces the use of OpenBLAS. This may be helpful for users which have a MKL installation but wishes to try out different implementations.
User-defined LAPACK detection order
numpy.distutils now uses an environment variable, comma-separated and case
insensitive, to determine the detection order for LAPACK libraries.
By default NPY_LAPACK_ORDER=mkl,openblas,flame,atlas,accelerate,lapack.
However, to force the use of OpenBLAS simply do::
NPYLAPACKORDER=openblas python setup.py build
which forces the use of OpenBLAS. This may be helpful for users which have a MKL installation but wishes to try out different implementations.
ufunc.reduce and related functions now accept a where mask
ufunc.reduce, sum, prod, min, max all
now accept a where keyword argument, which can be used to tell which
elements to include in the reduction. For reductions that do not have an
identity, it is necessary to also pass in an initial value (e.g.,
initial=np.inf for min). For instance, the equivalent of
nansum would be np.sum(a, where=~np.isnan(a)).
Timsort and radix sort have replaced mergesort for stable sorting
Both radix sort and timsort have been implemented and are now used in place of
mergesort. Due to the need to maintain backward compatibility, the sorting
kind options "stable" and "mergesort" have been made aliases of
each other with the actual sort implementation depending on the array type.
Radix sort is used for small integer types of 16 bits or less and timsort for
the remaining types. Timsort features improved performace on data containing
already or nearly sorted data and performs like mergesort on random data and
requires :math:O(n/2) working space. Details of the timsort algorithm can be
found at CPython listsort.txt
<https://github.com/python/cpython/blob/3.7/Objects/listsort.txt>_.
packbits and unpackbits accept an order keyword
The order keyword defaults to big, and will order the bits
accordingly. For 'order=big' 3 will become [0, 0, 0, 0, 0, 0, 1, 1],
and [1, 1, 0, 0, 0, 0, 0, 0] for order=little
unpackbits now accepts a count parameter
count allows subsetting the number of bits that will be unpacked up-front,
rather than reshaping and subsetting later, making the packbits operation
invertible, and the unpacking less wasteful. Counts larger than the number of
available bits add zero padding. Negative counts trim bits off the end instead
of counting from the beginning. None counts implement the existing behavior of
unpacking everything.
linalg.svd and linalg.pinv can be faster on hermitian inputs
These functions now accept a hermitian argument, matching the one added
to linalg.matrix_rank in 1.14.0.
divmod operation is now supported for two timedelta64 operands
The divmod operator now handles two timedelta64 operands, with
type signature mm->qm.
fromfile now takes an offset argument
This function now takes an offset keyword argument for binary files,
which specifics the offset (in bytes) from the file's current position.
Defaults to 0.
New mode "empty" for pad
This mode pads an array to a desired shape without initializing the new entries.
empty_like and related functions now accept a shape argument
empty_like, full_like, ones_like and zeros_like now accept a shape
keyword argument, which can be used to create a new array
as the prototype, overriding its shape as well. This is particularly useful
when combined with the __array_function__ protocol, allowing the creation
of new arbitrary-shape arrays from NumPy-like libraries when such an array
is used as the prototype.
Floating point scalars implement as_integer_ratio to match the builtin float
This returns a (numerator, denominator) pair, which can be used to construct a
fractions.Fraction.
Structured dtype objects can be indexed with multiple fields names
arr.dtype[['a', 'b']] now returns a dtype that is equivalent to
arr[['a', 'b']].dtype, for consistency with
arr.dtype['a'] == arr['a'].dtype.
Like the dtype of structured arrays indexed with a list of fields, this dtype
has the same itemsize as the original, but only keeps a subset of the fields.
This means that arr[['a', 'b']] and arr.view(arr.dtype[['a', 'b']]) are
equivalent.
.npy files support unicode field names
A new format version of 3.0 has been introduced, which enables structured types with non-latin1 field names. This is used automatically when needed.
Improvements
Array comparison assertions include maximum differences
Error messages from array comparison tests such as
testing.assert_allclose now include "max absolute difference" and
"max relative difference," in addition to the previous "mismatch" percentage.
This information makes it easier to update absolute and relative error
tolerances.
Replacement of the fftpack based fft module by the pocketfft library
Both implementations have the same ancestor (Fortran77 FFTPACK by Paul N.
Swarztrauber), but pocketfft contains additional modifications which improve
both accuracy and performance in some circumstances. For FFT lengths containing
large prime factors, pocketfft uses Bluestein's algorithm, which maintains
:math:O(N log N) run time complexity instead of deteriorating towards
:math:O(N*N) for prime lengths. Also, accuracy for real valued FFTs with near
prime lengths has improved and is on par with complex valued FFTs.
Further improvements to ctypes support in numpy.ctypeslib
A new numpy.ctypeslib.as_ctypes_type function has been added, which can be
used to converts a dtype into a best-guess ctypes type. Thanks to this
new function, numpy.ctypeslib.as_ctypes now supports a much wider range of
array types, including structures, booleans, and integers of non-native
endianness.
numpy.errstate is now also a function decorator
Currently, if you have a function like::
def foo():
pass
and you want to wrap the whole thing in errstate, you have to rewrite it
like so::
def foo():
with np.errstate(...):
pass
but with this change, you can do::
@np.errstate(...)
def foo():
pass
thereby saving a level of indentation
numpy.exp and numpy.log speed up for float32 implementation
float32 implementation of exp and log now benefit from AVX2/AVX512
instruction set which are detected during runtime. exp has a max ulp
error of 2.52 and log has a max ulp error or 3.83.
Improve performance of numpy.pad
The performance of the function has been improved for most cases by filling in a preallocated array with the desired padded shape instead of using concatenation.
numpy.interp handles infinities more robustly
In some cases where interp would previously return nan, it now
returns an appropriate infinity.
Pathlib support for fromfile, tofile and ndarray.dump
fromfile, ndarray.ndarray.tofile and ndarray.dump now support
the pathlib.Path type for the file/fid parameter.
Specialized isnan, isinf, and isfinite ufuncs for bool and int types
The boolean and integer types are incapable of storing nan and inf values,
which allows us to provide specialized ufuncs that are up to 250x faster than
the previous approach.
isfinite supports datetime64 and timedelta64 types
Previously, isfinite used to raise a TypeError on being used on these
two types.
New keywords added to nan_to_num
nan_to_num now accepts keywords nan, posinf and neginf
allowing the user to define the value to replace the nan, positive and
negative np.inf values respectively.
MemoryErrors caused by allocated overly large arrays are more descriptive
Often the cause of a MemoryError is incorrect broadcasting, which results in a very large and incorrect shape. The message of the error now includes this shape to help diagnose the cause of failure.
floor, ceil, and trunc now respect builtin magic methods
These ufuncs now call the __floor__, __ceil__, and __trunc__
methods when called on object arrays, making them compatible with
decimal.Decimal and fractions.Fraction objects.
quantile now works on fraction.Fraction and decimal.Decimal objects
In general, this handles object arrays more gracefully, and avoids floating- point operations if exact arithmetic types are used.
Support of object arrays in matmul
It is now possible to use matmul (or the @ operator) with object arrays.
For instance, it is now possible to do::
from fractions import Fraction
a = np.array([[Fraction(1, 2), Fraction(1, 3)], [Fraction(1, 3), Fraction(1, 2)]])
b = a @ a
Changes
median and percentile family of functions no longer warn about nan
numpy.median, numpy.percentile, and numpy.quantile used to emit a
RuntimeWarning when encountering an nan. Since they return the
nan value, the warning is redundant and has been removed.
timedelta64 % 0 behavior adjusted to return NaT
The modulus operation with two np.timedelta64 operands now returns
NaT in the case of division by zero, rather than returning zero
NumPy functions now always support overrides with __array_function__
NumPy now always checks the __array_function__ method to implement overrides
of NumPy functions on non-NumPy arrays, as described in NEP 18_. The feature
was available for testing with NumPy 1.16 if appropriate environment variables
are set, but is now always enabled.
.. _NEP 18 : http://www.numpy.org/neps/nep-0018-array-function-protocol.html
lib.recfunctions.structured_to_unstructured does not squeeze single-field views
Previously structured_to_unstructured(arr[['a']]) would produce a squeezed
result inconsistent with structured_to_unstructured(arr[['a', b']]). This
was accidental. The old behavior can be retained with
structured_to_unstructured(arr[['a']]).squeeze(axis=-1) or far more simply,
arr['a'].
clip now uses a ufunc under the hood
This means that registering clip functions for custom dtypes in C via
descr->f->fastclip is deprecated - they should use the ufunc registration
mechanism instead, attaching to the np.core.umath.clip ufunc.
It also means that clip accepts where and casting arguments,
and can be override with __array_ufunc__.
A consequence of this change is that some behaviors of the old clip have
been deprecated:
- Passing
nanto mean "do not clip" as one or both bounds. This didn't work in all cases anyway, and can be better handled by passing infinities of the appropriate sign. - Using "unsafe" casting by default when an
outargument is passed. Usingcasting="unsafe"explicitly will silence this warning.
Additionally, there are some corner cases with behavior changes:
- Padding
max < minhas changed to be more consistent across dtypes, but should not be relied upon. - Scalar
minandmaxtake part in promotion rules like they do in all other ufuncs.
__array_interface__ offset now works as documented
The interface may use an offset value that was mistakenly ignored.
Pickle protocol in savez set to 3 for force zip64 flag
savez was not using the force_zip64 flag, which limited the size of
the archive to 2GB. But using the flag requires us to use pickle protocol 3 to
write object arrays. The protocol used was bumped to 3, meaning the archive
will be unreadable by Python2.
Structured arrays indexed with non-existent fields raise KeyError not ValueError
arr['bad_field'] on a structured type raises KeyError, for consistency
with dict['bad_field'].
Checksums
MD5
613b7ffe7290d900c7b0c056e176b4d0 numpy-1.17.0rc2-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
d3c95a816ee885b30acda83c0a6457e5 numpy-1.17.0rc2-cp35-cp35m-manylinux1_i686.whl
6ac9206b01562e9aadb8603931b63224 numpy-1.17.0rc2-cp35-cp35m-manylinux1_x86_64.whl
6afd04a55d7e00a8ed2e1248669f8cd9 numpy-1.17.0rc2-cp35-cp35m-win32.whl
519e154eab6bb7b1a01a93903c620ab4 numpy-1.17.0rc2-cp35-cp35m-win_amd64.whl
736b9191f39206efc120e38e6a10f6d1 numpy-1.17.0rc2-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
dbb2fbd75a414231094bd867b7fbce05 numpy-1.17.0rc2-cp36-cp36m-manylinux1_i686.whl
424803fe4aaa14de85e15c1fe58dc2ae numpy-1.17.0rc2-cp36-cp36m-manylinux1_x86_64.whl
6c80d6269b685d986d9a5126d230384c numpy-1.17.0rc2-cp36-cp36m-win32.whl
06b6774497e40d0e0e640facd6ff079b numpy-1.17.0rc2-cp36-cp36m-win_amd64.whl
d2d450902993a807616cd1bdfb0d30c6 numpy-1.17.0rc2-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
d10e80597505b0940329bcb72a9cc530 numpy-1.17.0rc2-cp37-cp37m-manylinux1_i686.whl
6a833a3e10fd4746d690650e549205ea numpy-1.17.0rc2-cp37-cp37m-manylinux1_x86_64.whl
77d6f0cbd035c476d7032c4f032d1195 numpy-1.17.0rc2-cp37-cp37m-win32.whl
ab29ac43971aae7120b563ba079e7469 numpy-1.17.0rc2-cp37-cp37m-win_amd64.whl
4ded0046dedc142f3b9d1e8b89d2d11b numpy-1.17.0rc2.tar.gz
8d0075fdf1de498fe27a0257c07029ea numpy-1.17.0rc2.zip
SHA256
724efe307f5b6df931559fcd3a0ba0e655b1955354361dec039dc5506829a1af numpy-1.17.0rc2-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
45bc7b87ddbc2864ab528edf547201be142077caeb1916bca9aac6e5846dcf0e numpy-1.17.0rc2-cp35-cp35m-manylinux1_i686.whl
2716333552115eeca9d774556644b2df83073d85d9b30700cbe24b7e2f58c6f3 numpy-1.17.0rc2-cp35-cp35m-manylinux1_x86_64.whl
58f890a52716bbbb025d8f3b77f91102de7a068d214a7dea97562d8d86a1b12a numpy-1.17.0rc2-cp35-cp35m-win32.whl
0ba8479eab6924bc9d17832a0142e54cb69ea323b544e681c051e5f85a77de84 numpy-1.17.0rc2-cp35-cp35m-win_amd64.whl
0f5b37e96989a231a9a63e4aed734d268d1f244b237a44b8703b5919c2c893a2 numpy-1.17.0rc2-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
5003389ca06659156c98215502696f7f1e85a9e1355b4121fd6fa5e098b0e062 numpy-1.17.0rc2-cp36-cp36m-manylinux1_i686.whl
8e076ac6ad2b602ffa6c7e82801c280df9680f1e11c720b550172953ebb80abb numpy-1.17.0rc2-cp36-cp36m-manylinux1_x86_64.whl
92009e95da7d3337fb99621a09089b7770551273a4749f233843d2d6bac54d2a numpy-1.17.0rc2-cp36-cp36m-win32.whl
8d5a1b0b31a506e61525cf801782ba4f565613278c65edfa849eb2abb7f963cc numpy-1.17.0rc2-cp36-cp36m-win_amd64.whl
4c88a3e02a00f05a27bf9b033733c274fb3cb1ffd9eeec4490a650c10ba889ca numpy-1.17.0rc2-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
baa9da76c108a27092f2747615af1a837c117c16f8704b25b993d3ef9a6b910c numpy-1.17.0rc2-cp37-cp37m-manylinux1_i686.whl
e85371de8d4ba14ba077b1b856dd7d911605de0c977e17aaae36d597499699c9 numpy-1.17.0rc2-cp37-cp37m-manylinux1_x86_64.whl
d58de04dd219b92c6fb8cae34cc49aa92296c536b2d271bd09d4f704178224fd numpy-1.17.0rc2-cp37-cp37m-win32.whl
f13346f932c0ea879df223264a438c75745632c2e0e4144f83824b7692ffe605 numpy-1.17.0rc2-cp37-cp37m-win_amd64.whl
b5e0482fc55f8bbf8eba6f9c23084cd781d307851c8e5b3336fb6a5955a08d9f numpy-1.17.0rc2.tar.gz
a4153fe85cf92a796022b81b138000160dea840cad13b7d1db67cfec594ece23 numpy-1.17.0rc2.zip
- Python
Published by charris almost 7 years ago
numpy -
==========================
NumPy 1.17.0 Release Notes
This NumPy release contains a number of new features that should substantially improve its performance and usefulness, see Highlights below for a summary. The Python versions supported are 3.5-3.7, note that Python 2.7 has been dropped. Python 3.8b1 should work with the released source packages, but there are no future guarantees.
Downstream developers should use Cython >= 0.29.10 for Python 3.8 support and OpenBLAS >= 3.7 (not currently out) to avoid problems on the Skylake architecture. The NumPy wheels on PyPI are built from the OpenBLAS development branch in order to avoid those problems.
Highlights
A new extensible random module along with four selectable random number generators and improved seeding designed for use in parallel processes has been added. The currently available bit generators are MT19937, PCG64, Philox, and SFC64. See below under New Features.
NumPy's FFT implementation was changed from fftpack to pocketfft, resulting in faster, more accurate transforms and better handling of datasets of prime length. See below under Improvements.
New radix sort and timsort sorting methods. It is currently not possible to choose which will be used, but they are hardwired to the datatype and used when either
stableormergesortis passed as the method. See below under Improvements.Overriding numpy functions is now possible by default, see
__array_function__below.
New functions
numpy.errstateis now also a function decorator
Deprecations
np.polynomial functions warn when passed float in place of int
Previously functions in this module would accept float values provided they
were integral (1.0, 2.0, etc). For consistency with the rest of numpy,
doing so is now deprecated, and in future will raise a TypeError.
Similarly, passing a float like 0.5 in place of an integer will now raise a
TypeError instead of the previous ValueError.
Deprecate numpy.distutils.exec_command and numpy.distutils.temp_file_name
The internal use of these functions has been refactored and there are better
alternatives. Relace exec_command with subprocess.Popen and
temp_file_name with tempfile.mkstemp.
Writeable flag of C-API wrapped arrays
When an array is created from the C-API to wrap a pointer to data, the only
indication we have of the read-write nature of the data is the writeable
flag set during creation. It is dangerous to force the flag to writeable.
In the future it will not be possible to switch the writeable flag to True
from python. This deprecation should not affect many users since arrays created in such
a manner are very rare in practice and only available through the NumPy C-API.
numpy.nonzero should no longer be called on 0d arrays
The behavior of nonzero on 0d arrays was surprising, making uses of it almost
always incorrect. If the old behavior was intended, it can be preserved without
a warning by using nonzero(atleast_1d(arr)) instead of nonzero(arr).
In a future release, it is most likely this will raise a ValueError.
Writing to the result of numpy.broadcast_arrays will warn
Commonly numpy.broadcast_arrays returns a writeable array with internal
overlap, making it unsafe to write to. A future version will set the
writeable flag to False, and require users to manually set it to
True if they are sure that is what they want to do. Now writing to it will
emit a deprecation warning with instructions to set the writeable flag
True. Note that if one were to inspect the flag before setting it, one
would find it would already be True. Explicitly setting it, though, as one
will need to do in future versions, clears an internal flag that is used to
produce the deprecation warning. To help alleviate confusion, an additional
FutureWarning will be emitted when accessing the writeable flag state to
clarify the contradiction.
Future Changes
Shape-1 fields in dtypes won't be collapsed to scalars in a future version
Currently, a field specified as [(name, dtype, 1)] or "1type" is
interpreted as a scalar field (i.e., the same as [(name, dtype)] or
[(name, dtype, ()]). This now raises a FutureWarning; in a future version,
it will be interpreted as a shape-(1,) field, i.e. the same as
[(name,dtype, (1,))] or "(1,)type" (consistent with
[(name, dtype, n)] / "ntype" for n > 1, which is already equivalent to
[(name, dtype,(n,)] / "(n,)type").
Compatibility notes
float16 subnormal rounding
Casting from a different floating point precision to float16 used incorrect rounding in some edge cases. This means in rare cases, subnormal results will now be rounded up instead of down, changing the last bit (ULP) of the result.
Signed zero when using divmod
Starting in version 1.12.0, numpy incorrectly returned a negatively signed zero
when using the divmod and floor_divide functions when the result was
zero. For example:
```
np.zeros(10)//1 array([-0., -0., -0., -0., -0., -0., -0., -0., -0., -0.])
With this release, the result is correctly returned as a positively signed zero:np.zeros(10)//1 array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]) ```
MaskedArray.mask now returns a view of the mask, not the mask itself
Returning the mask itself was unsafe, as it could be reshaped in place which
would violate expectations of the masked array code. It's behavior is now
consistent with the .data attribute, which also returns a view.
The underlying mask can still be accessed with ._mask if it is needed.
Tests that contain assert x.mask is not y.mask or similar will need to be
updated.
Do not lookup __buffer__ attribute in numpy.frombuffer
Looking up __buffer__ attribute in numpy.frombuffer was undocumented and
non-functional. This code was removed. If needed, use
frombuffer(memoryview(obj), ...) instead.
outis buffered for memory overlaps in np.take, np.choose, np.put
If the out argument to these functions is provided and has memory overlap with the other arguments, it is now buffered to avoid order-dependent behavior.
Unpickling while loading requires explicit opt-in
The functions np.load, and np.lib.format.read_array take an
allow_pickle keyword which now defaults to False in response to
CVE-2019-6446 <https://nvd.nist.gov/vuln/detail/CVE-2019-6446>_.
Potential changes to the random stream in old random module
Due to bugs in the application of log to random floating point numbers,
the stream may change when sampling from np.random.beta, np.random.binomial,
np.random.laplace, np.random.logistic, np.random.logseries or
np.random.multinomial if a 0 is generated in the underlying MT19937 random stream.
There is a 1 in :math:10^{53} chance of this occurring, and so the probability that
the stream changes for any given seed is extremely small. If a 0 is encountered in the
underlying generator, then the incorrect value produced (either np.inf
or np.nan) is now dropped.
i0 now always returns a result with the same shape as the input
Previously, the output was squeezed, such that, e.g., input with just a single
element would lead to an array scalar being returned, and inputs with shapes
such as (10, 1) would yield results that would not broadcast against the
input.
Note that we generally recommend the SciPy implementation over the numpy one: it is a proper ufunc written in C, and more than an order of magnitude faster.
np.can_cast no longer assumes all unsafe casting is allowed
Previously, can_cast returned True for almost all inputs for
casting='unsafe', even for cases where casting was not possible, such as
from a structured dtype to a regular one. This has been fixed, making it
more consistent with actual casting using, e.g., the .astype method.
arr.writeable can be switched to true slightly more often
In rare cases, it was not possible to switch an array from not writeable
to writeable, although a base array is writeable. This can happen if an
intermediate arr.base object is writeable. Previously, only the deepest
base object was considered for this decision. However, in rare cases this
object does not have the necessary information. In that case switching to
writeable was never allowed. This has now been fixed.
C API changes
dimension or stride input arguments are now passed by npy_intp const*
Previously these function arguments were declared as the more strict
npy_intp*, which prevented the caller passing constant data.
This change is backwards compatible, but now allows code like::
npy_intp const fixed_dims[] = {1, 2, 3};
// no longer complains that the const-qualifier is discarded
npy_intp size = PyArray_MultiplyList(fixed_dims, 3);
New Features
New extensible random module with selectable random number generators
A new extensible random module along with four selectable random number generators and improved seeding designed for use in parallel processes has been added. The currently available bit generators are MT19937, PCG64, Philox, and SFC64. PCG64 is the new default while MT19937 is retained for backwards compatibility. Note that the legacy random module is unchanged and is now frozen, your current results will not change. Extensive documentation for the new module is available online at NumPy devdocs.
libFLAME
Support for building NumPy with the libFLAME linear algebra package as the LAPACK, implementation, see libFLAME for details.
User-defined BLAS detection order
numpy.distutils now uses an environment variable, comma-separated and case
insensitive, to determine the detection order for BLAS libraries.
By default NPY_BLAS_ORDER=mkl,blis,openblas,atlas,accelerate,blas.
However, to force the use of OpenBLAS simply do::
NPYBLASORDER=openblas python setup.py build
which forces the use of OpenBLAS. This may be helpful for users which have a MKL installation but wishes to try out different implementations.
User-defined LAPACK detection order
numpy.distutils now uses an environment variable, comma-separated and case
insensitive, to determine the detection order for LAPACK libraries.
By default NPY_BLAS_ORDER=mkl,openblas,flame,atlas,accelerate,lapack.
However, to force the use of OpenBLAS simply do::
NPYLAPACKORDER=openblas python setup.py build
which forces the use of OpenBLAS. This may be helpful for users which have a MKL installation but wishes to try out different implementations.
np.ufunc.reduce and related functions now accept a where mask
np.ufunc.reduce, np.sum, np.prod, np.min, np.max all
now accept a where keyword argument, which can be used to tell which
elements to include in the reduction. For reductions that do not have an
identity, it is necessary to also pass in an initial value (e.g.,
initial=np.inf for np.min). For instance, the equivalent of
nansum would be, np.sum(a, where=~np.isnan(a)).
Timsort and radix sort have replaced mergesort for stable sorting
Both radix sort and timsort have been implemented and are now used in place of
mergesort. Due to the need to maintain backward compatibility, the sorting
kind options "stable" and "mergesort" have been made aliases of
each other with the actual sort implementation depending on the array type.
Radix sort is used for small integer types of 16 bits or less and timsort for
the remaining types. Timsort features improved performace on data containing
already or nearly sorted data and performs like mergesort on random data and
requires O(n/2) working space. Details of the timsort algorithm can be found
at CPython listsort.txt.
np.unpackbits now accepts a count parameter
count allows subsetting the number of bits that will be unpacked up-front,
rather than reshaping and subsetting later, making the packbits operation
invertible, and the unpacking less wasteful. Counts larger than the number of
available bits add zero padding. Negative counts trim bits off the end instead
of counting from the beginning. None counts implement the existing behavior of
unpacking everything.
np.linalg.svd and np.linalg.pinv can be faster on hermitian inputs
These functions now accept a hermitian argument, matching the one added
to np.linalg.matrix_rank in 1.14.0.
divmod operation is now supported for two timedelta64 operands
The divmod operator now handles two np.timedelta64 operands, with
type signature mm->qm.
np.fromfile now takes an offset argument
This function now takes an offset keyword argument for binary files,
which specifics the offset (in bytes) from the file's current position.
Defaults to 0.
New mode "empty" for np.pad
This mode pads an array to a desired shape without initializing the new entries.
np.empty_like and related functions now accept a shape argument
np.empty_like, np.full_like, np.ones_like and np.zeros_like now
accept a shape keyword argument, which can be used to create a new array
as the prototype, overriding its shape as well. This is particularly useful
when combined with the __array_function__ protocol, allowing the creation
of new arbitrary-shape arrays from NumPy-like libraries when such an array
is used as the prototype.
Floating point scalars implement as_integer_ratio to match the builtin float
This returns a (numerator, denominator) pair, which can be used to construct a
fractions.Fraction.
Structured dtype objects can be indexed with multiple fields names
arr.dtype[['a', 'b']] now returns a dtype that is equivalent to
arr[['a', 'b']].dtype, for consistency with
arr.dtype['a'] == arr['a'].dtype.
Like the dtype of structured arrays indexed with a list of fields, this dtype
has the same itemsize as the original, but only keeps a subset of the fields.
This means that arr[['a', 'b']] and arr.view(arr.dtype[['a', 'b']]) are
equivalent.
.npy files support unicode field names
A new format version of 3.0 has been introduced, which enables structured types with non-latin1 field names. This is used automatically when needed.
numpy.packbits and numpy.unpackbits accept an order keyword
The order keyword defaults to big, and will order the bits
accordingly. For 'big' 3 will become [0, 0, 0, 0, 0, 0, 1, 1], and
[1, 1, 0, 0, 0, 0, 0, 0] for little
Improvements
Array comparison assertions include maximum differences
Error messages from array comparison tests such as
np.testing.assert_allclose now include "max absolute difference" and
"max relative difference," in addition to the previous "mismatch" percentage.
This information makes it easier to update absolute and relative error
tolerances.
Replacement of the fftpack based FFT module by the pocketfft library
Both implementations have the same ancestor (Fortran77 FFTPACK by Paul N.
Swarztrauber), but pocketfft contains additional modifications which improve
both accuracy and performance in some circumstances. For FFT lengths containing
large prime factors, pocketfft uses Bluestein's algorithm, which maintains
O(N log N) run time complexity instead of deteriorating towards O(N*N)
for prime lengths. Also, accuracy for real valued FFTs with near prime lengths
has improved and is on par with complex valued FFTs.
Further improvements to ctypes support in numpy.ctypeslib
A new numpy.ctypeslib.as_ctypes_type function has been added, which can be
used to converts a dtype into a best-guess ctypes type. Thanks to this
new function, numpy.ctypeslib.as_ctypes now supports a much wider range of
array types, including structures, booleans, and integers of non-native
endianness.
numpy.errstate is now also a function decorator
Currently, if you have a function like::
def foo():
pass
and you want to wrap the whole thing in errstate, you have to rewrite it
like so::
def foo():
with np.errstate(...):
pass
but with this change, you can do::
@np.errstate(...)
def foo():
pass
thereby saving a level of indentation
numpy.exp and numpy.log speed up for float32 implementation
float32 implementation of numpy.exp and numpy.log now benefit from AVX2/AVX512 instruction set which are detected during runtime. numpy.exp has a max ulp error of 2.52 and numpy.log has a max ulp error or 3.83.
Improve performance of numpy.pad
The performance of the function has been improved for most cases by filling in a preallocated array with the desired padded shape instead of using concatenation.
numpy.interp handles infinities more robustly
In some cases where np.interp would previously return np.nan, it now
returns an appropriate infinity.
Pathlib support for np.fromfile, ndarray.tofile and ndarray.dump
np.fromfile, np.ndarray.tofile and np.ndarray.dump now support
the pathlib.Path type for the file/fid parameter.
Specialized np.isnan, np.isinf, and np.isfinite ufuncs for bool and int types
The boolean and integer types are incapable of storing np.nan and
np.inf values, which allows us to provide specialized ufuncs that are up to
250x faster than the current approach.
np.isfinite supports datetime64 and timedelta64 types
Previously, np.isfinite used to raise a TypeError on being used on these
two types.
New keywords added to np.nan_to_num
np.nan_to_num now accepts keywords nan, posinf and neginf
allowing the user to define the value to replace the nan, positive and
negative np.inf values respectively.
MemoryErrors caused by allocated overly large arrays are more descriptive
Often the cause of a MemoryError is incorrect broadcasting, which results in a very large and incorrect shape. The message of the error now includes this shape to help diagnose the cause of failure.
floor, ceil, and trunc now respect builtin magic methods
These ufuncs now call the __floor__, __ceil__, and __trunc__
methods when called on object arrays, making them compatible with
decimal.Decimal and fractions.Fraction objects.
quantile now works on fraction.Fraction and decimal.Decimal objects
In general, this handles object arrays more gracefully, and avoids floating- point operations if exact arithmetic types are used.
Support of object arrays in np.matmul
It is now possible to use np.matmul (or the @ operator) with object arrays.
For instance, it is now possible to do::
from fractions import Fraction
a = np.array([[Fraction(1, 2), Fraction(1, 3)], [Fraction(1, 3), Fraction(1, 2)]])
b = a @ a
Changes
median and percentile family of functions no longer warn about nan
numpy.median, numpy.percentile, and numpy.quantile used to emit a
RuntimeWarning when encountering an numpy.nan. Since they return the
nan value, the warning is redundant and has been removed.
timedelta64 % 0 behavior adjusted to return NaT
The modulus operation with two np.timedelta64 operands now returns
NaT in the case of division by zero, rather than returning zero
NumPy functions now always support overrides with __array_function__
NumPy now always checks the __array_function__ method to implement overrides
of NumPy functions on non-NumPy arrays, as described in NEP 18_. The feature
was available for testing with NumPy 1.16 if appropriate environment variables
are set, but is now always enabled.
.. _NEP 18 : http://www.numpy.org/neps/nep-0018-array-function-protocol.html
numpy.lib.recfunctions.structured_to_unstructured does not squeeze single-field views
Previously structured_to_unstructured(arr[['a']]) would produce a squeezed
result inconsistent with structured_to_unstructured(arr[['a', b']]). This
was accidental. The old behavior can be retained with
structured_to_unstructured(arr[['a']]).squeeze(axis=-1) or far more simply,
arr['a'].
clip now uses a ufunc under the hood
This means that registering clip functions for custom dtypes in C via
descr->f->fastclip is deprecated - they should use the ufunc registration
mechanism instead, attaching to the np.core.umath.clip ufunc.
It also means that clip accepts where and casting arguments,
and can be override with __array_ufunc__.
A consequence of this change is that some behaviors of the old clip have
been deprecated:
- Passing
nanto mean "do not clip" as one or both bounds. This didn't work in all cases anyway, and can be better handled by passing infinities of the appropriate sign. - Using "unsafe" casting by default when an
outargument is passed. Usingcasting="unsafe"explicitly will silence this warning.
Additionally, there are some corner cases with behavior changes:
- Padding
max < minhas changed to be more consistent across dtypes, but should not be relied upon. - Scalar
minandmaxtake part in promotion rules like they do in all other ufuncs.
__array_interface__ offset now works as documented
The interface may use an offset value that was mistakenly ignored.
Pickle protocol in np.savez set to 3 for force zip64 flag
np.savez was not using the force_zip64 flag, which limited the size of
the archive to 2GB. But using the flag requires us to use pickle protocol 3 to
write object arrays. The protocol used was bumped to 3, meaning the archive
will be unreadable by Python2.
Structured arrays indexed with non-existent fields raise KeyError not ValueError
arr['bad_field'] on a structured type raises KeyError, for consistency
with dict['bad_field'].
.. _NEP 18 : http://www.numpy.org/neps/nep-0018-array-function-protocol.html
Checksums
MD5
d97e622de3c0b719231a1e1bcab1ed55 numpy-1.17.0rc1-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
3d113d94be12997ec19f05b00dbb55ad numpy-1.17.0rc1-cp35-cp35m-manylinux1_i686.whl
0a6599f0492b3550843d091b0202dbe9 numpy-1.17.0rc1-cp35-cp35m-manylinux1_x86_64.whl
aec8543b9be95a4f3c8d038fc977a471 numpy-1.17.0rc1-cp35-cp35m-win32.whl
673ebd7abae0b7e1eb92cc23b0cd40f2 numpy-1.17.0rc1-cp35-cp35m-win_amd64.whl
ae2bdaa0ca4999db507ce3fb1b173fd8 numpy-1.17.0rc1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
fedb3f0b411b55882d43c6b54e4e1fe8 numpy-1.17.0rc1-cp36-cp36m-manylinux1_i686.whl
e2c4c37ac91ad7aaab0af167b45c9be3 numpy-1.17.0rc1-cp36-cp36m-manylinux1_x86_64.whl
67b54fa0ade6098f80a5b1570dca8066 numpy-1.17.0rc1-cp36-cp36m-win32.whl
42ae66a117cbf3032a2973aaa49cc751 numpy-1.17.0rc1-cp36-cp36m-win_amd64.whl
40a6fba952a011c1053b1867580ffe1c numpy-1.17.0rc1-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
68b0c9781374584fd175366333ed16da numpy-1.17.0rc1-cp37-cp37m-manylinux1_i686.whl
578d62bd252aa229580f74198f5fd305 numpy-1.17.0rc1-cp37-cp37m-manylinux1_x86_64.whl
69d1ce7fbb2f4e74ce31f07e69bfce8c numpy-1.17.0rc1-cp37-cp37m-win32.whl
3058e6f76c7216e948648be2731daa08 numpy-1.17.0rc1-cp37-cp37m-win_amd64.whl
71a5b962f05d70c25dbe29aa76a2677b numpy-1.17.0rc1.tar.gz
0d3c728ee377cdc8b7c66488557b3d07 numpy-1.17.0rc1.zip
SHA256
1b46bbd810519dd3f75c7654346ef8cbc85164e9fbf263e6ab886a7b5414b4be numpy-1.17.0rc1-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
487034fb9f0d0a98d200b2b304dd6ca7e14b563749c184b3e9f5fb6f0b61b8e3 numpy-1.17.0rc1-cp35-cp35m-manylinux1_i686.whl
0e574d32e251510ed8ccd1f354f4f77ae380278e294c98e5f87cde51f8775cd0 numpy-1.17.0rc1-cp35-cp35m-manylinux1_x86_64.whl
a11e133d0de38868c3b732f0bb047ce1a2b25f37c49b841acc52ca5522095dca numpy-1.17.0rc1-cp35-cp35m-win32.whl
c8c589628445247aebe030d456d1115de072d7f6ecc3ed5f7463f05b37dd54f6 numpy-1.17.0rc1-cp35-cp35m-win_amd64.whl
2360b5e6ca1929db1d5132933340bdc15c37c75c8cb9f2f1d7ee63ccf8df25e0 numpy-1.17.0rc1-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
63279153109be338363f593f1d30b61412fc1bca258d0673244a6ae2d70fe743 numpy-1.17.0rc1-cp36-cp36m-manylinux1_i686.whl
ce4f4b9dd33fcf5b0b2fb37cb4b48668f8f2ed579d55d9799216f5a46c3009bd numpy-1.17.0rc1-cp36-cp36m-manylinux1_x86_64.whl
35c8f2d7b5748f87631f65502b547723c85064ef57c9f131333a2c4cf793efaa numpy-1.17.0rc1-cp36-cp36m-win32.whl
7e00fb54174d797fff2b158223805dccc2026bce6daddbb3e5ea2b7d92304d24 numpy-1.17.0rc1-cp36-cp36m-win_amd64.whl
6a8be628e8269c40024bb5178de25c06950eaaea99afd9784a3980f550ff7679 numpy-1.17.0rc1-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
01e0f739d2dd40bccb8667f23bc26077d72ee22ac9cb4671111c680e2a067409 numpy-1.17.0rc1-cp37-cp37m-manylinux1_i686.whl
21b1a68dffca1af1936d35d40afbeda30e290ab2d398f6af6cc79bfa23e9957b numpy-1.17.0rc1-cp37-cp37m-manylinux1_x86_64.whl
0e415dc0509f3b44f3cbd0bc994a5862bc41a2301c2db1fe4a01259e0b3d9999 numpy-1.17.0rc1-cp37-cp37m-win32.whl
50fc29e91ffd3052c0f2faae577e6e6792df3017100d7b9683b158c44e0a21cd numpy-1.17.0rc1-cp37-cp37m-win_amd64.whl
79f5d946e06ddb19a8570061b6121087d4309678e52da2144f36840d6c1a1627 numpy-1.17.0rc1.tar.gz
f53df05f9ca4ec5d72709ffe349704f1f7d945ed59e815574b5c5687acb282c4 numpy-1.17.0rc1.zip
- Python
Published by charris almost 7 years ago
numpy -
==========================
NumPy 1.16.4 Release Notes
The NumPy 1.16.4 release fixes bugs reported against the 1.16.3 release, and also backports several enhancements from master that seem appropriate for a release series that is the last to support Python 2.7. The wheels on PyPI are linked with OpenBLAS v0.3.7-dev, which should fix issues on Skylake series cpus.
Downstream developers building this release should use Cython >= 0.29.2 and, if using OpenBLAS, OpenBLAS > v0.3.7. The supported Python versions are 2.7 and 3.5-3.7.
New deprecations
Writeable flag of C-API wrapped arrays
When an array is created from the C-API to wrap a pointer to data, the only
indication we have of the read-write nature of the data is the writeable
flag set during creation. It is dangerous to force the flag to writeable. In
the future it will not be possible to switch the writeable flag to True
from python. This deprecation should not affect many users since arrays
created in such a manner are very rare in practice and only available through
the NumPy C-API.
Compatibility notes
Potential changes to the random stream
Due to bugs in the application of log to random floating point numbers,
the stream may change when sampling from np.random.beta, np.random.binomial,
np.random.laplace, np.random.logistic, np.random.logseries or
np.random.multinomial if a 0 is generated in the underlying MT19937 random stream.
There is a 1 in :math:10^{53} chance of this occurring, and so the probability that
the stream changes for any given seed is extremely small. If a 0 is encountered in the
underlying generator, then the incorrect value produced (either np.inf
or np.nan) is now dropped.
Changes
numpy.lib.recfunctions.structured_to_unstructured does not squeeze single-field views
Previously structured_to_unstructured(arr[['a']]) would produce a squeezed
result inconsistent with structured_to_unstructured(arr[['a', b']]). This
was accidental. The old behavior can be retained with
structured_to_unstructured(arr[['a']]).squeeze(axis=-1) or far more simply,
arr['a'].
Contributors
A total of 10 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- Charles Harris
- Eric Wieser
- Dennis Zollo +
- Hunter Damron +
- Jingbei Li +
- Kevin Sheppard
- Matti Picus
- Nicola Soranzo +
- Sebastian Berg
- Tyler Reddy
Pull requests merged
A total of 16 pull requests were merged for this release.
- #13392: BUG: Some PyPy versions lack PyStructSequence_InitType2.
- #13394: MAINT, DEP: Fix deprecated
assertEquals() - #13396: BUG: Fix structuredtounstructured on single-field types (backport)
- #13549: BLD: Make CI pass again with pytest 4.5
- #13552: TST: Register markers in conftest.py.
- #13559: BUG: Removes ValueError for empty kwargs in arraymultiter_new
- #13560: BUG: Add TypeError to accepted exceptions in crackfortran.
- #13561: BUG: Handle subarrays in descrtodtype
- #13562: BUG: Protect generators from log(0.0)
- #13563: BUG: Always return views from structuredtounstructured when...
- #13564: BUG: Catch stderr when checking compiler version
- #13565: BUG: longdouble(int) does not work
- #13587: BUG: distutils/system_info.py fix missing subprocess import (#13523)
- #13620: BUG,DEP: Fix writeable flag setting for arrays without base
- #13641: MAINT: Prepare for the 1.16.4 release.
- #13644: BUG: special case object arrays when printing rel-, abs-error
Checksums
MD5
a24c599ae3445d9d085e77ce4d072259 numpy-1.16.4-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
efcfb51254d83060a2af0d30aa1d1b81 numpy-1.16.4-cp27-cp27m-manylinux1_i686.whl
b62eca40cbab3e24c4962e22633d92a5 numpy-1.16.4-cp27-cp27m-manylinux1_x86_64.whl
c96618196f6dfc29f4931a2f6fea44ad numpy-1.16.4-cp27-cp27m-win32.whl
6dd36dfd23338844c1ecac8b92efd938 numpy-1.16.4-cp27-cp27m-win_amd64.whl
52c8e342f110b2fba426fca60b1c2774 numpy-1.16.4-cp27-cp27mu-manylinux1_i686.whl
038f16384a2af6bd3db61dc773ffbe10 numpy-1.16.4-cp27-cp27mu-manylinux1_x86_64.whl
32b18d06069d3d86b8e3193b2f455c15 numpy-1.16.4-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
d6550e24ff69d4a175d278f39f871d39 numpy-1.16.4-cp35-cp35m-manylinux1_i686.whl
07b33ea867cf2657e23dbf93069eff99 numpy-1.16.4-cp35-cp35m-manylinux1_x86_64.whl
cc84f9555a711a2bc867d3b941992a68 numpy-1.16.4-cp35-cp35m-win32.whl
cf671f2b0e651e701472456107c8e644 numpy-1.16.4-cp35-cp35m-win_amd64.whl
1376e801040a91f8b325e827e6d53f91 numpy-1.16.4-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
833f763fb0d69c850fae175c65f7b502 numpy-1.16.4-cp36-cp36m-manylinux1_i686.whl
255ae62cf215e647ee437d432b6511c2 numpy-1.16.4-cp36-cp36m-manylinux1_x86_64.whl
6fcb9a8f601795413ceaf06767caca2d numpy-1.16.4-cp36-cp36m-win32.whl
de4fa9f01692ec94932a289440f18255 numpy-1.16.4-cp36-cp36m-win_amd64.whl
dab4ec8a1c07a7a1a54932c461933992 numpy-1.16.4-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
c1d3c38c67396809c51f5c98aead5e13 numpy-1.16.4-cp37-cp37m-manylinux1_i686.whl
e98fc6a8d90ff7ed26d0ed7faad3aa8d numpy-1.16.4-cp37-cp37m-manylinux1_x86_64.whl
f84869efe5610e6ad6165237c012ea93 numpy-1.16.4-cp37-cp37m-win32.whl
17b46c338d04cb8b4773fb6b02919f2b numpy-1.16.4-cp37-cp37m-win_amd64.whl
6edf7334d04d8e8849ad058ccd3b3803 numpy-1.16.4.tar.gz
74f7d348c55ace4d22d7ad26c65755aa numpy-1.16.4.zip
SHA256
b5554368e4ede1856121b0dfa35ce71768102e4aa55e526cb8de7f374ff78722 numpy-1.16.4-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
e8baab1bc7c9152715844f1faca6744f2416929de10d7639ed49555a85549f52 numpy-1.16.4-cp27-cp27m-manylinux1_i686.whl
2a04dda79606f3d2f760384c38ccd3d5b9bb79d4c8126b67aff5eb09a253763e numpy-1.16.4-cp27-cp27m-manylinux1_x86_64.whl
94f5bd885f67bbb25c82d80184abbf7ce4f6c3c3a41fbaa4182f034bba803e69 numpy-1.16.4-cp27-cp27m-win32.whl
7dc253b542bfd4b4eb88d9dbae4ca079e7bf2e2afd819ee18891a43db66c60c7 numpy-1.16.4-cp27-cp27m-win_amd64.whl
0778076e764e146d3078b17c24c4d89e0ecd4ac5401beff8e1c87879043a0633 numpy-1.16.4-cp27-cp27mu-manylinux1_i686.whl
b0348be89275fd1d4c44ffa39530c41a21062f52299b1e3ee7d1c61f060044b8 numpy-1.16.4-cp27-cp27mu-manylinux1_x86_64.whl
52c40f1a4262c896420c6ea1c6fda62cf67070e3947e3307f5562bd783a90336 numpy-1.16.4-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
141c7102f20abe6cf0d54c4ced8d565b86df4d3077ba2343b61a6db996cefec7 numpy-1.16.4-cp35-cp35m-manylinux1_i686.whl
6e4f8d9e8aa79321657079b9ac03f3cf3fd067bf31c1cca4f56d49543f4356a5 numpy-1.16.4-cp35-cp35m-manylinux1_x86_64.whl
d79f18f41751725c56eceab2a886f021d70fd70a6188fd386e29a045945ffc10 numpy-1.16.4-cp35-cp35m-win32.whl
14270a1ee8917d11e7753fb54fc7ffd1934f4d529235beec0b275e2ccf00333b numpy-1.16.4-cp35-cp35m-win_amd64.whl
a89e188daa119ffa0d03ce5123dee3f8ffd5115c896c2a9d4f0dbb3d8b95bfa3 numpy-1.16.4-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
ec31fe12668af687b99acf1567399632a7c47b0e17cfb9ae47c098644ef36797 numpy-1.16.4-cp36-cp36m-manylinux1_i686.whl
27e11c7a8ec9d5838bc59f809bfa86efc8a4fd02e58960fa9c49d998e14332d5 numpy-1.16.4-cp36-cp36m-manylinux1_x86_64.whl
dc2ca26a19ab32dc475dbad9dfe723d3a64c835f4c23f625c2b6566ca32b9f29 numpy-1.16.4-cp36-cp36m-win32.whl
ad3399da9b0ca36e2f24de72f67ab2854a62e623274607e37e0ce5f5d5fa9166 numpy-1.16.4-cp36-cp36m-win_amd64.whl
f58ac38d5ca045a377b3b377c84df8175ab992c970a53332fa8ac2373df44ff7 numpy-1.16.4-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
f12b4f7e2d8f9da3141564e6737d79016fe5336cc92de6814eba579744f65b0a numpy-1.16.4-cp37-cp37m-manylinux1_i686.whl
cbddc56b2502d3f87fda4f98d948eb5b11f36ff3902e17cb6cc44727f2200525 numpy-1.16.4-cp37-cp37m-manylinux1_x86_64.whl
3c26010c1b51e1224a3ca6b8df807de6e95128b0908c7e34f190e7775455b0ca numpy-1.16.4-cp37-cp37m-win32.whl
dd9bcd4f294eb0633bb33d1a74febdd2b9018b8b8ed325f861fffcd2c7660bb8 numpy-1.16.4-cp37-cp37m-win_amd64.whl
a3bccb70ad94091a5b9e2469fabd41ac877c140a6828c2022e35560a2ec0346c numpy-1.16.4.tar.gz
7242be12a58fec245ee9734e625964b97cf7e3f2f7d016603f9e56660ce479c7 numpy-1.16.4.zip
- Python
Published by charris about 7 years ago
numpy -
==========================
NumPy 1.16.3 Release Notes
The NumPy 1.16.3 release fixes bugs reported against the 1.16.2 release, and also backports several enhancements from master that seem appropriate for a release series that is the last to support Python 2.7. The wheels on PyPI are linked with OpenBLAS v0.3.4+, which should fix the known threading issues found in previous OpenBLAS versions.
Downstream developers building this release should use Cython >= 0.29.2 and, if using OpenBLAS, OpenBLAS > v0.3.4.
The most noticeable change in this release is that unpickling object arrays
when loading *.npy or *.npz files now requires an explicit opt-in.
This backwards incompatible change was made in response to
CVE-2019-6446 <https://nvd.nist.gov/vuln/detail/CVE-2019-6446>_.
Compatibility notes
Unpickling while loading requires explicit opt-in
The functions np.load, and np.lib.format.read_array take an
allow_pickle keyword which now defaults to False in response to
CVE-2019-6446 <https://nvd.nist.gov/vuln/detail/CVE-2019-6446>_.
Improvements
Covariance in random.mvnormal cast to double
This should make the tolerance used when checking the singular values of the covariance matrix more meaningful.
Changes
__array_interface__ offset now works as documented
The interface may use an offset value that was previously mistakenly
ignored.
Checksums
MD5
7039dd60e2066e8882149a8b8bd6cf2f numpy-1.16.3-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
c03c7365b58deefd03e3c080660d7157 numpy-1.16.3-cp27-cp27m-manylinux1_i686.whl
91900b9172e39c039326c56cf0149e15 numpy-1.16.3-cp27-cp27m-manylinux1_x86_64.whl
b06d87509a2228c5952096cb11c8b007 numpy-1.16.3-cp27-cp27m-win32.whl
88c1e91c6bd3626278b7938f12cafbe2 numpy-1.16.3-cp27-cp27m-win_amd64.whl
98fb024d8d63f056ef7c82e772c4bfa0 numpy-1.16.3-cp27-cp27mu-manylinux1_i686.whl
d2b8da12f0855765e9cd3cc49d9885b9 numpy-1.16.3-cp27-cp27mu-manylinux1_x86_64.whl
ec4f2fd2180fd68647f38a0d4c331dcf numpy-1.16.3-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
7add5c07a1679bfc086d5575be26ccc6 numpy-1.16.3-cp35-cp35m-manylinux1_i686.whl
bd3c27deac470bce5edf6936d08966b8 numpy-1.16.3-cp35-cp35m-manylinux1_x86_64.whl
c6ab529b105181fc846a8245e5e4d048 numpy-1.16.3-cp35-cp35m-win32.whl
1854757b3e127614ae01b0b814762f5c numpy-1.16.3-cp35-cp35m-win_amd64.whl
b23b0727562be62ffd943c7828822da9 numpy-1.16.3-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
93a2a4b48f160ffd1bdd30023b842be2 numpy-1.16.3-cp36-cp36m-manylinux1_i686.whl
453f5996ac600c4085656e82005fb0e5 numpy-1.16.3-cp36-cp36m-manylinux1_x86_64.whl
773f9e76235ab5edd9ef1c083e62ea9f numpy-1.16.3-cp36-cp36m-win32.whl
9ba2467b05eb4471817509cabff1b9a6 numpy-1.16.3-cp36-cp36m-win_amd64.whl
00594b150e69d1776164ffa60d7fdc01 numpy-1.16.3-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
fe3421cbae83004e7feca4d90043e9df numpy-1.16.3-cp37-cp37m-manylinux1_i686.whl
4e907ac7d841018c0a9130ca45d099ee numpy-1.16.3-cp37-cp37m-manylinux1_x86_64.whl
c7e8e9f9ded13b1356e72cd8506df224 numpy-1.16.3-cp37-cp37m-win32.whl
370ec58a5fdfe9e7ffe90857577806c6 numpy-1.16.3-cp37-cp37m-win_amd64.whl
0886e5b5017f08f2b7a624c0b5931e61 numpy-1.16.3.tar.gz
cab84884fba39fbd352550896bf22bfd numpy-1.16.3.zip
SHA256
b78a1defedb0e8f6ae1eb55fa6ac74ab42acc4569c3a2eacc2a407ee5d42ebcb numpy-1.16.3-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
0e2eed77804b2a6a88741f8fcac02c5499bba3953ec9c71e8b217fad4912c56c numpy-1.16.3-cp27-cp27m-manylinux1_i686.whl
754a6be26d938e6ca91942804eb209307b73f806a1721176278a6038869a1686 numpy-1.16.3-cp27-cp27m-manylinux1_x86_64.whl
315fa1b1dfc16ae0f03f8fd1c55f23fd15368710f641d570236f3d78af55e340 numpy-1.16.3-cp27-cp27m-win32.whl
80d99399c97f646e873dd8ce87c38cfdbb668956bbc39bc1e6cac4b515bba2a0 numpy-1.16.3-cp27-cp27m-win_amd64.whl
a61255a765b3ac73ee4b110b28fccfbf758c985677f526c2b4b39c48cc4b509d numpy-1.16.3-cp27-cp27mu-manylinux1_i686.whl
88a72c1e45a0ae24d1f249a529d9f71fe82e6fa6a3fd61414b829396ec585900 numpy-1.16.3-cp27-cp27mu-manylinux1_x86_64.whl
54fe3b7ed9e7eb928bbc4318f954d133851865f062fa4bbb02ef8940bc67b5d2 numpy-1.16.3-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
abbd6b1c2ef6199f4b7ca9f818eb6b31f17b73a6110aadc4e4298c3f00fab24e numpy-1.16.3-cp35-cp35m-manylinux1_i686.whl
771147e654e8b95eea1293174a94f34e2e77d5729ad44aefb62fbf8a79747a15 numpy-1.16.3-cp35-cp35m-manylinux1_x86_64.whl
48241759b99d60aba63b0e590332c600fc4b46ad597c9b0a53f350b871ef0634 numpy-1.16.3-cp35-cp35m-win32.whl
b16d88da290334e33ea992c56492326ea3b06233a00a1855414360b77ca72f26 numpy-1.16.3-cp35-cp35m-win_amd64.whl
ab4896a8c910b9a04c0142871d8800c76c8a2e5ff44763513e1dd9d9631ce897 numpy-1.16.3-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
7fde5c2a3a682a9e101e61d97696687ebdba47637611378b4127fe7e47fdf2bf numpy-1.16.3-cp36-cp36m-manylinux1_i686.whl
4b4f2924b36d857cf302aec369caac61e43500c17eeef0d7baacad1084c0ee84 numpy-1.16.3-cp36-cp36m-manylinux1_x86_64.whl
d160e57731fcdec2beda807ebcabf39823c47e9409485b5a3a1db3a8c6ce763e numpy-1.16.3-cp36-cp36m-win32.whl
1f46532afa7b2903bfb1b79becca2954c0a04389d19e03dc73f06b039048ac40 numpy-1.16.3-cp36-cp36m-win_amd64.whl
1c666f04553ef70fda54adf097dbae7080645435fc273e2397f26bbf1d127bbb numpy-1.16.3-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
3d5fcea4f5ed40c3280791d54da3ad2ecf896f4c87c877b113576b8280c59441 numpy-1.16.3-cp37-cp37m-manylinux1_i686.whl
5a8f021c70e6206c317974c93eaaf9bc2b56295b6b1cacccf88846e44a1f33fc numpy-1.16.3-cp37-cp37m-manylinux1_x86_64.whl
cfef82c43b8b29ca436560d51b2251d5117818a8d1fb74a8384a83c096745dad numpy-1.16.3-cp37-cp37m-win32.whl
a4f4460877a16ac73302a9c077ca545498d9fe64e6a81398d8e1a67e4695e3df numpy-1.16.3-cp37-cp37m-win_amd64.whl
adf063a3f87ab89393f5eea0eb903293b112fa0a308e8c594a75ffa585d81d4f numpy-1.16.3.tar.gz
78a6f89da87eeb48014ec652a65c4ffde370c036d780a995edaeb121d3625621 numpy-1.16.3.zip
- Python
Published by charris about 7 years ago
numpy -
==========================
NumPy 1.16.2 Release Notes
NumPy 1.16.2 is a quick release fixing several problems encountered on Windows. The Python versions supported are 2.7 and 3.5-3.7. The Windows problems addressed are:
- DLL load problems for NumPy wheels on Windows,
- distutils command line parsing on Windows.
There is also a regression fix correcting signed zeros produced by divmod, see below for details.
Downstream developers building this release should use Cython >= 0.29.2 and, if using OpenBLAS, OpenBLAS > v0.3.4.
If you are installing using pip, you may encounter a problem with older
installed versions of NumPy that pip did not delete becoming mixed with the
current version, resulting in an ImportError. That problem is particularly
common on Debian derived distributions due to a modified pip. The fix is to
make sure all previous NumPy versions installed by pip have been removed. See
#12736 <https://github.com/numpy/numpy/issues/12736>__ for discussion of the
issue.
Compatibility notes
Signed zero when using divmod
Starting in version 1.12.0, numpy incorrectly returned a negatively signed zero
when using the divmod and floor_divide functions when the result was
zero. For example:
```
np.zeros(10)//1 array([-0., -0., -0., -0., -0., -0., -0., -0., -0., -0.])
With this release, the result is correctly returned as a positively signed zero:np.zeros(10)//1 array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0.]) ```
Contributors
A total of 5 people contributed to this release. People with a "+" by their names contributed a patch for the first time.
- Charles Harris
- Eric Wieser
- Matti Picus
- Tyler Reddy
- Tony LaTorre +
Pull requests merged
A total of 7 pull requests were merged for this release.
- #12909: TST: fix vmImage dispatch in Azure
- #12923: MAINT: remove complicated test of multiarray import failure mode
- #13020: BUG: fix signed zero behavior in npy_divmod
- #13026: MAINT: Add functions to parse shell-strings in the platform-native...
- #13028: BUG: Fix regression in parsing of F90 and F77 environment variables
- #13038: BUG: parse shell escaping in extracompileargs and extralinkargs
- #13041: BLD: Windows absolute path DLL loading
Checksums
MD5
a166c7e850f9375552f9950ba95f3a8a numpy-1.16.2-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
cfc866763a75e7cb247c189e141e4506 numpy-1.16.2-cp27-cp27m-manylinux1_i686.whl
0756e1901d81033143ad55583118598e numpy-1.16.2-cp27-cp27m-manylinux1_x86_64.whl
1242a10df37701abe8c8afc59809e1ac numpy-1.16.2-cp27-cp27m-win32.whl
60da6aed692fc96c97efde2daca52d6f numpy-1.16.2-cp27-cp27m-win_amd64.whl
62b92da3423dd59230c9369a43299506 numpy-1.16.2-cp27-cp27mu-manylinux1_i686.whl
5125ec60d3895d89e5d6d71d9e21b349 numpy-1.16.2-cp27-cp27mu-manylinux1_x86_64.whl
15bbe3a9ac6024ac631ed420c04fde47 numpy-1.16.2-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
ca025ce06f5bc7b81627bc5bf523d589 numpy-1.16.2-cp35-cp35m-manylinux1_i686.whl
ca9953287417064b44a47a6ec92c797c numpy-1.16.2-cp35-cp35m-manylinux1_x86_64.whl
f8fa8bda14131b2714c42b775dfde349 numpy-1.16.2-cp35-cp35m-win32.whl
ce7abc3bb59c549ffe3b56984a291eaa numpy-1.16.2-cp35-cp35m-win_amd64.whl
4f26f55f35c58b4228cb3f60cb98f32d numpy-1.16.2-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
ac1e770a95ff3f8a47f74e64bd034768 numpy-1.16.2-cp36-cp36m-manylinux1_i686.whl
990a95c5f6bb34ed5588c996890bf9c7 numpy-1.16.2-cp36-cp36m-manylinux1_x86_64.whl
79bbaffa096bbbaf42c029bf85df5ac2 numpy-1.16.2-cp36-cp36m-win32.whl
83ddd33ccf7a434895ade64199424a07 numpy-1.16.2-cp36-cp36m-win_amd64.whl
ee8c8d67fa75a2c4a733fc491590419a numpy-1.16.2-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
4fce2fe91abe1e8b09232c5aaafa484a numpy-1.16.2-cp37-cp37m-manylinux1_i686.whl
9cac844e1fc29972e63cb80512379805 numpy-1.16.2-cp37-cp37m-manylinux1_x86_64.whl
38d9fccdc6ae4420c9ee5303f1298974 numpy-1.16.2-cp37-cp37m-win32.whl
a1dcfcbe4993d77357bb2213aacf9e82 numpy-1.16.2-cp37-cp37m-win_amd64.whl
4fc754be7ec3e0f80b042d907e99f4ad numpy-1.16.2.tar.gz
ec99ec2763a6be3817675f92b8847d3c numpy-1.16.2.zip
SHA256
972ea92f9c1b54cc1c1a3d8508e326c0114aaf0f34996772a30f3f52b73b942f numpy-1.16.2-cp27-cp27m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
1980f8d84548d74921685f68096911585fee393975f53797614b34d4f409b6da numpy-1.16.2-cp27-cp27m-manylinux1_i686.whl
560ceaa24f971ab37dede7ba030fc5d8fa173305d94365f814d9523ffd5d5916 numpy-1.16.2-cp27-cp27m-manylinux1_x86_64.whl
62be044cd58da2a947b7e7b2252a10b42920df9520fc3d39f5c4c70d5460b8ba numpy-1.16.2-cp27-cp27m-win32.whl
adab43bf657488300d3aeeb8030d7f024fcc86e3a9b8848741ea2ea903e56610 numpy-1.16.2-cp27-cp27m-win_amd64.whl
9f1d4865436f794accdabadc57a8395bd3faa755449b4f65b88b7df65ae05f89 numpy-1.16.2-cp27-cp27mu-manylinux1_i686.whl
fb3c83554f39f48f3fa3123b9c24aecf681b1c289f9334f8215c1d3c8e2f6e5b numpy-1.16.2-cp27-cp27mu-manylinux1_x86_64.whl
6f65e37b5a331df950ef6ff03bd4136b3c0bbcf44d4b8e99135d68a537711b5a numpy-1.16.2-cp35-cp35m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
d3b3ed87061d2314ff3659bb73896e622252da52558f2380f12c421fbdee3d89 numpy-1.16.2-cp35-cp35m-manylinux1_i686.whl
893f4d75255f25a7b8516feb5766c6b63c54780323b9bd4bc51cdd7efc943c73 numpy-1.16.2-cp35-cp35m-manylinux1_x86_64.whl
3a0bd1edf64f6a911427b608a894111f9fcdb25284f724016f34a84c9a3a6ea9 numpy-1.16.2-cp35-cp35m-win32.whl
2b0b118ff547fecabc247a2668f48f48b3b1f7d63676ebc5be7352a5fd9e85a5 numpy-1.16.2-cp35-cp35m-win_amd64.whl
bd2834d496ba9b1bdda3a6cf3de4dc0d4a0e7be306335940402ec95132ad063d numpy-1.16.2-cp36-cp36m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
3f25f6c7b0d000017e5ac55977a3999b0b1a74491eacb3c1aa716f0e01f6dcd1 numpy-1.16.2-cp36-cp36m-manylinux1_i686.whl
23cc40313036cffd5d1873ef3ce2e949bdee0646c5d6f375bf7ee4f368db2511 numpy-1.16.2-cp36-cp36m-manylinux1_x86_64.whl
22752cd809272671b273bb86df0f505f505a12368a3a5fc0aa811c7ece4dfd5c numpy-1.16.2-cp36-cp36m-win32.whl
d20c0360940f30003a23c0adae2fe50a0a04f3e48dc05c298493b51fd6280197 numpy-1.16.2-cp36-cp36m-win_amd64.whl
80a41edf64a3626e729a62df7dd278474fc1726836552b67a8c6396fd7e86760 numpy-1.16.2-cp37-cp37m-macosx_10_6_intel.macosx_10_9_intel.macosx_10_9_x86_64.macosx_10_10_intel.macosx_10_10_x86_64.whl
7a78cc4ddb253a55971115f8320a7ce28fd23a065fc33166d601f51760eecfa9 numpy-1.16.2-cp37-cp37m-manylinux1_i686.whl
9f4cd7832b35e736b739be03b55875706c8c3e5fe334a06210f1a61e5c2c8ca5 numpy-1.16.2-cp37-cp37m-manylinux1_x86_64.whl
dc235bf29a406dfda5790d01b998a1c01d7d37f449128c0b1b7d1c89a84fae8b numpy-1.16.2-cp37-cp37m-win32.whl
4061c79ac2230594a7419151028e808239450e676c39e58302ad296232e3c2e8 numpy-1.16.2-cp37-cp37m-win_amd64.whl
8088221e6e27da8d5907729f0bfe798f526836f22cc59ae83a0f867e67416a3e numpy-1.16.2.tar.gz
6c692e3879dde0b67a9dc78f9bfb6f61c666b4562fd8619632d7043fb5b691b0 numpy-1.16.2.zip
- Python
Published by charris over 7 years ago