Numpy Versions Save

The fundamental package for scientific computing with Python.

v1.21.6

2 years ago

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

v1.22.3

2 years ago

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

v1.22.2

2 years ago

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 NPY_DISABLE_SVML env var to opt out of SVML
  • #20843: BUG: Fix build of third party extensions with Py_LIMITED_API
  • #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

v1.22.1

2 years ago

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

v1.22.0

2 years ago

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

>>> 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:

[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++.

>>> np.uint32(1023).bit_count()
10
>>> np.int32(-127).bit_count()
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.

>>> np.float32(-2.0).is_integer()
True
>>> np.float64(3.2).is_integer()
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.

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

v1.21.5

2 years ago

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

v1.22.0rc3

2 years ago

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

>>> 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:

[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++.

>>> np.uint32(1023).bit_count()
10
>>> np.int32(-127).bit_count()
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.

>>> np.float32(-2.0).is_integer()
True
>>> np.float64(3.2).is_integer()
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.

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

v1.22.0rc2

2 years ago

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

>>> 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:

[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++.

>>> np.uint32(1023).bit_count()
10
>>> np.int32(-127).bit_count()
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.

>>> np.float32(-2.0).is_integer()
True
>>> np.float64(3.2).is_integer()
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.

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

v1.22.0rc1

2 years ago

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

>>> 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:

[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++.

>>> np.uint32(1023).bit_count()
10
>>> np.int32(-127).bit_count()
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.

>>> np.float32(-2.0).is_integer()
True
>>> np.float64(3.2).is_integer()
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.

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

v1.21.4

2 years ago

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