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.array and np.char.asarray...
  • #29417: BUG: Any dtype should call square on arr \*\* 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 matmul for non-contiguous out kwarg parameter
  • Fix for Accelerate runtime warnings on M4 hardware
  • Fix new in NumPy 2.3.0 np.vectorize casting 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.vectorize casting 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_plugin has been deprecated in favor of platform-agnostic static type inference. Please remove numpy.typing.mypy_plugin from the plugins section of your mypy configuration. If this change results in new errors being reported, kindly open an issue.

    (gh-28129)

  • The numpy.typing.NBitBase type 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, float64 and complex128 were changed to concrete subtypes, causing static type-checkers to reject x: 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_OWNDATA from Cython interfaces in favor of NPY_ARRAY_OWNDATA (deprecated since 1.7)

    (gh-28254)

  • Remove numpy/npy_1_7_deprecated_api.h and C macros like NPY_OWNDATA in favor of NPY_ARRAY_OWNDATA (deprecated since 1.7)

    (gh-28254)

  • Remove alias generate_divbyzero_error to npy_set_floatstatus_divbyzero and generate_overflow_error to npy_set_floatstatus_overflow (deprecated since 1.10)

    (gh-28254)

  • Remove np.tostring (deprecated since 1.19)

    (gh-28254)

  • Raise on np.conjugate of 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=None to functions with a non-optional shape argument errors, use () instead (deprecated since 1.20)

    (gh-28254)

  • Inexact matches for mode and searchside raise (deprecated since 1.20)

    (gh-28254)

  • Setting __array_finalize__ = None errors (deprecated since 1.23)

    (gh-28254)

  • np.fromfile and np.fromstring error on bad data, previously they would guess (deprecated since 1.18)

    (gh-28254)

  • datetime64 and timedelta64 construction with a tuple no longer accepts an event value, 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 dtype from a class with a dtype attribute, 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.tostring has been removed, use tobytes instead (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() with axis=None uses same-kind casting by default, not unsafe (deprecated since 1.20)

    (gh-28254)

  • Unpickling a scalar with object dtype errors (deprecated since 1.20)

    (gh-28254)

  • The binary mode of fromstring now errors, use frombuffer instead (deprecated since 1.14)

    (gh-28254)

  • Converting np.inexact or np.floating to a dtype errors (deprecated since 1.19)

    (gh-28254)

  • Converting np.complex, np.integer, np.signedinteger, np.unsignedinteger, np.generic to a dtype errors (deprecated since 1.19)

    (gh-28254)

  • The Python built-in round errors for complex scalars. Use np.round or scalar.round instead (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=float keyword argument.
    • Use np.loadtxt(...).astype(np.int64)

    (gh-28254)

  • The use of a length 1 tuple for the ufunc signature errors. Use dtype or fill the tuple with None (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.compat package source code (removed in 2.0)

    (gh-28961)

C API changes

  • NpyIter_GetTransferFlags is 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 casting float64(1e300) to float32 (overflow to infinity) or a NaN to an integer (invalid value).

    (gh-27883)

  • NpyIter now 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.dtype now defaults to typing.Any. This way, static type-checkers will infer dtype: np.dtype as dtype: np.dtype[Any], without reporting an error.

    (gh-28669)

  • Static type-checkers now interpret:

    • _: np.ndarray as _: npt.NDArray[typing.Any].
    • _: np.flatiter as _: 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-config or pkgconf provided 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 use numpy-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.nditer now 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 its kind and itemsize.

    (gh-28250)

  • np.dot now reports floating point exceptions.

    (gh-28442)

  • np.dtypes.StringDType is now a generic type which accepts a type argument for na_object that defaults to typing.Never. For example, StringDType(na_object=None) returns a StringDType[None], and StringDType() returns a StringDType[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.seterr settings

(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=inf and the matrix norms ord={1, 2, inf, 'nuc'} now always returns zero for empty arrays. Empty arrays have at least one axis of size zero. This affects np.linalg.norm, np.linalg.vector_norm, and np.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_positional has been fixed.

    (gh-28569)

  • NumPy\'s __array_api_version__ was upgraded from 2023.12 to 2024.12.

  • numpy.count_nonzero for axis=None (default) now returns a NumPy scalar instead of a Python integer.

  • The parameter axis in numpy.take_along_axis function has now a default value of -1.

    (gh-28615)

  • Printing of np.float16 and np.float32 scalars and arrays have been improved by adjusting the transition to scientific notation based on the floating point precision. A new legacy np.printoptions mode '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 buffersize parameter.
  • 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_plugin has been deprecated in favor of platform-agnostic static type inference. Please remove numpy.typing.mypy_plugin from the plugins section of your mypy configuration. If this change results in new errors being reported, kindly open an issue.

    (gh-28129)

  • The numpy.typing.NBitBase type 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, float64 and complex128 were changed to concrete subtypes, causing static type-checkers to reject x: 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_OWNDATA from Cython interfaces in favor of NPY_ARRAY_OWNDATA (deprecated since 1.7)

    (gh-28254)

  • Remove numpy/npy_1_7_deprecated_api.h and C macros like NPY_OWNDATA in favor of NPY_ARRAY_OWNDATA (deprecated since 1.7)

    (gh-28254)

  • Remove alias generate_divbyzero_error to npy_set_floatstatus_divbyzero and generate_overflow_error to npy_set_floatstatus_overflow (deprecated since 1.10)

    (gh-28254)

  • Remove np.tostring (deprecated since 1.19)

    (gh-28254)

  • Raise on np.conjugate of 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=None to functions with a non-optional shape argument errors, use () instead (deprecated since 1.20)

    (gh-28254)

  • Inexact matches for mode and searchside raise (deprecated since 1.20)

    (gh-28254)

  • Setting __array_finalize__ = None errors (deprecated since 1.23)

    (gh-28254)

  • np.fromfile and np.fromstring error on bad data, previously they would guess (deprecated since 1.18)

    (gh-28254)

  • datetime64 and timedelta64 construction with a tuple no longer accepts an event value, 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 dtype from a class with a dtype attribute, 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.tostring has been removed, use tobytes instead (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() with axis=None uses same-kind casting by default, not unsafe (deprecated since 1.20)

    (gh-28254)

  • Unpickling a scalar with object dtype errors (deprecated since 1.20)

    (gh-28254)

  • The binary mode of fromstring now errors, use frombuffer instead (deprecated since 1.14)

    (gh-28254)

  • Converting np.inexact or np.floating to a dtype errors (deprecated since 1.19)

    (gh-28254)

  • Converting np.complex, np.integer, np.signedinteger, np.unsignedinteger, np.generic to a dtype errors (deprecated since 1.19)

    (gh-28254)

  • The Python built-in round errors for complex scalars. Use np.round or scalar.round instead (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=float keyword argument.
    • Use np.loadtxt(...).astype(np.int64)

    (gh-28254)

  • The use of a length 1 tuple for the ufunc signature errors. Use dtype or fill the tuple with None (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.compat package source code (removed in 2.0)

    (gh-28961)

C API changes

  • NpyIter_GetTransferFlags is 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 casting float64(1e300) to float32 (overflow to infinity) or a NaN to an integer (invalid value).

    (gh-27883)

  • NpyIter now 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.dtype now defaults to typing.Any. This way, static type-checkers will infer dtype: np.dtype as dtype: np.dtype[Any], without reporting an error.

    (gh-28669)

  • Static type-checkers now interpret:

    • _: np.ndarray as _: npt.NDArray[typing.Any].
    • _: np.flatiter as _: 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-config or pkgconf provided 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 use numpy-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.nditer now 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 its kind and itemsize.

    (gh-28250)

  • np.dot now reports floating point exceptions.

    (gh-28442)

  • np.dtypes.StringDType is now a generic type which accepts a type argument for na_object that defaults to typing.Never. For example, StringDType(na_object=None) returns a StringDType[None], and StringDType() returns a StringDType[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.seterr settings

(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=inf and the matrix norms ord={1, 2, inf, 'nuc'} now always returns zero for empty arrays. Empty arrays have at least one axis of size zero. This affects np.linalg.norm, np.linalg.vector_norm, and np.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_positional has been fixed.

    (gh-28569)

  • NumPy\'s __array_api_version__ was upgraded from 2023.12 to 2024.12.

  • numpy.count_nonzero for axis=None (default) now returns a NumPy scalar instead of a Python integer.

  • The parameter axis in numpy.take_along_axis function has now a default value of -1.

    (gh-28615)

  • Printing of np.float16 and np.float32 scalars and arrays have been improved by adjusting the transition to scientific notation based on the floating point precision. A new legacy np.printoptions mode '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 buffersize parameter.
  • 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] + float return 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 CanIndex annotation in ndarray.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() to str in savetxt
  • #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 for dtype[bool]
  • #28705: TYP: Fix false rejection of NDArray[object_].__abs__()
  • #28706: TYP: Fix inconsistent NDArray[float64].__[r]truediv__ return...
  • #28723: TYP: fix string-like ndarray rich comparison operators
  • #28758: TYP: some [arg]partition fixes
  • #28772: TYP: fix incorrect random.Generator.integers return type
  • #28774: TYP: fix count_nonzero signature

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_positional errors 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 float64 in the set-ops
  • #28249: BLD: better fix for clang / ARM compiles
  • #28266: TYP: Fix timedelta64.__divmod__ and timedelta64.__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.testing modules
  • #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 void arrays not accepting str keys in __setitem__
  • #28066: TYP: fix unnecessarily broad integer binop return types (#28065)
  • #28112: TYP: Better ndarray binop return types for float64 &...
  • #28113: TYP: Return the correct bool from issubdtype
  • #28114: TYP: Always accept date[time] in the datetime64 constructor
  • #28120: BUG: Fix auxdata initialization in ufunc slow path
  • #28131: BUG: move reduction initialization to ufunc initialization
  • #28132: TYP: Fix interp to 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> with extern "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 None in 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 matvec and vecmat, see below.
  • Many improved annotations.
  • Improved support for the new StringDType.
  • Improved support for free threaded Python
  • Fixes for f2py

This release supports Python versions 3.10-3.13.

Deprecations

  • _add_newdoc_ufunc is now deprecated. ufunc.__doc__ = newdoc should be used instead.

    (gh-27735)

Expired deprecations

  • bool(np.array([])) and other empty arrays will now raise an error. Use arr.size > 0 instead to check whether an array has no elements.

    (gh-27160)

Compatibility notes

  • numpy.cov now properly transposes single-row (2d array) design matrices when rowvar=False. Previously, single-row design matrices would return a scalar in this scenario, which is not correct, so this is a behavior change and an array of the appropriate shape will now be returned.

    (gh-27661)

New Features

  • New functions for matrix-vector and vector-matrix products

    Two new generalized ufuncs were defined:

    • numpy.matvec - matrix-vector product, treating the arguments as stacks of matrices and column vectors, respectively.
    • numpy.vecmat - vector-matrix product, treating the arguments as stacks of column vectors and matrices, respectively. For complex vectors, the conjugate is taken.

    These add to the existing numpy.matmul as well as to numpy.vecdot, which was added in numpy 2.0.

    Note that numpy.matmul never takes a complex conjugate, also not when its left input is a vector, while both numpy.vecdot and numpy.vecmat do take the conjugate for complex vectors on the left-hand side (which are taken to be the ones that are transposed, following the physics convention).

    (gh-25675)

  • np.complexfloating[T, T] can now also be written as np.complexfloating[T]

    (gh-27420)

  • UFuncs now support __dict__ attribute and allow overriding __doc__ (either directly or via ufunc.__dict__["__doc__"]). __dict__ can be used to also override other properties, such as __module__ or __qualname__.

    (gh-27735)

  • The \"nbit\" type parameter of np.number and its subtypes now defaults to typing.Any. This way, type-checkers will infer annotations such as x: np.floating as x: np.floating[Any], even in strict mode.

    (gh-27736)

Improvements

  • The datetime64 and timedelta64 hashes now correctly match the Pythons builtin datetime and timedelta ones. The hashes now evaluated equal even for equal values with different time units.

    (gh-14622)

  • Fixed a number of issues around promotion for string ufuncs with StringDType arguments. Mixing StringDType and the fixed-width DTypes using the string ufuncs should now generate much more uniform results.

    (gh-27636)

  • Improved support for empty memmap. Previously an empty memmap would fail unless a non-zero offset was set. Now a zero-size memmap is supported even if offset=0. To achieve this, if a memmap is mapped to an empty file that file is padded with a single byte.

    (gh-27723)

  • A regression has been fixed which allows F2PY users to expose variables to Python in modules with only assignments, and also fixes situations where multiple modules are present within a single source file.

    (gh-27695)

Performance improvements and changes

  • Improved multithreaded scaling on the free-threaded build when many threads simultaneously call the same ufunc operations.

    (gh-27896)

  • NumPy now uses fast-on-failure attribute lookups for protocols. This can greatly reduce overheads of function calls or array creation especially with custom Python objects. The largest improvements will be seen on Python 3.12 or newer.

    (gh-27119)

  • OpenBLAS on x86_64 and i686 is built with fewer kernels. Based on benchmarking, there are 5 clusters of performance around these kernels: PRESCOTT NEHALEM SANDYBRIDGE HASWELL SKYLAKEX.

  • OpenBLAS on windows is linked without quadmath, simplifying licensing

  • Due to a regression in OpenBLAS on windows, the performance improvements when using multiple threads for OpenBLAS 0.3.26 were reverted.

    (gh-27147)

  • NumPy now indicates hugepages also for large np.zeros allocations on linux. Thus should generally improve performance.

    (gh-27808)

Changes

  • numpy.fix now won\'t perform casting to a floating data-type for integer and boolean data-type input arrays.

    (gh-26766)

  • The type annotations of numpy.float64 and numpy.complex128 now reflect that they are also subtypes of the built-in float and complex types, 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 repr of arrays large enough to be summarized (i.e., where elements are replaced with ...) now includes the shape of the array, similar to what already was the case for arrays with zero size and non-obvious shape. With this change, the shape is always given when it cannot be inferred from the values. Note that while written as shape=..., this argument cannot actually be passed in to the np.array constructor. If you encounter problems, e.g., due to failing doctests, you can use the print option legacy=2.1 to get the old behaviour.

    (gh-27482)

  • Calling __array_wrap__ directly on NumPy arrays or scalars now does the right thing when return_scalar is passed (Added in NumPy 2). It is further safe now to call the scalar __array_wrap__ on a non-scalar result.

    (gh-27807)

  • Bump the musllinux CI image and wheels to 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=weak while _set_promotion_state and _get_promotion_state are removed. In case code used _no_nep50_warning, a contextlib.nullcontext could be used to replace it when not available.

    (gh-27156)

Checksums

MD5

1b58b9e275e80364cd02dafb3f8daf35  numpy-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl
7d3773d9b665b2d7cfec0cc0b760e69e  numpy-2.2.0-cp310-cp310-macosx_11_0_arm64.whl
8ef666a462d3765ccfd5288f2fdf8e08  numpy-2.2.0-cp310-cp310-macosx_14_0_arm64.whl
e4f9e3117075ffe53d7993253c774158  numpy-2.2.0-cp310-cp310-macosx_14_0_x86_64.whl
fd60e410e5db402a2d0c0cb4dd23281d  numpy-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
64c083cdbd91eb8670cd72b619f3a039  numpy-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c3c75c2299f5163770e2e42f0dee5276  numpy-2.2.0-cp310-cp310-musllinux_1_2_aarch64.whl
f6ab05f787221bbaf8fb4a9778af5467  numpy-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
9b04caec124cadf90005ccdb662aad9f  numpy-2.2.0-cp310-cp310-win32.whl
58934f23b6bc71fb1f984b688c1c6136  numpy-2.2.0-cp310-cp310-win_amd64.whl
769e53438154e53ba490fb4f816c083e  numpy-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl
aa8060c013c04133b63780025eef4451  numpy-2.2.0-cp311-cp311-macosx_11_0_arm64.whl
72c10ef28a0ddffe6bf2495954ab82e0  numpy-2.2.0-cp311-cp311-macosx_14_0_arm64.whl
946b2510c86eb48e374e6987582c9b46  numpy-2.2.0-cp311-cp311-macosx_14_0_x86_64.whl
3f5203ae901ddd78cb298582eda07627  numpy-2.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fd14624d40100a5eb0181bf393394448  numpy-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7c86d51d89dbc5a6860d65641ea131ef  numpy-2.2.0-cp311-cp311-musllinux_1_2_aarch64.whl
895c6588c74019b94fb3c740b9e9a0f5  numpy-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
1468ae1cb59a43991b199cfa6f1e5679  numpy-2.2.0-cp311-cp311-win32.whl
48a3792698a81917320b91a30c0bacf4  numpy-2.2.0-cp311-cp311-win_amd64.whl
db4377351f167d82adc66b16965d11bd  numpy-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl
3f3978b5e480ed18d55b1799d9a534ff  numpy-2.2.0-cp312-cp312-macosx_11_0_arm64.whl
584b4063eb66688b607f7e7bdca58011  numpy-2.2.0-cp312-cp312-macosx_14_0_arm64.whl
dfacf4ee4842d845f5e12f912ebc2055  numpy-2.2.0-cp312-cp312-macosx_14_0_x86_64.whl
2f10d9bc44635078a6222ed50c9fd0f2  numpy-2.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bb69665b4b68b7af82939132972e8261  numpy-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
92e9b03039ab737e6799dbd9d057fce2  numpy-2.2.0-cp312-cp312-musllinux_1_2_aarch64.whl
a4198f53e3906394012ab88dffff4077  numpy-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
f9cb2f38ae8272ab5eb4b209c59be45f  numpy-2.2.0-cp312-cp312-win32.whl
6ffe9e1abf69bb8c4ee2e913b1badfde  numpy-2.2.0-cp312-cp312-win_amd64.whl
330838b6e06481341b35f8d4b6b50bbb  numpy-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl
4fb63be6d2b92acfba0c2eaedce82e06  numpy-2.2.0-cp313-cp313-macosx_11_0_arm64.whl
e4086f43f9ce29b5adf939e1b5150f03  numpy-2.2.0-cp313-cp313-macosx_14_0_arm64.whl
ba74e1f7142954127fb2aef544a6b05e  numpy-2.2.0-cp313-cp313-macosx_14_0_x86_64.whl
83f51806139d5adc70a2e309d0300ad1  numpy-2.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bf9af9abb1e30521b3491f0748ba6199  numpy-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4d30c57bd7103b36a4bf7a4a9e25e10d  numpy-2.2.0-cp313-cp313-musllinux_1_2_aarch64.whl
5b12557dde538f99fd87d1682638a212  numpy-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
ee7689d2ecbcbd7c883f69099bd41892  numpy-2.2.0-cp313-cp313-win32.whl
370a2b14681c6dc4af8596f62d96bb20  numpy-2.2.0-cp313-cp313-win_amd64.whl
e6fd32fb42fd89c7659e799d65c19557  numpy-2.2.0-cp313-cp313t-macosx_10_13_x86_64.whl
8e9b0579f2e22f38f57399ab18d6e651  numpy-2.2.0-cp313-cp313t-macosx_11_0_arm64.whl
71a7ee75208a633a8c36d4ed5b551c33  numpy-2.2.0-cp313-cp313t-macosx_14_0_arm64.whl
3d76dfe8c2e26dc42b97fdf086ce1fa5  numpy-2.2.0-cp313-cp313t-macosx_14_0_x86_64.whl
b70ea00b40fb7d1b5d84868d8a073afb  numpy-2.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a6bc7090a4e2b1e9deabd0671c691129  numpy-2.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9789193a075e8d494851fe7955a23af7  numpy-2.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl
8c199d25bd806f737950428232b0dfa5  numpy-2.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl
1f566cfe4880ca30a591a828634da429  numpy-2.2.0-cp313-cp313t-win32.whl
eb9ea9f8fba78e7ae5b1415de1ee5c2c  numpy-2.2.0-cp313-cp313t-win_amd64.whl
9fbe2640c73e4f391019db5af6e854f5  numpy-2.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
fc89986fda7ba19c7c50712f1fc1e342  numpy-2.2.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
d76c5769a3fdfb9e25b3c1a951bd021f  numpy-2.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c138d726fee19ec6ba85eaa2ba9a3390  numpy-2.2.0-pp310-pypy310_pp73-win_amd64.whl
81a58d5fd26fe983162dc3cea2989b7a  numpy-2.2.0.tar.gz

SHA256

1e25507d85da11ff5066269d0bd25d06e0a0f2e908415534f3e603d2a78e4ffa  numpy-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl
a62eb442011776e4036af5c8b1a00b706c5bc02dc15eb5344b0c750428c94219  numpy-2.2.0-cp310-cp310-macosx_11_0_arm64.whl
b606b1aaf802e6468c2608c65ff7ece53eae1a6874b3765f69b8ceb20c5fa78e  numpy-2.2.0-cp310-cp310-macosx_14_0_arm64.whl
36b2b43146f646642b425dd2027730f99bac962618ec2052932157e213a040e9  numpy-2.2.0-cp310-cp310-macosx_14_0_x86_64.whl
7fe8f3583e0607ad4e43a954e35c1748b553bfe9fdac8635c02058023277d1b3  numpy-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
122fd2fcfafdefc889c64ad99c228d5a1f9692c3a83f56c292618a59aa60ae83  numpy-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3f2f5cddeaa4424a0a118924b988746db6ffa8565e5829b1841a8a3bd73eb59a  numpy-2.2.0-cp310-cp310-musllinux_1_2_aarch64.whl
7fe4bb0695fe986a9e4deec3b6857003b4cfe5c5e4aac0b95f6a658c14635e31  numpy-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
b30042fe92dbd79f1ba7f6898fada10bdaad1847c44f2dff9a16147e00a93661  numpy-2.2.0-cp310-cp310-win32.whl
54dc1d6d66f8d37843ed281773c7174f03bf7ad826523f73435deb88ba60d2d4  numpy-2.2.0-cp310-cp310-win_amd64.whl
9874bc2ff574c40ab7a5cbb7464bf9b045d617e36754a7bc93f933d52bd9ffc6  numpy-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl
0da8495970f6b101ddd0c38ace92edea30e7e12b9a926b57f5fabb1ecc25bb90  numpy-2.2.0-cp311-cp311-macosx_11_0_arm64.whl
0557eebc699c1c34cccdd8c3778c9294e8196df27d713706895edc6f57d29608  numpy-2.2.0-cp311-cp311-macosx_14_0_arm64.whl
3579eaeb5e07f3ded59298ce22b65f877a86ba8e9fe701f5576c99bb17c283da  numpy-2.2.0-cp311-cp311-macosx_14_0_x86_64.whl
40deb10198bbaa531509aad0cd2f9fadb26c8b94070831e2208e7df543562b74  numpy-2.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c2aed8fcf8abc3020d6a9ccb31dbc9e7d7819c56a348cc88fd44be269b37427e  numpy-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a222d764352c773aa5ebde02dd84dba3279c81c6db2e482d62a3fa54e5ece69b  numpy-2.2.0-cp311-cp311-musllinux_1_2_aarch64.whl
4e58666988605e251d42c2818c7d3d8991555381be26399303053b58a5bbf30d  numpy-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
4723a50e1523e1de4fccd1b9a6dcea750c2102461e9a02b2ac55ffeae09a4410  numpy-2.2.0-cp311-cp311-win32.whl
16757cf28621e43e252c560d25b15f18a2f11da94fea344bf26c599b9cf54b73  numpy-2.2.0-cp311-cp311-win_amd64.whl
cff210198bb4cae3f3c100444c5eaa573a823f05c253e7188e1362a5555235b3  numpy-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl
58b92a5828bd4d9aa0952492b7de803135038de47343b2aa3cc23f3b71a3dc4e  numpy-2.2.0-cp312-cp312-macosx_11_0_arm64.whl
ebe5e59545401fbb1b24da76f006ab19734ae71e703cdb4a8b347e84a0cece67  numpy-2.2.0-cp312-cp312-macosx_14_0_arm64.whl
e2b8cd48a9942ed3f85b95ca4105c45758438c7ed28fff1e4ce3e57c3b589d8e  numpy-2.2.0-cp312-cp312-macosx_14_0_x86_64.whl
57fcc997ffc0bef234b8875a54d4058afa92b0b0c4223fc1f62f24b3b5e86038  numpy-2.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
85ad7d11b309bd132d74397fcf2920933c9d1dc865487128f5c03d580f2c3d03  numpy-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cb24cca1968b21355cc6f3da1a20cd1cebd8a023e3c5b09b432444617949085a  numpy-2.2.0-cp312-cp312-musllinux_1_2_aarch64.whl
0798b138c291d792f8ea40fe3768610f3c7dd2574389e37c3f26573757c8f7ef  numpy-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
afe8fb968743d40435c3827632fd36c5fbde633b0423da7692e426529b1759b1  numpy-2.2.0-cp312-cp312-win32.whl
3a4199f519e57d517ebd48cb76b36c82da0360781c6a0353e64c0cac30ecaad3  numpy-2.2.0-cp312-cp312-win_amd64.whl
f8c8b141ef9699ae777c6278b52c706b653bf15d135d302754f6b2e90eb30367  numpy-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl
0f0986e917aca18f7a567b812ef7ca9391288e2acb7a4308aa9d265bd724bdae  numpy-2.2.0-cp313-cp313-macosx_11_0_arm64.whl
1c92113619f7b272838b8d6702a7f8ebe5edea0df48166c47929611d0b4dea69  numpy-2.2.0-cp313-cp313-macosx_14_0_arm64.whl
5a145e956b374e72ad1dff82779177d4a3c62bc8248f41b80cb5122e68f22d13  numpy-2.2.0-cp313-cp313-macosx_14_0_x86_64.whl
18142b497d70a34b01642b9feabb70156311b326fdddd875a9981f34a369b671  numpy-2.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a7d41d1612c1a82b64697e894b75db6758d4f21c3ec069d841e60ebe54b5b571  numpy-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a98f6f20465e7618c83252c02041517bd2f7ea29be5378f09667a8f654a5918d  numpy-2.2.0-cp313-cp313-musllinux_1_2_aarch64.whl
e09d40edfdb4e260cb1567d8ae770ccf3b8b7e9f0d9b5c2a9992696b30ce2742  numpy-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
3905a5fffcc23e597ee4d9fb3fcd209bd658c352657548db7316e810ca80458e  numpy-2.2.0-cp313-cp313-win32.whl
a184288538e6ad699cbe6b24859206e38ce5fba28f3bcfa51c90d0502c1582b2  numpy-2.2.0-cp313-cp313-win_amd64.whl
7832f9e8eb00be32f15fdfb9a981d6955ea9adc8574c521d48710171b6c55e95  numpy-2.2.0-cp313-cp313t-macosx_10_13_x86_64.whl
f0dd071b95bbca244f4cb7f70b77d2ff3aaaba7fa16dc41f58d14854a6204e6c  numpy-2.2.0-cp313-cp313t-macosx_11_0_arm64.whl
b0b227dcff8cdc3efbce66d4e50891f04d0a387cce282fe1e66199146a6a8fca  numpy-2.2.0-cp313-cp313t-macosx_14_0_arm64.whl
6ab153263a7c5ccaf6dfe7e53447b74f77789f28ecb278c3b5d49db7ece10d6d  numpy-2.2.0-cp313-cp313t-macosx_14_0_x86_64.whl
e500aba968a48e9019e42c0c199b7ec0696a97fa69037bea163b55398e390529  numpy-2.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
440cfb3db4c5029775803794f8638fbdbf71ec702caf32735f53b008e1eaece3  numpy-2.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a55dc7a7f0b6198b07ec0cd445fbb98b05234e8b00c5ac4874a63372ba98d4ab  numpy-2.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl
4bddbaa30d78c86329b26bd6aaaea06b1e47444da99eddac7bf1e2fab717bd72  numpy-2.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl
30bf971c12e4365153afb31fc73f441d4da157153f3400b82db32d04de1e4066  numpy-2.2.0-cp313-cp313t-win32.whl
d35717333b39d1b6bb8433fa758a55f1081543de527171543a2b710551d40881  numpy-2.2.0-cp313-cp313t-win_amd64.whl
e12c6c1ce84628c52d6367863773f7c8c8241be554e8b79686e91a43f1733773  numpy-2.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
b6207dc8fb3c8cb5668e885cef9ec7f70189bec4e276f0ff70d5aa078d32c88e  numpy-2.2.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
a50aeff71d0f97b6450d33940c7181b08be1441c6c193e678211bff11aa725e7  numpy-2.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
df12a1f99b99f569a7c2ae59aa2d31724e8d835fc7f33e14f4792e3071d11221  numpy-2.2.0-pp310-pypy310_pp73-win_amd64.whl
140dd80ff8981a583a60980be1a655068f8adebf7a45a06a6858c873fcdcd4a0  numpy-2.2.0.tar.gz

- 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 matvec and vecmat, see below.
  • Many improved annotations.
  • Improved support for the new StringDType.
  • Improved support for free threaded Python
  • Fixes for f2py

This release supports Python versions 3.10-3.13.

Deprecations

  • _add_newdoc_ufunc is now deprecated. ufunc.__doc__ = newdoc should be used instead.

    (gh-27735)

Expired deprecations

  • bool(np.array([])) and other empty arrays will now raise an error. Use arr.size > 0 instead to check whether an array has no elements.

    (gh-27160)

Compatibility notes

  • numpy.cov now properly transposes single-row (2d array) design matrices when rowvar=False. Previously, single-row design matrices would return a scalar in this scenario, which is not correct, so this is a behavior change and an array of the appropriate shape will now be returned.

    (gh-27661)

New Features

  • New functions for matrix-vector and vector-matrix products

    Two new generalized ufuncs were defined:

    • numpy.matvec - matrix-vector product, treating the arguments as stacks of matrices and column vectors, respectively.
    • numpy.vecmat - vector-matrix product, treating the arguments as stacks of column vectors and matrices, respectively. For complex vectors, the conjugate is taken.

    These add to the existing numpy.matmul as well as to numpy.vecdot, which was added in numpy 2.0.

    Note that numpy.matmul never takes a complex conjugate, also not when its left input is a vector, while both numpy.vecdot and numpy.vecmat do take the conjugate for complex vectors on the left-hand side (which are taken to be the ones that are transposed, following the physics convention).

    (gh-25675)

  • np.complexfloating[T, T] can now also be written as np.complexfloating[T]

    (gh-27420)

  • UFuncs now support __dict__ attribute and allow overriding __doc__ (either directly or via ufunc.__dict__["__doc__"]). __dict__ can be used to also override other properties, such as __module__ or __qualname__.

    (gh-27735)

  • The \"nbit\" type parameter of np.number and its subtypes now defaults to typing.Any. This way, type-checkers will infer annotations such as x: np.floating as x: np.floating[Any], even in strict mode.

    (gh-27736)

Improvements

  • The datetime64 and timedelta64 hashes now correctly match the Pythons builtin datetime and timedelta ones. The hashes now evaluated equal even for equal values with different time units.

    (gh-14622)

  • Fixed a number of issues around promotion for string ufuncs with StringDType arguments. Mixing StringDType and the fixed-width DTypes using the string ufuncs should now generate much more uniform results.

    (gh-27636)

  • Improved support for empty memmap. Previously an empty memmap would fail unless a non-zero offset was set. Now a zero-size memmap is supported even if offset=0. To achieve this, if a memmap is mapped to an empty file that file is padded with a single byte.

    (gh-27723)

  • f2py handles 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.zeros allocations on linux. Thus should generally improve performance.

    (gh-27808)

Changes

  • numpy.fix now won\'t perform casting to a floating data-type for integer and boolean data-type input arrays.

    (gh-26766)

  • The type annotations of numpy.float64 and numpy.complex128 now reflect that they are also subtypes of the built-in float and complex types, 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 repr of arrays large enough to be summarized (i.e., where elements are replaced with ...) now includes the shape of the array, similar to what already was the case for arrays with zero size and non-obvious shape. With this change, the shape is always given when it cannot be inferred from the values. Note that while written as shape=..., this argument cannot actually be passed in to the np.array constructor. If you encounter problems, e.g., due to failing doctests, you can use the print option legacy=2.1 to get the old behaviour.

    (gh-27482)

  • Calling __array_wrap__ directly on NumPy arrays or scalars now does the right thing when return_scalar is passed (Added in NumPy 2). It is further safe now to call the scalar __array_wrap__ on a non-scalar result.

    (gh-27807)

  • Bump the musllinux CI image and wheels to 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=weak while _set_promotion_state and _get_promotion_state are removed. In case code used _no_nep50_warning, a contextlib.nullcontext could 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.fix now won\'t perform casting to a floating data-type for integer and boolean data-type input arrays.

    (gh-26766)

Contributors

A total of 15 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time.

  • Abhishek Kumar +
  • Austin +
  • Benjamin A. Beasley +
  • Charles Harris
  • Christian Lorentzen
  • Marcel Telka +
  • Matti Picus
  • Michael Davidsaver +
  • Nathan Goldbaum
  • Peter Hawkins
  • Raghuveer Devulapalli
  • Ralf Gommers
  • Sebastian Berg
  • dependabot[bot]
  • kp2pml30 +

Pull requests merged

A total of 21 pull requests were merged for this release.

  • #27512: MAINT: prepare 2.1.x for further development
  • #27537: MAINT: Bump actions/cache from 4.0.2 to 4.1.1
  • #27538: MAINT: Bump pypa/cibuildwheel from 2.21.2 to 2.21.3
  • #27539: MAINT: MSVC does not support #warning directive
  • #27543: BUG: Fix user dtype can-cast with python scalar during promotion
  • #27561: DEV: bump python to 3.12 in environment.yml
  • #27562: BLD: update vendored Meson to 1.5.2
  • #27563: BUG: weighted quantile for some zero weights (#27549)
  • #27565: MAINT: Use miniforge for macos conda test.
  • #27566: BUILD: satisfy gcc-13 pendantic errors
  • #27569: BUG: handle possible error for PyTraceMallocTrack
  • #27570: BLD: start building Windows free-threaded wheels [wheel build]
  • #27571: BUILD: vendor tempita from Cython
  • #27574: BUG: Fix warning \"differs in levels of indirection\" in npy_atomic.h...
  • #27592: MAINT: Update Highway to latest
  • #27593: BUG: Adjust numpy.i for SWIG 4.3 compatibility
  • #27616: BUG: Fix Linux QEMU CI workflow
  • #27668: BLD: Do not set __STDC_VERSION__ to zero during build
  • #27669: ENH: fix wasm32 runtime type error in numpy._core
  • #27672: BUG: Fix a reference count leak in 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 alltrue and sometrue
  • #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_imports keyword argument in numpy.save is deprecated. Since NumPy 1.17, numpy.save uses a pickle protocol that no longer supports Python 2, and ignored fix_imports keyword. This keyword is kept only for backward compatibility. It is now deprecated.

    (gh-26452)

  • Passing non-integer inputs as the first argument of [bincount]{.title-ref} is now deprecated, because such inputs are silently cast to integers with no warning about loss of precision.

    (gh-27076)

Expired deprecations

  • Scalars and 0D arrays are disallowed for numpy.nonzero and numpy.ndarray.nonzero.

    (gh-26268)

  • set_string_function internal function was removed and PyArray_SetStringFunction was stubbed out.

    (gh-26611)

C API changes

API symbols now hidden but customizable

NumPy now defaults to hide the API symbols it adds to allow all NumPy API usage. This means that by default you cannot dynamically fetch the NumPy API from another library (this was never possible on windows).

If you are experiencing linking errors related to PyArray_API or PyArray_RUNTIME_VERSION, you can define the NPY_API_SYMBOL_ATTRIBUTE to opt-out of this change.

If you are experiencing problems due to an upstream header including NumPy, the solution is to make sure you #include "numpy/ndarrayobject.h" before their header and import NumPy yourself based on including-the-c-api.

(gh-26103)

Many shims removed from npy_3kcompat.h

Many of the old shims and helper functions were removed from npy_3kcompat.h. If you find yourself in need of these, vendor the previous version of the file into your codebase.

(gh-26842)

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.reshape and numpy.ndarray.reshape now support shape and copy arguments.

    (gh-26292)

  • NumPy now supports DLPack v1, support for older versions will be deprecated in the future.

    (gh-26501)

  • numpy.asanyarray now supports copy and device arguments, matching numpy.asarray.

    (gh-26580)

  • numpy.printoptions, numpy.get_printoptions, and numpy.set_printoptions now support a new option, override_repr, for defining custom repr(array) behavior.

    (gh-26611)

  • numpy.cumulative_sum and numpy.cumulative_prod were added as Array API compatible alternatives for numpy.cumsum and numpy.cumprod. The new functions can include a fixed initial (zeros for sum and ones for prod) in the result.

    (gh-26724)

  • numpy.clip now supports max and min keyword arguments which are meant to replace a_min and a_max. Also, for np.clip(a) or np.clip(a, None, None) a copy of the input array will be returned instead of raising an error.

    (gh-26724)

  • numpy.astype now supports device argument.

    (gh-26724)

Improvements

histogram auto-binning now returns bin sizes >=1 for integer input data

For integer input data, bin sizes smaller than 1 result in spurious empty bins. This is now avoided when the number of bins is computed using one of the algorithms provided by histogram_bin_edges.

(gh-12150)

ndarray shape-type parameter is now covariant and bound to tuple[int, ...]

Static typing for ndarray is a long-term effort that continues with this change. It is a generic type with type parameters for the shape and the data type. Previously, the shape type parameter could be any value. This change restricts it to a tuple of ints, as one would expect from using ndarray.shape. Further, the shape-type parameter has been changed from invariant to covariant. This change also applies to the subtypes of ndarray, e.g. numpy.ma.MaskedArray. See the typing docs for more information.

(gh-26081)

np.quantile with method closest_observation chooses nearest even order statistic

This changes the definition of nearest for border cases from the nearest odd order statistic to nearest even order statistic. The numpy implementation now matches other reference implementations.

(gh-26656)

lapack_lite is now thread safe

NumPy provides a minimal low-performance version of LAPACK named lapack_lite that can be used if no BLAS/LAPACK system is detected at build time.

Until now, lapack_lite was not thread safe. Single-threaded use cases did not hit any issues, but running linear algebra operations in multiple threads could lead to errors, incorrect results, or segfaults due to data races.

We have added a global lock, serializing access to lapack_lite in multiple threads.

(gh-26750)

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.save now uses pickle protocol version 4 for saving arrays with object dtype, which allows for pickle objects larger than 4GB and improves saving speed by about 5% for large arrays.

    (gh-26388)

  • OpenBLAS on x86_64 and i686 is built with fewer kernels. Based on benchmarking, there are 5 clusters of performance around these kernels: PRESCOTT NEHALEM SANDYBRIDGE HASWELL SKYLAKEX.

    (gh-27147)

  • OpenBLAS on windows is linked without quadmath, simplifying licensing

    (gh-27147)

  • Due to a regression in OpenBLAS on windows, the performance improvements when using multiple threads for OpenBLAS 0.3.26 were reverted.

    (gh-27147)

ma.cov and ma.corrcoef are now significantly faster

The private function has been refactored along with ma.cov and ma.corrcoef. They are now significantly faster, particularly on large, masked arrays.

(gh-26285)

Changes

  • As numpy.vecdot is now a ufunc it has a less precise signature. This is due to the limitations of ufunc\'s typing stub.

    (gh-26313)

  • numpy.floor, numpy.ceil, and numpy.trunc now won\'t perform casting to a floating dtype for integer and boolean dtype input arrays.

    (gh-26766)

ma.corrcoef may return a slightly different result

A pairwise observation approach is currently used in ma.corrcoef to calculate the standard deviations for each pair of variables. This has been changed as it is being used to normalise the covariance, estimated using ma.cov, which does not consider the observations for each variable in a pairwise manner, rendering it unnecessary. The normalisation has been replaced by the more appropriate standard deviation for each variable, which significantly reduces the wall time, but will return slightly different estimates of the correlation coefficients in cases where the observations between a pair of variables are not aligned. However, it will return the same estimates in all other cases, including returning the same correlation matrix as corrcoef when using a masked array with no masked values.

(gh-26285)

Cast-safety fixes in copyto and full

copyto now uses NEP 50 correctly and applies this to its cast safety. Python integer to NumPy integer casts and Python float to NumPy float casts are now considered \"safe\" even if assignment may fail or precision may be lost. This means the following examples change slightly:

  • np.copyto(int8_arr, 1000) previously performed an unsafe/same-kind cast of the Python integer. It will now always raise, to achieve an unsafe cast you must pass an array or NumPy scalar.

  • np.copyto(uint8_arr, 1000, casting="safe") will raise an OverflowError rather than a TypeError due to same-kind casting.

  • np.copyto(float32_arr, 1e300, casting="safe") will overflow to inf (float32 cannot hold 1e300) rather raising a TypeError.

Further, only the dtype is used when assigning NumPy scalars (or 0-d arrays), meaning that the following behaves differently:

  • np.copyto(float32_arr, np.float64(3.0), casting="safe") raises.
  • np.coptyo(int8_arr, np.int64(100), casting="safe") raises. Previously, NumPy checked whether the 100 fits the int8_arr.

This aligns copyto, full, and full_like with the correct NumPy 2 behavior.

(gh-27091)

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_imports keyword argument in numpy.save is deprecated. Since NumPy 1.17, numpy.save uses a pickle protocol that no longer supports Python 2, and ignored fix_imports keyword. This keyword is kept only for backward compatibility. It is now deprecated.

    (gh-26452)

  • Passing non-integer inputs as the first argument of [bincount]{.title-ref} is now deprecated, because such inputs are silently cast to integers with no warning about loss of precision.

    (gh-27076)

Expired deprecations

  • Scalars and 0D arrays are disallowed for numpy.nonzero and numpy.ndarray.nonzero.

    (gh-26268)

  • set_string_function internal function was removed and PyArray_SetStringFunction was stubbed out.

    (gh-26611)

C API changes

API symbols now hidden but customizable

NumPy now defaults to hide the API symbols it adds to allow all NumPy API usage. This means that by default you cannot dynamically fetch the NumPy API from another library (this was never possible on windows).

If you are experiencing linking errors related to PyArray_API or PyArray_RUNTIME_VERSION, you can define the NPY_API_SYMBOL_ATTRIBUTE to opt-out of this change.

If you are experiencing problems due to an upstream header including NumPy, the solution is to make sure you #include "numpy/ndarrayobject.h" before their header and import NumPy yourself based on including-the-c-api.

(gh-26103)

Many shims removed from npy_3kcompat.h

Many of the old shims and helper functions were removed from npy_3kcompat.h. If you find yourself in need of these, vendor the previous version of the file into your codebase.

(gh-26842)

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.reshape and numpy.ndarray.reshape now support shape and copy arguments.

    (gh-26292)

  • NumPy now supports DLPack v1, support for older versions will be deprecated in the future.

    (gh-26501)

  • numpy.asanyarray now supports copy and device arguments, matching numpy.asarray.

    (gh-26580)

  • numpy.printoptions, numpy.get_printoptions, and numpy.set_printoptions now support a new option, override_repr, for defining custom repr(array) behavior.

    (gh-26611)

  • numpy.cumulative_sum and numpy.cumulative_prod were added as Array API compatible alternatives for numpy.cumsum and numpy.cumprod. The new functions can include a fixed initial (zeros for sum and ones for prod) in the result.

    (gh-26724)

  • numpy.clip now supports max and min keyword arguments which are meant to replace a_min and a_max. Also, for np.clip(a) or np.clip(a, None, None) a copy of the input array will be returned instead of raising an error.

    (gh-26724)

  • numpy.astype now supports device argument.

    (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.save now uses pickle protocol version 4 for saving arrays with object dtype, which allows for pickle objects larger than 4GB and improves saving speed by about 5% for large arrays.

    (gh-26388)

  • OpenBLAS on x86_64 and i686 is built with fewer kernels. Based on benchmarking, there are 5 clusters of performance around these kernels: PRESCOTT NEHALEM SANDYBRIDGE HASWELL SKYLAKEX.

    (gh-27147)

  • OpenBLAS on windows is linked without quadmath, simplifying licensing

    (gh-27147)

  • Due to a regression in OpenBLAS on windows, the performance improvements when using multiple threads for OpenBLAS 0.3.26 were reverted.

    (gh-27147)

ma.cov and ma.corrcoef are now significantly faster

The private function has been refactored along with ma.cov and ma.corrcoef. They are now significantly faster, particularly on large, masked arrays.

(gh-26285)

Changes

  • As numpy.vecdot is now a ufunc it has a less precise signature. This is due to the limitations of ufunc\'s typing stub.

    (gh-26313)

  • numpy.floor, numpy.ceil, and numpy.trunc now won\'t perform casting to a floating dtype for integer and boolean dtype input arrays.

    (gh-26766)

ma.corrcoef may return a slightly different result

A pairwise observation approach is currently used in ma.corrcoef to calculate the standard deviations for each pair of variables. This has been changed as it is being used to normalise the covariance, estimated using ma.cov, which does not consider the observations for each variable in a pairwise manner, rendering it unnecessary. The normalisation has been replaced by the more appropriate standard deviation for each variable, which significantly reduces the wall time, but will return slightly different estimates of the correlation coefficients in cases where the observations between a pair of variables are not aligned. However, it will return the same estimates in all other cases, including returning the same correlation matrix as corrcoef when using a masked array with no masked values.

(gh-26285)

Cast-safety fixes in copyto and full

copyto now uses NEP 50 correctly and applies this to its cast safety. Python integer to NumPy integer casts and Python float to NumPy float casts are now considered \"safe\" even if assignment may fail or precision may be lost. This means the following examples change slightly:

  • np.copyto(int8_arr, 1000) previously performed an unsafe/same-kind cast

    : of the Python integer. It will now always raise, to achieve an unsafe cast you must pass an array or NumPy scalar.

  • np.copyto(uint8_arr, 1000, casting="safe") will raise an OverflowError rather than a TypeError due to same-kind casting.

  • np.copyto(float32_arr, 1e300, casting="safe") will overflow to inf (float32 cannot hold 1e300) rather raising a TypeError.

Further, only the dtype is used when assigning NumPy scalars (or 0-d arrays), meaning that the following behaves differently:

  • np.copyto(float32_arr, np.float64(3.0), casting="safe") raises.
  • np.coptyo(int8_arr, np.int64(100), casting="safe") raises. Previously, NumPy checked whether the 100 fits the int8_arr.

This aligns copyto, full, and full_like with the correct NumPy 2 behavior.

(gh-27091)

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.pyi stub
  • #26793: DOC: Mention \'1.25\' legacy printing mode in set_printoptions
  • #26794: DOC: Remove mention of NaN and NAN aliases from constants
  • #26821: BLD: Fix x86-simd-sort build failure on openBSD
  • #26822: BUG: Ensure output order follows input in numpy.fft
  • #26823: TYP: fix missing sys import in numeric.pyi
  • #26832: DOC: remove hack to override _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:

Highlights

Highlights of this release include:

  • New features:
    • A new variable-length string dtype, numpy.dtypes.StringDType and a new numpy.strings namespace with performant ufuncs for string operations,
    • Support for float32 and longdouble in all numpy.fft functions,
    • Support for the array API standard in the main numpy namespace.
  • Performance improvements:
    • Sorting functions sort, argsort, partition, argpartition have been accelerated through the use of the Intel x86-simd-sort and Google Highway libraries, and may see large (hardware-specific) speedups,
    • macOS Accelerate support and binary wheels for macOS >=14, with significant performance improvements for linear algebra operations on macOS, and wheels that are about 3 times smaller,
    • numpy.char fixed-length string operations have been accelerated by implementing ufuncs that also support numpy.dtypes.StringDType in addition to the fixed-length string dtypes,
    • A new tracing and introspection API, numpy.lib.introspect.opt_func_info, to determine which hardware-specific kernels are available and will be dispatched to.
    • numpy.save now uses pickle protocol version 4 for saving arrays with object dtype, which allows for pickle objects larger than 4GB and improves saving speed by about 5% for large arrays.
  • Python API improvements:
    • A clear split between public and private API, with a new module structure and each public function now available in a single place.
    • Many removals of non-recommended functions and aliases. This should make it easier to learn and use NumPy. The number of objects in the main namespace decreased by ~10% and in numpy.lib by ~80%.
    • Canonical dtype names and a 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_ImportNumPyAPI and PyUFunc_ImportUFuncAPI.
  • Improved behavior:
    • Improvements to type promotion behavior was changed by adopting NEP 50. This fixes many user surprises about promotions which previously often depended on data values of input arrays rather than only their dtypes. Please see the NEP and the numpy-2-migration-guide for details as this change can lead to changes in output dtypes and lower precision results for mixed-dtype operations.
    • The default integer type on Windows is now int64 rather than int32, 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:

  1. Backwards compatibility. There are a significant number of breaking changes to both the Python and C APIs. In the majority of cases, there are clear error messages that will inform the user how to adapt their code. However, there are also changes in behavior for which it was not possible to give such an error message - these cases are all covered in the Deprecation and Compatibility sections below, and in the numpy-2-migration-guide.

    Note that there is a ruff mode to auto-fix many things in Python code.

  2. Breaking changes to the NumPy ABI. As a result, binaries of packages that use the NumPy C API and were built against a NumPy 1.xx release will not work with NumPy 2.0. On import, such packages will see an ImportError with a message about binary incompatibility.

    It is possible to build binaries against NumPy 2.0 that will work at runtime with both NumPy 2.0 and 1.x. See numpy-2-abi-handling for more details.

    All downstream packages that depend on the NumPy ABI are advised to do a new release built against NumPy 2.0 and verify that that release works with both 2.0 and 1.26 - ideally in the period between 2.0.0rc1 (which will be ABI-stable) and the final 2.0.0 release to avoid problems for their users.

The Python versions supported by this release are 3.9-3.12.

NumPy 2.0 Python API removals

  • np.geterrobj, np.seterrobj and the related ufunc keyword argument extobj= have been removed. The preferred replacement for all of these is using the context manager with np.errstate():.

    (gh-23922)

  • np.cast has been removed. The literal replacement for np.cast[dtype](arg) is np.asarray(arg, dtype=dtype).

  • np.source has been removed. The preferred replacement is inspect.getsource.

  • np.lookfor has been removed.

    (gh-24144)

  • numpy.who has been removed. As an alternative for the removed functionality, one can use a variable explorer that is available in IDEs such as Spyder or Jupyter Notebook.

    (gh-24321)

  • Warnings and exceptions present in numpy.exceptions, e.g, numpy.exceptions.ComplexWarning, numpy.exceptions.VisibleDeprecationWarning, are no longer exposed in the main namespace.

  • Multiple niche enums, expired members and functions have been removed from the main namespace, such as: ERR_*, SHIFT_*, np.fastCopyAndTranspose, np.kernel_version, np.numarray, np.oldnumeric and np.set_numeric_ops.

    (gh-24316)

  • Replaced from ... import * in the numpy/__init__.py with explicit imports. As a result, these main namespace members got removed: np.FLOATING_POINT_SUPPORT, np.FPE_*, np.NINF, np.PINF, np.NZERO, np.PZERO, np.CLIP, np.WRAP, np.WRAP, np.RAISE, np.BUFSIZE, np.UFUNC_BUFSIZE_DEFAULT, np.UFUNC_PYVALS_NAME, np.ALLOW_THREADS, np.MAXDIMS, np.MAY_SHARE_EXACT, np.MAY_SHARE_BOUNDS, add_newdoc, np.add_docstring and np.add_newdoc_ufunc.

    (gh-24357)

  • Alias np.float_ has been removed. Use np.float64 instead.

  • Alias np.complex_ has been removed. Use np.complex128 instead.

  • Alias np.longfloat has been removed. Use np.longdouble instead.

  • Alias np.singlecomplex has been removed. Use np.complex64 instead.

  • Alias np.cfloat has been removed. Use np.complex128 instead.

  • Alias np.longcomplex has been removed. Use np.clongdouble instead.

  • Alias np.clongfloat has been removed. Use np.clongdouble instead.

  • Alias np.string_ has been removed. Use np.bytes_ instead.

  • Alias np.unicode_ has been removed. Use np.str_ instead.

  • Alias np.Inf has been removed. Use np.inf instead.

  • Alias np.Infinity has been removed. Use np.inf instead.

  • Alias np.NaN has been removed. Use np.nan instead.

  • Alias np.infty has been removed. Use np.inf instead.

  • Alias np.mat has been removed. Use np.asmatrix instead.

  • np.issubclass_ has been removed. Use the issubclass builtin instead.

  • np.asfarray has been removed. Use np.asarray with a proper dtype instead.

  • np.set_string_function has been removed. Use np.set_printoptions instead with a formatter for custom printing of NumPy objects.

  • np.tracemalloc_domain is now only available from np.lib.

  • np.recfromcsv and recfromtxt are now only available from np.lib.npyio.

  • np.issctype, np.maximum_sctype, np.obj2sctype, np.sctype2char, np.sctypes, np.issubsctype were all removed from the main namespace without replacement, as they where niche members.

  • Deprecated np.deprecate and np.deprecate_with_doc has been removed from the main namespace. Use DeprecationWarning instead.

  • Deprecated np.safe_eval has been removed from the main namespace. Use ast.literal_eval instead.

    (gh-24376)

  • np.find_common_type has been removed. Use numpy.promote_types or numpy.result_type instead. To achieve semantics for the scalar_types argument, use numpy.result_type and pass 0, 0.0, or 0j as a Python scalar instead.

  • np.round_ has been removed. Use np.round instead.

  • np.nbytes has been removed. Use np.dtype(<dtype>).itemsize instead.

    (gh-24477)

  • np.compare_chararrays has been removed from the main namespace. Use np.char.compare_chararrays instead.

  • The charrarray in the main namespace has been deprecated. It can be imported without a deprecation warning from np.char.chararray for now, but we are planning to fully deprecate and remove chararray in the future.

  • np.format_parser has been removed from the main namespace. Use np.rec.format_parser instead.

    (gh-24587)

  • Support for seven data type string aliases has been removed from np.dtype: int0, uint0, void0, object0, str0, bytes0 and bool8.

    (gh-24807)

  • The experimental numpy.array_api submodule has been removed. Use the main numpy namespace for regular usage instead, or the separate array-api-strict package for the compliance testing use case for which numpy.array_api was mostly used.

    (gh-25911)

__array_prepare__ is removed

UFuncs called __array_prepare__ before running computations for normal ufunc calls (not generalized ufuncs, reductions, etc.). The function was also called instead of __array_wrap__ on the results of some linear algebra functions.

It is now removed. If you use it, migrate to __array_ufunc__ or rely on __array_wrap__ which is called with a context in all cases, although only after the result array is filled. In those code paths, __array_wrap__ will now be passed a base class, rather than a subclass array.

(gh-25105)

Deprecations

  • np.compat has been deprecated, as Python 2 is no longer supported.

  • numpy.int8 and similar classes will no longer support conversion of out of bounds python integers to integer arrays. For example, conversion of 255 to int8 will not return -1. numpy.iinfo(dtype) can be used to check the machine limits for data types. For example, np.iinfo(np.uint16) returns min = 0 and max = 65535.

    np.array(value).astype(dtype) will give the desired result.

  • np.safe_eval has been deprecated. ast.literal_eval should be used instead.

    (gh-23830)

  • np.recfromcsv, np.recfromtxt, np.disp, np.get_array_wrap, np.maximum_sctype, np.deprecate and np.deprecate_with_doc have been deprecated.

    (gh-24154)

  • np.trapz has been deprecated. Use np.trapezoid or a scipy.integrate function instead.

  • np.in1d has been deprecated. Use np.isin instead.

  • Alias np.row_stack has been deprecated. Use np.vstack directly.

    (gh-24445)

  • __array_wrap__ is now passed arr, context, return_scalar and support for implementations not accepting all three are deprecated. Its signature should be __array_wrap__(self, arr, context=None, return_scalar=False)

    (gh-25409)

  • Arrays of 2-dimensional vectors for np.cross have been deprecated. Use arrays of 3-dimensional vectors instead.

    (gh-24818)

  • np.dtype("a") alias for np.dtype(np.bytes_) was deprecated. Use np.dtype("S") alias instead.

    (gh-24854)

  • Use of keyword arguments x and y with functions assert_array_equal and assert_array_almost_equal has been deprecated. Pass the first two arguments as positional arguments instead.

    (gh-24978)

numpy.fft deprecations for n-D transforms with None values in arguments

Using fftn, ifftn, rfftn, irfftn, fft2, ifft2, rfft2 or irfft2 with the s parameter set to a value that is not None and the axes parameter set to None has been deprecated, in line with the array API standard. To retain current behaviour, pass a sequence [0, ..., k-1] to axes for an array of dimension k.

Furthermore, passing an array to s which contains None values is deprecated as the parameter is documented to accept a sequence of integers in both the NumPy docs and the array API specification. To use the default behaviour of the corresponding 1-D transform, pass the value matching the default for its n parameter. To use the default behaviour for every axis, the s argument can be omitted.

(gh-25495)

np.linalg.lstsq now defaults to a new rcond value

numpy.linalg.lstsq now uses the new rcond value of the machine precision times max(M, N). Previously, the machine precision was used but a FutureWarning was given to notify that this change will happen eventually. That old behavior can still be achieved by passing rcond=-1.

(gh-25721)

Expired deprecations

  • The np.core.umath_tests submodule has been removed from the public API. (Deprecated in NumPy 1.15)

    (gh-23809)

  • The PyDataMem_SetEventHook deprecation has expired and it is removed. Use tracemalloc and the np.lib.tracemalloc_domain domain. (Deprecated in NumPy 1.23)

    (gh-23921)

  • The deprecation of set_numeric_ops and the C functions PyArray_SetNumericOps and PyArray_GetNumericOps has been expired and the functions removed. (Deprecated in NumPy 1.16)

    (gh-23998)

  • The fasttake, fastclip, and fastputmask ArrFuncs deprecation is now finalized.

  • The deprecated function fastCopyAndTranspose and its C counterpart are now removed.

  • The deprecation of PyArray_ScalarFromObject is now finalized.

    (gh-24312)

  • np.msort has been removed. For a replacement, np.sort(a, axis=0) should be used instead.

    (gh-24494)

  • np.dtype(("f8", 1) will now return a shape 1 subarray dtype rather than a non-subarray one.

    (gh-25761)

  • Assigning to the .data attribute of an ndarray is disallowed and will raise.

  • np.binary_repr(a, width) will raise if width is too small.

  • Using NPY_CHAR in PyArray_DescrFromType() will raise, use NPY_STRING NPY_UNICODE, or NPY_VSTRING instead.

    (gh-25794)

Compatibility notes

loadtxt and genfromtxt default encoding changed

loadtxt and genfromtxt now both default to encoding=None which may mainly modify how converters work. These will now be passed str rather than bytes. Pass the encoding explicitly to always get the new or old behavior. For genfromtxt the change also means that returned values will now be unicode strings rather than bytes.

(gh-25158)

f2py compatibility notes

  • f2py will no longer accept ambiguous -m and .pyf CLI combinations. When more than one .pyf file is passed, an error is raised. When both -m and a .pyf is passed, a warning is emitted and the -m provided name is ignored.

    (gh-25181)

  • The f2py.compile() helper has been removed because it leaked memory, has been marked as experimental for several years now, and was implemented as a thin subprocess.run wrapper. It was also one of the test bottlenecks. See gh-25122 for the full rationale. It also used several np.distutils features which are too fragile to be ported to work with meson.

  • Users are urged to replace calls to f2py.compile with calls to subprocess.run("python", "-m", "numpy.f2py",... instead, and to use environment variables to interact with meson. 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_CNE macros have been removed.

  • PyArray_MIN and PyArray_MAX have been moved from ndarraytypes.h to npy_math.h.

    (gh-24258)

  • A C API for working with numpy.dtypes.StringDType arrays has been exposed. This includes functions for acquiring and releasing mutexes which lock access to the string data, as well as packing and unpacking UTF-8 bytestreams from array entries.

  • NPY_NTYPES has been renamed to NPY_NTYPES_LEGACY as it does not include new NumPy built-in DTypes. In particular the new string DType will likely not work correctly with code that handles legacy DTypes.

    (gh-25347)

  • The C-API now only exports the static inline function versions of the array accessors (previously this depended on using \"deprecated API\"). While we discourage it, the struct fields can still be used directly.

    (gh-25789)

  • NumPy now defines PyArray_Pack to set an individual memory address. Unlike PyArray_SETITEM this function is equivalent to setting an individual array item and does not require a NumPy array input.

    (gh-25954)

  • The ->f slot has been removed from PyArray_Descr. If you use this slot, replace accessing it with PyDataType_GetArrFuncs (see its documentation and the numpy-2-migration-guide). In some cases using other functions like PyArray_GETITEM may be an alternatives.

  • PyArray_GETITEM and PyArray_SETITEM now require the import of the NumPy API table to be used and are no longer defined in ndarraytypes.h.

    (gh-25812)

  • Due to runtime dependencies, the definition for functionality accessing the dtype flags was moved from numpy/ndarraytypes.h and is only available after including numpy/ndarrayobject.h as it requires import_array(). This includes PyDataType_FLAGCHK, PyDataType_REFCHK and NPY_BEGIN_THREADS_DESCR.

  • The dtype flags on PyArray_Descr must now be accessed through the PyDataType_FLAGS inline function to be compatible with both 1.x and 2.x. This function is defined in npy_2_compat.h to allow backporting. Most or all users should use PyDataType_FLAGCHK which is available on 1.x and does not require backporting. Cython users should use Cython 3. Otherwise access will go through Python unless they use PyDataType_FLAGCHK instead.

    (gh-25816)

Datetime functionality exposed in the C API and Cython bindings

The functions NpyDatetime_ConvertDatetime64ToDatetimeStruct, NpyDatetime_ConvertDatetimeStructToDatetime64, NpyDatetime_ConvertPyDateTimeToDatetimeStruct, NpyDatetime_GetDatetimeISO8601StrLen, NpyDatetime_MakeISO8601Datetime, and NpyDatetime_ParseISO8601Datetime have been added to the C API to facilitate converting between strings, Python datetimes, and NumPy datetimes in external libraries.

(gh-21199)

Const correctness for the generalized ufunc C API

The NumPy C API\'s functions for constructing generalized ufuncs (PyUFunc_FromFuncAndData, PyUFunc_FromFuncAndDataAndSignature, PyUFunc_FromFuncAndDataAndSignatureAndIdentity) take types and data arguments that are not modified by NumPy\'s internals. Like the name and doc arguments, third-party Python extension modules are likely to supply these arguments from static constants. The types and data arguments are now const-correct: they are declared as const char *types and void *const *data, respectively. C code should not be affected, but C++ code may be.

(gh-23847)

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 return statement.

The PyArray_ImportNumPyAPI() function is included in npy_2_compat.h for simpler backporting.

(gh-25866)

Structured dtype information access through functions

The dtype structures fields c_metadata, names, fields, and subarray must now be accessed through new functions following the same names, such as PyDataType_NAMES. Direct access of the fields is not valid as they do not exist for all PyArray_Descr instances. The metadata field is kept, but the macro version should also be preferred.

(gh-25802)

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.h and the corresponding macros like NPY_SIGINT_ON have been removed. We recommend querying PyErr_CheckSignals() or PyOS_InterruptOccurred() periodically (these do currently require holding the GIL though).

  • The noprefix.h header has been removed. Replace missing symbols with their prefixed counterparts (usually an added NPY_ or npy_).

    (gh-23919)

  • PyUFunc_GetPyVals, PyUFunc_handlefperr, and PyUFunc_checkfperr have been removed. If needed, a new backwards compatible function to raise floating point errors could be restored. Reason for removal: there are no known users and the functions would have made with np.errstate() fixes much more difficult).

    (gh-23922)

  • The numpy/old_defines.h which was part of the API deprecated since NumPy 1.7 has been removed. This removes macros of the form PyArray_CONSTANT. The replaceoldmacros.sed script may be useful to convert them to the NPY_CONSTANT version.

    (gh-24011)

  • The legacy_inner_loop_selector member of the ufunc struct is removed to simplify improvements to the dispatching system. There are no known users overriding or directly accessing this member.

    (gh-24271)

  • NPY_INTPLTR has been removed to avoid confusion (see intp redefinition).

    (gh-24888)

  • The advanced indexing MapIter and related API has been removed. The (truly) public part of it was not well tested and had only one known user (Theano). Making it private will simplify improvements to speed up ufunc.at, make advanced indexing more maintainable, and was important for increasing the maximum number of dimensions of arrays to 64. Please let us know if this API is important to you so we can find a solution together.

    (gh-25138)

  • The NPY_MAX_ELSIZE macro has been removed, as it only ever reflected builtin numeric types and served no internal purpose.

    (gh-25149)

  • PyArray_REFCNT and NPY_REFCOUNT are removed. Use Py_REFCNT instead.

    (gh-25156)

  • PyArrayFlags_Type and PyArray_NewFlagsObject as well as PyArrayFlagsObject are private now. There is no known use-case; use the Python API if needed.

  • PyArray_MoveInto, PyArray_CastTo, PyArray_CastAnyTo are removed use PyArray_CopyInto and if absolutely needed PyArray_CopyAnyInto (the latter does a flat copy).

  • PyArray_FillObjectArray is removed, its only true use was for implementing np.empty. Create a new empty array or use PyArray_FillWithScalar() (decrefs existing objects).

  • PyArray_CompareUCS4 and PyArray_CompareString are removed. Use the standard C string comparison functions.

  • PyArray_ISPYTHON is removed as it is misleading, has no known use-cases, and is easy to replace.

  • PyArray_FieldNames is removed, as it is unclear what it would be useful for. It also has incorrect semantics in some possible use-cases.

  • PyArray_TypestrConvert is removed, since it seems a misnomer and unlikely to be used by anyone. If you know the size or are limited to few types, just use it explicitly, otherwise go via Python strings.

    (gh-25292)

  • PyDataType_GetDatetimeMetaData is removed, it did not actually do anything since at least NumPy 1.7.

    (gh-25802)

  • PyArray_GetCastFunc is removed. Note that custom legacy user dtypes can still provide a castfunc as their implementation, but any access to them is now removed. The reason for this is that NumPy never used these internally for many years. If you use simple numeric types, please just use C casts directly. In case you require an alternative, please let us know so we can create new API such as PyArray_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 for numpy.vecdot.

  • numpy.linalg.matrix_transpose - An alias for numpy.matrix_transpose.

    (gh-25155)

  • numpy.linalg.outer has been added. It computes the outer product of two vectors. It differs from numpy.outer by accepting one-dimensional arrays only. This function is compatible with the array API standard.

    (gh-25101)

  • numpy.linalg.cross has been added. It computes the cross product of two (arrays of) 3-dimensional vectors. It differs from numpy.cross by 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:

  • rtol was added to numpy.linalg.matrix_rank.
  • stable was added to numpy.sort and numpy.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.real or c.imag) is no longer an option. You can now use utilities provided in numpy/npy_math.h to 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-numbers for more info.

  • numpy/npy_common.h now includes complex.h, which means that complex is now a reserved keyword.

(gh-24085)

iso_c_binding support and improved common blocks for f2py

Previously, users would have to define their own custom f2cmap file to use type mappings defined by the Fortran2003 iso_c_binding intrinsic module. These type maps are now natively supported by f2py

(gh-24555)

f2py now handles common blocks which have kind specifications from modules. This further expands the usability of intrinsics like iso_fortran_env and iso_c_binding.

(gh-25186)

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.errstate can only be entered once now.

  • np.setbufsize is now tied to np.errstate(): leaving an np.errstate context will also reset the bufsize.

    (gh-23936)

  • A new public np.lib.array_utils submodule has been introduced and it currently contains three functions: byte_bounds (moved from np.lib.utils), normalize_axis_tuple and normalize_axis_index.

    (gh-24540)

  • Introduce numpy.bool as the new canonical name for NumPy\'s boolean dtype, and make numpy.bool\_ an alias to it. Note that until NumPy 1.24, np.bool was an alias to Python\'s builtin bool. The new name helps with array API standard compatibility and is a more intuitive name.

    (gh-25080)

  • The dtype.flags value was previously stored as a signed integer. This means that the aligned dtype struct flag lead to negative flags being set (-128 rather than 128). This flag is now stored unsigned (positive). Code which checks flags manually may need to adapt. This may include code compiled with Cython 0.29.x.

    (gh-25816)

Representation of NumPy scalars changed

As per NEP 51, the scalar representation has been updated to include the type information to avoid confusion with Python scalars.

Scalars are now printed as np.float64(3.0) rather than just 3.0. This may disrupt workflows that store representations of numbers (e.g., to files) making it harder to read them. They should be stored as explicit strings, for example by using str() or f"{scalar!s}". For the time being, affected users can use np.set_printoptions(legacy="1.25") to get the old behavior (with possibly a few exceptions). Documentation of downstream projects may require larger updates, if code snippets are tested. We are working on tooling for doctest-plus to facilitate updates.

(gh-22449)

Truthiness of NumPy strings changed

NumPy strings previously were inconsistent about how they defined if the string is True or False and the definition did not match the one used by Python. Strings are now considered True when they are non-empty and False when they are empty. This changes the following distinct cases:

  • Casts from string to boolean were previously roughly equivalent to string_array.astype(np.int64).astype(bool), meaning that only valid integers could be cast. Now a string of "0" will be considered True since it is not empty. If you need the old behavior, you may use the above step (casting to integer first) or string_array == "0" (if the input is only ever 0 or 1). To get the new result on old NumPy versions use string_array != "".
  • np.nonzero(string_array) previously ignored whitespace so that a string only containing whitespace was considered False. Whitespace is now considered True.

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 intp typed array anymore. The p and P character codes can still be used, however.
  • Creating intptr_t or uintptr_t typed arrays in C remains possible in a cross-platform way via PyArray_DescrFromType('p').
  • The new character codes nN were introduced.
  • It is now correct to use the Python C-API functions when parsing to npy_intp typed arguments.

(gh-24888)

numpy.fft.helper made private

numpy.fft.helper was renamed to numpy.fft._helper to indicate that it is a private submodule. All public functions exported by it should be accessed from numpy.fft.

(gh-24945)

numpy.linalg.linalg made private

numpy.linalg.linalg was renamed to numpy.linalg._linalg to indicate that it is a private submodule. All public functions exported by it should be accessed from numpy.linalg.

(gh-24946)

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 a ValueError is 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.

(gh-25553, gh-25570)

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:

Highlights

Highlights of this release include:

  • New features:
    • A new variable-length string dtype, numpy.dtypes.StringDType and a new numpy.strings namespace with performant ufuncs for string operations,
    • Support for float32 and longdouble in all numpy.fft functions,
    • Support for the array API standard in the main numpy namespace.
  • Performance improvements:
    • Sorting functions sort, argsort, partition, argpartition have been accelerated through the use of the Intel x86-simd-sort and Google Highway libraries, and may see large (hardware-specific) speedups,
    • macOS Accelerate support and binary wheels for macOS >=14, with significant performance improvements for linear algebra operations on macOS, and wheels that are about 3 times smaller,
    • numpy.char fixed-length string operations have been accelerated by implementing ufuncs that also support numpy.dtypes.StringDType in addition to the fixed-length string dtypes,
    • A new tracing and introspection API, numpy.lib.introspect.opt_func_info, to determine which hardware-specific kernels are available and will be dispatched to.
  • Python API improvements:
    • A clear split between public and private API, with a new module structure and each public function now available in a single place.
    • Many removals of non-recommended functions and aliases. This should make it easier to learn and use NumPy. The number of objects in the main namespace decreased by ~10% and in numpy.lib by ~80%.
    • Canonical dtype names and a 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_ImportNumPyAPI and PyUFunc_ImportUFuncAPI.
  • Improved behavior:
    • Improvements to type promotion behavior was changed by adopting NEP 50. This fixes many user surprises about promotions which previously often depended on data values of input arrays rather than only their dtypes. Please see the NEP and the numpy-2-migration-guide for details as this change can lead to changes in output dtypes and lower precision results for mixed-dtype operations.
    • The default integer type on Windows is now int64 rather than int32, 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:

  1. Backwards compatibility. There are a significant number of breaking changes to both the Python and C APIs. In the majority of cases, there are clear error messages that will inform the user how to adapt their code. However, there are also changes in behavior for which it was not possible to give such an error message - these cases are all covered in the Deprecation and Compatibility sections below, and in the numpy-2-migration-guide.

    Note that there is a ruff mode to auto-fix many things in Python code.

  2. Breaking changes to the NumPy ABI. As a result, binaries of packages that use the NumPy C API and were built against a NumPy 1.xx release will not work with NumPy 2.0. On import, such packages will see an ImportError with a message about binary incompatibility.

    It is possible to build binaries against NumPy 2.0 that will work at runtime with both NumPy 2.0 and 1.x. See numpy-2-abi-handling for more details.

    All downstream packages that depend on the NumPy ABI are advised to do a new release built against NumPy 2.0 and verify that that release works with both 2.0 and 1.26 - ideally in the period between 2.0.0rc1 (which will be ABI-stable) and the final 2.0.0 release to avoid problems for their users.

The Python versions supported by this release are 3.9-3.12.

NumPy 2.0 Python API removals

  • np.geterrobj, np.seterrobj and the related ufunc keyword argument extobj= have been removed. The preferred replacement for all of these is using the context manager with np.errstate():.

    (gh-23922)

  • np.cast has been removed. The literal replacement for np.cast[dtype](arg) is np.asarray(arg, dtype=dtype).

  • np.source has been removed. The preferred replacement is inspect.getsource.

  • np.lookfor has been removed.

    (gh-24144)

  • numpy.who has been removed. As an alternative for the removed functionality, one can use a variable explorer that is available in IDEs such as Spyder or Jupyter Notebook.

    (gh-24321)

  • Multiple niche enums, expired members and functions have been removed from the main namespace, such as: ERR_*, SHIFT_*, np.fastCopyAndTranspose, np.kernel_version, np.numarray, np.oldnumeric and np.set_numeric_ops.

    (gh-24316)

  • Replaced from ... import * in the numpy/__init__.py with explicit imports. As a result, these main namespace members got removed: np.FLOATING_POINT_SUPPORT, np.FPE_*, np.NINF, np.PINF, np.NZERO, np.PZERO, np.CLIP, np.WRAP, np.WRAP, np.RAISE, np.BUFSIZE, np.UFUNC_BUFSIZE_DEFAULT, np.UFUNC_PYVALS_NAME, np.ALLOW_THREADS, np.MAXDIMS, np.MAY_SHARE_EXACT, np.MAY_SHARE_BOUNDS, add_newdoc, np.add_docstring and np.add_newdoc_ufunc.

    (gh-24357)

  • Alias np.float_ has been removed. Use np.float64 instead.

  • Alias np.complex_ has been removed. Use np.complex128 instead.

  • Alias np.longfloat has been removed. Use np.longdouble instead.

  • Alias np.singlecomplex has been removed. Use np.complex64 instead.

  • Alias np.cfloat has been removed. Use np.complex128 instead.

  • Alias np.longcomplex has been removed. Use np.clongdouble instead.

  • Alias np.clongfloat has been removed. Use np.clongdouble instead.

  • Alias np.string_ has been removed. Use np.bytes_ instead.

  • Alias np.unicode_ has been removed. Use np.str_ instead.

  • Alias np.Inf has been removed. Use np.inf instead.

  • Alias np.Infinity has been removed. Use np.inf instead.

  • Alias np.NaN has been removed. Use np.nan instead.

  • Alias np.infty has been removed. Use np.inf instead.

  • Alias np.mat has been removed. Use np.asmatrix instead.

  • np.issubclass_ has been removed. Use the issubclass builtin instead.

  • np.asfarray has been removed. Use np.asarray with a proper dtype instead.

  • np.set_string_function has been removed. Use np.set_printoptions instead with a formatter for custom printing of NumPy objects.

  • np.tracemalloc_domain is now only available from np.lib.

  • np.recfromcsv and recfromtxt are now only available from np.lib.npyio.

  • np.issctype, np.maximum_sctype, np.obj2sctype, np.sctype2char, np.sctypes, np.issubsctype were all removed from the main namespace without replacement, as they where niche members.

  • Deprecated np.deprecate and np.deprecate_with_doc has been removed from the main namespace. Use DeprecationWarning instead.

  • Deprecated np.safe_eval has been removed from the main namespace. Use ast.literal_eval instead.

    (gh-24376)

  • np.find_common_type has been removed. Use numpy.promote_types or numpy.result_type instead. To achieve semantics for the scalar_types argument, use numpy.result_type and pass 0, 0.0, or 0j as a Python scalar instead.

  • np.round_ has been removed. Use np.round instead.

  • np.nbytes has been removed. Use np.dtype(<dtype>).itemsize instead.

    (gh-24477)

  • np.compare_chararrays has been removed from the main namespace. Use np.char.compare_chararrays instead.

  • The charrarray in the main namespace has been deprecated. It can be imported without a deprecation warning from np.char.chararray for now, but we are planning to fully deprecate and remove chararray in the future.

  • np.format_parser has been removed from the main namespace. Use np.rec.format_parser instead.

    (gh-24587)

  • Support for seven data type string aliases has been removed from np.dtype: int0, uint0, void0, object0, str0, bytes0 and bool8.

    (gh-24807)

  • The experimental numpy.array_api submodule has been removed. Use the main numpy namespace for regular usage instead, or the separate array-api-strict package for the compliance testing use case for which numpy.array_api was mostly used.

    (gh-25911)

__array_prepare__ is removed

UFuncs called __array_prepare__ before running computations for normal ufunc calls (not generalized ufuncs, reductions, etc.). The function was also called instead of __array_wrap__ on the results of some linear algebra functions.

It is now removed. If you use it, migrate to __array_ufunc__ or rely on __array_wrap__ which is called with a context in all cases, although only after the result array is filled. In those code paths, __array_wrap__ will now be passed a base class, rather than a subclass array.

(gh-25105)

Deprecations

  • np.compat has been deprecated, as Python 2 is no longer supported.

  • np.safe_eval has been deprecated. ast.literal_eval should be used instead.

    (gh-23830)

  • np.recfromcsv, np.recfromtxt, np.disp, np.get_array_wrap, np.maximum_sctype, np.deprecate and np.deprecate_with_doc have been deprecated.

    (gh-24154)

  • np.trapz has been deprecated. Use np.trapezoid or a scipy.integrate function instead.

  • np.in1d has been deprecated. Use np.isin instead.

  • Alias np.row_stack has been deprecated. Use np.vstack directly.

    (gh-24445)

  • __array_wrap__ is now passed arr, context, return_scalar and support for implementations not accepting all three are deprecated. Its signature should be __array_wrap__(self, arr, context=None, return_scalar=False)

    (gh-25408)

  • Arrays of 2-dimensional vectors for np.cross have been deprecated. Use arrays of 3-dimensional vectors instead.

    (gh-24818)

  • np.dtype("a") alias for np.dtype(np.bytes_) was deprecated. Use np.dtype("S") alias instead.

    (gh-24854)

  • Use of keyword arguments x and y with functions assert_array_equal and assert_array_almost_equal has been deprecated. Pass the first two arguments as positional arguments instead.

    (gh-24978)

numpy.fft deprecations for n-D transforms with None values in arguments

Using fftn, ifftn, rfftn, irfftn, fft2, ifft2, rfft2 or irfft2 with the s parameter set to a value that is not None and the axes parameter set to None has been deprecated, in line with the array API standard. To retain current behaviour, pass a sequence [0, ..., k-1] to axes for an array of dimension k.

Furthermore, passing an array to s which contains None values is deprecated as the parameter is documented to accept a sequence of integers in both the NumPy docs and the array API specification. To use the default behaviour of the corresponding 1-D transform, pass the value matching the default for its n parameter. To use the default behaviour for every axis, the s argument can be omitted.

(gh-25495)

np.linalg.lstsq now defaults to a new rcond value

numpy.linalg.lstsq now uses the new rcond value of the machine precision times max(M, N). Previously, the machine precision was used but a FutureWarning was given to notify that this change will happen eventually. That old behavior can still be achieved by passing rcond=-1.

(gh-25721)

Expired deprecations

  • The np.core.umath_tests submodule has been removed from the public API. (Deprecated in NumPy 1.15)

    (gh-23809)

  • The PyDataMem_SetEventHook deprecation has expired and it is removed. Use tracemalloc and the np.lib.tracemalloc_domain domain. (Deprecated in NumPy 1.23)

    (gh-23921)

  • The deprecation of set_numeric_ops and the C functions PyArray_SetNumericOps and PyArray_GetNumericOps has been expired and the functions removed. (Deprecated in NumPy 1.16)

    (gh-23998)

  • The fasttake, fastclip, and fastputmask ArrFuncs deprecation is now finalized.

  • The deprecated function fastCopyAndTranspose and its C counterpart are now removed.

  • The deprecation of PyArray_ScalarFromObject is now finalized.

    (gh-24312)

  • np.msort has been removed. For a replacement, np.sort(a, axis=0) should be used instead.

    (gh-24494)

  • np.dtype(("f8", 1) will now return a shape 1 subarray dtype rather than a non-subarray one.

    (gh-25761)

  • Assigning to the .data attribute of an ndarray is disallowed and will raise.

  • np.binary_repr(a, width) will raise if width is too small.

  • Using NPY_CHAR in PyArray_DescrFromType() will raise, use NPY_STRING NPY_UNICODE, or NPY_VSTRING instead.

    (gh-25794)

Compatibility notes

loadtxt and genfromtxt default encoding changed

loadtxt and genfromtxt now both default to encoding=None which may mainly modify how converters work. These will now be passed str rather than bytes. Pass the encoding explicitly to always get the new or old behavior. For genfromtxt the change also means that returned values will now be unicode strings rather than bytes.

(gh-25158)

f2py compatibility notes

  • f2py will no longer accept ambiguous -m and .pyf CLI combinations. When more than one .pyf file is passed, an error is raised. When both -m and a .pyf is passed, a warning is emitted and the -m provided name is ignored.

    (gh-25181)

  • The f2py.compile() helper has been removed because it leaked memory, has been marked as experimental for several years now, and was implemented as a thin subprocess.run wrapper. It was also one of the test bottlenecks. See gh-25122 for the full rationale. It also used several np.distutils features which are too fragile to be ported to work with meson.

  • Users are urged to replace calls to f2py.compile with calls to subprocess.run("python", "-m", "numpy.f2py",... instead, and to use environment variables to interact with meson. 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_CNE macros have been removed.

  • PyArray_MIN and PyArray_MAX have been moved from ndarraytypes.h to npy_math.h.

    (gh-24258)

  • A C API for working with numpy.dtypes.StringDType arrays has been exposed. This includes functions for acquiring and releasing mutexes which lock access to the string data, as well as packing and unpacking UTF-8 bytestreams from array entries.

  • NPY_NTYPES has been renamed to NPY_NTYPES_LEGACY as it does not include new NumPy built-in DTypes. In particular the new string DType will likely not work correctly with code that handles legacy DTypes.

    (gh-25347)

  • The C-API now only exports the static inline function versions of the array accessors (previously this depended on using \"deprecated API\"). While we discourage it, the struct fields can still be used directly.

    (gh-25789)

  • NumPy now defines PyArray_Pack to set an individual memory address. Unlike PyArray_SETITEM this function is equivalent to setting an individual array item and does not require a NumPy array input.

    (gh-25954)

  • The ->f slot has been removed from PyArray_Descr. If you use this slot, replace accessing it with PyDataType_GetArrFuncs (see its documentation and the numpy-2-migration-guide). In some cases using other functions like PyArray_GETITEM may be an alternatives.

  • PyArray_GETITEM and PyArray_SETITEM now require the import of the NumPy API table to be used and are no longer defined in ndarraytypes.h.

    (gh-25812)

  • Due to runtime dependencies, the definition for functionality accessing the dtype flags was moved from numpy/ndarraytypes.h and is only available after including numpy/ndarrayobject.h as it requires import_array(). This includes PyDataType_FLAGCHK, PyDataType_REFCHK and NPY_BEGIN_THREADS_DESCR.

  • The dtype flags on PyArray_Descr must now be accessed through the PyDataType_FLAGS inline function to be compatible with both 1.x and 2.x. This function is defined in npy_2_compat.h to allow backporting. Most or all users should use PyDataType_FLAGCHK which is available on 1.x and does not require backporting. Cython users should use Cython 3. Otherwise access will go through Python unless they use PyDataType_FLAGCHK instead.

    (gh-25816)

Datetime functionality exposed in the C API and Cython bindings

The functions NpyDatetime_ConvertDatetime64ToDatetimeStruct, NpyDatetime_ConvertDatetimeStructToDatetime64, NpyDatetime_ConvertPyDateTimeToDatetimeStruct, NpyDatetime_GetDatetimeISO8601StrLen, NpyDatetime_MakeISO8601Datetime, and NpyDatetime_ParseISO8601Datetime have been added to the C API to facilitate converting between strings, Python datetimes, and NumPy datetimes in external libraries.

(gh-21199)

Const correctness for the generalized ufunc C API

The NumPy C API\'s functions for constructing generalized ufuncs (PyUFunc_FromFuncAndData, PyUFunc_FromFuncAndDataAndSignature, PyUFunc_FromFuncAndDataAndSignatureAndIdentity) take types and data arguments that are not modified by NumPy\'s internals. Like the name and doc arguments, third-party Python extension modules are likely to supply these arguments from static constants. The types and data arguments are now const-correct: they are declared as const char *types and void *const *data, respectively. C code should not be affected, but C++ code may be.

(gh-23847)

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 return statement.

The PyArray_ImportNumPyAPI() function is included in npy_2_compat.h for simpler backporting.

(gh-25866)

Structured dtype information access through functions

The dtype structures fields c_metadata, names, fields, and subarray must now be accessed through new functions following the same names, such as PyDataType_NAMES. Direct access of the fields is not valid as they do not exist for all PyArray_Descr instances. The metadata field is kept, but the macro version should also be preferred.

(gh-25802)

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.h and the corresponding macros like NPY_SIGINT_ON have been removed. We recommend querying PyErr_CheckSignals() or PyOS_InterruptOccurred() periodically (these do currently require holding the GIL though).

  • The noprefix.h header has been removed. Replace missing symbols with their prefixed counterparts (usually an added NPY_ or npy_).

    (gh-23919)

  • PyUFunc_GetPyVals, PyUFunc_handlefperr, and PyUFunc_checkfperr have been removed. If needed, a new backwards compatible function to raise floating point errors could be restored. Reason for removal: there are no known users and the functions would have made with np.errstate() fixes much more difficult).

    (gh-23922)

  • The numpy/old_defines.h which was part of the API deprecated since NumPy 1.7 has been removed. This removes macros of the form PyArray_CONSTANT. The replaceoldmacros.sed script may be useful to convert them to the NPY_CONSTANT version.

    (gh-24011)

  • The legacy_inner_loop_selector member of the ufunc struct is removed to simplify improvements to the dispatching system. There are no known users overriding or directly accessing this member.

    (gh-24271)

  • NPY_INTPLTR has been removed to avoid confusion (see intp redefinition).

    (gh-24888)

  • The advanced indexing MapIter and related API has been removed. The (truly) public part of it was not well tested and had only one known user (Theano). Making it private will simplify improvements to speed up ufunc.at, make advanced indexing more maintainable, and was important for increasing the maximum number of dimensions of arrays to 64. Please let us know if this API is important to you so we can find a solution together.

    (gh-25138)

  • The NPY_MAX_ELSIZE macro has been removed, as it only ever reflected builtin numeric types and served no internal purpose.

    (gh-25149)

  • PyArray_REFCNT and NPY_REFCOUNT are removed. Use Py_REFCNT instead.

    (gh-25156)

  • PyArrayFlags_Type and PyArray_NewFlagsObject as well as PyArrayFlagsObject are private now. There is no known use-case; use the Python API if needed.

  • PyArray_MoveInto, PyArray_CastTo, PyArray_CastAnyTo are removed use PyArray_CopyInto and if absolutely needed PyArray_CopyAnyInto (the latter does a flat copy).

  • PyArray_FillObjectArray is removed, its only true use was for implementing np.empty. Create a new empty array or use PyArray_FillWithScalar() (decrefs existing objects).

  • PyArray_CompareUCS4 and PyArray_CompareString are removed. Use the standard C string comparison functions.

  • PyArray_ISPYTHON is removed as it is misleading, has no known use-cases, and is easy to replace.

  • PyArray_FieldNames is removed, as it is unclear what it would be useful for. It also has incorrect semantics in some possible use-cases.

  • PyArray_TypestrConvert is removed, since it seems a misnomer and unlikely to be used by anyone. If you know the size or are limited to few types, just use it explicitly, otherwise go via Python strings.

    (gh-25292)

  • PyDataType_GetDatetimeMetaData is removed, it did not actually do anything since at least NumPy 1.7.

    (gh-25802)

  • PyArray_GetCastFunc is removed. Note that custom legacy user dtypes can still provide a castfunc as their implementation, but any access to them is now removed. The reason for this is that NumPy never used these internally for many years. If you use simple numeric types, please just use C casts directly. In case you require an alternative, please let us know so we can create new API such as PyArray_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 for numpy.vecdot.

  • numpy.linalg.matrix_transpose - An alias for numpy.matrix_transpose.

    (gh-25155)

  • numpy.linalg.outer has been added. It computes the outer product of two vectors. It differs from numpy.outer by accepting one-dimensional arrays only. This function is compatible with the array API standard.

    (gh-25101)

  • numpy.linalg.cross has been added. It computes the cross product of two (arrays of) 3-dimensional vectors. It differs from numpy.cross by 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:

  • rtol was added to numpy.linalg.matrix_rank.
  • stable was added to numpy.sort and numpy.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.real or c.imag) is no longer an option. You can now use utilities provided in numpy/npy_math.h to 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-numbers for more info.

  • numpy/npy_common.h now includes complex.h, which means that complex is now a reserved keyword.

(gh-24085)

iso_c_binding support and improved common blocks for f2py

Previously, users would have to define their own custom f2cmap file to use type mappings defined by the Fortran2003 iso_c_binding intrinsic module. These type maps are now natively supported by f2py

(gh-24555)

f2py now handles common blocks which have kind specifications from modules. This further expands the usability of intrinsics like iso_fortran_env and iso_c_binding.

(gh-25186)

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.errstate can only be entered once now.

  • np.setbufsize is now tied to np.errstate(): leaving an np.errstate context will also reset the bufsize.

    (gh-23936)

  • A new public np.lib.array_utils submodule has been introduced and it currently contains three functions: byte_bounds (moved from np.lib.utils), normalize_axis_tuple and normalize_axis_index.

    (gh-24540)

  • Introduce numpy.bool as the new canonical name for NumPy\'s boolean dtype, and make numpy.bool\_ an alias to it. Note that until NumPy 1.24, np.bool was an alias to Python\'s builtin bool. The new name helps with array API standard compatibility and is a more intuitive name.

    (gh-25080)

  • The dtype.flags value was previously stored as a signed integer. This means that the aligned dtype struct flag lead to negative flags being set (-128 rather than 128). This flag is now stored unsigned (positive). Code which checks flags manually may need to adapt. This may include code compiled with Cython 0.29.x.

    (gh-25816)

Representation of NumPy scalars changed

As per NEP 51, the scalar representation has been updated to include the type information to avoid confusion with Python scalars.

Scalars are now printed as np.float64(3.0) rather than just 3.0. This may disrupt workflows that store representations of numbers (e.g., to files) making it harder to read them. They should be stored as explicit strings, for example by using str() or f"{scalar!s}". For the time being, affected users can use np.set_printoptions(legacy="1.25") to get the old behavior (with possibly a few exceptions). Documentation of downstream projects may require larger updates, if code snippets are tested. We are working on tooling for doctest-plus to facilitate updates.

(gh-22449)

Truthiness of NumPy strings changed

NumPy strings previously were inconsistent about how they defined if the string is True or False and the definition did not match the one used by Python. Strings are now considered True when they are non-empty and False when they are empty. This changes the following distinct cases:

  • Casts from string to boolean were previously roughly equivalent to string_array.astype(np.int64).astype(bool), meaning that only valid integers could be cast. Now a string of "0" will be considered True since it is not empty. If you need the old behavior, you may use the above step (casting to integer first) or string_array == "0" (if the input is only ever 0 or 1). To get the new result on old NumPy versions use string_array != "".
  • np.nonzero(string_array) previously ignored whitespace so that a string only containing whitespace was considered False. Whitespace is now considered True.

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 intp typed array anymore. The p and P character codes can still be used, however.
  • Creating intptr_t or uintptr_t typed arrays in C remains possible in a cross-platform way via PyArray_DescrFromType('p').
  • The new character codes nN were introduced.
  • It is now correct to use the Python C-API functions when parsing to npy_intp typed arguments.

(gh-24888)

numpy.fft.helper made private

numpy.fft.helper was renamed to numpy.fft._helper to indicate that it is a private submodule. All public functions exported by it should be accessed from numpy.fft.

(gh-24945)

numpy.linalg.linalg made private

numpy.linalg.linalg was renamed to numpy.linalg._linalg to indicate that it is a private submodule. All public functions exported by it should be accessed from numpy.linalg.

(gh-24946)

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 a ValueError is 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.

(gh-25553, gh-25570)

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:

Highlights

Highlights of this release include:

  • New features:
    • A new variable-length string dtype, numpy.dtypes.StringDType and a new numpy.strings namespace with performant ufuncs for string operations,
    • Support for float32 and longdouble in all numpy.fft functions,
    • Support for the array API standard in the main numpy namespace.
  • Performance improvements:
    • Sorting functions sort, argsort, partition, argpartition have been accelerated through the use of the Intel x86-simd-sort and Google Highway libraries, and may see large (hardware-specific) speedups,
    • macOS Accelerate support and binary wheels for macOS >=14, with significant performance improvements for linear algebra operations on macOS, and wheels that are about 3 times smaller,
    • numpy.char fixed-length string operations have been accelerated by implementing ufuncs that also support numpy.dtypes.StringDType in addition to the fixed-length string dtypes,
    • A new tracing and introspection API, numpy.lib.introspect.opt_func_info, to determine which hardware-specific kernels are available and will be dispatched to.
  • Python API improvements:
    • A clear split between public and private API, with a new module structure and each public function now available in a single place.
    • Many removals of non-recommended functions and aliases. This should make it easier to learn and use NumPy. The number of objects in the main namespace decreased by ~10% and in numpy.lib by ~80%.
    • Canonical dtype names and a 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_ImportNumPyAPI and PyUFunc_ImportUFuncAPI.
  • Improved behavior:
    • Improvements to type promotion behavior was changed by adopting NEP 50. This fixes many user surprises about promotions which previously often depended on data values of input arrays rather than only their dtypes. Please see the NEP and the numpy-2-migration-guide for details as this change can lead to changes in output dtypes and lower precision results for mixed-dtype operations.
    • The default integer type on Windows is now int64 rather than int32, 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:

  1. Backwards compatibility. There are a significant number of breaking changes to both the Python and C APIs. In the majority of cases, there are clear error messages that will inform the user how to adapt their code. However, there are also changes in behavior for which it was not possible to give such an error message - these cases are all covered in the Deprecation and Compatibility sections below, and in the numpy-2-migration-guide.

    Note that there is a ruff mode to auto-fix many things in Python code.

  2. Breaking changes to the NumPy ABI. As a result, binaries of packages that use the NumPy C API and were built against a NumPy 1.xx release will not work with NumPy 2.0. On import, such packages will see an ImportError with a message about binary incompatibility.

    It is possible to build binaries against NumPy 2.0 that will work at runtime with both NumPy 2.0 and 1.x. See numpy-2-abi-handling for more details.

    All downstream packages that depend on the NumPy ABI are advised to do a new release built against NumPy 2.0 and verify that that release works with both 2.0 and 1.26 - ideally in the period between 2.0.0rc1 (which will be ABI-stable) and the final 2.0.0 release to avoid problems for their users.

The Python versions supported by this release are 3.9-3.12.

NumPy 2.0 Python API removals

  • np.geterrobj, np.seterrobj and the related ufunc keyword argument extobj= have been removed. The preferred replacement for all of these is using the context manager with np.errstate():.

    (gh-23922)

  • np.cast has been removed. The literal replacement for np.cast[dtype](arg) is np.asarray(arg, dtype=dtype).

  • np.source has been removed. The preferred replacement is inspect.getsource.

  • np.lookfor has been removed.

    (gh-24144)

  • numpy.who has been removed. As an alternative for the removed functionality, one can use a variable explorer that is available in IDEs such as Spyder or Jupyter Notebook.

    (gh-24321)

  • Multiple niche enums, expired members and functions have been removed from the main namespace, such as: ERR_*, SHIFT_*, np.fastCopyAndTranspose, np.kernel_version, np.numarray, np.oldnumeric and np.set_numeric_ops.

    (gh-24316)

  • Replaced from ... import * in the numpy/__init__.py with explicit imports. As a result, these main namespace members got removed: np.FLOATING_POINT_SUPPORT, np.FPE_*, np.NINF, np.PINF, np.NZERO, np.PZERO, np.CLIP, np.WRAP, np.WRAP, np.RAISE, np.BUFSIZE, np.UFUNC_BUFSIZE_DEFAULT, np.UFUNC_PYVALS_NAME, np.ALLOW_THREADS, np.MAXDIMS, np.MAY_SHARE_EXACT, np.MAY_SHARE_BOUNDS, add_newdoc, np.add_docstring and np.add_newdoc_ufunc.

    (gh-24357)

  • Alias np.float_ has been removed. Use np.float64 instead.

  • Alias np.complex_ has been removed. Use np.complex128 instead.

  • Alias np.longfloat has been removed. Use np.longdouble instead.

  • Alias np.singlecomplex has been removed. Use np.complex64 instead.

  • Alias np.cfloat has been removed. Use np.complex128 instead.

  • Alias np.longcomplex has been removed. Use np.clongdouble instead.

  • Alias np.clongfloat has been removed. Use np.clongdouble instead.

  • Alias np.string_ has been removed. Use np.bytes_ instead.

  • Alias np.unicode_ has been removed. Use np.str_ instead.

  • Alias np.Inf has been removed. Use np.inf instead.

  • Alias np.Infinity has been removed. Use np.inf instead.

  • Alias np.NaN has been removed. Use np.nan instead.

  • Alias np.infty has been removed. Use np.inf instead.

  • Alias np.mat has been removed. Use np.asmatrix instead.

  • np.issubclass_ has been removed. Use the issubclass builtin instead.

  • np.asfarray has been removed. Use np.asarray with a proper dtype instead.

  • np.set_string_function has been removed. Use np.set_printoptions instead with a formatter for custom printing of NumPy objects.

  • np.tracemalloc_domain is now only available from np.lib.

  • np.recfromcsv and recfromtxt are now only available from np.lib.npyio.

  • np.issctype, np.maximum_sctype, np.obj2sctype, np.sctype2char, np.sctypes, np.issubsctype were all removed from the main namespace without replacement, as they where niche members.

  • Deprecated np.deprecate and np.deprecate_with_doc has been removed from the main namespace. Use DeprecationWarning instead.

  • Deprecated np.safe_eval has been removed from the main namespace. Use ast.literal_eval instead.

    (gh-24376)

  • np.find_common_type has been removed. Use numpy.promote_types or numpy.result_type instead. To achieve semantics for the scalar_types argument, use numpy.result_type and pass 0, 0.0, or 0j as a Python scalar instead.

  • np.round_ has been removed. Use np.round instead.

  • np.nbytes has been removed. Use np.dtype(<dtype>).itemsize instead.

    (gh-24477)

  • np.compare_chararrays has been removed from the main namespace. Use np.char.compare_chararrays instead.

  • The charrarray in the main namespace has been deprecated. It can be imported without a deprecation warning from np.char.chararray for now, but we are planning to fully deprecate and remove chararray in the future.

  • np.format_parser has been removed from the main namespace. Use np.rec.format_parser instead.

    (gh-24587)

  • Support for seven data type string aliases has been removed from np.dtype: int0, uint0, void0, object0, str0, bytes0 and bool8.

    (gh-24807)

  • The experimental numpy.array_api submodule has been removed. Use the main numpy namespace for regular usage instead, or the separate array-api-strict package for the compliance testing use case for which numpy.array_api was mostly used.

    (gh-25911)

__array_prepare__ is removed

UFuncs called __array_prepare__ before running computations for normal ufunc calls (not generalized ufuncs, reductions, etc.). The function was also called instead of __array_wrap__ on the results of some linear algebra functions.

It is now removed. If you use it, migrate to __array_ufunc__ or rely on __array_wrap__ which is called with a context in all cases, although only after the result array is filled. In those code paths, __array_wrap__ will now be passed a base class, rather than a subclass array.

(gh-25105)

Deprecations

  • np.compat has been deprecated, as Python 2 is no longer supported.

  • np.safe_eval has been deprecated. ast.literal_eval should be used instead.

    (gh-23830)

  • np.recfromcsv, np.recfromtxt, np.disp, np.get_array_wrap, np.maximum_sctype, np.deprecate and np.deprecate_with_doc have been deprecated.

    (gh-24154)

  • np.trapz has been deprecated. Use np.trapezoid or a scipy.integrate function instead.

  • np.in1d has been deprecated. Use np.isin instead.

  • Alias np.row_stack has been deprecated. Use np.vstack directly.

    (gh-24445)

  • __array_wrap__ is now passed arr, context, return_scalar and support for implementations not accepting all three are deprecated. Its signature should be __array_wrap__(self, arr, context=None, return_scalar=False)

    (gh-25408)

  • Arrays of 2-dimensional vectors for np.cross have been deprecated. Use arrays of 3-dimensional vectors instead.

    (gh-24818)

  • np.dtype("a") alias for np.dtype(np.bytes_) was deprecated. Use np.dtype("S") alias instead.

    (gh-24854)

  • Use of keyword arguments x and y with functions assert_array_equal and assert_array_almost_equal has been deprecated. Pass the first two arguments as positional arguments instead.

    (gh-24978)

numpy.fft deprecations for n-D transforms with None values in arguments

Using fftn, ifftn, rfftn, irfftn, fft2, ifft2, rfft2 or irfft2 with the s parameter set to a value that is not None and the axes parameter set to None has been deprecated, in line with the array API standard. To retain current behaviour, pass a sequence [0, ..., k-1] to axes for an array of dimension k.

Furthermore, passing an array to s which contains None values is deprecated as the parameter is documented to accept a sequence of integers in both the NumPy docs and the array API specification. To use the default behaviour of the corresponding 1-D transform, pass the value matching the default for its n parameter. To use the default behaviour for every axis, the s argument can be omitted.

(gh-25495)

np.linalg.lstsq now defaults to a new rcond value

numpy.linalg.lstsq now uses the new rcond value of the machine precision times max(M, N). Previously, the machine precision was used but a FutureWarning was given to notify that this change will happen eventually. That old behavior can still be achieved by passing rcond=-1.

(gh-25721)

Expired deprecations

  • The np.core.umath_tests submodule has been removed from the public API. (Deprecated in NumPy 1.15)

    (gh-23809)

  • The PyDataMem_SetEventHook deprecation has expired and it is removed. Use tracemalloc and the np.lib.tracemalloc_domain domain. (Deprecated in NumPy 1.23)

    (gh-23921)

  • The deprecation of set_numeric_ops and the C functions PyArray_SetNumericOps and PyArray_GetNumericOps has been expired and the functions removed. (Deprecated in NumPy 1.16)

    (gh-23998)

  • The fasttake, fastclip, and fastputmask ArrFuncs deprecation is now finalized.

  • The deprecated function fastCopyAndTranspose and its C counterpart are now removed.

  • The deprecation of PyArray_ScalarFromObject is now finalized.

    (gh-24312)

  • np.msort has been removed. For a replacement, np.sort(a, axis=0) should be used instead.

    (gh-24494)

  • np.dtype(("f8", 1) will now return a shape 1 subarray dtype rather than a non-subarray one.

    (gh-25761)

  • Assigning to the .data attribute of an ndarray is disallowed and will raise.

  • np.binary_repr(a, width) will raise if width is too small.

  • Using NPY_CHAR in PyArray_DescrFromType() will raise, use NPY_STRING NPY_UNICODE, or NPY_VSTRING instead.

    (gh-25794)

Compatibility notes

loadtxt and genfromtxt default encoding changed

loadtxt and genfromtxt now both default to encoding=None which may mainly modify how converters work. These will now be passed str rather than bytes. Pass the encoding explicitly to always get the new or old behavior. For genfromtxt the change also means that returned values will now be unicode strings rather than bytes.

(gh-25158)

f2py compatibility notes

  • f2py will no longer accept ambiguous -m and .pyf CLI combinations. When more than one .pyf file is passed, an error is raised. When both -m and a .pyf is passed, a warning is emitted and the -m provided name is ignored.

    (gh-25181)

  • The f2py.compile() helper has been removed because it leaked memory, has been marked as experimental for several years now, and was implemented as a thin subprocess.run wrapper. It was also one of the test bottlenecks. See gh-25122 for the full rationale. It also used several np.distutils features which are too fragile to be ported to work with meson.

  • Users are urged to replace calls to f2py.compile with calls to subprocess.run("python", "-m", "numpy.f2py",... instead, and to use environment variables to interact with meson. 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_CNE macros have been removed.

  • PyArray_MIN and PyArray_MAX have been moved from ndarraytypes.h to npy_math.h.

    (gh-24258)

  • A C API for working with numpy.dtypes.StringDType arrays has been exposed. This includes functions for acquiring and releasing mutexes which lock access to the string data, as well as packing and unpacking UTF-8 bytestreams from array entries.

  • NPY_NTYPES has been renamed to NPY_NTYPES_LEGACY as it does not include new NumPy built-in DTypes. In particular the new string DType will likely not work correctly with code that handles legacy DTypes.

    (gh-25347)

  • The C-API now only exports the static inline function versions of the array accessors (previously this depended on using \"deprecated API\"). While we discourage it, the struct fields can still be used directly.

    (gh-25789)

  • NumPy now defines PyArray_Pack to set an individual memory address. Unlike PyArray_SETITEM this function is equivalent to setting an individual array item and does not require a NumPy array input.

    (gh-25954)

  • The ->f slot has been removed from PyArray_Descr. If you use this slot, replace accessing it with PyDataType_GetArrFuncs (see its documentation and the numpy-2-migration-guide). In some cases using other functions like PyArray_GETITEM may be an alternatives.

  • PyArray_GETITEM and PyArray_SETITEM now require the import of the NumPy API table to be used and are no longer defined in ndarraytypes.h.

    (gh-25812)

  • Due to runtime dependencies, the definition for functionality accessing the dtype flags was moved from numpy/ndarraytypes.h and is only available after including numpy/ndarrayobject.h as it requires import_array(). This includes PyDataType_FLAGCHK, PyDataType_REFCHK and NPY_BEGIN_THREADS_DESCR.

  • The dtype flags on PyArray_Descr must now be accessed through the PyDataType_FLAGS inline function to be compatible with both 1.x and 2.x. This function is defined in npy_2_compat.h to allow backporting. Most or all users should use PyDataType_FLAGCHK which is available on 1.x and does not require backporting. Cython users should use Cython 3. Otherwise access will go through Python unless they use PyDataType_FLAGCHK instead.

    (gh-25816)

Datetime functionality exposed in the C API and Cython bindings

The functions NpyDatetime_ConvertDatetime64ToDatetimeStruct, NpyDatetime_ConvertDatetimeStructToDatetime64, NpyDatetime_ConvertPyDateTimeToDatetimeStruct, NpyDatetime_GetDatetimeISO8601StrLen, NpyDatetime_MakeISO8601Datetime, and NpyDatetime_ParseISO8601Datetime have been added to the C API to facilitate converting between strings, Python datetimes, and NumPy datetimes in external libraries.

(gh-21199)

Const correctness for the generalized ufunc C API

The NumPy C API\'s functions for constructing generalized ufuncs (PyUFunc_FromFuncAndData, PyUFunc_FromFuncAndDataAndSignature, PyUFunc_FromFuncAndDataAndSignatureAndIdentity) take types and data arguments that are not modified by NumPy\'s internals. Like the name and doc arguments, third-party Python extension modules are likely to supply these arguments from static constants. The types and data arguments are now const-correct: they are declared as const char *types and void *const *data, respectively. C code should not be affected, but C++ code may be.

(gh-23847)

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 return statement.

The PyArray_ImportNumPyAPI() function is included in npy_2_compat.h for simpler backporting.

(gh-25866)

Structured dtype information access through functions

The dtype structures fields c_metadata, names, fields, and subarray must now be accessed through new functions following the same names, such as PyDataType_NAMES. Direct access of the fields is not valid as they do not exist for all PyArray_Descr instances. The metadata field is kept, but the macro version should also be preferred.

(gh-25802)

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.h and the corresponding macros like NPY_SIGINT_ON have been removed. We recommend querying PyErr_CheckSignals() or PyOS_InterruptOccurred() periodically (these do currently require holding the GIL though).

  • The noprefix.h header has been removed. Replace missing symbols with their prefixed counterparts (usually an added NPY_ or npy_).

    (gh-23919)

  • PyUFunc_GetPyVals, PyUFunc_handlefperr, and PyUFunc_checkfperr have been removed. If needed, a new backwards compatible function to raise floating point errors could be restored. Reason for removal: there are no known users and the functions would have made with np.errstate() fixes much more difficult).

    (gh-23922)

  • The numpy/old_defines.h which was part of the API deprecated since NumPy 1.7 has been removed. This removes macros of the form PyArray_CONSTANT. The replaceoldmacros.sed script may be useful to convert them to the NPY_CONSTANT version.

    (gh-24011)

  • The legacy_inner_loop_selector member of the ufunc struct is removed to simplify improvements to the dispatching system. There are no known users overriding or directly accessing this member.

    (gh-24271)

  • NPY_INTPLTR has been removed to avoid confusion (see intp redefinition).

    (gh-24888)

  • The advanced indexing MapIter and related API has been removed. The (truly) public part of it was not well tested and had only one known user (Theano). Making it private will simplify improvements to speed up ufunc.at, make advanced indexing more maintainable, and was important for increasing the maximum number of dimensions of arrays to 64. Please let us know if this API is important to you so we can find a solution together.

    (gh-25138)

  • The NPY_MAX_ELSIZE macro has been removed, as it only ever reflected builtin numeric types and served no internal purpose.

    (gh-25149)

  • PyArray_REFCNT and NPY_REFCOUNT are removed. Use Py_REFCNT instead.

    (gh-25156)

  • PyArrayFlags_Type and PyArray_NewFlagsObject as well as PyArrayFlagsObject are private now. There is no known use-case; use the Python API if needed.

  • PyArray_MoveInto, PyArray_CastTo, PyArray_CastAnyTo are removed use PyArray_CopyInto and if absolutely needed PyArray_CopyAnyInto (the latter does a flat copy).

  • PyArray_FillObjectArray is removed, its only true use was for implementing np.empty. Create a new empty array or use PyArray_FillWithScalar() (decrefs existing objects).

  • PyArray_CompareUCS4 and PyArray_CompareString are removed. Use the standard C string comparison functions.

  • PyArray_ISPYTHON is removed as it is misleading, has no known use-cases, and is easy to replace.

  • PyArray_FieldNames is removed, as it is unclear what it would be useful for. It also has incorrect semantics in some possible use-cases.

  • PyArray_TypestrConvert is removed, since it seems a misnomer and unlikely to be used by anyone. If you know the size or are limited to few types, just use it explicitly, otherwise go via Python strings.

    (gh-25292)

  • PyDataType_GetDatetimeMetaData is removed, it did not actually do anything since at least NumPy 1.7.

    (gh-25802)

  • PyArray_GetCastFunc is removed. Note that custom legacy user dtypes can still provide a castfunc as their implementation, but any access to them is now removed. The reason for this is that NumPy never used these internally for many years. If you use simple numeric types, please just use C casts directly. In case you require an alternative, please let us know so we can create new API such as PyArray_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 for numpy.vecdot.

  • numpy.linalg.matrix_transpose - An alias for numpy.matrix_transpose.

    (gh-25155)

  • numpy.linalg.outer has been added. It computes the outer product of two vectors. It differs from numpy.outer by accepting one-dimensional arrays only. This function is compatible with the array API standard.

    (gh-25101)

  • numpy.linalg.cross has been added. It computes the cross product of two (arrays of) 3-dimensional vectors. It differs from numpy.cross by 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:

  • rtol was added to numpy.linalg.matrix_rank.
  • stable was added to numpy.sort and numpy.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.real or c.imag) is no longer an option. You can now use utilities provided in numpy/npy_math.h to 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-numbers for more info.

  • numpy/npy_common.h now includes complex.h, which means that complex is now a reserved keyword.

(gh-24085)

iso_c_binding support and improved common blocks for f2py

Previously, users would have to define their own custom f2cmap file to use type mappings defined by the Fortran2003 iso_c_binding intrinsic module. These type maps are now natively supported by f2py

(gh-24555)

f2py now handles common blocks which have kind specifications from modules. This further expands the usability of intrinsics like iso_fortran_env and iso_c_binding.

(gh-25186)

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.errstate can only be entered once now.

  • np.setbufsize is now tied to np.errstate(): leaving an np.errstate context will also reset the bufsize.

    (gh-23936)

  • A new public np.lib.array_utils submodule has been introduced and it currently contains three functions: byte_bounds (moved from np.lib.utils), normalize_axis_tuple and normalize_axis_index.

    (gh-24540)

  • Introduce numpy.bool as the new canonical name for NumPy\'s boolean dtype, and make numpy.bool\_ an alias to it. Note that until NumPy 1.24, np.bool was an alias to Python\'s builtin bool. The new name helps with array API standard compatibility and is a more intuitive name.

    (gh-25080)

  • The dtype.flags value was previously stored as a signed integer. This means that the aligned dtype struct flag lead to negative flags being set (-128 rather than 128). This flag is now stored unsigned (positive). Code which checks flags manually may need to adapt. This may include code compiled with Cython 0.29.x.

    (gh-25816)

Representation of NumPy scalars changed

As per NEP 51, the scalar representation has been updated to include the type information to avoid confusion with Python scalars.

Scalars are now printed as np.float64(3.0) rather than just 3.0. This may disrupt workflows that store representations of numbers (e.g., to files) making it harder to read them. They should be stored as explicit strings, for example by using str() or f"{scalar!s}". For the time being, affected users can use np.set_printoptions(legacy="1.25") to get the old behavior (with possibly a few exceptions). Documentation of downstream projects may require larger updates, if code snippets are tested. We are working on tooling for doctest-plus to facilitate updates.

(gh-22449)

Truthiness of NumPy strings changed

NumPy strings previously were inconsistent about how they defined if the string is True or False and the definition did not match the one used by Python. Strings are now considered True when they are non-empty and False when they are empty. This changes the following distinct cases:

  • Casts from string to boolean were previously roughly equivalent to string_array.astype(np.int64).astype(bool), meaning that only valid integers could be cast. Now a string of "0" will be considered True since it is not empty. If you need the old behavior, you may use the above step (casting to integer first) or string_array == "0" (if the input is only ever 0 or 1). To get the new result on old NumPy versions use string_array != "".
  • np.nonzero(string_array) previously ignored whitespace so that a string only containing whitespace was considered False. Whitespace is now considered True.

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 intp typed array anymore. The p and P character codes can still be used, however.
  • Creating intptr_t or uintptr_t typed arrays in C remains possible in a cross-platform way via PyArray_DescrFromType('p').
  • The new character codes nN were introduced.
  • It is now correct to use the Python C-API functions when parsing to npy_intp typed arguments.

(gh-24888)

numpy.fft.helper made private

numpy.fft.helper was renamed to numpy.fft._helper to indicate that it is a private submodule. All public functions exported by it should be accessed from numpy.fft.

(gh-24945)

numpy.linalg.linalg made private

numpy.linalg.linalg was renamed to numpy.linalg._linalg to indicate that it is a private submodule. All public functions exported by it should be accessed from numpy.linalg.

(gh-24946)

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 a ValueError is 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.

(gh-25553, gh-25570)

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:

Highlights

Highlights of this release include:

  • New features:
    • A new variable-length string dtype, numpy.dtypes.StringDType and a new numpy.strings namespace with performant ufuncs for string operations,
    • Support for float32 and longdouble in all numpy.fft functions,
    • Support for the array API standard in the main numpy namespace.
  • Performance improvements:
    • Sorting functions sort, argsort, partition, argpartition have been accelerated through the use of the Intel x86-simd-sort and Google Highway libraries, and may see large (hardware-specific) speedups,
    • macOS Accelerate support and binary wheels for macOS >=14, with significant performance improvements for linear algebra operations on macOS, and wheels that are about 3 times smaller,
    • numpy.char fixed-length string operations have been accelerated by implementing ufuncs that also support numpy.dtypes.StringDType in addition to the fixed-length string dtypes,
    • A new tracing and introspection API, numpy.lib.introspect.opt_func_info, to determine which hardware-specific kernels are available and will be dispatched to.
  • Python API improvements:
    • A clear split between public and private API, with a new module structure and each public function now available in a single place.
    • Many removals of non-recommended functions and aliases. This should make it easier to learn and use NumPy. The number of objects in the main namespace decreased by ~10% and in numpy.lib by ~80%.
    • Canonical dtype names and a 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_ImportNumPyAPI and PyUFunc_ImportUFuncAPI.
  • Improved behavior:
    • Improvements to type promotion behavior was changed by adopting NEP 50. This fixes many user surprises about promotions which previously often depended on data values of input arrays rather than only their dtypes. Please see the NEP and the numpy-2-migration-guide for details as this change can lead to changes in output dtypes and lower precision results for mixed-dtype operations.
    • The default integer type on Windows is now int64 rather than int32, 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:

  1. Backwards compatibility. There are a significant number of breaking changes to both the Python and C APIs. In the majority of cases, there are clear error messages that will inform the user how to adapt their code. However, there are also changes in behavior for which it was not possible to give such an error message - these cases are all covered in the Deprecation and Compatibility sections below, and in the numpy-2-migration-guide.

    Note that there is a ruff mode to auto-fix many things in Python code.

  2. Breaking changes to the NumPy ABI. As a result, binaries of packages that use the NumPy C API and were built against a NumPy 1.xx release will not work with NumPy 2.0. On import, such packages will see an ImportError with a message about binary incompatibility.

    It is possible to build binaries against NumPy 2.0 that will work at runtime with both NumPy 2.0 and 1.x. See numpy-2-abi-handling for more details.

    All downstream packages that depend on the NumPy ABI are advised to do a new release built against NumPy 2.0 and verify that that release works with both 2.0 and 1.26 - ideally in the period between 2.0.0rc1 (which will be ABI-stable) and the final 2.0.0 release to avoid problems for their users.

The Python versions supported by this release are 3.9-3.12.

NumPy 2.0 Python API removals

  • np.geterrobj, np.seterrobj and the related ufunc keyword argument extobj= have been removed. The preferred replacement for all of these is using the context manager with np.errstate():.

    (gh-23922)

  • np.cast has been removed. The literal replacement for np.cast[dtype](arg) is np.asarray(arg, dtype=dtype).

  • np.source has been removed. The preferred replacement is inspect.getsource.

  • np.lookfor has been removed.

    (gh-24144)

  • numpy.who has been removed. As an alternative for the removed functionality, one can use a variable explorer that is available in IDEs such as Spyder or Jupyter Notebook.

    (gh-24321)

  • Multiple niche enums, expired members and functions have been removed from the main namespace, such as: ERR_*, SHIFT_*, np.fastCopyAndTranspose, np.kernel_version, np.numarray, np.oldnumeric and np.set_numeric_ops.

    (gh-24316)

  • Replaced from ... import * in the numpy/__init__.py with explicit imports. As a result, these main namespace members got removed: np.FLOATING_POINT_SUPPORT, np.FPE_*, np.NINF, np.PINF, np.NZERO, np.PZERO, np.CLIP, np.WRAP, np.WRAP, np.RAISE, np.BUFSIZE, np.UFUNC_BUFSIZE_DEFAULT, np.UFUNC_PYVALS_NAME, np.ALLOW_THREADS, np.MAXDIMS, np.MAY_SHARE_EXACT, np.MAY_SHARE_BOUNDS, add_newdoc, np.add_docstring and np.add_newdoc_ufunc.

    (gh-24357)

  • Alias np.float_ has been removed. Use np.float64 instead.

  • Alias np.complex_ has been removed. Use np.complex128 instead.

  • Alias np.longfloat has been removed. Use np.longdouble instead.

  • Alias np.singlecomplex has been removed. Use np.complex64 instead.

  • Alias np.cfloat has been removed. Use np.complex128 instead.

  • Alias np.longcomplex has been removed. Use np.clongdouble instead.

  • Alias np.clongfloat has been removed. Use np.clongdouble instead.

  • Alias np.string_ has been removed. Use np.bytes_ instead.

  • Alias np.unicode_ has been removed. Use np.str_ instead.

  • Alias np.Inf has been removed. Use np.inf instead.

  • Alias np.Infinity has been removed. Use np.inf instead.

  • Alias np.NaN has been removed. Use np.nan instead.

  • Alias np.infty has been removed. Use np.inf instead.

  • Alias np.mat has been removed. Use np.asmatrix instead.

  • np.issubclass_ has been removed. Use the issubclass builtin instead.

  • np.asfarray has been removed. Use np.asarray with a proper dtype instead.

  • np.set_string_function has been removed. Use np.set_printoptions instead with a formatter for custom printing of NumPy objects.

  • np.tracemalloc_domain is now only available from np.lib.

  • np.recfromcsv and recfromtxt are now only available from np.lib.npyio.

  • np.issctype, np.maximum_sctype, np.obj2sctype, np.sctype2char, np.sctypes, np.issubsctype were all removed from the main namespace without replacement, as they where niche members.

  • Deprecated np.deprecate and np.deprecate_with_doc has been removed from the main namespace. Use DeprecationWarning instead.

  • Deprecated np.safe_eval has been removed from the main namespace. Use ast.literal_eval instead.

    (gh-24376)

  • np.find_common_type has been removed. Use numpy.promote_types or numpy.result_type instead. To achieve semantics for the scalar_types argument, use numpy.result_type and pass 0, 0.0, or 0j as a Python scalar instead.

  • np.round_ has been removed. Use np.round instead.

  • np.nbytes has been removed. Use np.dtype(<dtype>).itemsize instead.

    (gh-24477)

  • np.compare_chararrays has been removed from the main namespace. Use np.char.compare_chararrays instead.

  • The charrarray in the main namespace has been deprecated. It can be imported without a deprecation warning from np.char.chararray for now, but we are planning to fully deprecate and remove chararray in the future.

  • np.format_parser has been removed from the main namespace. Use np.rec.format_parser instead.

    (gh-24587)

  • Support for seven data type string aliases has been removed from np.dtype: int0, uint0, void0, object0, str0, bytes0 and bool8.

    (gh-24807)

  • The experimental numpy.array_api submodule has been removed. Use the main numpy namespace for regular usage instead, or the separate array-api-strict package for the compliance testing use case for which numpy.array_api was mostly used.

    (gh-25911)

__array_prepare__ is removed

UFuncs called __array_prepare__ before running computations for normal ufunc calls (not generalized ufuncs, reductions, etc.). The function was also called instead of __array_wrap__ on the results of some linear algebra functions.

It is now removed. If you use it, migrate to __array_ufunc__ or rely on __array_wrap__ which is called with a context in all cases, although only after the result array is filled. In those code paths, __array_wrap__ will now be passed a base class, rather than a subclass array.

(gh-25105)

Deprecations

  • np.compat has been deprecated, as Python 2 is no longer supported.

  • np.safe_eval has been deprecated. ast.literal_eval should be used instead.

    (gh-23830)

  • np.recfromcsv, np.recfromtxt, np.disp, np.get_array_wrap, np.maximum_sctype, np.deprecate and np.deprecate_with_doc have been deprecated.

    (gh-24154)

  • np.trapz has been deprecated. Use np.trapezoid or a scipy.integrate function instead.

  • np.in1d has been deprecated. Use np.isin instead.

  • Alias np.row_stack has been deprecated. Use np.vstack directly.

    (gh-24445)

  • __array_wrap__ is now passed arr, context, return_scalar and support for implementations not accepting all three are deprecated. Its signature should be __array_wrap__(self, arr, context=None, return_scalar=False)

    (gh-25408)

  • Arrays of 2-dimensional vectors for np.cross have been deprecated. Use arrays of 3-dimensional vectors instead.

    (gh-24818)

  • np.dtype("a") alias for np.dtype(np.bytes_) was deprecated. Use np.dtype("S") alias instead.

    (gh-24854)

  • Use of keyword arguments x and y with functions assert_array_equal and assert_array_almost_equal has been deprecated. Pass the first two arguments as positional arguments instead.

    (gh-24978)

numpy.fft deprecations for n-D transforms with None values in arguments

Using fftn, ifftn, rfftn, irfftn, fft2, ifft2, rfft2 or irfft2 with the s parameter set to a value that is not None and the axes parameter set to None has been deprecated, in line with the array API standard. To retain current behaviour, pass a sequence [0, ..., k-1] to axes for an array of dimension k.

Furthermore, passing an array to s which contains None values is deprecated as the parameter is documented to accept a sequence of integers in both the NumPy docs and the array API specification. To use the default behaviour of the corresponding 1-D transform, pass the value matching the default for its n parameter. To use the default behaviour for every axis, the s argument can be omitted.

(gh-25495)

np.linalg.lstsq now defaults to a new rcond value

numpy.linalg.lstsq now uses the new rcond value of the machine precision times max(M, N). Previously, the machine precision was used but a FutureWarning was given to notify that this change will happen eventually. That old behavior can still be achieved by passing rcond=-1.

(gh-25721)

Expired deprecations

  • The np.core.umath_tests submodule has been removed from the public API. (Deprecated in NumPy 1.15)

    (gh-23809)

  • The PyDataMem_SetEventHook deprecation has expired and it is removed. Use tracemalloc and the np.lib.tracemalloc_domain domain. (Deprecated in NumPy 1.23)

    (gh-23921)

  • The deprecation of set_numeric_ops and the C functions PyArray_SetNumericOps and PyArray_GetNumericOps has been expired and the functions removed. (Deprecated in NumPy 1.16)

    (gh-23998)

  • The fasttake, fastclip, and fastputmask ArrFuncs deprecation is now finalized.

  • The deprecated function fastCopyAndTranspose and its C counterpart are now removed.

  • The deprecation of PyArray_ScalarFromObject is now finalized.

    (gh-24312)

  • np.msort has been removed. For a replacement, np.sort(a, axis=0) should be used instead.

    (gh-24494)

  • np.dtype(("f8", 1) will now return a shape 1 subarray dtype rather than a non-subarray one.

    (gh-25761)

  • Assigning to the .data attribute of an ndarray is disallowed and will raise.

  • np.binary_repr(a, width) will raise if width is too small.

  • Using NPY_CHAR in PyArray_DescrFromType() will raise, use NPY_STRING NPY_UNICODE, or NPY_VSTRING instead.

    (gh-25794)

Compatibility notes

loadtxt and genfromtxt default encoding changed

loadtxt and genfromtxt now both default to encoding=None which may mainly modify how converters work. These will now be passed str rather than bytes. Pass the encoding explicitly to always get the new or old behavior. For genfromtxt the change also means that returned values will now be unicode strings rather than bytes.

(gh-25158)

f2py compatibility notes

  • f2py will no longer accept ambiguous -m and .pyf CLI combinations. When more than one .pyf file is passed, an error is raised. When both -m and a .pyf is passed, a warning is emitted and the -m provided name is ignored.

    (gh-25181)

  • The f2py.compile() helper has been removed because it leaked memory, has been marked as experimental for several years now, and was implemented as a thin subprocess.run wrapper. It was also one of the test bottlenecks. See gh-25122 for the full rationale. It also used several np.distutils features which are too fragile to be ported to work with meson.

  • Users are urged to replace calls to f2py.compile with calls to subprocess.run("python", "-m", "numpy.f2py",... instead, and to use environment variables to interact with meson. 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_CNE macros have been removed.

  • PyArray_MIN and PyArray_MAX have been moved from ndarraytypes.h to npy_math.h.

    (gh-24258)

  • A C API for working with numpy.dtypes.StringDType arrays has been exposed. This includes functions for acquiring and releasing mutexes which lock access to the string data, as well as packing and unpacking UTF-8 bytestreams from array entries.

  • NPY_NTYPES has been renamed to NPY_NTYPES_LEGACY as it does not include new NumPy built-in DTypes. In particular the new string DType will likely not work correctly with code that handles legacy DTypes.

    (gh-25347)

  • The C-API now only exports the static inline function versions of the array accessors (previously this depended on using \"deprecated API\"). While we discourage it, the struct fields can still be used directly.

    (gh-25789)

  • NumPy now defines PyArray_Pack to set an individual memory address. Unlike PyArray_SETITEM this function is equivalent to setting an individual array item and does not require a NumPy array input.

    (gh-25954)

  • The ->f slot has been removed from PyArray_Descr. If you use this slot, replace accessing it with PyDataType_GetArrFuncs (see its documentation and the numpy-2-migration-guide). In some cases using other functions like PyArray_GETITEM may be an alternatives.

  • PyArray_GETITEM and PyArray_SETITEM now require the import of the NumPy API table to be used and are no longer defined in ndarraytypes.h.

    (gh-25812)

  • Due to runtime dependencies, the definition for functionality accessing the dtype flags was moved from numpy/ndarraytypes.h and is only available after including numpy/ndarrayobject.h as it requires import_array(). This includes PyDataType_FLAGCHK, PyDataType_REFCHK and NPY_BEGIN_THREADS_DESCR.

  • The dtype flags on PyArray_Descr must now be accessed through the PyDataType_FLAGS inline function to be compatible with both 1.x and 2.x. This function is defined in npy_2_compat.h to allow backporting. Most or all users should use PyDataType_FLAGCHK which is available on 1.x and does not require backporting. Cython users should use Cython 3. Otherwise access will go through Python unless they use PyDataType_FLAGCHK instead.

    (gh-25816)

Datetime functionality exposed in the C API and Cython bindings

The functions NpyDatetime_ConvertDatetime64ToDatetimeStruct, NpyDatetime_ConvertDatetimeStructToDatetime64, NpyDatetime_ConvertPyDateTimeToDatetimeStruct, NpyDatetime_GetDatetimeISO8601StrLen, NpyDatetime_MakeISO8601Datetime, and NpyDatetime_ParseISO8601Datetime have been added to the C API to facilitate converting between strings, Python datetimes, and NumPy datetimes in external libraries.

(gh-21199)

Const correctness for the generalized ufunc C API

The NumPy C API\'s functions for constructing generalized ufuncs (PyUFunc_FromFuncAndData, PyUFunc_FromFuncAndDataAndSignature, PyUFunc_FromFuncAndDataAndSignatureAndIdentity) take types and data arguments that are not modified by NumPy\'s internals. Like the name and doc arguments, third-party Python extension modules are likely to supply these arguments from static constants. The types and data arguments are now const-correct: they are declared as const char *types and void *const *data, respectively. C code should not be affected, but C++ code may be.

(gh-23847)

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 return statement.

The PyArray_ImportNumPyAPI() function is included in npy_2_compat.h for simpler backporting.

(gh-25866)

Structured dtype information access through functions

The dtype structures fields c_metadata, names, fields, and subarray must now be accessed through new functions following the same names, such as PyDataType_NAMES. Direct access of the fields is not valid as they do not exist for all PyArray_Descr instances. The metadata field is kept, but the macro version should also be preferred.

(gh-25802)

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.h and the corresponding macros like NPY_SIGINT_ON have been removed. We recommend querying PyErr_CheckSignals() or PyOS_InterruptOccurred() periodically (these do currently require holding the GIL though).

  • The noprefix.h header has been removed. Replace missing symbols with their prefixed counterparts (usually an added NPY_ or npy_).

    (gh-23919)

  • PyUFunc_GetPyVals, PyUFunc_handlefperr, and PyUFunc_checkfperr have been removed. If needed, a new backwards compatible function to raise floating point errors could be restored. Reason for removal: there are no known users and the functions would have made with np.errstate() fixes much more difficult).

    (gh-23922)

  • The numpy/old_defines.h which was part of the API deprecated since NumPy 1.7 has been removed. This removes macros of the form PyArray_CONSTANT. The replaceoldmacros.sed script may be useful to convert them to the NPY_CONSTANT version.

    (gh-24011)

  • The legacy_inner_loop_selector member of the ufunc struct is removed to simplify improvements to the dispatching system. There are no known users overriding or directly accessing this member.

    (gh-24271)

  • NPY_INTPLTR has been removed to avoid confusion (see intp redefinition).

    (gh-24888)

  • The advanced indexing MapIter and related API has been removed. The (truly) public part of it was not well tested and had only one known user (Theano). Making it private will simplify improvements to speed up ufunc.at, make advanced indexing more maintainable, and was important for increasing the maximum number of dimensions of arrays to 64. Please let us know if this API is important to you so we can find a solution together.

    (gh-25138)

  • The NPY_MAX_ELSIZE macro has been removed, as it only ever reflected builtin numeric types and served no internal purpose.

    (gh-25149)

  • PyArray_REFCNT and NPY_REFCOUNT are removed. Use Py_REFCNT instead.

    (gh-25156)

  • PyArrayFlags_Type and PyArray_NewFlagsObject as well as PyArrayFlagsObject are private now. There is no known use-case; use the Python API if needed.

  • PyArray_MoveInto, PyArray_CastTo, PyArray_CastAnyTo are removed use PyArray_CopyInto and if absolutely needed PyArray_CopyAnyInto (the latter does a flat copy).

  • PyArray_FillObjectArray is removed, its only true use was for implementing np.empty. Create a new empty array or use PyArray_FillWithScalar() (decrefs existing objects).

  • PyArray_CompareUCS4 and PyArray_CompareString are removed. Use the standard C string comparison functions.

  • PyArray_ISPYTHON is removed as it is misleading, has no known use-cases, and is easy to replace.

  • PyArray_FieldNames is removed, as it is unclear what it would be useful for. It also has incorrect semantics in some possible use-cases.

  • PyArray_TypestrConvert is removed, since it seems a misnomer and unlikely to be used by anyone. If you know the size or are limited to few types, just use it explicitly, otherwise go via Python strings.

    (gh-25292)

  • PyDataType_GetDatetimeMetaData is removed, it did not actually do anything since at least NumPy 1.7.

    (gh-25802)

  • PyArray_GetCastFunc is removed. Note that custom legacy user dtypes can still provide a castfunc as their implementation, but any access to them is now removed. The reason for this is that NumPy never used these internally for many years. If you use simple numeric types, please just use C casts directly. In case you require an alternative, please let us know so we can create new API such as PyArray_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 for numpy.vecdot.

  • numpy.linalg.matrix_transpose - An alias for numpy.matrix_transpose.

    (gh-25155)

  • numpy.linalg.outer has been added. It computes the outer product of two vectors. It differs from numpy.outer by accepting one-dimensional arrays only. This function is compatible with the array API standard.

    (gh-25101)

  • numpy.linalg.cross has been added. It computes the cross product of two (arrays of) 3-dimensional vectors. It differs from numpy.cross by 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:

  • rtol was added to numpy.linalg.matrix_rank.
  • stable was added to numpy.sort and numpy.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.real or c.imag) is no longer an option. You can now use utilities provided in numpy/npy_math.h to 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-numbers for more info.

  • numpy/npy_common.h now includes complex.h, which means that complex is now a reserved keyword.

(gh-24085)

iso_c_binding support and improved common blocks for f2py

Previously, users would have to define their own custom f2cmap file to use type mappings defined by the Fortran2003 iso_c_binding intrinsic module. These type maps are now natively supported by f2py

(gh-24555)

f2py now handles common blocks which have kind specifications from modules. This further expands the usability of intrinsics like iso_fortran_env and iso_c_binding.

(gh-25186)

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.errstate can only be entered once now.

  • np.setbufsize is now tied to np.errstate(): leaving an np.errstate context will also reset the bufsize.

    (gh-23936)

  • A new public np.lib.array_utils submodule has been introduced and it currently contains three functions: byte_bounds (moved from np.lib.utils), normalize_axis_tuple and normalize_axis_index.

    (gh-24540)

  • Introduce numpy.bool as the new canonical name for NumPy\'s boolean dtype, and make numpy.bool\_ an alias to it. Note that until NumPy 1.24, np.bool was an alias to Python\'s builtin bool. The new name helps with array API standard compatibility and is a more intuitive name.

    (gh-25080)

  • The dtype.flags value was previously stored as a signed integer. This means that the aligned dtype struct flag lead to negative flags being set (-128 rather than 128). This flag is now stored unsigned (positive). Code which checks flags manually may need to adapt. This may include code compiled with Cython 0.29.x.

    (gh-25816)

Representation of NumPy scalars changed

As per NEP 51, the scalar representation has been updated to include the type information to avoid confusion with Python scalars.

Scalars are now printed as np.float64(3.0) rather than just 3.0. This may disrupt workflows that store representations of numbers (e.g., to files) making it harder to read them. They should be stored as explicit strings, for example by using str() or f"{scalar!s}". For the time being, affected users can use np.set_printoptions(legacy="1.25") to get the old behavior (with possibly a few exceptions). Documentation of downstream projects may require larger updates, if code snippets are tested. We are working on tooling for doctest-plus to facilitate updates.

(gh-22449)

Truthiness of NumPy strings changed

NumPy strings previously were inconsistent about how they defined if the string is True or False and the definition did not match the one used by Python. Strings are now considered True when they are non-empty and False when they are empty. This changes the following distinct cases:

  • Casts from string to boolean were previously roughly equivalent to string_array.astype(np.int64).astype(bool), meaning that only valid integers could be cast. Now a string of "0" will be considered True since it is not empty. If you need the old behavior, you may use the above step (casting to integer first) or string_array == "0" (if the input is only ever 0 or 1). To get the new result on old NumPy versions use string_array != "".
  • np.nonzero(string_array) previously ignored whitespace so that a string only containing whitespace was considered False. Whitespace is now considered True.

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 intp typed array anymore. The p and P character codes can still be used, however.
  • Creating intptr_t or uintptr_t typed arrays in C remains possible in a cross-platform way via PyArray_DescrFromType('p').
  • The new character codes nN were introduced.
  • It is now correct to use the Python C-API functions when parsing to npy_intp typed arguments.

(gh-24888)

numpy.fft.helper made private

numpy.fft.helper was renamed to numpy.fft._helper to indicate that it is a private submodule. All public functions exported by it should be accessed from numpy.fft.

(gh-24945)

numpy.linalg.linalg made private

numpy.linalg.linalg was renamed to numpy.linalg._linalg to indicate that it is a private submodule. All public functions exported by it should be accessed from numpy.linalg.

(gh-24946)

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 a ValueError is 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.

(gh-25553, gh-25570)

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: fix linalg.cholesky upper 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 newaxis to __all__ in numpy.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__ in numpy.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 newaxis and linalg.solve in numpy.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 long type
  • #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 base in 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 f2py wrappers 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_type mappings more consistently
  • #25481: BUG: Fix module name bug in signature files [urgent] [f2py]
  • #25482: BUG: Handle .pyf.src and fix SciPy [urgent]
  • #25483: DOC: f2py rewrite with meson details
  • #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/_backends from main.
  • #25490: MAINT: Easy updates of f2py/*.py from 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 noexcept to 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-noblas option to true.
  • #25121: BUG: ensure passing np.dtype to 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-order and -Dlapack-order: a list of library names to search for in order, overriding the default search order.
  • -Duse-ilp64: if set to true, 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 to true, 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, gomp and tbb. The default is auto, 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-credits for 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 NumpyUnpickler for 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._core stubs. Remove NumpyUnpickler
  • #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 numpy or (in a cloned repo) pip install .
  • Building a wheel: python -m build (preferred), or pip 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.py from 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 dev has been removed, use asv 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_linalg dependencies
  • #24594: MAINT: Stop testing on ppc64le.
  • #24602: BLD: meson-cpu: fix SIMD support on platforms with no features
  • #24606: BUG: Change Cython binding directive 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 casting keyword to np.clip
  • #24616: TST: convert cython test from setup.py to meson
  • #24617: MAINT: Fixup fromnumeric.pyi
  • #24622: BUG, ENH: Fix iso_c_binding type maps and fix bind(c)...
  • #24629: TYP: Allow binary_repr to accept any object implementing...
  • #24630: TYP: Explicitly declare dtype and generic hashable
  • #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: meson backend for f2py
  • #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 numpy or (in a cloned repo) pip install .
  • Building a wheel: python -m build (preferred), or pip 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.py from 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 dev has been removed, use asv 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_linalg dependencies
  • #24594: MAINT: Stop testing on ppc64le.
  • #24602: BLD: meson-cpu: fix SIMD support on platforms with no features
  • #24606: BUG: Change Cython binding directive 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 casting keyword to np.clip
  • #24616: TST: convert cython test from setup.py to meson
  • #24617: MAINT: Fixup fromnumeric.pyi
  • #24622: BUG, ENH: Fix iso_c_binding type maps and fix bind(c)...
  • #24629: TYP: Allow binary_repr to accept any object implementing...
  • #24630: TYP: Explicitly declare dtype and generic hashable
  • #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: meson backend for f2py
  • #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 numpy or (in a cloned repo) pip install .
  • Building a wheel: python -m build (preferred), or pip 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.py from 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-math with 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 getenv call 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 NULL to be goto 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 metadata parameter 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.MachAr is deprecated. It is private API. In names defined in np.core should generally be considered private.

    (gh-22638)

  • np.finfo(None) is deprecated.

    (gh-23011)

  • np.round_ is deprecated. Use np.round instead.

    (gh-23302)

  • np.product is deprecated. Use np.prod instead.

    (gh-23314)

  • np.cumproduct is deprecated. Use np.cumprod instead.

    (gh-23314)

  • np.sometrue is deprecated. Use np.any instead.

    (gh-23314)

  • np.alltrue is deprecated. Use np.all instead.

    (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_type is now deprecated and its use should be replaced with either numpy.result_type or numpy.promote_types. Most users leave the second scalar_types argument to find_common_type as [] in which case np.result_type and np.promote_types are both faster and more robust. When not using scalar_types the main difference is that the replacement intentionally converts non-native byte-order to native byte order. Further, find_common_type returns object dtype 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_types argument is not [] things are more complicated. In most cases, using np.result_type and passing the Python values 0, 0.0, or 0j has the same result as using int, float, or complex in scalar_types.

    When scalar_types is constructed, np.result_type is the correct replacement and it may be passed scalar values like np.float32(0.0). Passing values other than 0, may lead to value-inspecting behavior (which np.find_common_type never 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_types or 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.machar and np.finfo.machar have been removed.

    (gh-22638)

  • +arr will 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, dstack and column_stack).

    (gh-23019)

  • np.clip now defaults to same-kind casting. Falling back to unsafe casting was deprecated in NumPy 1.17.

    (gh-23403)

  • np.clip will now propagate np.nan values passed as min or max. Previously, a scalar NaN was usually ignored. This was deprecated in NumPy 1.17.

    (gh-23403)

  • The np.dual submodule 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 FutureWarning when casting to a subarray dtype in astype or the array creation functions such as asarray is 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 True or all False when values are fundamentally not comparable (e.g. have different dtypes). An example is np.array(["a"]) == np.array([1]).

      This mimics the Python behavior of returning False and True when comparing incompatible types like "a" == 1 and "a" != 1. For a long time these gave DeprecationWarning or FutureWarning.

    (gh-22707)

  • 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.utils shim has been removed. Importing from the numpy.testing.utils shim has been deprecated since 2019, the shim has now been removed. All imports should be made directly from numpy.testing.

    (gh-23060)

  • The environment variable to disable dispatching has been removed. Support for the NUMPY_EXPERIMENTAL_ARRAY_FUNCTION environment variable has been removed. This variable disabled dispatching with __array_function__.

    (gh-23376)

  • Support for y= as an alias of out= has been removed. The fix, isposinf and isneginf functions allowed using y= as a (deprecated) alias for out=. This is no longer supported.

    (gh-23376)

Compatibility notes

  • The busday_count method now correctly handles cases where the begindates is later in time than the enddates. Previously, the enddates was included, even though the documentation states it is always excluded.

    (gh-23229)

  • When comparing datetimes and timedelta using np.equal or np.not_equal numpy previously allowed the comparison with casting="unsafe". This operation now fails. Forcing the output dtype using the dtype kwarg 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 calling np.load repeatedly, numpy previously raised ValueError if allow_pickle=False, and OSError if allow_pickle=True. Now it raises EOFError instead, 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 d argument 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" or order="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 _Alignof rather than offsetof() 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 Any parameter to the npt.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 normed keyword argument has been removed from [np.histogram]{.title-ref}, [np.histogram2d]{.title-ref}, and [np.histogramdd]{.title-ref}. Use density instead. If normed was passed by position, density is now used.

    (gh-21645)

  • Ragged array creation will now always raise a ValueError unless dtype=object is 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.MaskedArray has been removed. Use either np.ma.MaskedArray.min() or np.ma.minimum.reduce().

  • The single-argument form of np.ma.minimum and np.ma.maximum has been removed. Use np.ma.minimum.reduce() or np.ma.maximum.reduce() instead.

    (gh-22228)

  • Passing dtype instances other than the canonical (mainly native byte-order) ones to dtype= or signature= in ufuncs will now raise a TypeError. We recommend passing the strings "int8" or scalar types np.int8 since 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 only bool and object are valid values and dtype=object is enforced.

    (gh-22541)

  • The deprecation for the aliases np.object, np.bool, np.float, np.complex, np.str, and np.int is 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 f2py generated exception messages
  • Numerous bug and flake8 warning fixes
  • various CPP macros that one can use within C-expressions of signature files are prefixed with f2py_. For example, one should use f2py_len(x) instead of len(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 normed keyword argument has been removed from [np.histogram]{.title-ref}, [np.histogram2d]{.title-ref}, and [np.histogramdd]{.title-ref}. Use density instead. If normed was passed by position, density is now used.

    (gh-21645)

  • Ragged array creation will now always raise a ValueError unless dtype=object is 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.MaskedArray has been removed. Use either np.ma.MaskedArray.min() or np.ma.minimum.reduce().

  • The single-argument form of np.ma.minimum and np.ma.maximum has been removed. Use np.ma.minimum.reduce() or np.ma.maximum.reduce() instead.

    (gh-22228)

  • Passing dtype instances other than the canonical (mainly native byte-order) ones to dtype= or signature= in ufuncs will now raise a TypeError. We recommend passing the strings "int8" or scalar types np.int8 since 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 only bool and object are valid values and dtype=object is enforced.

    (gh-22541)

  • The deprecation for the aliases np.object, np.bool, np.float, np.complex, np.str, and np.int is 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 f2py generated exception messages
  • Numerous bug and flake8 warning fixes
  • various CPP macros that one can use within C-expressions of signature files are prefixed with f2py_. For example, one should use f2py_len(x) instead of len(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 normed keyword argument has been removed from [np.histogram]{.title-ref}, [np.histogram2d]{.title-ref}, and [np.histogramdd]{.title-ref}. Use density instead. If normed was passed by position, density is now used.

    (gh-21645)

  • Ragged array creation will now always raise a ValueError unless dtype=object is 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.MaskedArray has been removed. Use either np.ma.MaskedArray.min() or np.ma.minimum.reduce().

  • The single-argument form of np.ma.minimum and np.ma.maximum has been removed. Use np.ma.minimum.reduce() or np.ma.maximum.reduce() instead.

    (gh-22228)

  • Passing dtype instances other than the canonical (mainly native byte-order) ones to dtype= or signature= in ufuncs will now raise a TypeError. We recommend passing the strings "int8" or scalar types np.int8 since 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 only bool and object are valid values and dtype=object is enforced.

    (gh-22541)

  • The deprecation for the aliases np.object, np.bool, np.float, np.complex, np.str, and np.int is 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 f2py generated exception messages
  • Numerous bug and flake8 warning fixes
  • various CPP macros that one can use within C-expressions of signature files are prefixed with f2py_. For example, one should use f2py_len(x) instead of len(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__ to numpy.array_api namespace
  • #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_info from \"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.typing protocols 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.reduce raises a TypeError
  • #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 the nin=1 ufuncs
  • #22031: MAINT, TYP: Fix np.angle dtype-overloads
  • #22032: MAINT: Do not let _GenericAlias wrap the underlying classes\'...
  • #22033: TYP,MAINT: Allow einsum subscripts to be passed via integer...
  • #22034: MAINT,TYP: Add object-overloads for the np.generic rich comparisons
  • #22035: MAINT,TYP: Allow the squeeze and transpose method to...
  • #22036: BUG: Fix subarray to object cast ownership details
  • #22037: BUG: Use Popen to silently invoke f77 -v
  • #22038: BUG: Avoid errors on NULL during deepcopy
  • #22039: DOC: Add versionchanged for converter callable behavior.
  • #22057: MAINT: Quiet the anaconda uploads.
  • #22078: ENH: reorder includes for testing on top of system installations...
  • #22106: TST: fix 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 keepdims during normalization in np.average and...
  • #21869: DOC: mention changes to max_rows behaviour in np.loadtxt
  • #21870: BUG: Reject non integer array-likes with size 1 in delete
  • #21949: BLD: Make 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 loadtxt in C, greatly improving its performance.
  • Exposing DLPack at the Python level for easy data exchange.
  • Changes to the promotion and comparisons of structured dtypes.
  • Improvements to f2py.

See below for the details,

New functions

  • A masked array specialization of ndenumerate is now available as numpy.ma.ndenumerate. It provides an alternative to numpy.ndenumerate and skips masked values by default.

    (gh-20020)

  • numpy.from_dlpack has been added to allow easy exchange of data using the DLPack protocol. It accepts Python objects that implement the __dlpack__ and __dlpack_device__ methods and returns a ndarray object which is generally the view of the data of the input object.

    (gh-21145)

Deprecations

  • Setting __array_finalize__ to None is deprecated. It must now be a method and may wish to call super().__array_finalize__(obj) after checking for None or if the NumPy version is sufficiently new.

    (gh-20766)

  • Using axis=32 (axis=np.MAXDIMS) in many cases had the same meaning as axis=None. This is deprecated and axis=None must be used instead.

    (gh-20920)

  • The hook function PyDataMem_SetEventHook has been deprecated and the demonstration of its use in tool/allocation_tracking has been removed. The ability to track allocations is now built-in to python via tracemalloc.

    (gh-20394)

  • numpy.distutils has been deprecated, as a result of distutils itself being deprecated. It will not be present in NumPy for Python >= 3.12, and will be removed completely 2 years after the release of Python 3.12 For more details, see distutils-status-migration{.interpreted-text role="ref"}.

    (gh-20875)

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

(gh-21663)

Expired deprecations

  • The NpzFile.iteritems() and NpzFile.iterkeys() methods have been removed as part of the continued removal of Python 2 compatibility. This concludes the deprecation from 1.15.

    (gh-16830)

  • The alen and asscalar functions have been removed.

    (gh-20414)

  • The UPDATEIFCOPY array flag has been removed together with the enum NPY_ARRAY_UPDATEIFCOPY. The associated (and deprecated) PyArray_XDECREF_ERR was also removed. These were all deprecated in 1.14. They are replaced by WRITEBACKIFCOPY, that requires calling PyArray_ResoveWritebackIfCopy before the array is deallocated.

    (gh-20589)

  • Exceptions will be raised during array-like creation. When an object raised an exception during access of the special attributes __array__ or __array_interface__, this exception was usually ignored. This behaviour was deprecated in 1.21, and the exception will now be raised.

    (gh-20835)

  • Multidimensional indexing with non-tuple values is not allowed. Previously, code such as arr[ind] where ind = [[0, 1], [0, 1]] produced a FutureWarning and was interpreted as a multidimensional index (i.e., arr[tuple(ind)]). Now this example is treated like an array index over a single dimension (arr[array(ind)]). Multidimensional indexing with anything but a tuple was deprecated in NumPy 1.15.

    (gh-21029)

  • Changing to a dtype of different size in F-contiguous arrays is no longer permitted. Deprecated since Numpy 1.11.0. See below for an extended explanation of the effects of this change.

    (gh-20722)

New Features

crackfortran has support for operator and assignment overloading

crackfortran parser now understands operator and assignment definitions in a module. They are added in the body list of the module which contains a new key implementedby listing the names of the subroutines or functions implementing the operator or assignment.

(gh-15006)

f2py supports reading access type attributes from derived type statements

As a result, one does not need to use public or private statements to specify derived type access properties.

(gh-15844)

New parameter ndmin added to genfromtxt

This parameter behaves the same as ndmin from numpy.loadtxt.

(gh-20500)

np.loadtxt now supports quote character and single converter function

numpy.loadtxt now supports an additional quotechar keyword argument which is not set by default. Using quotechar='"' will read quoted fields as used by the Excel CSV dialect.

Further, it is now possible to pass a single callable rather than a dictionary for the converters argument.

(gh-20580)

Changing to dtype of a different size now requires contiguity of only the last axis

Previously, viewing an array with a dtype of a different item size required that the entire array be C-contiguous. This limitation would unnecessarily force the user to make contiguous copies of non-contiguous arrays before being able to change the dtype.

This change affects not only ndarray.view, but other construction mechanisms, including the discouraged direct assignment to ndarray.dtype.

This change expires the deprecation regarding the viewing of F-contiguous arrays, described elsewhere in the release notes.

(gh-20722)

Deterministic output files for F2PY

For F77 inputs, f2py will generate modname-f2pywrappers.f unconditionally, though these may be empty. For free-form inputs, modname-f2pywrappers.f, modname-f2pywrappers2.f90 will both be generated unconditionally, and may be empty. This allows writing generic output rules in cmake or meson and other build systems. Older behavior can be restored by passing --skip-empty-wrappers to f2py. f2py-meson{.interpreted-text role="ref"} details usage.

(gh-21187)

keepdims parameter for average

The parameter keepdims was added to the functions numpy.average and numpy.ma.average. The parameter has the same meaning as it does in reduction functions such as numpy.sum or numpy.mean.

(gh-21485)

New parameter equal_nan added to np.unique

np.unique was changed in 1.21 to treat all NaN values as equal and return a single NaN. Setting equal_nan=False will restore pre-1.21 behavior to treat NaNs as unique. Defaults to True.

(gh-21623)

Compatibility notes

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

Previously, this would promote to float64 when the ord argument was not one of the explicitly listed values, e.g. ord=3:

>>> f32 = np.float32([1, 2])
>>> np.linalg.norm(f32, 2).dtype
dtype('float32')
>>> np.linalg.norm(f32, 3)
dtype('float64')  # numpy 1.22
dtype('float32')  # numpy 1.23

This change affects only float32 and float16 vectors with ord other than -Inf, 0, 1, 2, and Inf.

(gh-17709)

Changes to structured (void) dtype promotion and comparisons

In general, NumPy now defines correct, but slightly limited, promotion for structured dtypes by promoting the subtypes of each field instead of raising an exception:

>>> np.result_type(np.dtype("i,i"), np.dtype("i,d"))
dtype([('f0', '<i4'), ('f1', '<f8')])

For promotion matching field names, order, and titles are enforced, however padding is ignored. Promotion involving structured dtypes now always ensures native byte-order for all fields (which may change the result of np.concatenate) and ensures that the result will be \"packed\", i.e. all fields are ordered contiguously and padding is removed. See structured_dtype_comparison_and_promotion{.interpreted-text role="ref"} for further details.

The repr of aligned structures will now never print the long form including offsets and itemsize unless the structure includes padding not guaranteed by align=True.

In alignment with the above changes to the promotion logic, the casting safety has been updated:

  • "equiv" enforces matching names and titles. The itemsize is allowed to differ due to padding.
  • "safe" allows mismatching field names and titles
  • The cast safety is limited by the cast safety of each included field.
  • The order of fields is used to decide cast safety of each individual field. Previously, the field names were used and only unsafe casts were possible when names mismatched.

The main important change here is that name mismatches are now considered \"safe\" casts.

(gh-19226)

NPY_RELAXED_STRIDES_CHECKING has been removed

NumPy cannot be compiled with NPY_RELAXED_STRIDES_CHECKING=0 anymore. Relaxed strides have been the default for many years and the option was initially introduced to allow a smoother transition.

(gh-20220)

np.loadtxt has recieved several changes

The row counting of numpy.loadtxt was fixed. loadtxt ignores fully empty lines in the file, but counted them towards max_rows. When max_rows is used and the file contains empty lines, these will now not be counted. Previously, it was possible that the result contained fewer than max_rows rows even though more data was available to be read. If the old behaviour is required, itertools.islice may be used:

import itertools
lines = itertools.islice(open("file"), 0, max_rows)
result = np.loadtxt(lines, ...)

While generally much faster and improved, numpy.loadtxt may now fail to converter certain strings to numbers that were previously successfully read. The most important cases for this are:

  • Parsing floating point values such as 1.0 into integers is now deprecated.
  • Parsing hexadecimal floats such as 0x3p3 will fail
  • An _ was previously accepted as a thousands delimiter 100_000. This will now result in an error.

If you experience these limitations, they can all be worked around by passing appropriate converters=. NumPy now supports passing a single converter to be used for all columns to make this more convenient. For example, converters=float.fromhex can read hexadecimal float numbers and converters=int will be able to read 100_000.

Further, the error messages have been generally improved. However, this means that error types may differ. In particularly, a ValueError is now always raised when parsing of a single entry fails.

(gh-20580)

Improvements

ndarray.__array_finalize__ is now callable

This means subclasses can now use super().__array_finalize__(obj) without worrying whether ndarray is their superclass or not. The actual call remains a no-op.

(gh-20766)

Add support for VSX4/Power10

With VSX4/Power10 enablement, the new instructions available in Power ISA 3.1 can be used to accelerate some NumPy operations, e.g., floor_divide, modulo, etc.

(gh-20821)

np.fromiter now accepts objects and subarrays

The numpy.fromiter function now supports object and subarray dtypes. Please see he function documentation for examples.

(gh-20993)

Math C library feature detection now uses correct signatures

Compiling is preceded by a detection phase to determine whether the underlying libc supports certain math operations. Previously this code did not respect the proper signatures. Fixing this enables compilation for the wasm-ld backend (compilation for web assembly) and reduces the number of warnings.

(gh-21154)

np.kron now maintains subclass information

np.kron maintains subclass information now such as masked arrays while computing the Kronecker product of the inputs

``` 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 loadtxt in C, greatly improving its performance.
  • Exposing DLPack at the Python level for easy data exchange.
  • Changes to the promotion and comparisons of structured dtypes.
  • Improvements to f2py.

See below for the details,

New functions

  • A masked array specialization of ndenumerate is now available as numpy.ma.ndenumerate. It provides an alternative to numpy.ndenumerate and skips masked values by default.

    (gh-20020)

  • numpy.from_dlpack has been added to allow easy exchange of data using the DLPack protocol. It accepts Python objects that implement the __dlpack__ and __dlpack_device__ methods and returns a ndarray object which is generally the view of the data of the input object.

    (gh-21145)

Deprecations

  • Setting __array_finalize__ to None is deprecated. It must now be a method and may wish to call super().__array_finalize__(obj) after checking for None or if the NumPy version is sufficiently new.

    (gh-20766)

  • Using axis=32 (axis=np.MAXDIMS) in many cases had the same meaning as axis=None. This is deprecated and axis=None must be used instead.

    (gh-20920)

  • The hook function PyDataMem_SetEventHook has been deprecated and the demonstration of its use in tool/allocation_tracking has been removed. The ability to track allocations is now built-in to python via tracemalloc.

    (gh-20394)

  • numpy.distutils has been deprecated, as a result of distutils itself being deprecated. It will not be present in NumPy for Python >= 3.12, and will be removed completely 2 years after the release of Python 3.12 For more details, see distutils-status-migration{.interpreted-text role="ref"}.

    (gh-20875)

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

(gh-21663)

Expired deprecations

  • The NpzFile.iteritems() and NpzFile.iterkeys() methods have been removed as part of the continued removal of Python 2 compatibility. This concludes the deprecation from 1.15.

    (gh-16830)

  • The alen and asscalar functions have been removed.

    (gh-20414)

  • The UPDATEIFCOPY array flag has been removed together with the enum NPY_ARRAY_UPDATEIFCOPY. The associated (and deprecated) PyArray_XDECREF_ERR was also removed. These were all deprecated in 1.14. They are replaced by WRITEBACKIFCOPY, that requires calling PyArray_ResoveWritebackIfCopy before the array is deallocated.

    (gh-20589)

  • Exceptions will be raised during array-like creation. When an object raised an exception during access of the special attributes __array__ or __array_interface__, this exception was usually ignored. This behaviour was deprecated in 1.21, and the exception will now be raised.

    (gh-20835)

  • Multidimensional indexing with non-tuple values is not allowed. Previously, code such as arr[ind] where ind = [[0, 1], [0, 1]] produced a FutureWarning and was interpreted as a multidimensional index (i.e., arr[tuple(ind)]). Now this example is treated like an array index over a single dimension (arr[array(ind)]). Multidimensional indexing with anything but a tuple was deprecated in NumPy 1.15.

    (gh-21029)

  • Changing to a dtype of different size in F-contiguous arrays is no longer permitted. Deprecated since Numpy 1.11.0. See below for an extended explanation of the effects of this change.

    (gh-20722)

New Features

crackfortran has support for operator and assignment overloading

crackfortran parser now understands operator and assignment definitions in a module. They are added in the body list of the module which contains a new key implementedby listing the names of the subroutines or functions implementing the operator or assignment.

(gh-15006)

f2py supports reading access type attributes from derived type statements

As a result, one does not need to use public or private statements to specify derived type access properties.

(gh-15844)

New parameter ndmin added to genfromtxt

This parameter behaves the same as ndmin from numpy.loadtxt.

(gh-20500)

np.loadtxt now supports quote character and single converter function

numpy.loadtxt now supports an additional quotechar keyword argument which is not set by default. Using quotechar='"' will read quoted fields as used by the Excel CSV dialect.

Further, it is now possible to pass a single callable rather than a dictionary for the converters argument.

(gh-20580)

Changing to dtype of a different size now requires contiguity of only the last axis

Previously, viewing an array with a dtype of a different item size required that the entire array be C-contiguous. This limitation would unnecessarily force the user to make contiguous copies of non-contiguous arrays before being able to change the dtype.

This change affects not only ndarray.view, but other construction mechanisms, including the discouraged direct assignment to ndarray.dtype.

This change expires the deprecation regarding the viewing of F-contiguous arrays, described elsewhere in the release notes.

(gh-20722)

Deterministic output files for F2PY

For F77 inputs, f2py will generate modname-f2pywrappers.f unconditionally, though these may be empty. For free-form inputs, modname-f2pywrappers.f, modname-f2pywrappers2.f90 will both be generated unconditionally, and may be empty. This allows writing generic output rules in cmake or meson and other build systems. Older behavior can be restored by passing --skip-empty-wrappers to f2py. f2py-meson{.interpreted-text role="ref"} details usage.

(gh-21187)

keepdims parameter for average

The parameter keepdims was added to the functions numpy.average and numpy.ma.average. The parameter has the same meaning as it does in reduction functions such as numpy.sum or numpy.mean.

(gh-21485)

New parameter equal_nan added to np.unique

np.unique was changed in 1.21 to treat all NaN values as equal and return a single NaN. Setting equal_nan=False will restore pre-1.21 behavior to treat NaNs as unique. Defaults to True.

(gh-21623)

Compatibility notes

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

Previously, this would promote to float64 when the ord argument was not one of the explicitly listed values, e.g. ord=3:

>>> f32 = np.float32([1, 2])
>>> np.linalg.norm(f32, 2).dtype
dtype('float32')
>>> np.linalg.norm(f32, 3)
dtype('float64')  # numpy 1.22
dtype('float32')  # numpy 1.23

This change affects only float32 and float16 vectors with ord other than -Inf, 0, 1, 2, and Inf.

(gh-17709)

Changes to structured (void) dtype promotion and comparisons

In general, NumPy now defines correct, but slightly limited, promotion for structured dtypes by promoting the subtypes of each field instead of raising an exception:

>>> np.result_type(np.dtype("i,i"), np.dtype("i,d"))
dtype([('f0', '<i4'), ('f1', '<f8')])

For promotion matching field names, order, and titles are enforced, however padding is ignored. Promotion involving structured dtypes now always ensures native byte-order for all fields (which may change the result of np.concatenate) and ensures that the result will be \"packed\", i.e. all fields are ordered contiguously and padding is removed. See structured_dtype_comparison_and_promotion{.interpreted-text role="ref"} for further details.

The repr of aligned structures will now never print the long form including offsets and itemsize unless the structure includes padding not guaranteed by align=True.

In alignment with the above changes to the promotion logic, the casting safety has been updated:

  • "equiv" enforces matching names and titles. The itemsize is allowed to differ due to padding.
  • "safe" allows mismatching field names and titles
  • The cast safety is limited by the cast safety of each included field.
  • The order of fields is used to decide cast safety of each individual field. Previously, the field names were used and only unsafe casts were possible when names mismatched.

The main important change here is that name mismatches are now considered \"safe\" casts.

(gh-19226)

NPY_RELAXED_STRIDES_CHECKING has been removed

NumPy cannot be compiled with NPY_RELAXED_STRIDES_CHECKING=0 anymore. Relaxed strides have been the default for many years and the option was initially introduced to allow a smoother transition.

(gh-20220)

np.loadtxt has recieved several changes

The row counting of numpy.loadtxt was fixed. loadtxt ignores fully empty lines in the file, but counted them towards max_rows. When max_rows is used and the file contains empty lines, these will now not be counted. Previously, it was possible that the result contained fewer than max_rows rows even though more data was available to be read. If the old behaviour is required, itertools.islice may be used:

import itertools
lines = itertools.islice(open("file"), 0, max_rows)
result = np.loadtxt(lines, ...)

While generally much faster and improved, numpy.loadtxt may now fail to converter certain strings to numbers that were previously successfully read. The most important cases for this are:

  • Parsing floating point values such as 1.0 into integers is now deprecated.
  • Parsing hexadecimal floats such as 0x3p3 will fail
  • An _ was previously accepted as a thousands delimiter 100_000. This will now result in an error.

If you experience these limitations, they can all be worked around by passing appropriate converters=. NumPy now supports passing a single converter to be used for all columns to make this more convenient. For example, converters=float.fromhex can read hexadecimal float numbers and converters=int will be able to read 100_000.

Further, the error messages have been generally improved. However, this means that error types may differ. In particularly, a ValueError is now always raised when parsing of a single entry fails.

(gh-20580)

Improvements

ndarray.__array_finalize__ is now callable

This means subclasses can now use super().__array_finalize__(obj) without worrying whether ndarray is their superclass or not. The actual call remains a no-op.

(gh-20766)

Add support for VSX4/Power10

With VSX4/Power10 enablement, the new instructions available in Power ISA 3.1 can be used to accelerate some NumPy operations, e.g., floor_divide, modulo, etc.

(gh-20821)

np.fromiter now accepts objects and subarrays

The numpy.fromiter function now supports object and subarray dtypes. Please see he function documentation for examples.

(gh-20993)

Math C library feature detection now uses correct signatures

Compiling is preceded by a detection phase to determine whether the underlying libc supports certain math operations. Previously this code did not respect the proper signatures. Fixing this enables compilation for the wasm-ld backend (compilation for web assembly) and reduces the number of warnings.

(gh-21154)

np.kron now maintains subclass information

np.kron maintains subclass information now such as masked arrays while computing the Kronecker product of the inputs

``` 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 loadtxt in C, greatly improving its performance.
  • Exposing DLPack at the Python level for easy data exchange.
  • Changes to the promotion and comparisons of structured dtypes.
  • Improvements to f2py.

See below for the details,

New functions

  • A masked array specialization of ndenumerate is now available as numpy.ma.ndenumerate. It provides an alternative to numpy.ndenumerate and skips masked values by default.

    (gh-20020)

  • numpy.from_dlpack has been added to allow easy exchange of data using the DLPack protocol. It accepts Python objects that implement the __dlpack__ and __dlpack_device__ methods and returns a ndarray object which is generally the view of the data of the input object.

    (gh-21145)

Deprecations

  • Setting __array_finalize__ to None is deprecated. It must now be a method and may wish to call super().__array_finalize__(obj) after checking for None or if the NumPy version is sufficiently new.

    (gh-20766)

  • Using axis=32 (axis=np.MAXDIMS) in many cases had the same meaning as axis=None. This is deprecated and axis=None must be used instead.

    (gh-20920)

  • The hook function PyDataMem_SetEventHook has been deprecated and the demonstration of its use in tool/allocation_tracking has been removed. The ability to track allocations is now built-in to python via tracemalloc.

    (gh-20394)

  • numpy.distutils has been deprecated, as a result of distutils itself being deprecated. It will not be present in NumPy for Python >= 3.12, and will be removed completely 2 years after the release of Python 3.12 For more details, see distutils-status-migration{.interpreted-text role="ref"}.

    (gh-20875)

Expired deprecations

  • The NpzFile.iteritems() and NpzFile.iterkeys() methods have been removed as part of the continued removal of Python 2 compatibility. This concludes the deprecation from 1.15.

    (gh-16830)

  • The alen and asscalar functions have been removed.

    (gh-20414)

  • The UPDATEIFCOPY array flag has been removed together with the enum NPY_ARRAY_UPDATEIFCOPY. The associated (and deprecated) PyArray_XDECREF_ERR was also removed. These were all deprecated in 1.14. They are replaced by WRITEBACKIFCOPY, that requires calling PyArray_ResoveWritebackIfCopy before the array is deallocated.

    (gh-20589)

  • Exceptions will be raised during array-like creation. When an object raised an exception during access of the special attributes __array__ or __array_interface__, this exception was usually ignored. This behaviour was deprecated in 1.21, and the exception will now be raised.

    (gh-20835)

  • Multidimensional indexing with non-tuple values is not allowed. Previously, code such as arr[ind] where ind = [[0, 1], [0, 1]] produced a FutureWarning and was interpreted as a multidimensional index (i.e., arr[tuple(ind)]). Now this example is treated like an array index over a single dimension (arr[array(ind)]). Multidimensional indexing with anything but a tuple was deprecated in NumPy 1.15.

    (gh-21029)

  • Changing to a dtype of different size in F-contiguous arrays is no longer permitted. Deprecated since Numpy 1.11.0. See below for an extended explanation of the effects of this change.

    (gh-20722)

New Features

crackfortran has support for operator and assignment overloading

crackfortran parser now understands operator and assignment definitions in a module. They are added in the body list of the module which contains a new key implementedby listing the names of the subroutines or functions implementing the operator or assignment.

(gh-15006)

f2py supports reading access type attributes from derived type statements

As a result, one does not need to use public or private statements to specify derived type access properties.

(gh-15844)

New parameter ndmin added to genfromtxt

This parameter behaves the same as ndmin from numpy.loadtxt.

(gh-20500)

np.loadtxt now supports quote character and single converter function

numpy.loadtxt now supports an additional quotechar keyword argument which is not set by default. Using quotechar='"' will read quoted fields as used by the Excel CSV dialect.

Further, it is now possible to pass a single callable rather than a dictionary for the converters argument.

(gh-20580)

Changing to dtype of a different size now requires contiguity of only the last axis

Previously, viewing an array with a dtype of a different item size required that the entire array be C-contiguous. This limitation would unnecessarily force the user to make contiguous copies of non-contiguous arrays before being able to change the dtype.

This change affects not only ndarray.view, but other construction mechanisms, including the discouraged direct assignment to ndarray.dtype.

This change expires the deprecation regarding the viewing of F-contiguous arrays, described elsewhere in the release notes.

(gh-20722)

Deterministic output files for F2PY

For F77 inputs, f2py will generate modname-f2pywrappers.f unconditionally, though these may be empty. For free-form inputs, modname-f2pywrappers.f, modname-f2pywrappers2.f90 will both be generated unconditionally, and may be empty. This allows writing generic output rules in cmake or meson and other build systems. Older behavior can be restored by passing --skip-empty-wrappers to f2py. f2py-meson{.interpreted-text role="ref"} details usage.

(gh-21187)

keepdims parameter for average

The parameter keepdims was added to the functions numpy.average and numpy.ma.average. The parameter has the same meaning as it does in reduction functions such as numpy.sum or numpy.mean.

(gh-21485)

Compatibility notes

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

Previously, this would promote to float64 when the ord argument was not one of the explicitly listed values, e.g. ord=3:

>>> f32 = np.float32([1, 2])
>>> np.linalg.norm(f32, 2).dtype
dtype('float32')
>>> np.linalg.norm(f32, 3)
dtype('float64')  # numpy 1.22
dtype('float32')  # numpy 1.23

This change affects only float32 and float16 vectors with ord other than -Inf, 0, 1, 2, and Inf.

(gh-17709)

Changes to structured (void) dtype promotion and comparisons

In general, NumPy now defines correct, but slightly limited, promotion for structured dtypes by promoting the subtypes of each field instead of raising an exception:

>>> np.result_type(np.dtype("i,i"), np.dtype("i,d"))
dtype([('f0', '<i4'), ('f1', '<f8')])

For promotion matching field names, order, and titles are enforced, however padding is ignored. Promotion involving structured dtypes now always ensures native byte-order for all fields (which may change the result of np.concatenate) and ensures that the result will be \"packed\", i.e. all fields are ordered contiguously and padding is removed. See structured_dtype_comparison_and_promotion{.interpreted-text role="ref"} for further details.

The repr of aligned structures will now never print the long form including offsets and itemsize unless the structure includes padding not guaranteed by align=True.

In alignment with the above changes to the promotion logic, the casting safety has been updated:

  • "equiv" enforces matching names and titles. The itemsize is allowed to differ due to padding.
  • "safe" allows mismatching field names and titles
  • The cast safety is limited by the cast safety of each included field.
  • The order of fields is used to decide cast safety of each individual field. Previously, the field names were used and only unsafe casts were possible when names mismatched.

The main important change here is that name mismatches are now considered \"safe\" casts.

(gh-19226)

NPY_RELAXED_STRIDES_CHECKING has been removed

NumPy cannot be compiled with NPY_RELAXED_STRIDES_CHECKING=0 anymore. Relaxed strides have been the default for many years and the option was initially introduced to allow a smoother transition.

(gh-20220)

np.loadtxt has recieved several changes

The row counting of numpy.loadtxt was fixed. loadtxt ignores fully empty lines in the file, but counted them towards max_rows. When max_rows is used and the file contains empty lines, these will now not be counted. Previously, it was possible that the result contained fewer than max_rows rows even though more data was available to be read. If the old behaviour is required, itertools.islice may be used:

import itertools
lines = itertools.islice(open("file"), 0, max_rows)
result = np.loadtxt(lines, ...)

While generally much faster and improved, numpy.loadtxt may now fail to converter certain strings to numbers that were previously successfully read. The most important cases for this are:

  • Parsing floating point values such as 1.0 into integers will now fail
  • Parsing hexadecimal floats such as 0x3p3 will fail
  • An _ was previously accepted as a thousands delimiter 100_000. This will now result in an error.

If you experience these limitations, they can all be worked around by passing appropriate converters=. NumPy now supports passing a single converter to be used for all columns to make this more convenient. For example, converters=float.fromhex can read hexadecimal float numbers and converters=int will be able to read 100_000.

Further, the error messages have been generally improved. However, this means that error types may differ. In particularly, a ValueError is now always raised when parsing of a single entry fails.

(gh-20580)

Improvements

ndarray.__array_finalize__ is now callable

This means subclasses can now use super().__array_finalize__(obj) without worrying whether ndarray is their superclass or not. The actual call remains a no-op.

(gh-20766)

Add support for VSX4/Power10

With VSX4/Power10 enablement, the new instructions available in Power ISA 3.1 can be used to accelerate some NumPy operations, e.g., floor_divide, modulo, etc.

(gh-20821)

np.fromiter now accepts objects and subarrays

The numpy.fromiter function now supports object and subarray dtypes. Please see he function documentation for examples.

(gh-20993)

Math C library feature detection now uses correct signatures

Compiling is preceded by a detection phase to determine whether the underlying libc supports certain math operations. Previously this code did not respect the proper signatures. Fixing this enables compilation for the wasm-ld backend (compilation for web assembly) and reduces the number of warnings.

(gh-21154)

np.kron now maintains subclass information

np.kron maintains subclass information now such as masked arrays while computing the Kronecker product of the inputs

``` 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 loadtxt in C, greatly improving its performance.
  • Exposing DLPack at the Python level for easy data exchange.
  • Changes to the promotion and comparisons of structured dtypes.
  • Improvements to f2py.

See below for the details,

New functions

  • A masked array specialization of ndenumerate is now available as numpy.ma.ndenumerate. It provides an alternative to numpy.ndenumerate and skips masked values by default.

    (gh-20020)

  • numpy.from_dlpack has been added to allow easy exchange of data using the DLPack protocol. It accepts Python objects that implement the __dlpack__ and __dlpack_device__ methods and returns a ndarray object which is generally the view of the data of the input object.

    (gh-21145)

Deprecations

  • Setting __array_finalize__ to None is deprecated. It must now be a method and may wish to call super().__array_finalize__(obj) after checking for None or if the NumPy version is sufficiently new.

    (gh-20766)

  • Using axis=32 (axis=np.MAXDIMS) in many cases had the same meaning as axis=None. This is deprecated and axis=None must be used instead.

    (gh-20920)

  • The hook function PyDataMem_SetEventHook has been deprecated and the demonstration of its use in tool/allocation_tracking has been removed. The ability to track allocations is now built-in to python via tracemalloc.

    (gh-20394)

  • numpy.distutils has been deprecated, as a result of distutils itself being deprecated. It will not be present in NumPy for Python >= 3.12, and will be removed completely 2 years after the release of Python 3.12 For more details, see distutils-status-migration{.interpreted-text role="ref"}.

    (gh-20875)

Expired deprecations

  • The NpzFile.iteritems() and NpzFile.iterkeys() methods have been removed as part of the continued removal of Python 2 compatibility. This concludes the deprecation from 1.15.

    (gh-16830)

  • The alen and asscalar functions have been removed.

    (gh-20414)

  • The UPDATEIFCOPY array flag has been removed together with the enum NPY_ARRAY_UPDATEIFCOPY. The associated (and deprecated) PyArray_XDECREF_ERR was also removed. These were all deprecated in 1.14. They are replaced by WRITEBACKIFCOPY, that requires calling PyArray_ResoveWritebackIfCopy before the array is deallocated.

    (gh-20589)

  • Exceptions will be raised during array-like creation. When an object raised an exception during access of the special attributes __array__ or __array_interface__, this exception was usually ignored. This behaviour was deprecated in 1.21, and the exception will now be raised.

    (gh-20835)

  • Multidimensional indexing with non-tuple values is not allowed. Previously, code such as arr[ind] where ind = [[0, 1], [0, 1]] produced a FutureWarning and was interpreted as a multidimensional index (i.e., arr[tuple(ind)]). Now this example is treated like an array index over a single dimension (arr[array(ind)]). Multidimensional indexing with anything but a tuple was deprecated in NumPy 1.15.

    (gh-21029)

  • Changing to a dtype of different size in F-contiguous arrays is no longer permitted. Deprecated since Numpy 1.11.0. See below for an extended explanation of the effects of this change.

    (gh-20722)

New Features

crackfortran has support for operator and assignment overloading

crackfortran parser now understands operator and assignment definitions in a module. They are added in the body list of the module which contains a new key implementedby listing the names of the subroutines or functions implementing the operator or assignment.

(gh-15006)

f2py supports reading access type attributes from derived type statements

As a result, one does not need to use public or private statements to specify derived type access properties.

(gh-15844)

New parameter ndmin added to genfromtxt

This parameter behaves the same as ndmin from numpy.loadtxt.

(gh-20500)

np.loadtxt now supports quote character and single converter function

numpy.loadtxt now supports an additional quotechar keyword argument which is not set by default. Using quotechar='"' will read quoted fields as used by the Excel CSV dialect.

Further, it is now possible to pass a single callable rather than a dictionary for the converters argument.

(gh-20580)

Changing to dtype of a different size now requires contiguity of only the last axis

Previously, viewing an array with a dtype of a different item size required that the entire array be C-contiguous. This limitation would unnecessarily force the user to make contiguous copies of non-contiguous arrays before being able to change the dtype.

This change affects not only ndarray.view, but other construction mechanisms, including the discouraged direct assignment to ndarray.dtype.

This change expires the deprecation regarding the viewing of F-contiguous arrays, described elsewhere in the release notes.

(gh-20722)

Deterministic output files for F2PY

For F77 inputs, f2py will generate modname-f2pywrappers.f unconditionally, though these may be empty. For free-form inputs, modname-f2pywrappers.f, modname-f2pywrappers2.f90 will both be generated unconditionally, and may be empty. This allows writing generic output rules in cmake or meson and other build systems. Older behavior can be restored by passing --skip-empty-wrappers to f2py. f2py-meson{.interpreted-text role="ref"} details usage.

(gh-21187)

keepdims parameter for average

The parameter keepdims was added to the functions numpy.average and numpy.ma.average. The parameter has the same meaning as it does in reduction functions such as numpy.sum or numpy.mean.

(gh-21485)

Compatibility notes

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

Previously, this would promote to float64 when the ord argument was not one of the explicitly listed values, e.g. ord=3:

>>> f32 = np.float32([1, 2])
>>> np.linalg.norm(f32, 2).dtype
dtype('float32')
>>> np.linalg.norm(f32, 3)
dtype('float64')  # numpy 1.22
dtype('float32')  # numpy 1.23

This change affects only float32 and float16 vectors with ord other than -Inf, 0, 1, 2, and Inf.

(gh-17709)

Changes to structured (void) dtype promotion and comparisons

In general, NumPy now defines correct, but slightly limited, promotion for structured dtypes by promoting the subtypes of each field instead of raising an exception:

>>> np.result_type(np.dtype("i,i"), np.dtype("i,d"))
dtype([('f0', '<i4'), ('f1', '<f8')])

For promotion matching field names, order, and titles are enforced, however padding is ignored. Promotion involving structured dtypes now always ensures native byte-order for all fields (which may change the result of np.concatenate) and ensures that the result will be \"packed\", i.e. all fields are ordered contiguously and padding is removed. See structured_dtype_comparison_and_promotion{.interpreted-text role="ref"} for further details.

The repr of aligned structures will now never print the long form including offsets and itemsize unless the structure includes padding not guaranteed by align=True.

In alignment with the above changes to the promotion logic, the casting safety has been updated:

  • "equiv" enforces matching names and titles. The itemsize is allowed to differ due to padding.
  • "safe" allows mismatching field names and titles
  • The cast safety is limited by the cast safety of each included field.
  • The order of fields is used to decide cast safety of each individual field. Previously, the field names were used and only unsafe casts were possible when names mismatched.

The main important change here is that name mismatches are now considered \"safe\" casts.

(gh-19226)

NPY_RELAXED_STRIDES_CHECKING has been removed

NumPy cannot be compiled with NPY_RELAXED_STRIDES_CHECKING=0 anymore. Relaxed strides have been the default for many years and the option was initially introduced to allow a smoother transition.

(gh-20220)

np.loadtxt has recieved several changes

The row counting of numpy.loadtxt was fixed. loadtxt ignores fully empty lines in the file, but counted them towards max_rows. When max_rows is used and the file contains empty lines, these will now not be counted. Previously, it was possible that the result contained fewer than max_rows rows even though more data was available to be read. If the old behaviour is required, itertools.islice may be used:

import itertools
lines = itertools.islice(open("file"), 0, max_rows)
result = np.loadtxt(lines, ...)

While generally much faster and improved, numpy.loadtxt may now fail to converter certain strings to numbers that were previously successfully read. The most important cases for this are:

  • Parsing floating point values such as 1.0 into integers will now fail
  • Parsing hexadecimal floats such as 0x3p3 will fail
  • An _ was previously accepted as a thousands delimiter 100_000. This will now result in an error.

If you experience these limitations, they can all be worked around by passing appropriate converters=. NumPy now supports passing a single converter to be used for all columns to make this more convenient. For example, converters=float.fromhex can read hexadecimal float numbers and converters=int will be able to read 100_000.

Further, the error messages have been generally improved. However, this means that error types may differ. In particularly, a ValueError is now always raised when parsing of a single entry fails.

(gh-20580)

Improvements

ndarray.__array_finalize__ is now callable

This means subclasses can now use super().__array_finalize__(obj) without worrying whether ndarray is their superclass or not. The actual call remains a no-op.

(gh-20766)

Add support for VSX4/Power10

With VSX4/Power10 enablement, the new instructions available in Power ISA 3.1 can be used to accelerate some NumPy operations, e.g., floor_divide, modulo, etc.

(gh-20821)

np.fromiter now accepts objects and subarrays

The numpy.fromiter function now supports object and subarray dtypes. Please see he function documentation for examples.

(gh-20993)

Math C library feature detection now uses correct signatures

Compiling is preceded by a detection phase to determine whether the underlying libc supports certain math operations. Previously this code did not respect the proper signatures. Fixing this enables compilation for the wasm-ld backend (compilation for web assembly) and reduces the number of warnings.

(gh-21154)

np.kron now maintains subclass information

np.kron maintains subclass information now such as masked arrays while computing the Kronecker product of the inputs

``` 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_tricks re-exported under the...
  • #21192: TST: Bump mypy from 0.931 to 0.940
  • #21243: MAINT: Explicitly re-export the types in numpy._typing
  • #21245: MAINT: Specify sphinx, numpydoc versions for CI doc builds
  • #21275: BUG: Fix typos
  • #21277: ENH, BLD: Fix math feature detection for wasm
  • #21350: MAINT: Fix failing simd and cygwin tests.
  • #21438: MAINT: Fix failing Python 3.8 32-bit Windows test.
  • #21444: BUG: add linux guard per #21386
  • #21445: BUG: Allow legacy dtypes to cast to datetime again
  • #21446: BUG: Make mmap handling safer in frombuffer
  • #21447: BUG: Stop using PyBytesObject.ob_shash deprecated in Python 3.11.
  • #21448: ENH: Introduce numpy.core.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_memchr with no_sanitize("alignment") on clang
  • #21512: DOC: Proposal - make the doc landing page cards more similar...
  • #21525: MAINT: Update Cython version to 0.29.30.
  • #21536: BUG: Fix GCC error during build configuration
  • #21541: REL: Prepare for the NumPy 1.22.4 release.
  • #21547: MAINT: Skip tests that fail on PyPy.

Checksums

MD5

a19351fd3dc0b3bbc733495ed18b8f24  numpy-1.22.4-cp310-cp310-macosx_10_14_x86_64.whl
0730f9e196f70ad89f246bf95ccf05d5  numpy-1.22.4-cp310-cp310-macosx_10_15_x86_64.whl
63c74e5395a2b31d8adc5b1aa0c62471  numpy-1.22.4-cp310-cp310-macosx_11_0_arm64.whl
f99778023770c12f896768c90f7712e5  numpy-1.22.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
757d68b0cdb4e28ffce8574b6a2f3c5e  numpy-1.22.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
50becf2e048e54dc5227dfe8378aae1e  numpy-1.22.4-cp310-cp310-win32.whl
79dfdc29a4730e44d6df33dbea5b35b0  numpy-1.22.4-cp310-cp310-win_amd64.whl
8fd8f04d71ead55c2773d1b46668ca67  numpy-1.22.4-cp38-cp38-macosx_10_15_x86_64.whl
41a7c6240081010824cc0d5c02900fe6  numpy-1.22.4-cp38-cp38-macosx_11_0_arm64.whl
6bc066d3f61da3304c82d92f3f900a4f  numpy-1.22.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
86d959605c66ccba11c6504f25fff0d7  numpy-1.22.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ae0405894c065349a511e4575b919e2a  numpy-1.22.4-cp38-cp38-win32.whl
c9a731d08081396b7a1b66977734d2ac  numpy-1.22.4-cp38-cp38-win_amd64.whl
4d9b97d74799e5fc48860f0b4a3b255a  numpy-1.22.4-cp39-cp39-macosx_10_14_x86_64.whl
c99fa7e04cb7cc23f1713f2023b4e489  numpy-1.22.4-cp39-cp39-macosx_10_15_x86_64.whl
dda3815df12b8a99c6c3069f69997521  numpy-1.22.4-cp39-cp39-macosx_11_0_arm64.whl
9b7c5b39d5611d92b66eb545d44b25db  numpy-1.22.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
90fc45eaf8b8c4fac3f3ebd105a5a856  numpy-1.22.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9562153d4a83d773c20eb626cbd65cde  numpy-1.22.4-cp39-cp39-win32.whl
711b23acce54a18ce74fc80f48f48062  numpy-1.22.4-cp39-cp39-win_amd64.whl
ab803b24ea557452e828adba1b986af3  numpy-1.22.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
09b3a41ea0b9bc20bd1691cf88f0b0d3  numpy-1.22.4.tar.gz
b44849506fbb54cdef9dbb435b2b1987  numpy-1.22.4.zip

SHA256

ba9ead61dfb5d971d77b6c131a9dbee62294a932bf6a356e48c75ae684e635b3  numpy-1.22.4-cp310-cp310-macosx_10_14_x86_64.whl
1ce7ab2053e36c0a71e7a13a7475bd3b1f54750b4b433adc96313e127b870887  numpy-1.22.4-cp310-cp310-macosx_10_15_x86_64.whl
7228ad13744f63575b3a972d7ee4fd61815b2879998e70930d4ccf9ec721dce0  numpy-1.22.4-cp310-cp310-macosx_11_0_arm64.whl
43a8ca7391b626b4c4fe20aefe79fec683279e31e7c79716863b4b25021e0e74  numpy-1.22.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a911e317e8c826ea632205e63ed8507e0dc877dcdc49744584dfc363df9ca08c  numpy-1.22.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9ce7df0abeabe7fbd8ccbf343dc0db72f68549856b863ae3dd580255d009648e  numpy-1.22.4-cp310-cp310-win32.whl
3e1ffa4748168e1cc8d3cde93f006fe92b5421396221a02f2274aab6ac83b077  numpy-1.22.4-cp310-cp310-win_amd64.whl
59d55e634968b8f77d3fd674a3cf0b96e85147cd6556ec64ade018f27e9479e1  numpy-1.22.4-cp38-cp38-macosx_10_15_x86_64.whl
c1d937820db6e43bec43e8d016b9b3165dcb42892ea9f106c70fb13d430ffe72  numpy-1.22.4-cp38-cp38-macosx_11_0_arm64.whl
d4c5d5eb2ec8da0b4f50c9a843393971f31f1d60be87e0fb0917a49133d257d6  numpy-1.22.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
64f56fc53a2d18b1924abd15745e30d82a5782b2cab3429aceecc6875bd5add0  numpy-1.22.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fb7a980c81dd932381f8228a426df8aeb70d59bbcda2af075b627bbc50207cba  numpy-1.22.4-cp38-cp38-win32.whl
e96d7f3096a36c8754207ab89d4b3282ba7b49ea140e4973591852c77d09eb76  numpy-1.22.4-cp38-cp38-win_amd64.whl
4c6036521f11a731ce0648f10c18ae66d7143865f19f7299943c985cdc95afb5  numpy-1.22.4-cp39-cp39-macosx_10_14_x86_64.whl
b89bf9b94b3d624e7bb480344e91f68c1c6c75f026ed6755955117de00917a7c  numpy-1.22.4-cp39-cp39-macosx_10_15_x86_64.whl
2d487e06ecbf1dc2f18e7efce82ded4f705f4bd0cd02677ffccfb39e5c284c7e  numpy-1.22.4-cp39-cp39-macosx_11_0_arm64.whl
f3eb268dbd5cfaffd9448113539e44e2dd1c5ca9ce25576f7c04a5453edc26fa  numpy-1.22.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
37431a77ceb9307c28382c9773da9f306435135fae6b80b62a11c53cfedd8802  numpy-1.22.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cc7f00008eb7d3f2489fca6f334ec19ca63e31371be28fd5dad955b16ec285bd  numpy-1.22.4-cp39-cp39-win32.whl
f0725df166cf4785c0bc4cbfb320203182b1ecd30fee6e541c8752a92df6aa32  numpy-1.22.4-cp39-cp39-win_amd64.whl
0791fbd1e43bf74b3502133207e378901272f3c156c4df4954cad833b1380207  numpy-1.22.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b4308198d0e41efaa108e57d69973398439c7299a9d551680cdd603cf6d20709  numpy-1.22.4.tar.gz
425b390e4619f58d8526b3dcf656dde069133ae5c240229821f01b5f44ea07af  numpy-1.22.4.zip

- 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 real and imag...
  • #20845: BUG: Fix comparator function signatures
  • #20906: BUG: Avoid importing numpy.distutils on 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 ndindex to accept integer tuples
  • #20757: BUG: Relax dtype identity check in reductions
  • #20763: TYP: Allow time manipulation functions to accept date and timedelta...
  • #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 npymath to respect npy_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 dtype in type stub
  • #20293: BUG: Fix headers for universal2 builds
  • #20294: BUG: VOID_nonzero could 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 Arrayterator typing 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/ndarray methods
  • #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.typing could 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 -Werror isn\'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 NotImplemented with typing.Any
  • #19324: MAINT: Fixed the return-dtype of ndarray.real and imag
  • #19330: MAINT: Replace "dtype[Any]" with dtype in 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_include function
  • #19349: BUG: Fix reference count leak in ufunc dtype handling
  • #19350: MAINT: Annotate missing attributes of np.number subclasses
  • #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 GenericAlias test 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 PCG64DXSM bitgenerator 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 -O3 results 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 shape argument numpy.unravel_index cannot be passed as dims keyword argument anymore. (Was deprecated in NumPy 1.16.)

    (gh-17900)

  • The function PyUFunc_GenericFunction has been disabled. It was deprecated in NumPy 1.19. Users should call the ufunc directly using the Python API.

    (gh-18697)

  • The function PyUFunc_SetUsesArraysAsData has been disabled. It was deprecated in NumPy 1.19.

    (gh-18697)

  • The class PolyBase has been removed (deprecated in numpy 1.9.0). Please use the abstract ABCPolyBase class instead.

    (gh-18963)

  • The unused PolyError and PolyDomainError exceptions 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.data instead)
  • _ctypes.get_shape (use _ctypes.shape instead)
  • _ctypes.get_strides (use _ctypes.strides instead)
  • _ctypes.get_as_parameter (use _ctypes._as_parameter_ instead)

(gh-19031)

Expired deprecations

  • The shape argument numpy.unravel_index] cannot be passed as dims keyword argument anymore. (Was deprecated in NumPy 1.16.)

    (gh-17900)

  • The function PyUFunc_GenericFunction has been disabled. It was deprecated in NumPy 1.19. Users should call the ufunc directly using the Python API.

    (gh-18697)

  • The function PyUFunc_SetUsesArraysAsData has 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 PCG64DXSM bitgenerator 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 shape argument numpy.unravel_index cannot be passed as dims keyword argument anymore. (Was deprecated in NumPy 1.16.)

    (gh-17900)

  • The function PyUFunc_GenericFunction has been disabled. It was deprecated in NumPy 1.19. Users should call the ufunc directly using the Python API.

    (gh-18697)

  • The function PyUFunc_SetUsesArraysAsData has been disabled. It was deprecated in NumPy 1.19.

    (gh-18697)

  • The class PolyBase has been removed (deprecated in numpy 1.9.0). Please use the abstract ABCPolyBase class instead.

    (gh-18963)

  • The unused PolyError and PolyDomainError exceptions 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.data instead)
  • _ctypes.get_shape (use _ctypes.shape instead)
  • _ctypes.get_strides (use _ctypes.strides instead)
  • _ctypes.get_as_parameter (use _ctypes._as_parameter_ instead)

(gh-19031)

Expired deprecations

  • The shape argument numpy.unravel_index] cannot be passed as dims keyword argument anymore. (Was deprecated in NumPy 1.16.)

    (gh-17900)

  • The function PyUFunc_GenericFunction has been disabled. It was deprecated in NumPy 1.19. Users should call the ufunc directly using the Python API.

    (gh-18697)

  • The function PyUFunc_SetUsesArraysAsData has 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 PCG64DXSM bitgenerator 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 shape argument of numpy.unravel_index cannot be passed as dims keyword argument anymore. (Was deprecated in NumPy 1.16.)

    (gh-17900)

  • The function PyUFunc_GenericFunction has been disabled. It was deprecated in NumPy 1.19. Users should call the ufunc directly using the Python API.

    (gh-18697)

  • The function PyUFunc_SetUsesArraysAsData has been disabled. It was deprecated in NumPy 1.19.

    (gh-18697)

  • The class PolyBase has been removed (deprecated in numpy 1.9.0). Please use the abstract ABCPolyBase class instead.

    (gh-18963)

  • The unused PolyError and PolyDomainError exceptions 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.data instead)
  • _ctypes.get_shape (use _ctypes.shape instead)
  • _ctypes.get_strides (use _ctypes.strides instead)
  • _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_types and numpy.result_type which will raise an error in this case in the future.
  • numpy.concatenate will raise an error when concatenating a string and numeric array. You can use dtype="S" to explicitly request a string result.
  • numpy.array and related functions will start returning object arrays because these functions use object as 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 datetime64 missing type overload for datetime.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 -faltivec on 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: diagflat could 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 where keyword for np.mean & np.var methods
  • #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.shuffle regression 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.int64 or np.int32 to specify the precision exactly. This ensures that results cannot depend on the computer or operating system.
  • np.int_ or int (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.intp which 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, shapely will allow conversion to an array-like using line.coords rather than np.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.sctypeNA and np.typeNA is expired. Both have been removed from the public API. Use np.typeDict instead.

    (gh-16554)

  • The 14-year deprecation of np.ctypeslib.ctypes_load_library is 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-baseline to specify the minimal set of required optimizations, default value is min which provides the minimum CPU features that can safely run on a wide range of users platforms.
    • --cpu-dispatch to specify the dispatched set of additional optimizations, default value is max -xop -fma4 which enables all CPU features, except for AMD legacy features.
    • --disable-optimization to explicitly disable the whole new improvements, It also adds a new C compiler #definition called NPY_DISABLE_OPTIMIZATION which 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.c to 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, shapely will allow conversion to an array-like using line.coords rather than np.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.sctypeNA and np.typeNA is expired. Both have been removed from the public API. Use np.typeDict instead.

    (gh-16554)

  • The 14-year deprecation of np.ctypeslib.ctypes_load_library is 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-baseline to specify the minimal set of required optimizations, default value is min which provides the minimum CPU features that can safely run on a wide range of users platforms.
    • --cpu-dispatch to specify the dispatched set of additional optimizations, default value is max -xop -fma4 which enables all CPU features, except for AMD legacy features.
    • --disable-optimization to explicitly disable the whole new improvements, It also adds a new C compiler #definition called NPY_DISABLE_OPTIMIZATION which 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.c to 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.sctypeNA and np.typeNA is expired. Both have been removed from the public API. Use np.typeDict instead.

    (gh-16554)

  • The 14-year deprecation of np.ctypeslib.ctypes_load_library is 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-baseline to specify the minimal set of required optimizations, default value is min which provides the minimum CPU features that can safely run on a wide range of users platforms.
    • --cpu-dispatch to specify the dispatched set of additional optimizations, default value is max -xop -fma4 which enables all CPU features, except for AMD legacy features.
    • --disable-optimization to explicitly disable the whole new improvements, It also adds a new C compiler #definition called NPY_DISABLE_OPTIMIZATION which 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.c to 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.compat will 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.compat will 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.compat will 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' and method='cholesky' options in numpy.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.utils functions have been updated from 1.19.0-dev0. This improves the function documentation and error messages as well extending the assert_array_compare function 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.random has 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_As1D and PyArray_As2D have been removed in favor of PyArray_AsCArray (gh-14036)
  • np.rank has been removed. This was deprecated in NumPy 1.10 and has been replaced by np.ndim. (gh-14039)
  • The deprecation of expand_dims out-of-range axes in 1.13.0 has expired. (gh-14051)
  • PyArray_FromDimsAndDataAndDescr and PyArray_FromDims have been removed (they will always raise an error). Use PyArray_NewFromDescr and PyArray_SimpleNew instead. (gh-14100)
  • numeric.loads, numeric.load, np.ma.dump, np.ma.dumps, np.ma.load, np.ma.loads are removed, use pickle methods instead (gh-14256)
  • arrayprint.FloatFormat, arrayprint.LongFloatFormat has been removed, use FloatingFormat instead
  • arrayprint.ComplexFormat, arrayprint.LongComplexFormat has been removed, use ComplexFloatingFormat instead
  • arrayprint.StructureFormat has been removed, use StructureVoidFormat instead (gh-14259)
  • np.testing.rand has been removed. This was deprecated in NumPy 1.11 and has been replaced by np.random.rand. (gh-14325)
  • Class SafeEval in numpy/lib/utils.py has been removed. This was deprecated in NumPy 1.10. Use np.safe_eval instead. (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 num must be an integer. Deprecated in NumPy 1.12. (gh-14620)
  • UFuncs with multiple outputs must use a tuple for the out kwarg. 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.

(gh-14527) (gh-14518)

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.random has 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_As1D and PyArray_As2D have been removed in favor of PyArray_AsCArray (gh-14036 <https://github.com/numpy/numpy/pull/14036>__)

  • np.rank has been removed. This was deprecated in NumPy 1.10 and has been replaced by np.ndim. (gh-14039 <https://github.com/numpy/numpy/pull/14039>__)

  • The deprecation of expand_dims out-of-range axes in 1.13.0 has expired. (gh-14051 <https://github.com/numpy/numpy/pull/14051>__)

  • PyArray_FromDimsAndDataAndDescr and PyArray_FromDims have been removed (they will always raise an error). Use PyArray_NewFromDescr and PyArray_SimpleNew instead. (gh-14100 <https://github.com/numpy/numpy/pull/14100>__)

  • numeric.loads, numeric.load, np.ma.dump, np.ma.dumps, np.ma.load, np.ma.loads are removed, use pickle methods instead (gh-14256 <https://github.com/numpy/numpy/pull/14256>__)

  • arrayprint.FloatFormat, arrayprint.LongFloatFormat has been removed, use FloatingFormat instead

  • arrayprint.ComplexFormat, arrayprint.LongComplexFormat has been removed, use ComplexFloatingFormat instead

  • arrayprint.StructureFormat has been removed, use StructureVoidFormat instead (gh-14259 <https://github.com/numpy/numpy/pull/14259>__)

  • np.testing.rand has been removed. This was deprecated in NumPy 1.11 and has been replaced by np.random.rand. (gh-14325 <https://github.com/numpy/numpy/pull/14325>__)

  • Class SafeEval in numpy/lib/utils.py has been removed. This was deprecated in NumPy 1.10. Use np.safe_eval instead. (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 num must 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 out kwarg. 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_integers biased generation of 8 and 16 bit integers.
  • Fixed np.einsum regression 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.einsum errors 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 matmul fixed to use booleans instead of integers.

Compatibility notes

  • The seldom used PyArray_DescrCheck macro 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 random module along with four selectable random number generators <random.BitGenerators> and improved seeding designed for use in parallel processes has been added. The currently available bit generators are MT19937 <random.mt19937.MT19937>, PCG64 <random.pcg64.PCG64>, Philox <random.philox.Philox>, and SFC64 <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 stable or mergesort is passed as the method. See below under Improvements.

  • Overriding numpy functions is now possible by default, see __array_function__ below.

New functions

  • numpy.errstate is 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 nan to 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 out argument is passed. Using casting="unsafe" explicitly will silence this warning.

Additionally, there are some corner cases with behavior changes:

  • Padding max < min has changed to be more consistent across dtypes, but should not be relied upon.
  • Scalar min and max take 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 random module along with four selectable random number generators <random.BitGenerators> and improved seeding designed for use in parallel processes has been added. The currently available bit generators are MT19937 <random.mt19937.MT19937>, PCG64 <random.pcg64.PCG64>, Philox <random.philox.Philox>, and SFC64 <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 stable or mergesort is passed as the method. See below under Improvements.

  • Overriding numpy functions is now possible by default, see __array_function__ below.

New functions

  • numpy.errstate is 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>_.

.. 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 nan to 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 out argument is passed. Using casting="unsafe" explicitly will silence this warning.

Additionally, there are some corner cases with behavior changes:

  • Padding max < min has changed to be more consistent across dtypes, but should not be relied upon.
  • Scalar min and max take 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 stable or mergesort is passed as the method. See below under Improvements.

  • Overriding numpy functions is now possible by default, see __array_function__ below.

New functions

  • numpy.errstate is 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 nan to 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 out argument is passed. Using casting="unsafe" explicitly will silence this warning.

Additionally, there are some corner cases with behavior changes:

  • Padding max < min has changed to be more consistent across dtypes, but should not be relied upon.
  • Scalar min and max take 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