Skip to content

Update dependency numpy to v2

Tine Wittler requested to merge renovate/numpy-2.x into master

This MR contains the following updates:

Package Type Update Change
numpy (changelog) dependencies major <2.0.0 -> <2.3.0

Release Notes

numpy/numpy

v2.2.1

Compare Source

NumPy 2.2.1 Release Notes

NumPy 2.2.1 is a patch release following 2.2.0. It fixes bugs found after the 2.2.0 release and has several maintenance pins to work around upstream changes.

There was some breakage in downstream projects following the 2.2.0 release due to updates to NumPy typing. Because of problems due to MyPy defects, we recommend using basedpyright for type checking, it can be installed from PyPI. The Pylance extension for Visual Studio Code is also based on Pyright. Problems that persist when using basedpyright should be reported as issues on the NumPy github site.

This release supports Python 3.10-3.13.

Contributors

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

  • Charles Harris
  • Joren Hammudoglu
  • Matti Picus
  • Nathan Goldbaum
  • Peter Hawkins
  • Simon Altrogge
  • Thomas A Caswell
  • Warren Weckesser
  • Yang Wang +

Pull requests merged

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

  • #​27935: MAINT: Prepare 2.2.x for further development
  • #​27950: TEST: cleanups
  • #​27958: BUG: fix use-after-free error in npy_hashtable.cpp (#​27955)
  • #​27959: BLD: add missing include
  • #​27982: BUG:fix compile error libatomic link test to meson.build
  • #​27990: TYP: Fix falsely rejected value types in ndarray.__setitem__
  • #​27991: MAINT: Don't wrap #include <Python.h> with extern "C"
  • #​27993: BUG: Fix segfault in stringdtype lexsort
  • #​28006: MAINT: random: Tweak module code in mtrand.pyx to fix a Cython...
  • #​28007: BUG: Cython API was missing NPY_UINTP.
  • #​28021: CI: pin scipy-doctest to 1.5.1
  • #​28044: TYP: allow None in operand sequence of nditer

Checksums

MD5
d3032be00b974d44aae687fd78a897b4  numpy-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl
49863a39471cf191402da96512e52cb6  numpy-2.2.1-cp310-cp310-macosx_11_0_arm64.whl
31c912e2fa723b877f2d710c26332927  numpy-2.2.1-cp310-cp310-macosx_14_0_arm64.whl
95af4f6b620c76f9ccb8c5693c99737d  numpy-2.2.1-cp310-cp310-macosx_14_0_x86_64.whl
c1b113ad487a3bece6d7a70e0cf70f17  numpy-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e93369ddbb637d9d5a820b2bb79588c4  numpy-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b3de0a2c345541d2c9a322df360ca497  numpy-2.2.1-cp310-cp310-musllinux_1_2_aarch64.whl
e3e62b93245d9e37cc03ec3cfaf68118  numpy-2.2.1-cp310-cp310-musllinux_1_2_x86_64.whl
004063642d3c3792a3f5ff0241a3fa0f  numpy-2.2.1-cp310-cp310-win32.whl
462b0704ebfd79120edfe6431adc57f4  numpy-2.2.1-cp310-cp310-win_amd64.whl
a739a2dfbceaa1140e564424b2a57540  numpy-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl
91731d46f4ce4b04db512400f4e76ccb  numpy-2.2.1-cp311-cp311-macosx_11_0_arm64.whl
93f50db664a6986c2ebed3ceb588f7cc  numpy-2.2.1-cp311-cp311-macosx_14_0_arm64.whl
8cc0d82b938d71f45a67c74e07ddc7fd  numpy-2.2.1-cp311-cp311-macosx_14_0_x86_64.whl
fc7b253096fc566bbcbadfdf6b034f1b  numpy-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b88238965c708578f2c198d1c6e2cf70  numpy-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
df20d649bb023f98e487b229f01e9708  numpy-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl
e23d2bfbdb1bd1b2872c9e6e15f64dca  numpy-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl
cce4ebb9afc1470db243c2ab4cc6639b  numpy-2.2.1-cp311-cp311-win32.whl
c96783ee8ad6ce1efee94821929a12f5  numpy-2.2.1-cp311-cp311-win_amd64.whl
0b2024655573f96a595c7f5072205e84  numpy-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl
22483d8935f5dc128393ad671fde7d8e  numpy-2.2.1-cp312-cp312-macosx_11_0_arm64.whl
61d38533acaa90fb24657f089d177a6c  numpy-2.2.1-cp312-cp312-macosx_14_0_arm64.whl
ecd4289c703356f5b4fd7e440bf94ce8  numpy-2.2.1-cp312-cp312-macosx_14_0_x86_64.whl
a05208461ea09079ae569414d82a606c  numpy-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4c66f10580fa26d1d17b2bdda96a5fc5  numpy-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
60a01c86b1fc55e4ba8f2b41f690703b  numpy-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl
4bcac2b7f8510b0a6582b7d8661257be  numpy-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl
7c24a6a3b5c5b2c53c6807bf06c595c5  numpy-2.2.1-cp312-cp312-win32.whl
dc9f3c1eaade4da63e5f87e878e5805e  numpy-2.2.1-cp312-cp312-win_amd64.whl
9aacdedcb2cb3d6a45dfb823148e01cf  numpy-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl
8a2598b081c8af4ea6f6bbccc8965882  numpy-2.2.1-cp313-cp313-macosx_11_0_arm64.whl
e58b8db1a97599ed02a630eb86616bb9  numpy-2.2.1-cp313-cp313-macosx_14_0_arm64.whl
be6871a4edd2cd92b147421b9290e047  numpy-2.2.1-cp313-cp313-macosx_14_0_x86_64.whl
6d3f141f3a8ecd04e1a1f7c1f89a8ca2  numpy-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
eba9d71e631521bd1d9882f8bfbc01d2  numpy-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
07f7ea0a7f9f6ce0ba5e016dff2a91e8  numpy-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl
a015f42afa15be8b87fc64120c245f18  numpy-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl
881b9b20e68b317850ad7b6306ac1c51  numpy-2.2.1-cp313-cp313-win32.whl
35bd751636dcea0ca0534ad9dee8057a  numpy-2.2.1-cp313-cp313-win_amd64.whl
7057313b668a4a26b5386203ebc040d9  numpy-2.2.1-cp313-cp313t-macosx_10_13_x86_64.whl
02031b405d028714126c26ffc5772f0e  numpy-2.2.1-cp313-cp313t-macosx_11_0_arm64.whl
73eb35111b027d6771d9a91eb21ad7ef  numpy-2.2.1-cp313-cp313t-macosx_14_0_arm64.whl
01f9a5eb7ec872d9682bb6a174897b35  numpy-2.2.1-cp313-cp313t-macosx_14_0_x86_64.whl
9bc363d2782931efa2648b42ce358a4c  numpy-2.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b6492f49b50e892a7134baf2dba9f88d  numpy-2.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a1c458a98cd9c7ad63f9c301398f4d63  numpy-2.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl
38d2bf31247d9005c7a0197aa992cf1d  numpy-2.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl
30e6acf4391728d0a3a5e3494bd4a2c8  numpy-2.2.1-cp313-cp313t-win32.whl
2100b60306e75288799fca60bd00b84f  numpy-2.2.1-cp313-cp313t-win_amd64.whl
f975551321147c307bbdff4889061b47  numpy-2.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
cefbc2de3aa5ef518ce652fdaab00c96  numpy-2.2.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
7e379c1d0a5be8e548e35fa7abe1d2c0  numpy-2.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3cba151351656a83e4c84c942cf490e7  numpy-2.2.1-pp310-pypy310_pp73-win_amd64.whl
57c5757508a50d1daefa4b689e9701cb  numpy-2.2.1.tar.gz
SHA256
5edb4e4caf751c1518e6a26a83501fda79bff41cc59dac48d70e6d65d4ec4440  numpy-2.2.1-cp310-cp310-macosx_10_9_x86_64.whl
aa3017c40d513ccac9621a2364f939d39e550c542eb2a894b4c8da92b38896ab  numpy-2.2.1-cp310-cp310-macosx_11_0_arm64.whl
61048b4a49b1c93fe13426e04e04fdf5a03f456616f6e98c7576144677598675  numpy-2.2.1-cp310-cp310-macosx_14_0_arm64.whl
7671dc19c7019103ca44e8d94917eba8534c76133523ca8406822efdd19c9308  numpy-2.2.1-cp310-cp310-macosx_14_0_x86_64.whl
4250888bcb96617e00bfa28ac24850a83c9f3a16db471eca2ee1f1714df0f957  numpy-2.2.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a7746f235c47abc72b102d3bce9977714c2444bdfaea7888d241b4c4bb6a78bf  numpy-2.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
059e6a747ae84fce488c3ee397cee7e5f905fd1bda5fb18c66bc41807ff119b2  numpy-2.2.1-cp310-cp310-musllinux_1_2_aarch64.whl
f62aa6ee4eb43b024b0e5a01cf65a0bb078ef8c395e8713c6e8a12a697144528  numpy-2.2.1-cp310-cp310-musllinux_1_2_x86_64.whl
48fd472630715e1c1c89bf1feab55c29098cb403cc184b4859f9c86d4fcb6a95  numpy-2.2.1-cp310-cp310-win32.whl
b541032178a718c165a49638d28272b771053f628382d5e9d1c93df23ff58dbf  numpy-2.2.1-cp310-cp310-win_amd64.whl
40f9e544c1c56ba8f1cf7686a8c9b5bb249e665d40d626a23899ba6d5d9e1484  numpy-2.2.1-cp311-cp311-macosx_10_9_x86_64.whl
f9b57eaa3b0cd8db52049ed0330747b0364e899e8a606a624813452b8203d5f7  numpy-2.2.1-cp311-cp311-macosx_11_0_arm64.whl
bc8a37ad5b22c08e2dbd27df2b3ef7e5c0864235805b1e718a235bcb200cf1cb  numpy-2.2.1-cp311-cp311-macosx_14_0_arm64.whl
9036d6365d13b6cbe8f27a0eaf73ddcc070cae584e5ff94bb45e3e9d729feab5  numpy-2.2.1-cp311-cp311-macosx_14_0_x86_64.whl
51faf345324db860b515d3f364eaa93d0e0551a88d6218a7d61286554d190d73  numpy-2.2.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
38efc1e56b73cc9b182fe55e56e63b044dd26a72128fd2fbd502f75555d92591  numpy-2.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
31b89fa67a8042e96715c68e071a1200c4e172f93b0fbe01a14c0ff3ff820fc8  numpy-2.2.1-cp311-cp311-musllinux_1_2_aarch64.whl
4c86e2a209199ead7ee0af65e1d9992d1dce7e1f63c4b9a616500f93820658d0  numpy-2.2.1-cp311-cp311-musllinux_1_2_x86_64.whl
b34d87e8a3090ea626003f87f9392b3929a7bbf4104a05b6667348b6bd4bf1cd  numpy-2.2.1-cp311-cp311-win32.whl
360137f8fb1b753c5cde3ac388597ad680eccbbbb3865ab65efea062c4a1fd16  numpy-2.2.1-cp311-cp311-win_amd64.whl
694f9e921a0c8f252980e85bce61ebbd07ed2b7d4fa72d0e4246f2f8aa6642ab  numpy-2.2.1-cp312-cp312-macosx_10_13_x86_64.whl
3683a8d166f2692664262fd4900f207791d005fb088d7fdb973cc8d663626faa  numpy-2.2.1-cp312-cp312-macosx_11_0_arm64.whl
780077d95eafc2ccc3ced969db22377b3864e5b9a0ea5eb347cc93b3ea900315  numpy-2.2.1-cp312-cp312-macosx_14_0_arm64.whl
55ba24ebe208344aa7a00e4482f65742969a039c2acfcb910bc6fcd776eb4355  numpy-2.2.1-cp312-cp312-macosx_14_0_x86_64.whl
9b1d07b53b78bf84a96898c1bc139ad7f10fda7423f5fd158fd0f47ec5e01ac7  numpy-2.2.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5062dc1a4e32a10dc2b8b13cedd58988261416e811c1dc4dbdea4f57eea61b0d  numpy-2.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fce4f615f8ca31b2e61aa0eb5865a21e14f5629515c9151850aa936c02a1ee51  numpy-2.2.1-cp312-cp312-musllinux_1_2_aarch64.whl
67d4cda6fa6ffa073b08c8372aa5fa767ceb10c9a0587c707505a6d426f4e046  numpy-2.2.1-cp312-cp312-musllinux_1_2_x86_64.whl
32cb94448be47c500d2c7a95f93e2f21a01f1fd05dd2beea1ccd049bb6001cd2  numpy-2.2.1-cp312-cp312-win32.whl
ba5511d8f31c033a5fcbda22dd5c813630af98c70b2661f2d2c654ae3cdfcfc8  numpy-2.2.1-cp312-cp312-win_amd64.whl
f1d09e520217618e76396377c81fba6f290d5f926f50c35f3a5f72b01a0da780  numpy-2.2.1-cp313-cp313-macosx_10_13_x86_64.whl
3ecc47cd7f6ea0336042be87d9e7da378e5c7e9b3c8ad0f7c966f714fc10d821  numpy-2.2.1-cp313-cp313-macosx_11_0_arm64.whl
f419290bc8968a46c4933158c91a0012b7a99bb2e465d5ef5293879742f8797e  numpy-2.2.1-cp313-cp313-macosx_14_0_arm64.whl
5b6c390bfaef8c45a260554888966618328d30e72173697e5cabe6b285fb2348  numpy-2.2.1-cp313-cp313-macosx_14_0_x86_64.whl
526fc406ab991a340744aad7e25251dd47a6720a685fa3331e5c59fef5282a59  numpy-2.2.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f74e6fdeb9a265624ec3a3918430205dff1df7e95a230779746a6af78bc615af  numpy-2.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
53c09385ff0b72ba79d8715683c1168c12e0b6e84fb0372e97553d1ea91efe51  numpy-2.2.1-cp313-cp313-musllinux_1_2_aarch64.whl
f3eac17d9ec51be534685ba877b6ab5edc3ab7ec95c8f163e5d7b39859524716  numpy-2.2.1-cp313-cp313-musllinux_1_2_x86_64.whl
9ad014faa93dbb52c80d8f4d3dcf855865c876c9660cb9bd7553843dd03a4b1e  numpy-2.2.1-cp313-cp313-win32.whl
164a829b6aacf79ca47ba4814b130c4020b202522a93d7bff2202bfb33b61c60  numpy-2.2.1-cp313-cp313-win_amd64.whl
4dfda918a13cc4f81e9118dea249e192ab167a0bb1966272d5503e39234d694e  numpy-2.2.1-cp313-cp313t-macosx_10_13_x86_64.whl
733585f9f4b62e9b3528dd1070ec4f52b8acf64215b60a845fa13ebd73cd0712  numpy-2.2.1-cp313-cp313t-macosx_11_0_arm64.whl
89b16a18e7bba224ce5114db863e7029803c179979e1af6ad6a6b11f70545008  numpy-2.2.1-cp313-cp313t-macosx_14_0_arm64.whl
676f4eebf6b2d430300f1f4f4c2461685f8269f94c89698d832cdf9277f30b84  numpy-2.2.1-cp313-cp313t-macosx_14_0_x86_64.whl
27f5cdf9f493b35f7e41e8368e7d7b4bbafaf9660cba53fb21d2cd174ec09631  numpy-2.2.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c1ad395cf254c4fbb5b2132fee391f361a6e8c1adbd28f2cd8e79308a615fe9d  numpy-2.2.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
08ef779aed40dbc52729d6ffe7dd51df85796a702afbf68a4f4e41fafdc8bda5  numpy-2.2.1-cp313-cp313t-musllinux_1_2_aarch64.whl
26c9c4382b19fcfbbed3238a14abf7ff223890ea1936b8890f058e7ba35e8d71  numpy-2.2.1-cp313-cp313t-musllinux_1_2_x86_64.whl
93cf4e045bae74c90ca833cba583c14b62cb4ba2cba0abd2b141ab52548247e2  numpy-2.2.1-cp313-cp313t-win32.whl
bff7d8ec20f5f42607599f9994770fa65d76edca264a87b5e4ea5629bce12268  numpy-2.2.1-cp313-cp313t-win_amd64.whl
7ba9cc93a91d86365a5d270dee221fdc04fb68d7478e6bf6af650de78a8339e3  numpy-2.2.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
3d03883435a19794e41f147612a77a8f56d4e52822337844fff3d4040a142964  numpy-2.2.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
4511d9e6071452b944207c8ce46ad2f897307910b402ea5fa975da32e0102800  numpy-2.2.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5c5cc0cbabe9452038ed984d05ac87910f89370b9242371bd9079cb4af61811e  numpy-2.2.1-pp310-pypy310_pp73-win_amd64.whl
45681fd7128c8ad1c379f0ca0776a8b0c6583d2f69889ddac01559dfe4390918  numpy-2.2.1.tar.gz

v2.2.0

Compare Source

NumPy 2.2.0 Release Notes

The NumPy 2.2.0 release is quick release that brings us back into sync with the usual twice yearly release cycle. There have been an number of small cleanups, as well as work bringing the new StringDType to completion and improving support for free threaded Python. Highlights are:

  • New functions matvec and vecmat, see below.
  • Many improved annotations.
  • Improved support for the new StringDType.
  • Improved support for free threaded Python
  • Fixes for f2py

This release supports Python versions 3.10-3.13.

Deprecations

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

    (gh-27735)

Expired deprecations

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

    (gh-27160)

Compatibility notes

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

    (gh-27661)

New Features

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

    Two new generalized ufuncs were defined:

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

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

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

    (gh-25675)

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

    (gh-27420)

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

    (gh-27735)

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

    (gh-27736)

Improvements

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

    (gh-14622)

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

    (gh-27636)

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

    (gh-27723)

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

    (gh-27695)

Performance improvements and changes

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

    (gh-27896)

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

    (gh-27119)

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

  • OpenBLAS on windows is linked without quadmath, simplifying licensing

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

    (gh-27147)

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

    (gh-27808)

Changes

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

    (gh-26766)

  • The type annotations of numpy.float64 and numpy.complex128 now reflect that they are also subtypes of the built-in float and complex types, respectively. This update prevents static type-checkers from reporting errors in cases such as:

    x: float = numpy.float64(6.28)  # valid
    z: complex = numpy.complex128(-1j)  # valid

    (gh-27334)

  • The repr of arrays large enough to be summarized (i.e., where elements are replaced with ...) now includes the shape of the array, similar to what already was the case for arrays with zero size and non-obvious shape. With this change, the shape is always given when it cannot be inferred from the values. Note that while written as shape=..., this argument cannot actually be passed in to the np.array constructor. If you encounter problems, e.g., due to failing doctests, you can use the print option legacy=2.1 to get the old behaviour.

    (gh-27482)

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

    (gh-27807)

  • Bump the musllinux CI image and wheels to 1_2 from 1_1. This is because 1_1 is end of life.

    (gh-27088)

  • The NEP 50 promotion state settings are now removed. They were always meant as temporary means for testing. A warning will be given if the environment variable is set to anything but NPY_MROMOTION_STATE=weak while _set_promotion_state and _get_promotion_state are removed. In case code used _no_nep50_warning, a contextlib.nullcontext could be used to replace it when not available.

    (gh-27156)

Checksums

MD5
1b58b9e275e80364cd02dafb3f8daf35  numpy-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl
7d3773d9b665b2d7cfec0cc0b760e69e  numpy-2.2.0-cp310-cp310-macosx_11_0_arm64.whl
8ef666a462d3765ccfd5288f2fdf8e08  numpy-2.2.0-cp310-cp310-macosx_14_0_arm64.whl
e4f9e3117075ffe53d7993253c774158  numpy-2.2.0-cp310-cp310-macosx_14_0_x86_64.whl
fd60e410e5db402a2d0c0cb4dd23281d  numpy-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
64c083cdbd91eb8670cd72b619f3a039  numpy-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c3c75c2299f5163770e2e42f0dee5276  numpy-2.2.0-cp310-cp310-musllinux_1_2_aarch64.whl
f6ab05f787221bbaf8fb4a9778af5467  numpy-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
9b04caec124cadf90005ccdb662aad9f  numpy-2.2.0-cp310-cp310-win32.whl
58934f23b6bc71fb1f984b688c1c6136  numpy-2.2.0-cp310-cp310-win_amd64.whl
769e53438154e53ba490fb4f816c083e  numpy-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl
aa8060c013c04133b63780025eef4451  numpy-2.2.0-cp311-cp311-macosx_11_0_arm64.whl
72c10ef28a0ddffe6bf2495954ab82e0  numpy-2.2.0-cp311-cp311-macosx_14_0_arm64.whl
946b2510c86eb48e374e6987582c9b46  numpy-2.2.0-cp311-cp311-macosx_14_0_x86_64.whl
3f5203ae901ddd78cb298582eda07627  numpy-2.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fd14624d40100a5eb0181bf393394448  numpy-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7c86d51d89dbc5a6860d65641ea131ef  numpy-2.2.0-cp311-cp311-musllinux_1_2_aarch64.whl
895c6588c74019b94fb3c740b9e9a0f5  numpy-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
1468ae1cb59a43991b199cfa6f1e5679  numpy-2.2.0-cp311-cp311-win32.whl
48a3792698a81917320b91a30c0bacf4  numpy-2.2.0-cp311-cp311-win_amd64.whl
db4377351f167d82adc66b16965d11bd  numpy-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl
3f3978b5e480ed18d55b1799d9a534ff  numpy-2.2.0-cp312-cp312-macosx_11_0_arm64.whl
584b4063eb66688b607f7e7bdca58011  numpy-2.2.0-cp312-cp312-macosx_14_0_arm64.whl
dfacf4ee4842d845f5e12f912ebc2055  numpy-2.2.0-cp312-cp312-macosx_14_0_x86_64.whl
2f10d9bc44635078a6222ed50c9fd0f2  numpy-2.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bb69665b4b68b7af82939132972e8261  numpy-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
92e9b03039ab737e6799dbd9d057fce2  numpy-2.2.0-cp312-cp312-musllinux_1_2_aarch64.whl
a4198f53e3906394012ab88dffff4077  numpy-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
f9cb2f38ae8272ab5eb4b209c59be45f  numpy-2.2.0-cp312-cp312-win32.whl
6ffe9e1abf69bb8c4ee2e913b1badfde  numpy-2.2.0-cp312-cp312-win_amd64.whl
330838b6e06481341b35f8d4b6b50bbb  numpy-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl
4fb63be6d2b92acfba0c2eaedce82e06  numpy-2.2.0-cp313-cp313-macosx_11_0_arm64.whl
e4086f43f9ce29b5adf939e1b5150f03  numpy-2.2.0-cp313-cp313-macosx_14_0_arm64.whl
ba74e1f7142954127fb2aef544a6b05e  numpy-2.2.0-cp313-cp313-macosx_14_0_x86_64.whl
83f51806139d5adc70a2e309d0300ad1  numpy-2.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bf9af9abb1e30521b3491f0748ba6199  numpy-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4d30c57bd7103b36a4bf7a4a9e25e10d  numpy-2.2.0-cp313-cp313-musllinux_1_2_aarch64.whl
5b12557dde538f99fd87d1682638a212  numpy-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
ee7689d2ecbcbd7c883f69099bd41892  numpy-2.2.0-cp313-cp313-win32.whl
370a2b14681c6dc4af8596f62d96bb20  numpy-2.2.0-cp313-cp313-win_amd64.whl
e6fd32fb42fd89c7659e799d65c19557  numpy-2.2.0-cp313-cp313t-macosx_10_13_x86_64.whl
8e9b0579f2e22f38f57399ab18d6e651  numpy-2.2.0-cp313-cp313t-macosx_11_0_arm64.whl
71a7ee75208a633a8c36d4ed5b551c33  numpy-2.2.0-cp313-cp313t-macosx_14_0_arm64.whl
3d76dfe8c2e26dc42b97fdf086ce1fa5  numpy-2.2.0-cp313-cp313t-macosx_14_0_x86_64.whl
b70ea00b40fb7d1b5d84868d8a073afb  numpy-2.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a6bc7090a4e2b1e9deabd0671c691129  numpy-2.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9789193a075e8d494851fe7955a23af7  numpy-2.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl
8c199d25bd806f737950428232b0dfa5  numpy-2.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl
1f566cfe4880ca30a591a828634da429  numpy-2.2.0-cp313-cp313t-win32.whl
eb9ea9f8fba78e7ae5b1415de1ee5c2c  numpy-2.2.0-cp313-cp313t-win_amd64.whl
9fbe2640c73e4f391019db5af6e854f5  numpy-2.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
fc89986fda7ba19c7c50712f1fc1e342  numpy-2.2.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
d76c5769a3fdfb9e25b3c1a951bd021f  numpy-2.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c138d726fee19ec6ba85eaa2ba9a3390  numpy-2.2.0-pp310-pypy310_pp73-win_amd64.whl
81a58d5fd26fe983162dc3cea2989b7a  numpy-2.2.0.tar.gz
SHA256
1e25507d85da11ff5066269d0bd25d06e0a0f2e908415534f3e603d2a78e4ffa  numpy-2.2.0-cp310-cp310-macosx_10_9_x86_64.whl
a62eb442011776e4036af5c8b1a00b706c5bc02dc15eb5344b0c750428c94219  numpy-2.2.0-cp310-cp310-macosx_11_0_arm64.whl
b606b1aaf802e6468c2608c65ff7ece53eae1a6874b3765f69b8ceb20c5fa78e  numpy-2.2.0-cp310-cp310-macosx_14_0_arm64.whl
36b2b43146f646642b425dd2027730f99bac962618ec2052932157e213a040e9  numpy-2.2.0-cp310-cp310-macosx_14_0_x86_64.whl
7fe8f3583e0607ad4e43a954e35c1748b553bfe9fdac8635c02058023277d1b3  numpy-2.2.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
122fd2fcfafdefc889c64ad99c228d5a1f9692c3a83f56c292618a59aa60ae83  numpy-2.2.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3f2f5cddeaa4424a0a118924b988746db6ffa8565e5829b1841a8a3bd73eb59a  numpy-2.2.0-cp310-cp310-musllinux_1_2_aarch64.whl
7fe4bb0695fe986a9e4deec3b6857003b4cfe5c5e4aac0b95f6a658c14635e31  numpy-2.2.0-cp310-cp310-musllinux_1_2_x86_64.whl
b30042fe92dbd79f1ba7f6898fada10bdaad1847c44f2dff9a16147e00a93661  numpy-2.2.0-cp310-cp310-win32.whl
54dc1d6d66f8d37843ed281773c7174f03bf7ad826523f73435deb88ba60d2d4  numpy-2.2.0-cp310-cp310-win_amd64.whl
9874bc2ff574c40ab7a5cbb7464bf9b045d617e36754a7bc93f933d52bd9ffc6  numpy-2.2.0-cp311-cp311-macosx_10_9_x86_64.whl
0da8495970f6b101ddd0c38ace92edea30e7e12b9a926b57f5fabb1ecc25bb90  numpy-2.2.0-cp311-cp311-macosx_11_0_arm64.whl
0557eebc699c1c34cccdd8c3778c9294e8196df27d713706895edc6f57d29608  numpy-2.2.0-cp311-cp311-macosx_14_0_arm64.whl
3579eaeb5e07f3ded59298ce22b65f877a86ba8e9fe701f5576c99bb17c283da  numpy-2.2.0-cp311-cp311-macosx_14_0_x86_64.whl
40deb10198bbaa531509aad0cd2f9fadb26c8b94070831e2208e7df543562b74  numpy-2.2.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c2aed8fcf8abc3020d6a9ccb31dbc9e7d7819c56a348cc88fd44be269b37427e  numpy-2.2.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a222d764352c773aa5ebde02dd84dba3279c81c6db2e482d62a3fa54e5ece69b  numpy-2.2.0-cp311-cp311-musllinux_1_2_aarch64.whl
4e58666988605e251d42c2818c7d3d8991555381be26399303053b58a5bbf30d  numpy-2.2.0-cp311-cp311-musllinux_1_2_x86_64.whl
4723a50e1523e1de4fccd1b9a6dcea750c2102461e9a02b2ac55ffeae09a4410  numpy-2.2.0-cp311-cp311-win32.whl
16757cf28621e43e252c560d25b15f18a2f11da94fea344bf26c599b9cf54b73  numpy-2.2.0-cp311-cp311-win_amd64.whl
cff210198bb4cae3f3c100444c5eaa573a823f05c253e7188e1362a5555235b3  numpy-2.2.0-cp312-cp312-macosx_10_13_x86_64.whl
58b92a5828bd4d9aa0952492b7de803135038de47343b2aa3cc23f3b71a3dc4e  numpy-2.2.0-cp312-cp312-macosx_11_0_arm64.whl
ebe5e59545401fbb1b24da76f006ab19734ae71e703cdb4a8b347e84a0cece67  numpy-2.2.0-cp312-cp312-macosx_14_0_arm64.whl
e2b8cd48a9942ed3f85b95ca4105c45758438c7ed28fff1e4ce3e57c3b589d8e  numpy-2.2.0-cp312-cp312-macosx_14_0_x86_64.whl
57fcc997ffc0bef234b8875a54d4058afa92b0b0c4223fc1f62f24b3b5e86038  numpy-2.2.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
85ad7d11b309bd132d74397fcf2920933c9d1dc865487128f5c03d580f2c3d03  numpy-2.2.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cb24cca1968b21355cc6f3da1a20cd1cebd8a023e3c5b09b432444617949085a  numpy-2.2.0-cp312-cp312-musllinux_1_2_aarch64.whl
0798b138c291d792f8ea40fe3768610f3c7dd2574389e37c3f26573757c8f7ef  numpy-2.2.0-cp312-cp312-musllinux_1_2_x86_64.whl
afe8fb968743d40435c3827632fd36c5fbde633b0423da7692e426529b1759b1  numpy-2.2.0-cp312-cp312-win32.whl
3a4199f519e57d517ebd48cb76b36c82da0360781c6a0353e64c0cac30ecaad3  numpy-2.2.0-cp312-cp312-win_amd64.whl
f8c8b141ef9699ae777c6278b52c706b653bf15d135d302754f6b2e90eb30367  numpy-2.2.0-cp313-cp313-macosx_10_13_x86_64.whl
0f0986e917aca18f7a567b812ef7ca9391288e2acb7a4308aa9d265bd724bdae  numpy-2.2.0-cp313-cp313-macosx_11_0_arm64.whl
1c92113619f7b272838b8d6702a7f8ebe5edea0df48166c47929611d0b4dea69  numpy-2.2.0-cp313-cp313-macosx_14_0_arm64.whl
5a145e956b374e72ad1dff82779177d4a3c62bc8248f41b80cb5122e68f22d13  numpy-2.2.0-cp313-cp313-macosx_14_0_x86_64.whl
18142b497d70a34b01642b9feabb70156311b326fdddd875a9981f34a369b671  numpy-2.2.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a7d41d1612c1a82b64697e894b75db6758d4f21c3ec069d841e60ebe54b5b571  numpy-2.2.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a98f6f20465e7618c83252c02041517bd2f7ea29be5378f09667a8f654a5918d  numpy-2.2.0-cp313-cp313-musllinux_1_2_aarch64.whl
e09d40edfdb4e260cb1567d8ae770ccf3b8b7e9f0d9b5c2a9992696b30ce2742  numpy-2.2.0-cp313-cp313-musllinux_1_2_x86_64.whl
3905a5fffcc23e597ee4d9fb3fcd209bd658c352657548db7316e810ca80458e  numpy-2.2.0-cp313-cp313-win32.whl
a184288538e6ad699cbe6b24859206e38ce5fba28f3bcfa51c90d0502c1582b2  numpy-2.2.0-cp313-cp313-win_amd64.whl
7832f9e8eb00be32f15fdfb9a981d6955ea9adc8574c521d48710171b6c55e95  numpy-2.2.0-cp313-cp313t-macosx_10_13_x86_64.whl
f0dd071b95bbca244f4cb7f70b77d2ff3aaaba7fa16dc41f58d14854a6204e6c  numpy-2.2.0-cp313-cp313t-macosx_11_0_arm64.whl
b0b227dcff8cdc3efbce66d4e50891f04d0a387cce282fe1e66199146a6a8fca  numpy-2.2.0-cp313-cp313t-macosx_14_0_arm64.whl
6ab153263a7c5ccaf6dfe7e53447b74f77789f28ecb278c3b5d49db7ece10d6d  numpy-2.2.0-cp313-cp313t-macosx_14_0_x86_64.whl
e500aba968a48e9019e42c0c199b7ec0696a97fa69037bea163b55398e390529  numpy-2.2.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
440cfb3db4c5029775803794f8638fbdbf71ec702caf32735f53b008e1eaece3  numpy-2.2.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a55dc7a7f0b6198b07ec0cd445fbb98b05234e8b00c5ac4874a63372ba98d4ab  numpy-2.2.0-cp313-cp313t-musllinux_1_2_aarch64.whl
4bddbaa30d78c86329b26bd6aaaea06b1e47444da99eddac7bf1e2fab717bd72  numpy-2.2.0-cp313-cp313t-musllinux_1_2_x86_64.whl
30bf971c12e4365153afb31fc73f441d4da157153f3400b82db32d04de1e4066  numpy-2.2.0-cp313-cp313t-win32.whl
d35717333b39d1b6bb8433fa758a55f1081543de527171543a2b710551d40881  numpy-2.2.0-cp313-cp313t-win_amd64.whl
e12c6c1ce84628c52d6367863773f7c8c8241be554e8b79686e91a43f1733773  numpy-2.2.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
b6207dc8fb3c8cb5668e885cef9ec7f70189bec4e276f0ff70d5aa078d32c88e  numpy-2.2.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
a50aeff71d0f97b6450d33940c7181b08be1441c6c193e678211bff11aa725e7  numpy-2.2.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
df12a1f99b99f569a7c2ae59aa2d31724e8d835fc7f33e14f4792e3071d11221  numpy-2.2.0-pp310-pypy310_pp73-win_amd64.whl
140dd80ff8981a583a60980be1a655068f8adebf7a45a06a6858c873fcdcd4a0  numpy-2.2.0.tar.gz

v2.1.3

Compare Source

NumPy 2.1.3 Release Notes

NumPy 2.1.3 is a maintenance release that fixes bugs and regressions discovered after the 2.1.2 release. This release also adds support for free threaded Python 3.13 on Windows.

The Python versions supported by this release are 3.10-3.13.

Improvements

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

    (gh-27636)

Changes

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

    (gh-26766)

Contributors

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

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

Pull requests merged

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

  • #​27512: MAINT: prepare 2.1.x for further development
  • #​27537: MAINT: Bump actions/cache from 4.0.2 to 4.1.1
  • #​27538: MAINT: Bump pypa/cibuildwheel from 2.21.2 to 2.21.3
  • #​27539: MAINT: MSVC does not support #warning directive
  • #​27543: BUG: Fix user dtype can-cast with python scalar during promotion
  • #​27561: DEV: bump python to 3.12 in environment.yml
  • #​27562: BLD: update vendored Meson to 1.5.2
  • #​27563: BUG: weighted quantile for some zero weights (#​27549)
  • #​27565: MAINT: Use miniforge for macos conda test.
  • #​27566: BUILD: satisfy gcc-13 pendantic errors
  • #​27569: BUG: handle possible error for PyTraceMallocTrack
  • #​27570: BLD: start building Windows free-threaded wheels [wheel build]
  • #​27571: BUILD: vendor tempita from Cython
  • #​27574: BUG: Fix warning "differs in levels of indirection" in npy_atomic.h...
  • #​27592: MAINT: Update Highway to latest
  • #​27593: BUG: Adjust numpy.i for SWIG 4.3 compatibility
  • #​27616: BUG: Fix Linux QEMU CI workflow
  • #​27668: BLD: Do not set __STDC_VERSION__ to zero during build
  • #​27669: ENH: fix wasm32 runtime type error in numpy._core
  • #​27672: BUG: Fix a reference count leak in npy_find_descr_for_scalar.
  • #​27673: BUG: fixes for StringDType/unicode promoters

Checksums

MD5
3f2f22827dd321ae86b5ab4fa888d0db  numpy-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl
13da2761d1abe71731a2806537369115  numpy-2.1.3-cp310-cp310-macosx_11_0_arm64.whl
5aef4a78b69cd90d0f6fff8f88817991  numpy-2.1.3-cp310-cp310-macosx_14_0_arm64.whl
12da7f09cd5707634878f85845c9de10  numpy-2.1.3-cp310-cp310-macosx_14_0_x86_64.whl
5b999693362815b56855533469aea0ca  numpy-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8c49f457127bfb4f167c91583e5167af  numpy-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f31c0e80b18afc0c04cada401cbe0358  numpy-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl
2c0709812e27bcaf74d75ac8ed45614b  numpy-2.1.3-cp310-cp310-musllinux_1_2_aarch64.whl
a65b28800e78942b9e60e03e96cfd0c0  numpy-2.1.3-cp310-cp310-win32.whl
d8358545732fe4ee1ecf407b06567d81  numpy-2.1.3-cp310-cp310-win_amd64.whl
34942f9a1391532e2c3168043c0021d5  numpy-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl
0d69ec06e303b5112788db68a8fdde1b  numpy-2.1.3-cp311-cp311-macosx_11_0_arm64.whl
da1988c8d3a9db5947a2bd51290b8b95  numpy-2.1.3-cp311-cp311-macosx_14_0_arm64.whl
b5eba73c2abaf5a81535f4b1034fe8d2  numpy-2.1.3-cp311-cp311-macosx_14_0_x86_64.whl
63cc090209718aa1d0f0fbd3fd03bc0b  numpy-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
55f14ca7b55554d4a043369ae5f1837f  numpy-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4e58e0645d81ff84c0fb75311d2a97d6  numpy-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl
30235088a5f86d1f343bfec458f6292d  numpy-2.1.3-cp311-cp311-musllinux_1_2_aarch64.whl
c80a03952b2f4950f1eb9d1656413fec  numpy-2.1.3-cp311-cp311-win32.whl
d8c1a5a441b89591af8f09dfa0b2d4d5  numpy-2.1.3-cp311-cp311-win_amd64.whl
2cebcea71e71e8b09a25179b240ee240  numpy-2.1.3-cp312-cp312-macosx_10_13_x86_64.whl
faf5df4bd35ca362795cda193da49591  numpy-2.1.3-cp312-cp312-macosx_11_0_arm64.whl
573f195910fc3b3e9ac5379816280f89  numpy-2.1.3-cp312-cp312-macosx_14_0_arm64.whl
900548b2acb82ed0e306943fb68de802  numpy-2.1.3-cp312-cp312-macosx_14_0_x86_64.whl
81cded28bb87c4987b1d975fe768c3a1  numpy-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2b83cb346bca97475fa5e39e704c45f1  numpy-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
06d8593cb7a2aae157e028c3d4cb3c96  numpy-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl
eea8b148a6a2fee37b87291043e00bda  numpy-2.1.3-cp312-cp312-musllinux_1_2_aarch64.whl
d407b7c48457789914f28004f41d6ea2  numpy-2.1.3-cp312-cp312-win32.whl
117574ee1a645e63a6d69e20c8673665  numpy-2.1.3-cp312-cp312-win_amd64.whl
0c9ffd1f1f1e96186f30a578b85da653  numpy-2.1.3-cp313-cp313-macosx_10_13_x86_64.whl
cd430b2caf09d21680616aef5d4a439d  numpy-2.1.3-cp313-cp313-macosx_11_0_arm64.whl
b431935148221b79bda9490b1d069e3c  numpy-2.1.3-cp313-cp313-macosx_14_0_arm64.whl
b3ff577c78097b187bd58f20b6e88642  numpy-2.1.3-cp313-cp313-macosx_14_0_x86_64.whl
8186f86f8d94a5505e6dcebe6c056ab7  numpy-2.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2c5b2381a4a4e3d9865ccb346d44a7ed  numpy-2.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
85786d12388d60b904c02eb12df55b37  numpy-2.1.3-cp313-cp313-musllinux_1_1_x86_64.whl
da68282c0418a22730643906e5dd58a1  numpy-2.1.3-cp313-cp313-musllinux_1_2_aarch64.whl
fe47e181a70d3e865e5d6a27e5fa71cd  numpy-2.1.3-cp313-cp313-win32.whl
8b7f290784c95cf620e0ac1af5470f1d  numpy-2.1.3-cp313-cp313-win_amd64.whl
4f0c3f8c81cb6bd43a9f1f7bef7db82d  numpy-2.1.3-cp313-cp313t-macosx_10_13_x86_64.whl
133905fd003c9504fc5bb9ce71e4103b  numpy-2.1.3-cp313-cp313t-macosx_11_0_arm64.whl
12fe4f265dbda251309f109cbcd46f07  numpy-2.1.3-cp313-cp313t-macosx_14_0_arm64.whl
b60e418506b969e6df2c0d600bf3c6d4  numpy-2.1.3-cp313-cp313t-macosx_14_0_x86_64.whl
c2b7160b748f4c1c483a7954e5024250  numpy-2.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8097ddb45c8c821085c19d940bcbe6de  numpy-2.1.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
209f55dc1ed6da23a5ea3e11ca962308  numpy-2.1.3-cp313-cp313t-musllinux_1_1_x86_64.whl
06a1792849b601c7bdd38e39bc5cb5f1  numpy-2.1.3-cp313-cp313t-musllinux_1_2_aarch64.whl
86630bf207e8cbe6933232cb2a47a6c0  numpy-2.1.3-cp313-cp313t-win32.whl
6af9109b82c0acdcf8b0e81dc0e4c517  numpy-2.1.3-cp313-cp313t-win_amd64.whl
c7e821e086346afc0078acb237f30431  numpy-2.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
5b938b2da78b1c84044df8cdb2e8e63a  numpy-2.1.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
ef251f3b6aa022b1c2fac14889d6d9d3  numpy-2.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
356c7bb6067ae0dccc4a54efc1879e74  numpy-2.1.3-pp310-pypy310_pp73-win_amd64.whl
11096358375945114577a0c82b2c6038  numpy-2.1.3.tar.gz
SHA256
c894b4305373b9c5576d7a12b473702afdf48ce5369c074ba304cc5ad8730dff  numpy-2.1.3-cp310-cp310-macosx_10_9_x86_64.whl
b47fbb433d3260adcd51eb54f92a2ffbc90a4595f8970ee00e064c644ac788f5  numpy-2.1.3-cp310-cp310-macosx_11_0_arm64.whl
825656d0743699c529c5943554d223c021ff0494ff1442152ce887ef4f7561a1  numpy-2.1.3-cp310-cp310-macosx_14_0_arm64.whl
6a4825252fcc430a182ac4dee5a505053d262c807f8a924603d411f6718b88fd  numpy-2.1.3-cp310-cp310-macosx_14_0_x86_64.whl
e711e02f49e176a01d0349d82cb5f05ba4db7d5e7e0defd026328e5cfb3226d3  numpy-2.1.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
78574ac2d1a4a02421f25da9559850d59457bac82f2b8d7a44fe83a64f770098  numpy-2.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c7662f0e3673fe4e832fe07b65c50342ea27d989f92c80355658c7f888fcc83c  numpy-2.1.3-cp310-cp310-musllinux_1_1_x86_64.whl
fa2d1337dc61c8dc417fbccf20f6d1e139896a30721b7f1e832b2bb6ef4eb6c4  numpy-2.1.3-cp310-cp310-musllinux_1_2_aarch64.whl
72dcc4a35a8515d83e76b58fdf8113a5c969ccd505c8a946759b24e3182d1f23  numpy-2.1.3-cp310-cp310-win32.whl
ecc76a9ba2911d8d37ac01de72834d8849e55473457558e12995f4cd53e778e0  numpy-2.1.3-cp310-cp310-win_amd64.whl
4d1167c53b93f1f5d8a139a742b3c6f4d429b54e74e6b57d0eff40045187b15d  numpy-2.1.3-cp311-cp311-macosx_10_9_x86_64.whl
c80e4a09b3d95b4e1cac08643f1152fa71a0a821a2d4277334c88d54b2219a41  numpy-2.1.3-cp311-cp311-macosx_11_0_arm64.whl
576a1c1d25e9e02ed7fa5477f30a127fe56debd53b8d2c89d5578f9857d03ca9  numpy-2.1.3-cp311-cp311-macosx_14_0_arm64.whl
973faafebaae4c0aaa1a1ca1ce02434554d67e628b8d805e61f874b84e136b09  numpy-2.1.3-cp311-cp311-macosx_14_0_x86_64.whl
762479be47a4863e261a840e8e01608d124ee1361e48b96916f38b119cfda04a  numpy-2.1.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bc6f24b3d1ecc1eebfbf5d6051faa49af40b03be1aaa781ebdadcbc090b4539b  numpy-2.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
17ee83a1f4fef3c94d16dc1802b998668b5419362c8a4f4e8a491de1b41cc3ee  numpy-2.1.3-cp311-cp311-musllinux_1_1_x86_64.whl
15cb89f39fa6d0bdfb600ea24b250e5f1a3df23f901f51c8debaa6a5d122b2f0  numpy-2.1.3-cp311-cp311-musllinux_1_2_aarch64.whl
d9beb777a78c331580705326d2367488d5bc473b49a9bc3036c154832520aca9  numpy-2.1.3-cp311-cp311-win32.whl
d89dd2b6da69c4fff5e39c28a382199ddedc3a5be5390115608345dec660b9e2  numpy-2.1.3-cp311-cp311-win_amd64.whl
f55ba01150f52b1027829b50d70ef1dafd9821ea82905b63936668403c3b471e  numpy-2.1.3-cp312-cp312-macosx_10_13_x86_64.whl
13138eadd4f4da03074851a698ffa7e405f41a0845a6b1ad135b81596e4e9958  numpy-2.1.3-cp312-cp312-macosx_11_0_arm64.whl
a6b46587b14b888e95e4a24d7b13ae91fa22386c199ee7b418f449032b2fa3b8  numpy-2.1.3-cp312-cp312-macosx_14_0_arm64.whl
0fa14563cc46422e99daef53d725d0c326e99e468a9320a240affffe87852564  numpy-2.1.3-cp312-cp312-macosx_14_0_x86_64.whl
8637dcd2caa676e475503d1f8fdb327bc495554e10838019651b76d17b98e512  numpy-2.1.3-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2312b2aa89e1f43ecea6da6ea9a810d06aae08321609d8dc0d0eda6d946a541b  numpy-2.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a38c19106902bb19351b83802531fea19dee18e5b37b36454f27f11ff956f7fc  numpy-2.1.3-cp312-cp312-musllinux_1_1_x86_64.whl
02135ade8b8a84011cbb67dc44e07c58f28575cf9ecf8ab304e51c05528c19f0  numpy-2.1.3-cp312-cp312-musllinux_1_2_aarch64.whl
e6988e90fcf617da2b5c78902fe8e668361b43b4fe26dbf2d7b0f8034d4cafb9  numpy-2.1.3-cp312-cp312-win32.whl
0d30c543f02e84e92c4b1f415b7c6b5326cbe45ee7882b6b77db7195fb971e3a  numpy-2.1.3-cp312-cp312-win_amd64.whl
96fe52fcdb9345b7cd82ecd34547fca4321f7656d500eca497eb7ea5a926692f  numpy-2.1.3-cp313-cp313-macosx_10_13_x86_64.whl
f653490b33e9c3a4c1c01d41bc2aef08f9475af51146e4a7710c450cf9761598  numpy-2.1.3-cp313-cp313-macosx_11_0_arm64.whl
dc258a761a16daa791081d026f0ed4399b582712e6fc887a95af09df10c5ca57  numpy-2.1.3-cp313-cp313-macosx_14_0_arm64.whl
016d0f6f5e77b0f0d45d77387ffa4bb89816b57c835580c3ce8e099ef830befe  numpy-2.1.3-cp313-cp313-macosx_14_0_x86_64.whl
c181ba05ce8299c7aa3125c27b9c2167bca4a4445b7ce73d5febc411ca692e43  numpy-2.1.3-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5641516794ca9e5f8a4d17bb45446998c6554704d888f86df9b200e66bdcce56  numpy-2.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ea4dedd6e394a9c180b33c2c872b92f7ce0f8e7ad93e9585312b0c5a04777a4a  numpy-2.1.3-cp313-cp313-musllinux_1_1_x86_64.whl
b0df3635b9c8ef48bd3be5f862cf71b0a4716fa0e702155c45067c6b711ddcef  numpy-2.1.3-cp313-cp313-musllinux_1_2_aarch64.whl
50ca6aba6e163363f132b5c101ba078b8cbd3fa92c7865fd7d4d62d9779ac29f  numpy-2.1.3-cp313-cp313-win32.whl
747641635d3d44bcb380d950679462fae44f54b131be347d5ec2bce47d3df9ed  numpy-2.1.3-cp313-cp313-win_amd64.whl
996bb9399059c5b82f76b53ff8bb686069c05acc94656bb259b1d63d04a9506f  numpy-2.1.3-cp313-cp313t-macosx_10_13_x86_64.whl
45966d859916ad02b779706bb43b954281db43e185015df6eb3323120188f9e4  numpy-2.1.3-cp313-cp313t-macosx_11_0_arm64.whl
baed7e8d7481bfe0874b566850cb0b85243e982388b7b23348c6db2ee2b2ae8e  numpy-2.1.3-cp313-cp313t-macosx_14_0_arm64.whl
a9f7f672a3388133335589cfca93ed468509cb7b93ba3105fce780d04a6576a0  numpy-2.1.3-cp313-cp313t-macosx_14_0_x86_64.whl
d7aac50327da5d208db2eec22eb11e491e3fe13d22653dce51b0f4109101b408  numpy-2.1.3-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4394bc0dbd074b7f9b52024832d16e019decebf86caf909d94f6b3f77a8ee3b6  numpy-2.1.3-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
50d18c4358a0a8a53f12a8ba9d772ab2d460321e6a93d6064fc22443d189853f  numpy-2.1.3-cp313-cp313t-musllinux_1_1_x86_64.whl
14e253bd43fc6b37af4921b10f6add6925878a42a0c5fe83daee390bca80bc17  numpy-2.1.3-cp313-cp313t-musllinux_1_2_aarch64.whl
08788d27a5fd867a663f6fc753fd7c3ad7e92747efc73c53bca2f19f8bc06f48  numpy-2.1.3-cp313-cp313t-win32.whl
2564fbdf2b99b3f815f2107c1bbc93e2de8ee655a69c261363a1172a79a257d4  numpy-2.1.3-cp313-cp313t-win_amd64.whl
4f2015dfe437dfebbfce7c85c7b53d81ba49e71ba7eadbf1df40c915af75979f  numpy-2.1.3-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
3522b0dfe983a575e6a9ab3a4a4dfe156c3e428468ff08ce582b9bb6bd1d71d4  numpy-2.1.3-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
c006b607a865b07cd981ccb218a04fc86b600411d83d6fc261357f1c0966755d  numpy-2.1.3-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e14e26956e6f1696070788252dcdff11b4aca4c3e8bd166e0df1bb8f315a67cb  numpy-2.1.3-pp310-pypy310_pp73-win_amd64.whl
aa08e04e08aaf974d4458def539dece0d28146d866a39da5639596f4921fd761  numpy-2.1.3.tar.gz

v2.1.2

Compare Source

NumPy 2.1.2 Release Notes

NumPy 2.1.2 is a maintenance release that fixes bugs and regressions discovered after the 2.1.1 release.

The Python versions supported by this release are 3.10-3.13.

Contributors

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

  • Charles Harris
  • Chris Sidebottom
  • Ishan Koradia +
  • João Eiras +
  • Katie Rust +
  • Marten van Kerkwijk
  • Matti Picus
  • Nathan Goldbaum
  • Peter Hawkins
  • Pieter Eendebak
  • Slava Gorloff +

Pull requests merged

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

  • #​27333: MAINT: prepare 2.1.x for further development
  • #​27400: BUG: apply critical sections around populating the dispatch cache
  • #​27406: BUG: Stub out get_build_msvc_version if distutils.msvccompiler...
  • #​27416: BUILD: fix missing include for std::ptrdiff_t for C++23 language...
  • #​27433: BLD: pin setuptools to avoid breaking numpy.distutils
  • #​27437: BUG: Allow unsigned shift argument for np.roll
  • #​27439: BUG: Disable SVE VQSort
  • #​27471: BUG: rfftn axis bug
  • #​27479: BUG: Fix extra decref of PyArray_UInt8DType.
  • #​27480: CI: use PyPI not scientific-python-nightly-wheels for CI doc...
  • #​27481: MAINT: Check for SVE support on demand
  • #​27484: BUG: initialize the promotion state to be weak
  • #​27501: MAINT: Bump pypa/cibuildwheel from 2.20.0 to 2.21.2
  • #​27506: BUG: avoid segfault on bad arguments in ndarray.__array_function__

Checksums

MD5
4aae28b7919b126485c1aaccee37a6ba  numpy-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl
172614423a82ef73d8752ad8a59cbafc  numpy-2.1.2-cp310-cp310-macosx_11_0_arm64.whl
5ee5e7a8a892cbe96ee228ca5fe7546b  numpy-2.1.2-cp310-cp310-macosx_14_0_arm64.whl
9ce6f9222dfabd32e66b883f1fe015aa  numpy-2.1.2-cp310-cp310-macosx_14_0_x86_64.whl
291da8bfeb7c9a3491ec35ecb2596335  numpy-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9317d9b049f09c0193f074a6458cf79b  numpy-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1f2c121533715d8b099d6498e4498f81  numpy-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl
2834df46e2cb2e81cbe4fd1ce9b96b4b  numpy-2.1.2-cp310-cp310-musllinux_1_2_aarch64.whl
cbc3ae2c176324fe2a9c04ec0aff181f  numpy-2.1.2-cp310-cp310-win32.whl
e4d74f9d188dc3fe7a65adf8c01e98cc  numpy-2.1.2-cp310-cp310-win_amd64.whl
cbcece9c21ed1daf60f3729a37b32266  numpy-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl
0e62474993ff6faca9c467f68cc16ceb  numpy-2.1.2-cp311-cp311-macosx_11_0_arm64.whl
8747e85e09b2000a0af5a8226740dc92  numpy-2.1.2-cp311-cp311-macosx_14_0_arm64.whl
34e7f3591ce81926518a36c92038a056  numpy-2.1.2-cp311-cp311-macosx_14_0_x86_64.whl
0ec3e617161b42d643aaa4b8d3e477f5  numpy-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e2a6a419b4672bfb4f3f6a98c0e575bb  numpy-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8c14b4d03fc8672e43eddd3ede89be09  numpy-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl
dc183e12b24317bf210fb093da598d29  numpy-2.1.2-cp311-cp311-musllinux_1_2_aarch64.whl
4918f2c32ca3be20c7c5d8551e649757  numpy-2.1.2-cp311-cp311-win32.whl
a8991919b6fae3c7a77c260f60a5e2e2  numpy-2.1.2-cp311-cp311-win_amd64.whl
879f307d16f9222c49508be5ea6491fc  numpy-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl
fe9dfac7bee0cff178737e1706aee61a  numpy-2.1.2-cp312-cp312-macosx_11_0_arm64.whl
1f0c671db3294f4df8bffedc41a2e37f  numpy-2.1.2-cp312-cp312-macosx_14_0_arm64.whl
d131c4bd6ba29b05a5b7fa74e87a0506  numpy-2.1.2-cp312-cp312-macosx_14_0_x86_64.whl
8f9cca33590be334d44cc026a3716966  numpy-2.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3692a9290dd430e56e1b15387c25b7af  numpy-2.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3549439284dbb1a05785b535c3de60d9  numpy-2.1.2-cp312-cp312-musllinux_1_1_x86_64.whl
b9934410f20505e5c4b70974cd8fdc26  numpy-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl
96759e3380e4893b9b88d5d498d856b2  numpy-2.1.2-cp312-cp312-win32.whl
f94c7405ed72a136e374ab82400fefdc  numpy-2.1.2-cp312-cp312-win_amd64.whl
2ea775cb4da02f39edf3089af60bddd5  numpy-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl
354d0970154dd002573f4291e0e9de76  numpy-2.1.2-cp313-cp313-macosx_11_0_arm64.whl
bbfee75640b337e12f894d0b54727d66  numpy-2.1.2-cp313-cp313-macosx_14_0_arm64.whl
a443fff50571df87f687ad55c9060d25  numpy-2.1.2-cp313-cp313-macosx_14_0_x86_64.whl
9f8cd7de5b5aa5ad8ba52608a4b0a3b8  numpy-2.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c198fe3deaa77fb94d15284b4e26b875  numpy-2.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0a59171c983fc2d8ea599bdf382c3d6a  numpy-2.1.2-cp313-cp313-musllinux_1_1_x86_64.whl
5ba974cd59fb8c9fc94787c754a5f636  numpy-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl
93d5c642606fe8abeff0e6db31ebe88f  numpy-2.1.2-cp313-cp313-win32.whl
f6455bb4311ddde071a5ea2e14016003  numpy-2.1.2-cp313-cp313-win_amd64.whl
d2a21857c924d4b1b3c8ae8a9e9b9bb4  numpy-2.1.2-cp313-cp313t-macosx_10_13_x86_64.whl
cd6afcbd05835255750a2fba6012c565  numpy-2.1.2-cp313-cp313t-macosx_11_0_arm64.whl
d2fab663ea84f1cfe13dfc00dae74fb6  numpy-2.1.2-cp313-cp313t-macosx_14_0_arm64.whl
9477b923000d63617324c487a4ce0e28  numpy-2.1.2-cp313-cp313t-macosx_14_0_x86_64.whl
84b621a2c9a8c077bc9c471abd2b3933  numpy-2.1.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b1c341c7192d03e8f0f5e7c4b9b6f894  numpy-2.1.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b59750ea55cf274854f64109bf67a112  numpy-2.1.2-cp313-cp313t-musllinux_1_1_x86_64.whl
33f4d63f81ad85c1ea873197f2189d89  numpy-2.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl
f26a9ac42953c84c94f8203b2dbc61c0  numpy-2.1.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
e7cf2857582d507dfa3e8644dd3562a6  numpy-2.1.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
9e3d44cb302c629c00fde8f25809b04d  numpy-2.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3f97ee2d9962cf9d84624f725bdd2a8f  numpy-2.1.2-pp310-pypy310_pp73-win_amd64.whl
3d92e07d34f60dbac6b82a0982a98757  numpy-2.1.2.tar.gz
SHA256
30d53720b726ec36a7f88dc873f0eec8447fbc93d93a8f079dfac2629598d6ee  numpy-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl
e8d3ca0a72dd8846eb6f7dfe8f19088060fcb76931ed592d29128e0219652884  numpy-2.1.2-cp310-cp310-macosx_11_0_arm64.whl
fc44e3c68ff00fd991b59092a54350e6e4911152682b4782f68070985aa9e648  numpy-2.1.2-cp310-cp310-macosx_14_0_arm64.whl
7c1c60328bd964b53f8b835df69ae8198659e2b9302ff9ebb7de4e5a5994db3d  numpy-2.1.2-cp310-cp310-macosx_14_0_x86_64.whl
6cdb606a7478f9ad91c6283e238544451e3a95f30fb5467fbf715964341a8a86  numpy-2.1.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d666cb72687559689e9906197e3bec7b736764df6a2e58ee265e360663e9baf7  numpy-2.1.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c6eef7a2dbd0abfb0d9eaf78b73017dbfd0b54051102ff4e6a7b2980d5ac1a03  numpy-2.1.2-cp310-cp310-musllinux_1_1_x86_64.whl
12edb90831ff481f7ef5f6bc6431a9d74dc0e5ff401559a71e5e4611d4f2d466  numpy-2.1.2-cp310-cp310-musllinux_1_2_aarch64.whl
a65acfdb9c6ebb8368490dbafe83c03c7e277b37e6857f0caeadbbc56e12f4fb  numpy-2.1.2-cp310-cp310-win32.whl
860ec6e63e2c5c2ee5e9121808145c7bf86c96cca9ad396c0bd3e0f2798ccbe2  numpy-2.1.2-cp310-cp310-win_amd64.whl
b42a1a511c81cc78cbc4539675713bbcf9d9c3913386243ceff0e9429ca892fe  numpy-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl
faa88bc527d0f097abdc2c663cddf37c05a1c2f113716601555249805cf573f1  numpy-2.1.2-cp311-cp311-macosx_11_0_arm64.whl
c82af4b2ddd2ee72d1fc0c6695048d457e00b3582ccde72d8a1c991b808bb20f  numpy-2.1.2-cp311-cp311-macosx_14_0_arm64.whl
13602b3174432a35b16c4cfb5de9a12d229727c3dd47a6ce35111f2ebdf66ff4  numpy-2.1.2-cp311-cp311-macosx_14_0_x86_64.whl
1ebec5fd716c5a5b3d8dfcc439be82a8407b7b24b230d0ad28a81b61c2f4659a  numpy-2.1.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e2b49c3c0804e8ecb05d59af8386ec2f74877f7ca8fd9c1e00be2672e4d399b1  numpy-2.1.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2cbba4b30bf31ddbe97f1c7205ef976909a93a66bb1583e983adbd155ba72ac2  numpy-2.1.2-cp311-cp311-musllinux_1_1_x86_64.whl
8e00ea6fc82e8a804433d3e9cedaa1051a1422cb6e443011590c14d2dea59146  numpy-2.1.2-cp311-cp311-musllinux_1_2_aarch64.whl
5006b13a06e0b38d561fab5ccc37581f23c9511879be7693bd33c7cd15ca227c  numpy-2.1.2-cp311-cp311-win32.whl
f1eb068ead09f4994dec71c24b2844f1e4e4e013b9629f812f292f04bd1510d9  numpy-2.1.2-cp311-cp311-win_amd64.whl
d7bf0a4f9f15b32b5ba53147369e94296f5fffb783db5aacc1be15b4bf72f43b  numpy-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl
b1d0fcae4f0949f215d4632be684a539859b295e2d0cb14f78ec231915d644db  numpy-2.1.2-cp312-cp312-macosx_11_0_arm64.whl
f751ed0a2f250541e19dfca9f1eafa31a392c71c832b6bb9e113b10d050cb0f1  numpy-2.1.2-cp312-cp312-macosx_14_0_arm64.whl
bd33f82e95ba7ad632bc57837ee99dba3d7e006536200c4e9124089e1bf42426  numpy-2.1.2-cp312-cp312-macosx_14_0_x86_64.whl
1b8cde4f11f0a975d1fd59373b32e2f5a562ade7cde4f85b7137f3de8fbb29a0  numpy-2.1.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6d95f286b8244b3649b477ac066c6906fbb2905f8ac19b170e2175d3d799f4df  numpy-2.1.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ab4754d432e3ac42d33a269c8567413bdb541689b02d93788af4131018cbf366  numpy-2.1.2-cp312-cp312-musllinux_1_1_x86_64.whl
e585c8ae871fd38ac50598f4763d73ec5497b0de9a0ab4ef5b69f01c6a046142  numpy-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl
9c6c754df29ce6a89ed23afb25550d1c2d5fdb9901d9c67a16e0b16eaf7e2550  numpy-2.1.2-cp312-cp312-win32.whl
456e3b11cb79ac9946c822a56346ec80275eaf2950314b249b512896c0d2505e  numpy-2.1.2-cp312-cp312-win_amd64.whl
a84498e0d0a1174f2b3ed769b67b656aa5460c92c9554039e11f20a05650f00d  numpy-2.1.2-cp313-cp313-macosx_10_13_x86_64.whl
4d6ec0d4222e8ffdab1744da2560f07856421b367928026fb540e1945f2eeeaf  numpy-2.1.2-cp313-cp313-macosx_11_0_arm64.whl
259ec80d54999cc34cd1eb8ded513cb053c3bf4829152a2e00de2371bd406f5e  numpy-2.1.2-cp313-cp313-macosx_14_0_arm64.whl
675c741d4739af2dc20cd6c6a5c4b7355c728167845e3c6b0e824e4e5d36a6c3  numpy-2.1.2-cp313-cp313-macosx_14_0_x86_64.whl
05b2d4e667895cc55e3ff2b56077e4c8a5604361fc21a042845ea3ad67465aa8  numpy-2.1.2-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
43cca367bf94a14aca50b89e9bc2061683116cfe864e56740e083392f533ce7a  numpy-2.1.2-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
76322dcdb16fccf2ac56f99048af32259dcc488d9b7e25b51e5eca5147a3fb98  numpy-2.1.2-cp313-cp313-musllinux_1_1_x86_64.whl
32e16a03138cabe0cb28e1007ee82264296ac0983714094380b408097a418cfe  numpy-2.1.2-cp313-cp313-musllinux_1_2_aarch64.whl
242b39d00e4944431a3cd2db2f5377e15b5785920421993770cddb89992c3f3a  numpy-2.1.2-cp313-cp313-win32.whl
f2ded8d9b6f68cc26f8425eda5d3877b47343e68ca23d0d0846f4d312ecaa445  numpy-2.1.2-cp313-cp313-win_amd64.whl
2ffef621c14ebb0188a8633348504a35c13680d6da93ab5cb86f4e54b7e922b5  numpy-2.1.2-cp313-cp313t-macosx_10_13_x86_64.whl
ad369ed238b1959dfbade9018a740fb9392c5ac4f9b5173f420bd4f37ba1f7a0  numpy-2.1.2-cp313-cp313t-macosx_11_0_arm64.whl
d82075752f40c0ddf57e6e02673a17f6cb0f8eb3f587f63ca1eaab5594da5b17  numpy-2.1.2-cp313-cp313t-macosx_14_0_arm64.whl
1600068c262af1ca9580a527d43dc9d959b0b1d8e56f8a05d830eea39b7c8af6  numpy-2.1.2-cp313-cp313t-macosx_14_0_x86_64.whl
a26ae94658d3ba3781d5e103ac07a876b3e9b29db53f68ed7df432fd033358a8  numpy-2.1.2-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
13311c2db4c5f7609b462bc0f43d3c465424d25c626d95040f073e30f7570e35  numpy-2.1.2-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2abbf905a0b568706391ec6fa15161fad0fb5d8b68d73c461b3c1bab6064dd62  numpy-2.1.2-cp313-cp313t-musllinux_1_1_x86_64.whl
ef444c57d664d35cac4e18c298c47d7b504c66b17c2ea91312e979fcfbdfb08a  numpy-2.1.2-cp313-cp313t-musllinux_1_2_aarch64.whl
bdd407c40483463898b84490770199d5714dcc9dd9b792f6c6caccc523c00952  numpy-2.1.2-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
da65fb46d4cbb75cb417cddf6ba5e7582eb7bb0b47db4b99c9fe5787ce5d91f5  numpy-2.1.2-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
1c193d0b0238638e6fc5f10f1b074a6993cb13b0b431f64079a509d63d3aa8b7  numpy-2.1.2-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a7d80b2e904faa63068ead63107189164ca443b42dd1930299e0d1cb041cec2e  numpy-2.1.2-pp310-pypy310_pp73-win_amd64.whl
13532a088217fa624c99b843eeb54640de23b3414b14aa66d023805eb731066c  numpy-2.1.2.tar.gz

v2.1.1

Compare Source

NumPy 2.1.1 Release Notes

NumPy 2.1.1 is a maintenance release that fixes bugs and regressions discovered after the 2.1.0 release.

The Python versions supported by this release are 3.10-3.13.

Contributors

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

  • Andrew Nelson
  • Charles Harris
  • Mateusz Sokół
  • Maximilian Weigand +
  • Nathan Goldbaum
  • Pieter Eendebak
  • Sebastian Berg

Pull requests merged

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

  • #​27236: REL: Prepare for the NumPy 2.1.0 release [wheel build]
  • #​27252: MAINT: prepare 2.1.x for further development
  • #​27259: BUG: revert unintended change in the return value of set_printoptions
  • #​27266: BUG: fix reference counting bug in __array_interface__ implementation...
  • #​27267: TST: Add regression test for missing descr in array-interface
  • #​27276: BUG: Fix #​27256 and #​27257
  • #​27278: BUG: Fix array_equal for numeric and non-numeric scalar types
  • #​27287: MAINT: Update maintenance/2.1.x after the 2.0.2 release
  • #​27303: BLD: cp311- macosx_arm64 wheels [wheel build]
  • #​27304: BUG: f2py: better handle filtering of public/private subroutines

Checksums

MD5
3053a97400db800b7377749e691eb39e  numpy-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl
84b752a2220dce7c96ff89eef4f4aec3  numpy-2.1.1-cp310-cp310-macosx_11_0_arm64.whl
47ed4f704a64261f07ca24ef2e674524  numpy-2.1.1-cp310-cp310-macosx_14_0_arm64.whl
b8a45caa870aee980c298053cf064d28  numpy-2.1.1-cp310-cp310-macosx_14_0_x86_64.whl
e097ad5eee572b791b4a25eedad6df4a  numpy-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ae502c99315884cda7f0236a07c035c4  numpy-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
841a859d975c55090c0b60b72aab93a3  numpy-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl
d51be2b17f5b87aac64ab80fdfafc85e  numpy-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl
1f8249bd725397c6233fe6a0e8ad18b1  numpy-2.1.1-cp310-cp310-win32.whl
d38d6f06589c1ec104a6a31ff6035781  numpy-2.1.1-cp310-cp310-win_amd64.whl
6a18fe3029aae00986975250313bf16f  numpy-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl
5b0b3aa01fbd0b5a8b0f354bb878351e  numpy-2.1.1-cp311-cp311-macosx_11_0_arm64.whl
1c492dad399abe7b97274b4c6c12ae53  numpy-2.1.1-cp311-cp311-macosx_14_0_arm64.whl
4d55d91e71b62eb5fa6561c606524f60  numpy-2.1.1-cp311-cp311-macosx_14_0_x86_64.whl
88e99ecd063c178f25bc08d20792a9bf  numpy-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f3c8b0e4fb059b9219e8ec86d9fda861  numpy-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
df632b5fed7eb78d39e7194d2475c19b  numpy-2.1.1-cp311-cp311-musllinux_1_1_x86_64.whl
65499daccdb178d26e322d9f359cf146  numpy-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl
eb97327fd7aa6027e2409d0dcca1129a  numpy-2.1.1-cp311-cp311-win32.whl
9e4b05b38cbff22c2bdfead528b9d2bc  numpy-2.1.1-cp311-cp311-win_amd64.whl
6b8a359bb865b5c624fd9ffc848393e1  numpy-2.1.1-cp312-cp312-macosx_10_9_x86_64.whl
eaf8dce312efa2b0f17ad46612fb1681  numpy-2.1.1-cp312-cp312-macosx_11_0_arm64.whl
c861ff048b336284fe7c0791b1a6b0b4  numpy-2.1.1-cp312-cp312-macosx_14_0_arm64.whl
7e1befccfe729dc5d6c450a5fb6b801c  numpy-2.1.1-cp312-cp312-macosx_14_0_x86_64.whl
ea0a401ef653a167221987a10cbef260  numpy-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
97326ac792d26f2e536a519c82f2d6bc  numpy-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fdd2a82232c03d11bbc7cec0a8e01ab0  numpy-2.1.1-cp312-cp312-musllinux_1_1_x86_64.whl
0d6716e9a7b2c0d6e5ace9c01b9bca01  numpy-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl
ba589ed2a79c88187c3b8574ae72a1c7  numpy-2.1.1-cp312-cp312-win32.whl
806ca7c1e2a2013b786edbb619f6da47  numpy-2.1.1-cp312-cp312-win_amd64.whl
647665353e5af5884df4e51610990c22  numpy-2.1.1-cp313-cp313-macosx_10_13_x86_64.whl
bfd3b3c5c4616ef99d917bd94d39114a  numpy-2.1.1-cp313-cp313-macosx_11_0_arm64.whl
cb989095f9c74e3b32250a984390faeb  numpy-2.1.1-cp313-cp313-macosx_14_0_arm64.whl
55ad7548e58f61b9a4f91749e36d237f  numpy-2.1.1-cp313-cp313-macosx_14_0_x86_64.whl
5bc73d67dd1032524bfd36ef877b09e4  numpy-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c7dfb09db8284cb75296f708c3f77ea3  numpy-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7cf90ce1b844a97aeea1a5b8c71fb49b  numpy-2.1.1-cp313-cp313-musllinux_1_1_x86_64.whl
6ec8baeac5f979a3b98017679d457bbc  numpy-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl
1f198cb5210c76faae81359a83d58230  numpy-2.1.1-cp313-cp313-win32.whl
1766258213ad41f7e36f2209ee6d2a30  numpy-2.1.1-cp313-cp313-win_amd64.whl
f0a7a0456308dbeb739ad886f1632f16  numpy-2.1.1-cp313-cp313t-macosx_10_13_x86_64.whl
302c9cf7b4aa695974500ee1935a92c9  numpy-2.1.1-cp313-cp313t-macosx_11_0_arm64.whl
f4aa7d784992abb9bd9fe9db09c01c06  numpy-2.1.1-cp313-cp313t-macosx_14_0_arm64.whl
3bb4ae9906499609769f1774438149a5  numpy-2.1.1-cp313-cp313t-macosx_14_0_x86_64.whl
ff6b9e1993d3d540074736014b1d13af  numpy-2.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
749489c091ee9c00abf1ad1ef822c3ca  numpy-2.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
32d2daf4064031f365ced5036757ad8b  numpy-2.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl
603dfe4ef56c01e1fc0dcc9d5e3090ed  numpy-2.1.1-cp313-cp313t-musllinux_1_2_aarch64.whl
70fa2d3b78633bb6061c90e17364f27f  numpy-2.1.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
9a430be5d14b689ed051eccc540dfbdc  numpy-2.1.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
7291ff124e471d32c03464da18ff108d  numpy-2.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e56ce141724af119c7c647a8705827a5  numpy-2.1.1-pp310-pypy310_pp73-win_amd64.whl
f63b4750618bfa5490f10cae37fde998  numpy-2.1.1.tar.gz
SHA256
c8a0e34993b510fc19b9a2ce7f31cb8e94ecf6e924a40c0c9dd4f62d0aac47d9  numpy-2.1.1-cp310-cp310-macosx_10_9_x86_64.whl
7dd86dfaf7c900c0bbdcb8b16e2f6ddf1eb1fe39c6c8cca6e94844ed3152a8fd  numpy-2.1.1-cp310-cp310-macosx_11_0_arm64.whl
5889dd24f03ca5a5b1e8a90a33b5a0846d8977565e4ae003a63d22ecddf6782f  numpy-2.1.1-cp310-cp310-macosx_14_0_arm64.whl
59ca673ad11d4b84ceb385290ed0ebe60266e356641428c845b39cd9df6713ab  numpy-2.1.1-cp310-cp310-macosx_14_0_x86_64.whl
13ce49a34c44b6de5241f0b38b07e44c1b2dcacd9e36c30f9c2fcb1bb5135db7  numpy-2.1.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
913cc1d311060b1d409e609947fa1b9753701dac96e6581b58afc36b7ee35af6  numpy-2.1.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
caf5d284ddea7462c32b8d4a6b8af030b6c9fd5332afb70e7414d7fdded4bfd0  numpy-2.1.1-cp310-cp310-musllinux_1_1_x86_64.whl
57eb525e7c2a8fdee02d731f647146ff54ea8c973364f3b850069ffb42799647  numpy-2.1.1-cp310-cp310-musllinux_1_2_aarch64.whl
9a8e06c7a980869ea67bbf551283bbed2856915f0a792dc32dd0f9dd2fb56728  numpy-2.1.1-cp310-cp310-win32.whl
d10c39947a2d351d6d466b4ae83dad4c37cd6c3cdd6d5d0fa797da56f710a6ae  numpy-2.1.1-cp310-cp310-win_amd64.whl
0d07841fd284718feffe7dd17a63a2e6c78679b2d386d3e82f44f0108c905550  numpy-2.1.1-cp311-cp311-macosx_10_9_x86_64.whl
b5613cfeb1adfe791e8e681128f5f49f22f3fcaa942255a6124d58ca59d9528f  numpy-2.1.1-cp311-cp311-macosx_11_0_arm64.whl
0b8cc2715a84b7c3b161f9ebbd942740aaed913584cae9cdc7f8ad5ad41943d0  numpy-2.1.1-cp311-cp311-macosx_14_0_arm64.whl
b49742cdb85f1f81e4dc1b39dcf328244f4d8d1ded95dea725b316bd2cf18c95  numpy-2.1.1-cp311-cp311-macosx_14_0_x86_64.whl
e8d5f8a8e3bc87334f025194c6193e408903d21ebaeb10952264943a985066ca  numpy-2.1.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d51fc141ddbe3f919e91a096ec739f49d686df8af254b2053ba21a910ae518bf  numpy-2.1.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
98ce7fb5b8063cfdd86596b9c762bf2b5e35a2cdd7e967494ab78a1fa7f8b86e  numpy-2.1.1-cp311-cp311-musllinux_1_1_x86_64.whl
24c2ad697bd8593887b019817ddd9974a7f429c14a5469d7fad413f28340a6d2  numpy-2.1.1-cp311-cp311-musllinux_1_2_aarch64.whl
397bc5ce62d3fb73f304bec332171535c187e0643e176a6e9421a6e3eacef06d  numpy-2.1.1-cp311-cp311-win32.whl
ae8ce252404cdd4de56dcfce8b11eac3c594a9c16c231d081fb705cf23bd4d9e  numpy-2.1.1-cp311-cp311-win_amd64.whl
7c803b7934a7f59563db459292e6aa078bb38b7ab1446ca38dd138646a38203e  numpy-2.1.1-cp312-cp312-macosx_10_9_x86_64.whl
6435c48250c12f001920f0751fe50c0348f5f240852cfddc5e2f97e007544cbe  numpy-2.1.1-cp312-cp312-macosx_11_0_arm64.whl
3269c9eb8745e8d975980b3a7411a98976824e1fdef11f0aacf76147f662b15f  numpy-2.1.1-cp312-cp312-macosx_14_0_arm64.whl
fac6e277a41163d27dfab5f4ec1f7a83fac94e170665a4a50191b545721c6521  numpy-2.1.1-cp312-cp312-macosx_14_0_x86_64.whl
fcd8f556cdc8cfe35e70efb92463082b7f43dd7e547eb071ffc36abc0ca4699b  numpy-2.1.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d2b9cd92c8f8e7b313b80e93cedc12c0112088541dcedd9197b5dee3738c1201  numpy-2.1.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
afd9c680df4de71cd58582b51e88a61feed4abcc7530bcd3d48483f20fc76f2a  numpy-2.1.1-cp312-cp312-musllinux_1_1_x86_64.whl
8661c94e3aad18e1ea17a11f60f843a4933ccaf1a25a7c6a9182af70610b2313  numpy-2.1.1-cp312-cp312-musllinux_1_2_aarch64.whl
950802d17a33c07cba7fd7c3dcfa7d64705509206be1606f196d179e539111ed  numpy-2.1.1-cp312-cp312-win32.whl
3fc5eabfc720db95d68e6646e88f8b399bfedd235994016351b1d9e062c4b270  numpy-2.1.1-cp312-cp312-win_amd64.whl
046356b19d7ad1890c751b99acad5e82dc4a02232013bd9a9a712fddf8eb60f5  numpy-2.1.1-cp313-cp313-macosx_10_13_x86_64.whl
6e5a9cb2be39350ae6c8f79410744e80154df658d5bea06e06e0ac5bb75480d5  numpy-2.1.1-cp313-cp313-macosx_11_0_arm64.whl
d4c57b68c8ef5e1ebf47238e99bf27657511ec3f071c465f6b1bccbef12d4136  numpy-2.1.1-cp313-cp313-macosx_14_0_arm64.whl
8ae0fd135e0b157365ac7cc31fff27f07a5572bdfc38f9c2d43b2aff416cc8b0  numpy-2.1.1-cp313-cp313-macosx_14_0_x86_64.whl
981707f6b31b59c0c24bcda52e5605f9701cb46da4b86c2e8023656ad3e833cb  numpy-2.1.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2ca4b53e1e0b279142113b8c5eb7d7a877e967c306edc34f3b58e9be12fda8df  numpy-2.1.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e097507396c0be4e547ff15b13dc3866f45f3680f789c1a1301b07dadd3fbc78  numpy-2.1.1-cp313-cp313-musllinux_1_1_x86_64.whl
f7506387e191fe8cdb267f912469a3cccc538ab108471291636a96a54e599556  numpy-2.1.1-cp313-cp313-musllinux_1_2_aarch64.whl
251105b7c42abe40e3a689881e1793370cc9724ad50d64b30b358bbb3a97553b  numpy-2.1.1-cp313-cp313-win32.whl
f212d4f46b67ff604d11fff7cc62d36b3e8714edf68e44e9760e19be38c03eb0  numpy-2.1.1-cp313-cp313-win_amd64.whl
920b0911bb2e4414c50e55bd658baeb78281a47feeb064ab40c2b66ecba85553  numpy-2.1.1-cp313-cp313t-macosx_10_13_x86_64.whl
bab7c09454460a487e631ffc0c42057e3d8f2a9ddccd1e60c7bb8ed774992480  numpy-2.1.1-cp313-cp313t-macosx_11_0_arm64.whl
cea427d1350f3fd0d2818ce7350095c1a2ee33e30961d2f0fef48576ddbbe90f  numpy-2.1.1-cp313-cp313t-macosx_14_0_arm64.whl
e30356d530528a42eeba51420ae8bf6c6c09559051887196599d96ee5f536468  numpy-2.1.1-cp313-cp313t-macosx_14_0_x86_64.whl
e8dfa9e94fc127c40979c3eacbae1e61fda4fe71d84869cc129e2721973231ef  numpy-2.1.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
910b47a6d0635ec1bd53b88f86120a52bf56dcc27b51f18c7b4a2e2224c29f0f  numpy-2.1.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
13cc11c00000848702322af4de0147ced365c81d66053a67c2e962a485b3717c  numpy-2.1.1-cp313-cp313t-musllinux_1_1_x86_64.whl
53e27293b3a2b661c03f79aa51c3987492bd4641ef933e366e0f9f6c9bf257ec  numpy-2.1.1-cp313-cp313t-musllinux_1_2_aarch64.whl
7be6a07520b88214ea85d8ac8b7d6d8a1839b0b5cb87412ac9f49fa934eb15d5  numpy-2.1.1-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
52ac2e48f5ad847cd43c4755520a2317f3380213493b9d8a4c5e37f3b87df504  numpy-2.1.1-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
50a95ca3560a6058d6ea91d4629a83a897ee27c00630aed9d933dff191f170cd  numpy-2.1.1-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
99f4a9ee60eed1385a86e82288971a51e71df052ed0b2900ed30bc840c0f2e39  numpy-2.1.1-pp310-pypy310_pp73-win_amd64.whl
d0cf7d55b1051387807405b3898efafa862997b4cba8aa5dbe657be794afeafd  numpy-2.1.1.tar.gz

v2.1.0

Compare Source

NumPy 2.1.0 Release Notes

NumPy 2.1.0 provides support for the upcoming Python 3.13 release and drops support for Python 3.9. In addition to the usual bug fixes and updated Python support, it helps get us back into our usual release cycle after the extended development of 2.0. The highlights for this release are:

  • Support for the array-api 2023.12 standard.
  • Support for Python 3.13.
  • Preliminary support for free threaded Python 3.13.

Python versions 3.10-3.13 are supported in this release.

New functions

New function numpy.unstack

A new function np.unstack(array, axis=...) was added, which splits an array into a tuple of arrays along an axis. It serves as the inverse of [numpy.stack]{.title-ref}.

(gh-26579)

Deprecations

  • The fix_imports keyword argument in numpy.save is deprecated. Since NumPy 1.17, numpy.save uses a pickle protocol that no longer supports Python 2, and ignored fix_imports keyword. This keyword is kept only for backward compatibility. It is now deprecated.

    (gh-26452)

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

    (gh-27076)

Expired deprecations

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

    (gh-26268)

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

    (gh-26611)

C API changes

API symbols now hidden but customizable

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

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

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

(gh-26103)

Many shims removed from npy_3kcompat.h

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

(gh-26842)

New PyUFuncObject field process_core_dims_func

The field process_core_dims_func was added to the structure PyUFuncObject. For generalized ufuncs, this field can be set to a function of type PyUFunc_ProcessCoreDimsFunc that will be called when the ufunc is called. It allows the ufunc author to check that core dimensions satisfy additional constraints, and to set output core dimension sizes if they have not been provided.

(gh-26908)

New Features

Preliminary Support for Free-Threaded CPython 3.13

CPython 3.13 will be available as an experimental free-threaded build. See https://py-free-threading.github.io, PEP 703 and the CPython 3.13 release notes for more detail about free-threaded Python.

NumPy 2.1 has preliminary support for the free-threaded build of CPython 3.13. This support was enabled by fixing a number of C thread-safety issues in NumPy. Before NumPy 2.1, NumPy used a large number of C global static variables to store runtime caches and other state. We have either refactored to avoid the need for global state, converted the global state to thread-local state, or added locking.

Support for free-threaded Python does not mean that NumPy is thread safe. Read-only shared access to ndarray should be safe. NumPy exposes shared mutable state and we have not added any locking to the array object itself to serialize access to shared state. Care must be taken in user code to avoid races if you would like to mutate the same array in multiple threads. It is certainly possible to crash NumPy by mutating an array simultaneously in multiple threads, for example by calling a ufunc and the resize method simultaneously. For now our guidance is: "don't do that". In the future we would like to provide stronger guarantees.

Object arrays in particular need special care, since the GIL previously provided locking for object array access and no longer does. See Issue #​27199 for more information about object arrays in the free-threaded build.

If you are interested in free-threaded Python, for example because you have a multiprocessing-based workflow that you are interested in running with Python threads, we encourage testing and experimentation.

If you run into problems that you suspect are because of NumPy, please open an issue, checking first if the bug also occurs in the "regular" non-free-threaded CPython 3.13 build. Many threading bugs can also occur in code that releases the GIL; disabling the GIL only makes it easier to hit threading bugs.

(gh-26157)

f2py can generate freethreading-compatible C extensions

Pass --freethreading-compatible to the f2py CLI tool to produce a C extension marked as compatible with the free threading CPython interpreter. Doing so prevents the interpreter from re-enabling the GIL at runtime when it imports the C extension. Note that f2py does not analyze fortran code for thread safety, so you must verify that the wrapped fortran code is thread safe before marking the extension as compatible.

(gh-26981)

  • numpy.reshape and numpy.ndarray.reshape now support shape and copy arguments.

    (gh-26292)

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

    (gh-26501)

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

    (gh-26580)

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

    (gh-26611)

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

    (gh-26724)

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

    (gh-26724)

  • numpy.astype now supports device argument.

    (gh-26724)

Improvements

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

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

(gh-12150)

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

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

(gh-26081)

np.quantile with method closest_observation chooses nearest even order statistic

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

(gh-26656)

lapack_lite is now thread safe

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

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

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

(gh-26750)

The numpy.printoptions context manager is now thread and async-safe

In prior versions of NumPy, the printoptions were defined using a combination of Python and C global variables. We have refactored so the state is stored in a python ContextVar, making the context manager thread and async-safe.

(gh-26846)

Type hinting numpy.polynomial

Starting from the 2.1 release, PEP 484 type annotations have been included for the functions and convenience classes in numpy.polynomial and its sub-packages.

(gh-26897)

Improved numpy.dtypes type hints

The type annotations for numpy.dtypes are now a better reflection of the runtime: The numpy.dtype type-aliases have been replaced with specialized dtype subtypes, and the previously missing annotations for numpy.dtypes.StringDType have been added.

(gh-27008)

Performance improvements and changes

  • numpy.save now uses pickle protocol version 4 for saving arrays with object dtype, which allows for pickle objects larger than 4GB and improves saving speed by about 5% for large arrays.

    (gh-26388)

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

    (gh-27147)

  • OpenBLAS on windows is linked without quadmath, simplifying licensing

    (gh-27147)

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

    (gh-27147)

ma.cov and ma.corrcoef are now significantly faster

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

(gh-26285)

Changes

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

    (gh-26313)

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

    (gh-26766)

ma.corrcoef may return a slightly different result

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

(gh-26285)

Cast-safety fixes in copyto and full

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

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

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

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

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

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

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

(gh-27091)

Checksums

MD5
2323404663c0b2a86362319d7526eb80  numpy-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl
3d4bca8d05eb1eba859e77ff8f91d843  numpy-2.1.0-cp310-cp310-macosx_11_0_arm64.whl
9bd065f147dbf3f2d59ab57bff4f0074  numpy-2.1.0-cp310-cp310-macosx_14_0_arm64.whl
47d177533511901cd6bf77f72cbd3d6e  numpy-2.1.0-cp310-cp310-macosx_14_0_x86_64.whl
530b7f38f64216f1322b39bc50f36c0c  numpy-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d2a3161a10811a675a29a63e25636d83  numpy-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4e9fb20b080f7931791da71708740b83  numpy-2.1.0-cp310-cp310-musllinux_1_1_x86_64.whl
776eb610795d63217980a36eb23bf268  numpy-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl
8328b9e2afa4013aaf3e4963349445e2  numpy-2.1.0-cp310-cp310-win32.whl
e3184b9979192c8d7b80deb2af16d6bb  numpy-2.1.0-cp310-cp310-win_amd64.whl
54571aef9d9081e35bebef10f8d64e75  numpy-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl
841dac2386c1da870a384b64cd31e32b  numpy-2.1.0-cp311-cp311-macosx_14_0_arm64.whl
0fe85239ebe336d2baaddcb0ed001dc7  numpy-2.1.0-cp311-cp311-macosx_14_0_x86_64.whl
772a55a6c46f7b643af4640c2ca68d70  numpy-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
64fefbc527229521cf2a516b778b8aa7  numpy-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5cdb3d262d8c513b0f08cd1b6ba48512  numpy-2.1.0-cp311-cp311-musllinux_1_1_x86_64.whl
16140f5de42e87d84b80c350fd014893  numpy-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl
5e37df534d167af1966e099e0be9d94a  numpy-2.1.0-cp311-cp311-win32.whl
ee443aa000621bed8bb2d6a94afd89b5  numpy-2.1.0-cp311-cp311-win_amd64.whl
d8c911fc34a8dad4ed821036563b5758  numpy-2.1.0-cp312-cp312-macosx_10_9_x86_64.whl
ec25d637c43ae8229052e62a4f40f2d2  numpy-2.1.0-cp312-cp312-macosx_11_0_arm64.whl
67c7abca3d0339f17a8543abc0e7bf11  numpy-2.1.0-cp312-cp312-macosx_14_0_arm64.whl
0d36ec6a64cbef1d727eb608a236ad2c  numpy-2.1.0-cp312-cp312-macosx_14_0_x86_64.whl
0eedab574a3b75ec237be910e9717153  numpy-2.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
73dd2a5d0c85007bf5fdb4b7f66b8451  numpy-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
94fb0cfbc647a34177c766570fad752b  numpy-2.1.0-cp312-cp312-musllinux_1_1_x86_64.whl
de3efbbcd792a1f82d0e3e175ea02ca9  numpy-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl
9a63ebbfb3c4c6eba77ef0723a5dc86f  numpy-2.1.0-cp312-cp312-win32.whl
c68bc27545ac68c54935a1d0278b18f6  numpy-2.1.0-cp312-cp312-win_amd64.whl
f2795bb974af42e2723e32af9b14b66d  numpy-2.1.0-cp313-cp313-macosx_10_13_x86_64.whl
2f7426b06a332ea7a20159f3c06d67d1  numpy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl
fcef18e031fc8588227023bac55d9636  numpy-2.1.0-cp313-cp313-macosx_14_0_arm64.whl
cbb5ca4dc798ea397344c93a2549e73e  numpy-2.1.0-cp313-cp313-macosx_14_0_x86_64.whl
573213bea3a67452a310355adc7c6aa1  numpy-2.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
24f8c8a1235aeaedb8f154a984b3c78b  numpy-2.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b2ef762c0ebb02b58a339c1e38f032b2  numpy-2.1.0-cp313-cp313-musllinux_1_1_x86_64.whl
50e68cbfeb330aff607969c30251632d  numpy-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl
21228342cd1b4ff8c7ec1aea45c07186  numpy-2.1.0-cp313-cp313-win32.whl
8d234b05f0c4faf7b9884a1f0f19c23d  numpy-2.1.0-cp313-cp313-win_amd64.whl
e0c19ca29fa8e8e051107cd36b978f05  numpy-2.1.0-cp313-cp313t-macosx_10_13_x86_64.whl
98756f2ff9adc2cf374c28db77e28312  numpy-2.1.0-cp313-cp313t-macosx_11_0_arm64.whl
69786349d1f392dc6ac3fe00271e941b  numpy-2.1.0-cp313-cp313t-macosx_14_0_arm64.whl
4d1481bcb17aaebfc785e005455da223  numpy-2.1.0-cp313-cp313t-macosx_14_0_x86_64.whl
1d403eda14369ab023d5ae1c15dce25c  numpy-2.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
cdeece2cd6508eeee5a4c3150b58ec59  numpy-2.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
85347b754d8324c508f7aeb7de243feb  numpy-2.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl
6ff18d36d0940de6c1cc962a61b44bd5  numpy-2.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl
2f7d60a99c236a8f909bd86b8ed1e3a4  numpy-2.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
dc610133d9f09e5b3d396859e75c5593  numpy-2.1.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
6a2883ee5b16ab5c031037cc63c20e9b  numpy-2.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c914ba2fe3fcdcd04c8fe6a8374ea5fb  numpy-2.1.0-pp310-pypy310_pp73-win_amd64.whl
4cb2230ffa1cc41329ae29bd69ee08de  numpy-2.1.0.tar.gz
SHA256
6326ab99b52fafdcdeccf602d6286191a79fe2fda0ae90573c5814cd2b0bc1b8  numpy-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl
0937e54c09f7a9a68da6889362ddd2ff584c02d015ec92672c099b61555f8911  numpy-2.1.0-cp310-cp310-macosx_11_0_arm64.whl
30014b234f07b5fec20f4146f69e13cfb1e33ee9a18a1879a0142fbb00d47673  numpy-2.1.0-cp310-cp310-macosx_14_0_arm64.whl
899da829b362ade41e1e7eccad2cf274035e1cb36ba73034946fccd4afd8606b  numpy-2.1.0-cp310-cp310-macosx_14_0_x86_64.whl
08801848a40aea24ce16c2ecde3b756f9ad756586fb2d13210939eb69b023f5b  numpy-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
398049e237d1aae53d82a416dade04defed1a47f87d18d5bd615b6e7d7e41d1f  numpy-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0abb3916a35d9090088a748636b2c06dc9a6542f99cd476979fb156a18192b84  numpy-2.1.0-cp310-cp310-musllinux_1_1_x86_64.whl
10e2350aea18d04832319aac0f887d5fcec1b36abd485d14f173e3e900b83e33  numpy-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl
f6b26e6c3b98adb648243670fddc8cab6ae17473f9dc58c51574af3e64d61211  numpy-2.1.0-cp310-cp310-win32.whl
f505264735ee074250a9c78247ee8618292091d9d1fcc023290e9ac67e8f1afa  numpy-2.1.0-cp310-cp310-win_amd64.whl
76368c788ccb4f4782cf9c842b316140142b4cbf22ff8db82724e82fe1205dce  numpy-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl
f8e93a01a35be08d31ae33021e5268f157a2d60ebd643cfc15de6ab8e4722eb1  numpy-2.1.0-cp311-cp311-macosx_14_0_arm64.whl
9523f8b46485db6939bd069b28b642fec86c30909cea90ef550373787f79530e  numpy-2.1.0-cp311-cp311-macosx_14_0_x86_64.whl
54139e0eb219f52f60656d163cbe67c31ede51d13236c950145473504fa208cb  numpy-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f5ebbf9fbdabed208d4ecd2e1dfd2c0741af2f876e7ae522c2537d404ca895c3  numpy-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
378cb4f24c7d93066ee4103204f73ed046eb88f9ad5bb2275bb9fa0f6a02bd36  numpy-2.1.0-cp311-cp311-musllinux_1_1_x86_64.whl
d8f699a709120b220dfe173f79c73cb2a2cab2c0b88dd59d7b49407d032b8ebd  numpy-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl
ffbd6faeb190aaf2b5e9024bac9622d2ee549b7ec89ef3a9373fa35313d44e0e  numpy-2.1.0-cp311-cp311-win32.whl
0af3a5987f59d9c529c022c8c2a64805b339b7ef506509fba7d0556649b9714b  numpy-2.1.0-cp311-cp311-win_amd64.whl
fe76d75b345dc045acdbc006adcb197cc680754afd6c259de60d358d60c93736  numpy-2.1.0-cp312-cp312-macosx_10_9_x86_64.whl
f358ea9e47eb3c2d6eba121ab512dfff38a88db719c38d1e67349af210bc7529  numpy-2.1.0-cp312-cp312-macosx_11_0_arm64.whl
dd94ce596bda40a9618324547cfaaf6650b1a24f5390350142499aa4e34e53d1  numpy-2.1.0-cp312-cp312-macosx_14_0_arm64.whl
b47c551c6724960479cefd7353656498b86e7232429e3a41ab83be4da1b109e8  numpy-2.1.0-cp312-cp312-macosx_14_0_x86_64.whl
a0756a179afa766ad7cb6f036de622e8a8f16ffdd55aa31f296c870b5679d745  numpy-2.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
24003ba8ff22ea29a8c306e61d316ac74111cebf942afbf692df65509a05f111  numpy-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b34fa5e3b5d6dc7e0a4243fa0f81367027cb6f4a7215a17852979634b5544ee0  numpy-2.1.0-cp312-cp312-musllinux_1_1_x86_64.whl
c4f982715e65036c34897eb598d64aef15150c447be2cfc6643ec7a11af06574  numpy-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl
c4cd94dfefbefec3f8b544f61286584292d740e6e9d4677769bc76b8f41deb02  numpy-2.1.0-cp312-cp312-win32.whl
a0cdef204199278f5c461a0bed6ed2e052998276e6d8ab2963d5b5c39a0500bc  numpy-2.1.0-cp312-cp312-win_amd64.whl
8ab81ccd753859ab89e67199b9da62c543850f819993761c1e94a75a814ed667  numpy-2.1.0-cp313-cp313-macosx_10_13_x86_64.whl
442596f01913656d579309edcd179a2a2f9977d9a14ff41d042475280fc7f34e  numpy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl
848c6b5cad9898e4b9ef251b6f934fa34630371f2e916261070a4eb9092ffd33  numpy-2.1.0-cp313-cp313-macosx_14_0_arm64.whl
54c6a63e9d81efe64bfb7bcb0ec64332a87d0b87575f6009c8ba67ea6374770b  numpy-2.1.0-cp313-cp313-macosx_14_0_x86_64.whl
652e92fc409e278abdd61e9505649e3938f6d04ce7ef1953f2ec598a50e7c195  numpy-2.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0ab32eb9170bf8ffcbb14f11613f4a0b108d3ffee0832457c5d4808233ba8977  numpy-2.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8fb49a0ba4d8f41198ae2d52118b050fd34dace4b8f3fb0ee34e23eb4ae775b1  numpy-2.1.0-cp313-cp313-musllinux_1_1_x86_64.whl
44e44973262dc3ae79e9063a1284a73e09d01b894b534a769732ccd46c28cc62  numpy-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl
ab83adc099ec62e044b1fbb3a05499fa1e99f6d53a1dde102b2d85eff66ed324  numpy-2.1.0-cp313-cp313-win32.whl
de844aaa4815b78f6023832590d77da0e3b6805c644c33ce94a1e449f16d6ab5  numpy-2.1.0-cp313-cp313-win_amd64.whl
343e3e152bf5a087511cd325e3b7ecfd5b92d369e80e74c12cd87826e263ec06  numpy-2.1.0-cp313-cp313t-macosx_10_13_x86_64.whl
f07fa2f15dabe91259828ce7d71b5ca9e2eb7c8c26baa822c825ce43552f4883  numpy-2.1.0-cp313-cp313t-macosx_11_0_arm64.whl
5474dad8c86ee9ba9bb776f4b99ef2d41b3b8f4e0d199d4f7304728ed34d0300  numpy-2.1.0-cp313-cp313t-macosx_14_0_arm64.whl
1f817c71683fd1bb5cff1529a1d085a57f02ccd2ebc5cd2c566f9a01118e3b7d  numpy-2.1.0-cp313-cp313t-macosx_14_0_x86_64.whl
3a3336fbfa0d38d3deacd3fe7f3d07e13597f29c13abf4d15c3b6dc2291cbbdd  numpy-2.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7a894c51fd8c4e834f00ac742abad73fc485df1062f1b875661a3c1e1fb1c2f6  numpy-2.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9156ca1f79fc4acc226696e95bfcc2b486f165a6a59ebe22b2c1f82ab190384a  numpy-2.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl
624884b572dff8ca8f60fab591413f077471de64e376b17d291b19f56504b2bb  numpy-2.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl
15ef8b2177eeb7e37dd5ef4016f30b7659c57c2c0b57a779f1d537ff33a72c7b  numpy-2.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
e5f0642cdf4636198a4990de7a71b693d824c56a757862230454629cf62e323d  numpy-2.1.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
f15976718c004466406342789f31b6673776360f3b1e3c575f25302d7e789575  numpy-2.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6c1de77ded79fef664d5098a66810d4d27ca0224e9051906e634b3f7ead134c2  numpy-2.1.0-pp310-pypy310_pp73-win_amd64.whl
7dc90da0081f7e1da49ec4e398ede6a8e9cc4f5ebe5f9e06b443ed889ee9aaa2  numpy-2.1.0.tar.gz

v2.0.2

Compare Source

NumPy 2.0.2 Release Notes

NumPy 2.0.2 is a maintenance release that fixes bugs and regressions discovered after the 2.0.1 release.

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

Contributors

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

  • Bruno Oliveira +
  • Charles Harris
  • Chris Sidebottom
  • Christian Heimes +
  • Christopher Sidebottom
  • Mateusz Sokół
  • Matti Picus
  • Nathan Goldbaum
  • Pieter Eendebak
  • Raghuveer Devulapalli
  • Ralf Gommers
  • Sebastian Berg
  • Yair Chuchem +

Pull requests merged

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

  • #​27000: REL: Prepare for the NumPy 2.0.1 release [wheel build]
  • #​27001: MAINT: prepare 2.0.x for further development
  • #​27021: BUG: cfuncs.py: fix crash when sys.stderr is not available
  • #​27022: DOC: Fix migration note for alltrue and sometrue
  • #​27061: BUG: use proper input and output descriptor in array_assign_subscript...
  • #​27073: BUG: Mirror VQSORT_ENABLED logic in Quicksort
  • #​27074: BUG: Bump Highway to latest master
  • #​27077: BUG: Off by one in memory overlap check
  • #​27122: BUG: Use the new npyv_loadable_stride_ functions for ldexp and...
  • #​27126: BUG: Bump Highway to latest
  • #​27128: BUG: add missing error handling in public_dtype_api.c
  • #​27129: BUG: fix another cast setup in array_assign_subscript
  • #​27130: BUG: Fix building NumPy in FIPS mode
  • #​27131: BLD: update vendored Meson for cross-compilation patches
  • #​27146: MAINT: Scipy openblas 0.3.27.44.4
  • #​27151: BUG: Do not accidentally store dtype metadata in np.save
  • #​27195: REV: Revert undef I and document it
  • #​27213: BUG: Fix NPY_RAVEL_AXIS on backwards compatible NumPy 2 builds
  • #​27279: BUG: Fix array_equal for numeric and non-numeric scalar types

Checksums

MD5
ae4bc199b56d20305984b7465d6fbdf1  numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl
ecce0a682c2ccaaa14500b87ffb69f63  numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl
a94f34bec8a62dab95ce9883a87a82a6  numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl
a0a26dadf73264d31b7a6952b816d7c8  numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl
972f4366651a1a2ef00f630595104d15  numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6cffef937fe67a3879abefd3d2c40fb8  numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3717a5deda20f465720717a1a7a293a6  numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl
e31136ecc97bb76b3cb7e86bfc9471ac  numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl
9703a02ca6b63ca53f83660d089f4294  numpy-2.0.2-cp310-cp310-win32.whl
12c097ef2c7492282a5514b5c4b68784  numpy-2.0.2-cp310-cp310-win_amd64.whl
f11d11bfa3aaf371d2e7fa0160e3208b  numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl
86fc67666fc6e27740fde7dacb19c484  numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl
5fd12e0dd7162ea9599c49bbb6e6730e  numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl
a40f473db729ea10ae401ce71899120a  numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl
36ea96e0be954896597543d726157eda  numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
cfa726b6d5445687020fc4d4f7191e42  numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
dfb9a7b7fe218e931b0dfb885a8250d6  numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl
d8bf100186e6cd1b2f27eb617ba9e581  numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl
4fe937eba0fc4d28a65c0ba571c809fc  numpy-2.0.2-cp311-cp311-win32.whl
a9a0f8e1bc4d825272514896e3b17f15  numpy-2.0.2-cp311-cp311-win_amd64.whl
5ef80ec3b2db487d89c590eb301a7aa4  numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl
1bb398d93422bb9baf63c958ed1aa492  numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl
cc8d990a1ad3f4d66d0143ea709ccc99  numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl
4fee57e854bc3e9a267e865740438d53  numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl
c2c18eef5118607c0b023f6267ee9774  numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2928ed26d7153a488bfb126424d86c8f  numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e32167073981b0a1a419aaaec741773e  numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl
80a10803a3122472c1bf6c4617d0d1c5  numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl
39724e27a003b6ce9b1bcbf251e50b4b  numpy-2.0.2-cp312-cp312-win32.whl
8319d0b3d23285d4698cbece73b23fde  numpy-2.0.2-cp312-cp312-win_amd64.whl
da0f655880bbcb53094816b77cd493d1  numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl
47347c028f6ccf47d6a22724111fc96f  numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl
26a5c8dec993258522fcef84ef0c040e  numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl
fe447af86983ef2262e605a941bd46af  numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl
96477b8563e6d4e2db710f4915a4c5e0  numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4e8255cdff60de62944aed1f4235ff68  numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
05d8465b87ca983eee044b66bc725391  numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl
dcf448ef80720bae7de6724f92499754  numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl
71557f67f24d39db709cc4ccb85ae5b5  numpy-2.0.2-cp39-cp39-win32.whl
f5dc31c5530037c4d1d990696b1d041c  numpy-2.0.2-cp39-cp39-win_amd64.whl
a8f814da1a4509724346c14cd838b5dc  numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
918f072481d014229dd5f0f5ba75306f  numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
fcbe2e38506fbbbeda509a89063563d3  numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b99eff795ca26f8a513aace76a45a356  numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl
d517a3be706295c4a4c8f75f5ee7b261  numpy-2.0.2.tar.gz
SHA256
51129a29dbe56f9ca83438b706e2e69a39892b5eda6cedcb6b0c9fdc9b0d3ece  numpy-2.0.2-cp310-cp310-macosx_10_9_x86_64.whl
f15975dfec0cf2239224d80e32c3170b1d168335eaedee69da84fbe9f1f9cd04  numpy-2.0.2-cp310-cp310-macosx_11_0_arm64.whl
8c5713284ce4e282544c68d1c3b2c7161d38c256d2eefc93c1d683cf47683e66  numpy-2.0.2-cp310-cp310-macosx_14_0_arm64.whl
becfae3ddd30736fe1889a37f1f580e245ba79a5855bff5f2a29cb3ccc22dd7b  numpy-2.0.2-cp310-cp310-macosx_14_0_x86_64.whl
2da5960c3cf0df7eafefd806d4e612c5e19358de82cb3c343631188991566ccd  numpy-2.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
496f71341824ed9f3d2fd36cf3ac57ae2e0165c143b55c3a035ee219413f3318  numpy-2.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a61ec659f68ae254e4d237816e33171497e978140353c0c2038d46e63282d0c8  numpy-2.0.2-cp310-cp310-musllinux_1_1_x86_64.whl
d731a1c6116ba289c1e9ee714b08a8ff882944d4ad631fd411106a30f083c326  numpy-2.0.2-cp310-cp310-musllinux_1_2_aarch64.whl
984d96121c9f9616cd33fbd0618b7f08e0cfc9600a7ee1d6fd9b239186d19d97  numpy-2.0.2-cp310-cp310-win32.whl
c7b0be4ef08607dd04da4092faee0b86607f111d5ae68036f16cc787e250a131  numpy-2.0.2-cp310-cp310-win_amd64.whl
49ca4decb342d66018b01932139c0961a8f9ddc7589611158cb3c27cbcf76448  numpy-2.0.2-cp311-cp311-macosx_10_9_x86_64.whl
11a76c372d1d37437857280aa142086476136a8c0f373b2e648ab2c8f18fb195  numpy-2.0.2-cp311-cp311-macosx_11_0_arm64.whl
807ec44583fd708a21d4a11d94aedf2f4f3c3719035c76a2bbe1fe8e217bdc57  numpy-2.0.2-cp311-cp311-macosx_14_0_arm64.whl
8cafab480740e22f8d833acefed5cc87ce276f4ece12fdaa2e8903db2f82897a  numpy-2.0.2-cp311-cp311-macosx_14_0_x86_64.whl
a15f476a45e6e5a3a79d8a14e62161d27ad897381fecfa4a09ed5322f2085669  numpy-2.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
13e689d772146140a252c3a28501da66dfecd77490b498b168b501835041f951  numpy-2.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9ea91dfb7c3d1c56a0e55657c0afb38cf1eeae4544c208dc465c3c9f3a7c09f9  numpy-2.0.2-cp311-cp311-musllinux_1_1_x86_64.whl
c1c9307701fec8f3f7a1e6711f9089c06e6284b3afbbcd259f7791282d660a15  numpy-2.0.2-cp311-cp311-musllinux_1_2_aarch64.whl
a392a68bd329eafac5817e5aefeb39038c48b671afd242710b451e76090e81f4  numpy-2.0.2-cp311-cp311-win32.whl
286cd40ce2b7d652a6f22efdfc6d1edf879440e53e76a75955bc0c826c7e64dc  numpy-2.0.2-cp311-cp311-win_amd64.whl
df55d490dea7934f330006d0f81e8551ba6010a5bf035a249ef61a94f21c500b  numpy-2.0.2-cp312-cp312-macosx_10_9_x86_64.whl
8df823f570d9adf0978347d1f926b2a867d5608f434a7cff7f7908c6570dcf5e  numpy-2.0.2-cp312-cp312-macosx_11_0_arm64.whl
9a92ae5c14811e390f3767053ff54eaee3bf84576d99a2456391401323f4ec2c  numpy-2.0.2-cp312-cp312-macosx_14_0_arm64.whl
a842d573724391493a97a62ebbb8e731f8a5dcc5d285dfc99141ca15a3302d0c  numpy-2.0.2-cp312-cp312-macosx_14_0_x86_64.whl
c05e238064fc0610c840d1cf6a13bf63d7e391717d247f1bf0318172e759e692  numpy-2.0.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0123ffdaa88fa4ab64835dcbde75dcdf89c453c922f18dced6e27c90d1d0ec5a  numpy-2.0.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
96a55f64139912d61de9137f11bf39a55ec8faec288c75a54f93dfd39f7eb40c  numpy-2.0.2-cp312-cp312-musllinux_1_1_x86_64.whl
ec9852fb39354b5a45a80bdab5ac02dd02b15f44b3804e9f00c556bf24b4bded  numpy-2.0.2-cp312-cp312-musllinux_1_2_aarch64.whl
671bec6496f83202ed2d3c8fdc486a8fc86942f2e69ff0e986140339a63bcbe5  numpy-2.0.2-cp312-cp312-win32.whl
cfd41e13fdc257aa5778496b8caa5e856dc4896d4ccf01841daee1d96465467a  numpy-2.0.2-cp312-cp312-win_amd64.whl
9059e10581ce4093f735ed23f3b9d283b9d517ff46009ddd485f1747eb22653c  numpy-2.0.2-cp39-cp39-macosx_10_9_x86_64.whl
423e89b23490805d2a5a96fe40ec507407b8ee786d66f7328be214f9679df6dd  numpy-2.0.2-cp39-cp39-macosx_11_0_arm64.whl
2b2955fa6f11907cf7a70dab0d0755159bca87755e831e47932367fc8f2f2d0b  numpy-2.0.2-cp39-cp39-macosx_14_0_arm64.whl
97032a27bd9d8988b9a97a8c4d2c9f2c15a81f61e2f21404d7e8ef00cb5be729  numpy-2.0.2-cp39-cp39-macosx_14_0_x86_64.whl
1e795a8be3ddbac43274f18588329c72939870a16cae810c2b73461c40718ab1  numpy-2.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f26b258c385842546006213344c50655ff1555a9338e2e5e02a0756dc3e803dd  numpy-2.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5fec9451a7789926bcf7c2b8d187292c9f93ea30284802a0ab3f5be8ab36865d  numpy-2.0.2-cp39-cp39-musllinux_1_1_x86_64.whl
9189427407d88ff25ecf8f12469d4d39d35bee1db5d39fc5c168c6f088a6956d  numpy-2.0.2-cp39-cp39-musllinux_1_2_aarch64.whl
905d16e0c60200656500c95b6b8dca5d109e23cb24abc701d41c02d74c6b3afa  numpy-2.0.2-cp39-cp39-win32.whl
a3f4ab0caa7f053f6797fcd4e1e25caee367db3112ef2b6ef82d749530768c73  numpy-2.0.2-cp39-cp39-win_amd64.whl
7f0a0c6f12e07fa94133c8a67404322845220c06a9e80e85999afe727f7438b8  numpy-2.0.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
312950fdd060354350ed123c0e25a71327d3711584beaef30cdaa93320c392d4  numpy-2.0.2-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
26df23238872200f63518dd2aa984cfca675d82469535dc7162dc2ee52d9dd5c  numpy-2.0.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a46288ec55ebbd58947d31d72be2c63cbf839f0a63b49cb755022310792a3385  numpy-2.0.2-pp39-pypy39_pp73-win_amd64.whl
883c987dee1880e2a864ab0dc9892292582510604156762362d9326444636e78  numpy-2.0.2.tar.gz

v2.0.1

Compare Source

NumPy 2.0.1 Release Notes

NumPy 2.0.1 is a maintenance release that fixes bugs and regressions discovered after the 2.0.0 release. NumPy 2.0.1 is the last planned release in the 2.0.x series, 2.1.0rc1 should be out shortly.

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

NOTE: Do not use the GitHub generated "Source code" files listed in the "Assets", they are garbage.

Improvements

np.quantile with method closest_observation chooses nearest even order statistic

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

(gh-26656)

Contributors

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

  • @​vahidmech +
  • Alex Herbert +
  • Charles Harris
  • Giovanni Del Monte +
  • Leo Singer
  • Lysandros Nikolaou
  • Matti Picus
  • Nathan Goldbaum
  • Patrick J. Roddy +
  • Raghuveer Devulapalli
  • Ralf Gommers
  • Rostan Tabet +
  • Sebastian Berg
  • Tyler Reddy
  • Yannik Wicke +

Pull requests merged

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

  • #​26711: MAINT: prepare 2.0.x for further development
  • #​26792: TYP: fix incorrect import in ma/extras.pyi stub
  • #​26793: DOC: Mention '1.25' legacy printing mode in set_printoptions
  • #​26794: DOC: Remove mention of NaN and NAN aliases from constants
  • #​26821: BLD: Fix x86-simd-sort build failure on openBSD
  • #​26822: BUG: Ensure output order follows input in numpy.fft
  • #​26823: TYP: fix missing sys import in numeric.pyi
  • #​26832: DOC: remove hack to override _add_newdocs_scalars
  • #​26835: BUG: avoid side-effect of 'include complex.h'
  • #​26836: BUG: fix max_rows and chunked string/datetime reading in loadtxt
  • #​26837: BUG: fix PyArray_ImportNumPyAPI under -Werror=strict-prototypes
  • #​26856: DOC: Update some documentation
  • #​26868: BUG: fancy indexing copy
  • #​26869: BUG: Mismatched allocation domains in PyArray_FillWithScalar
  • #​26870: BUG: Handle --f77flags and --f90flags for meson [wheel build]
  • #​26887: BUG: Fix new DTypes and new string promotion when signature is...
  • #​26888: BUG: remove numpy.f2py from excludedimports
  • #​26959: BUG: Quantile closest_observation to round to nearest even order
  • #​26960: BUG: Fix off-by-one error in amount of characters in strip
  • #​26961: API: Partially revert unique with return_inverse
  • #​26962: BUG,MAINT: Fix utf-8 character stripping memory access
  • #​26963: BUG: Fix out-of-bound minimum offset for in1d table method
  • #​26971: BUG: fix f2py tests to work with v2 API
  • #​26995: BUG: Add object cast to avoid warning with limited API

Checksums

MD5
a3e7d0f361ee7302448cae3c10844dd3  numpy-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl
cff8546b69e43ae7b5050f05bdc25df2  numpy-2.0.1-cp310-cp310-macosx_11_0_arm64.whl
1713d23342528f4f8f4027970f010068  numpy-2.0.1-cp310-cp310-macosx_14_0_arm64.whl
20020d28606ea58f986a262daa6018f1  numpy-2.0.1-cp310-cp310-macosx_14_0_x86_64.whl
db22154ea943a707917aebc79e449bc5  numpy-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fe86cd85f240216f64eb076a62a229d2  numpy-2.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e0ca08f85150af3cc6050d64e8c0bd27  numpy-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl
b76f432906f62e31f0e09c41f3f08b4c  numpy-2.0.1-cp310-cp310-musllinux_1_2_aarch64.whl
28e8109e4ef524fa5c272d6faec870ae  numpy-2.0.1-cp310-cp310-win32.whl
874beffaefdc73da42300ce691c2419c  numpy-2.0.1-cp310-cp310-win_amd64.whl
7bbe029f650c924e952da117842d456d  numpy-2.0.1-cp311-cp311-macosx_10_9_x86_64.whl
6d3d6ae26c520e93cef7f11ba3951f57  numpy-2.0.1-cp311-cp311-macosx_11_0_arm64.whl
de6082d719437eb7468ae31c407c503e  numpy-2.0.1-cp311-cp311-macosx_14_0_arm64.whl
d15a8d95661f8a1dfcc4eb089f9b46e8  numpy-2.0.1-cp311-cp311-macosx_14_0_x86_64.whl
c181105e074ee575ccf2c992e40f947a  numpy-2.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
00d22b299343fcdc78fbb0716ead6243  numpy-2.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d9c4f49dbedb3f3d0158f00db459bd25  numpy-2.0.1-cp311-cp311-musllinux_1_1_x86_64.whl
63caa03e0625327ad3a756e01c83a6ca  numpy-2.0.1-cp311-cp311-musllinux_1_2_aarch64.whl
99d01d768a115d448ca2b4680de15191  numpy-2.0.1-cp311-cp311-win32.whl
8d1a31eccc8b9f077312095b11f62cb2  numpy-2.0.1-cp311-cp311-win_amd64.whl
6cc86f7761a33941d8c1c552186e774b  numpy-2.0.1-cp312-cp312-macosx_10_9_x86_64.whl
67c48f352afff5f41108f1b9561d1d5c  numpy-2.0.1-cp312-cp312-macosx_11_0_arm64.whl
1068d4eadcac6a869e0e457853b7e611  numpy-2.0.1-cp312-cp312-macosx_14_0_arm64.whl
dfb667450315fddcf84381fc8ef16892  numpy-2.0.1-cp312-cp312-macosx_14_0_x86_64.whl
69822bbbbb65d8a7d00ae32b435f61cc  numpy-2.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
883ed6c41395fb2def6cc0d64dcb817f  numpy-2.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4b1e9fd464821a7d1de3a8ddf911311e  numpy-2.0.1-cp312-cp312-musllinux_1_1_x86_64.whl
79e6557f40b8ed8f5973b404d98eab3d  numpy-2.0.1-cp312-cp312-musllinux_1_2_aarch64.whl
85596f15d4cf85c2f78b4cc12c2cad1e  numpy-2.0.1-cp312-cp312-win32.whl
487c7c2944306f62b3770576ce903a91  numpy-2.0.1-cp312-cp312-win_amd64.whl
491093641afa21e65d6e629eb70571fc  numpy-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl
5008b16c20f3d7e5a0c7764712f8908e  numpy-2.0.1-cp39-cp39-macosx_11_0_arm64.whl
14633b898f863ea797c40ba1cf226c29  numpy-2.0.1-cp39-cp39-macosx_14_0_arm64.whl
9054ecb69d21b364e59e94aab24247cb  numpy-2.0.1-cp39-cp39-macosx_14_0_x86_64.whl
be028cf4bb691921943939de17593dd7  numpy-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9c440ad02ff0a954f696637de37aab2d  numpy-2.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
27aec0d286eabe26d8e9149f4572dba1  numpy-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl
b02eda82ee511ee27185c8a4073ea35c  numpy-2.0.1-cp39-cp39-musllinux_1_2_aarch64.whl
cf579b902325e023b2dc444692eb5991  numpy-2.0.1-cp39-cp39-win32.whl
302c8c3118a5f55d9ef35ed8e517f6b1  numpy-2.0.1-cp39-cp39-win_amd64.whl
34c17fe980accfb76c6f348f85b3cfef  numpy-2.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
02676eb84379b0a223288d6fd9d76942  numpy-2.0.1-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
b5300e6fe110bf69e1a8901c5c09e3f8  numpy-2.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
204a3ea7fb851e08d166c74f73f9b8a3  numpy-2.0.1-pp39-pypy39_pp73-win_amd64.whl
5df3c50fc124c3167404d396115898d0  numpy-2.0.1.tar.gz
SHA256
0fbb536eac80e27a2793ffd787895242b7f18ef792563d742c2d673bfcb75134  numpy-2.0.1-cp310-cp310-macosx_10_9_x86_64.whl
69ff563d43c69b1baba77af455dd0a839df8d25e8590e79c90fcbe1499ebde42  numpy-2.0.1-cp310-cp310-macosx_11_0_arm64.whl
1b902ce0e0a5bb7704556a217c4f63a7974f8f43e090aff03fcf262e0b135e02  numpy-2.0.1-cp310-cp310-macosx_14_0_arm64.whl
f1659887361a7151f89e79b276ed8dff3d75877df906328f14d8bb40bb4f5101  numpy-2.0.1-cp310-cp310-macosx_14_0_x86_64.whl
4658c398d65d1b25e1760de3157011a80375da861709abd7cef3bad65d6543f9  numpy-2.0.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4127d4303b9ac9f94ca0441138acead39928938660ca58329fe156f84b9f3015  numpy-2.0.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e5eeca8067ad04bc8a2a8731183d51d7cbaac66d86085d5f4766ee6bf19c7f87  numpy-2.0.1-cp310-cp310-musllinux_1_1_x86_64.whl
9adbd9bb520c866e1bfd7e10e1880a1f7749f1f6e5017686a5fbb9b72cf69f82  numpy-2.0.1-cp310-cp310-musllinux_1_2_aarch64.whl
7b9853803278db3bdcc6cd5beca37815b133e9e77ff3d4733c247414e78eb8d1  numpy-2.0.1-cp310-cp310-win32.whl
81b0893a39bc5b865b8bf89e9ad7807e16717f19868e9d234bdaf9b1f1393868  numpy-2.0.1-cp310-cp310-win_amd64.whl
75b4e316c5902d8163ef9d423b1c3f2f6252226d1aa5cd8a0a03a7d01ffc6268  numpy-2.0.1-cp311-cp311-macosx_10_9_x86_64.whl
6e4eeb6eb2fced786e32e6d8df9e755ce5be920d17f7ce00bc38fcde8ccdbf9e  numpy-2.0.1-cp311-cp311-macosx_11_0_arm64.whl
a1e01dcaab205fbece13c1410253a9eea1b1c9b61d237b6fa59bcc46e8e89343  numpy-2.0.1-cp311-cp311-macosx_14_0_arm64.whl
a8fc2de81ad835d999113ddf87d1ea2b0f4704cbd947c948d2f5513deafe5a7b  numpy-2.0.1-cp311-cp311-macosx_14_0_x86_64.whl
5a3d94942c331dd4e0e1147f7a8699a4aa47dffc11bf8a1523c12af8b2e91bbe  numpy-2.0.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
15eb4eca47d36ec3f78cde0a3a2ee24cf05ca7396ef808dda2c0ddad7c2bde67  numpy-2.0.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b83e16a5511d1b1f8a88cbabb1a6f6a499f82c062a4251892d9ad5d609863fb7  numpy-2.0.1-cp311-cp311-musllinux_1_1_x86_64.whl
1f87fec1f9bc1efd23f4227becff04bd0e979e23ca50cc92ec88b38489db3b55  numpy-2.0.1-cp311-cp311-musllinux_1_2_aarch64.whl
36d3a9405fd7c511804dc56fc32974fa5533bdeb3cd1604d6b8ff1d292b819c4  numpy-2.0.1-cp311-cp311-win32.whl
08458fbf403bff5e2b45f08eda195d4b0c9b35682311da5a5a0a0925b11b9bd8  numpy-2.0.1-cp311-cp311-win_amd64.whl
6bf4e6f4a2a2e26655717a1983ef6324f2664d7011f6ef7482e8c0b3d51e82ac  numpy-2.0.1-cp312-cp312-macosx_10_9_x86_64.whl
7d6fddc5fe258d3328cd8e3d7d3e02234c5d70e01ebe377a6ab92adb14039cb4  numpy-2.0.1-cp312-cp312-macosx_11_0_arm64.whl
5daab361be6ddeb299a918a7c0864fa8618af66019138263247af405018b04e1  numpy-2.0.1-cp312-cp312-macosx_14_0_arm64.whl
ea2326a4dca88e4a274ba3a4405eb6c6467d3ffbd8c7d38632502eaae3820587  numpy-2.0.1-cp312-cp312-macosx_14_0_x86_64.whl
529af13c5f4b7a932fb0e1911d3a75da204eff023ee5e0e79c1751564221a5c8  numpy-2.0.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6790654cb13eab303d8402354fabd47472b24635700f631f041bd0b65e37298a  numpy-2.0.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cbab9fc9c391700e3e1287666dfd82d8666d10e69a6c4a09ab97574c0b7ee0a7  numpy-2.0.1-cp312-cp312-musllinux_1_1_x86_64.whl
99d0d92a5e3613c33a5f01db206a33f8fdf3d71f2912b0de1739894668b7a93b  numpy-2.0.1-cp312-cp312-musllinux_1_2_aarch64.whl
173a00b9995f73b79eb0191129f2455f1e34c203f559dd118636858cc452a1bf  numpy-2.0.1-cp312-cp312-win32.whl
bb2124fdc6e62baae159ebcfa368708867eb56806804d005860b6007388df171  numpy-2.0.1-cp312-cp312-win_amd64.whl
bfc085b28d62ff4009364e7ca34b80a9a080cbd97c2c0630bb5f7f770dae9414  numpy-2.0.1-cp39-cp39-macosx_10_9_x86_64.whl
8fae4ebbf95a179c1156fab0b142b74e4ba4204c87bde8d3d8b6f9c34c5825ef  numpy-2.0.1-cp39-cp39-macosx_11_0_arm64.whl
72dc22e9ec8f6eaa206deb1b1355eb2e253899d7347f5e2fae5f0af613741d06  numpy-2.0.1-cp39-cp39-macosx_14_0_arm64.whl
ec87f5f8aca726117a1c9b7083e7656a9d0d606eec7299cc067bb83d26f16e0c  numpy-2.0.1-cp39-cp39-macosx_14_0_x86_64.whl
1f682ea61a88479d9498bf2091fdcd722b090724b08b31d63e022adc063bad59  numpy-2.0.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8efc84f01c1cd7e34b3fb310183e72fcdf55293ee736d679b6d35b35d80bba26  numpy-2.0.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3fdabe3e2a52bc4eff8dc7a5044342f8bd9f11ef0934fcd3289a788c0eb10018  numpy-2.0.1-cp39-cp39-musllinux_1_1_x86_64.whl
24a0e1befbfa14615b49ba9659d3d8818a0f4d8a1c5822af8696706fbda7310c  numpy-2.0.1-cp39-cp39-musllinux_1_2_aarch64.whl
f9cf5ea551aec449206954b075db819f52adc1638d46a6738253a712d553c7b4  numpy-2.0.1-cp39-cp39-win32.whl
e9e81fa9017eaa416c056e5d9e71be93d05e2c3c2ab308d23307a8bc4443c368  numpy-2.0.1-cp39-cp39-win_amd64.whl
61728fba1e464f789b11deb78a57805c70b2ed02343560456190d0501ba37b0f  numpy-2.0.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
12f5d865d60fb9734e60a60f1d5afa6d962d8d4467c120a1c0cda6eb2964437d  numpy-2.0.1-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
eacf3291e263d5a67d8c1a581a8ebbcfd6447204ef58828caf69a5e3e8c75990  numpy-2.0.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2c3a346ae20cfd80b6cfd3e60dc179963ef2ea58da5ec074fd3d9e7a1e7ba97f  numpy-2.0.1-pp39-pypy39_pp73-win_amd64.whl
485b87235796410c3519a699cfe1faab097e509e90ebb05dcd098db2ae87e7b3  numpy-2.0.1.tar.gz

v2.0.0

Compare Source

NumPy 2.0.0 Release Notes

NumPy 2.0.0 is the first major release since 2006. It is the result of 11 months of development since the last feature release and is the work of 212 contributors spread over 1078 pull requests. It contains a large number of exciting new features as well as changes to both the Python and C APIs.

This major release includes breaking changes that could not happen in a regular minor (feature) release - including an ABI break, changes to type promotion rules, and API changes which may not have been emitting deprecation warnings in 1.26.x. Key documents related to how to adapt to changes in NumPy 2.0, in addition to these release notes, include:

Highlights

Highlights of this release include:

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

Furthermore there are many changes to NumPy internals, including continuing to migrate code from C to C++, that will make it easier to improve and maintain NumPy in the future.

The "no free lunch" theorem dictates that there is a price to pay for all these API and behavior improvements and better future extensibility. This price is:

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

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

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

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

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

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

NumPy 2.0 Python API removals

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

    (gh-23922)

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

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

  • np.lookfor has been removed.

    (gh-24144)

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

    (gh-24321)

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

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

    (gh-24316)

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

    (gh-24357)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    (gh-24376)

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

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

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

    (gh-24477)

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

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

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

    (gh-24587)

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

    (gh-24807)

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

    (gh-25911)

__array_prepare__ is removed

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

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

(gh-25105)

Deprecations

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

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

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

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

    (gh-23830)

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

    (gh-24154)

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

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

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

    (gh-24445)

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

    (gh-25409)

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

    (gh-24818)

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

    (gh-24854)

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

    (gh-24978)

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

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

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

(gh-25495)

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

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

(gh-25721)

Expired deprecations

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

    (gh-23809)

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

    (gh-23921)

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

    (gh-23998)

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

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

  • The deprecation of PyArray_ScalarFromObject is now finalized.

    (gh-24312)

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

    (gh-24494)

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

    (gh-25761)

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

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

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

    (gh-25794)

Compatibility notes

loadtxt and genfromtxt default encoding changed

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

(gh-25158)

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

    (gh-25181)

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

  • Users are urged to replace calls to f2py.compile with calls to subprocess.run("python", "-m", "numpy.f2py",... instead, and to use environment variables to interact with meson. Native files are also an option.

    (gh-25193)

Minor changes in behavior of sorting functions

Due to algorithmic changes and use of SIMD code, sorting functions with methods that aren't stable may return slightly different results in 2.0.0 compared to 1.26.x. This includes the default method of numpy.argsort and numpy.argpartition.

Removed ambiguity when broadcasting in np.solve

The broadcasting rules for np.solve(a, b) were ambiguous when b had 1 fewer dimensions than a. This has been resolved in a backward-incompatible way and is now compliant with the Array API. The old behaviour can be reconstructed by using np.solve(a, b[..., None])[..., 0].

(gh-25914)

Modified representation for Polynomial

The representation method for numpy.polynomial.polynomial.Polynomial was updated to include the domain in the representation. The plain text and latex representations are now consistent. For example the output of str(np.polynomial.Polynomial([1, 1], domain=[.1, .2])) used to be 1.0 + 1.0 x, but now is 1.0 + 1.0 (-3.0000000000000004 + 20.0 x).

(gh-21760)

C API changes

  • The PyArray_CGT, PyArray_CLT, PyArray_CGE, PyArray_CLE, PyArray_CEQ, PyArray_CNE macros have been removed.

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

    (gh-24258)

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

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

    (gh-25347)

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

    (gh-25789)

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

    (gh-25954)

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

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

    (gh-25812)

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

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

    (gh-25816)

Datetime functionality exposed in the C API and Cython bindings

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

(gh-21199)

Const correctness for the generalized ufunc C API

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

(gh-23847)

Larger NPY_MAXDIMS and NPY_MAXARGS, NPY_RAVEL_AXIS introduced

NPY_MAXDIMS is now 64, you may want to review its use. This is usually used in a stack allocation, where the increase should be safe. However, we do encourage generally to remove any use of NPY_MAXDIMS and NPY_MAXARGS to eventually allow removing the constraint completely. For the conversion helper and C-API functions mirroring Python ones such as take, NPY_MAXDIMS was used to mean axis=None. Such usage must be replaced with NPY_RAVEL_AXIS. See also migration_maxdims.

(gh-25149)

NPY_MAXARGS not constant and PyArrayMultiIterObject size change

Since NPY_MAXARGS was increased, it is now a runtime constant and not compile-time constant anymore. We expect almost no users to notice this. But if used for stack allocations it now must be replaced with a custom constant using NPY_MAXARGS as an additional runtime check.

The sizeof(PyArrayMultiIterObject) no longer includes the full size of the object. We expect nobody to notice this change. It was necessary to avoid issues with Cython.

(gh-25271)

Required changes for custom legacy user dtypes

In order to improve our DTypes it is unfortunately necessary to break the ABI, which requires some changes for dtypes registered with PyArray_RegisterDataType. Please see the documentation of PyArray_RegisterDataType for how to adapt your code and achieve compatibility with both 1.x and 2.x.

(gh-25792)

New Public DType API

The C implementation of the NEP 42 DType API is now public. While the DType API has shipped in NumPy for a few versions, it was only usable in sessions with a special environment variable set. It is now possible to write custom DTypes outside of NumPy using the new DType API and the normal import_array() mechanism for importing the numpy C API.

See dtype-api for more details about the API. As always with a new feature, please report any bugs you run into implementing or using a new DType. It is likely that downstream C code that works with dtypes will need to be updated to work correctly with new DTypes.

(gh-25754)

New C-API import functions

We have now added PyArray_ImportNumPyAPI and PyUFunc_ImportUFuncAPI as static inline functions to import the NumPy C-API tables. The new functions have two advantages over import_array and import_ufunc:

  • They check whether the import was already performed and are light-weight if not, allowing to add them judiciously (although this is not preferable in most cases).
  • The old mechanisms were macros rather than functions which included a return statement.

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

(gh-25866)

Structured dtype information access through functions

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

(gh-25802)

Descriptor elsize and alignment access

Unless compiling only with NumPy 2 support, the elsize and aligment fields must now be accessed via PyDataType_ELSIZE, PyDataType_SET_ELSIZE, and PyDataType_ALIGNMENT. In cases where the descriptor is attached to an array, we advise using PyArray_ITEMSIZE as it exists on all NumPy versions. Please see migration_c_descr for more information.

(gh-25943)

NumPy 2.0 C API removals

  • npy_interrupt.h and the corresponding macros like NPY_SIGINT_ON have been removed. We recommend querying PyErr_CheckSignals() or PyOS_InterruptOccurred() periodically (these do currently require holding the GIL though).

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

    (gh-23919)

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

    (gh-23922)

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

    (gh-24011)

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

    (gh-24271)

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

    (gh-24888)

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

    (gh-25138)

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

    (gh-25149)

  • PyArray_REFCNT and NPY_REFCOUNT are removed. Use Py_REFCNT instead.

    (gh-25156)

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

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

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

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

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

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

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

    (gh-25292)

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

    (gh-25802)

  • PyArray_GetCastFunc is removed. Note that custom legacy user dtypes can still provide a castfunc as their implementation, but any access to them is now removed. The reason for this is that NumPy never used these internally for many years. If you use simple numeric types, please just use C casts directly. In case you require an alternative, please let us know so we can create new API such as PyArray_CastBuffer() which could use old or new cast functions depending on the NumPy version.

    (gh-25161)

New Features

np.add was extended to work with unicode and bytes dtypes.

(gh-24858)

A new bitwise_count function

This new function counts the number of 1-bits in a number. numpy.bitwise_count works on all the numpy integer types and integer-like objects.

>>> a = np.array([2**i - 1 for i in range(16)])
>>> np.bitwise_count(a)
array([ 0,  1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12, 13, 14, 15],
      dtype=uint8)

(gh-19355)

macOS Accelerate support, including the ILP64

Support for the updated Accelerate BLAS/LAPACK library, including ILP64 (64-bit integer) support, in macOS 13.3 has been added. This brings arm64 support, and significant performance improvements of up to 10x for commonly used linear algebra operations. When Accelerate is selected at build time, or if no explicit BLAS library selection is done, the 13.3+ version will automatically be used if available.

(gh-24053)

Binary wheels are also available. On macOS >=14.0, users who install NumPy from PyPI will get wheels built against Accelerate rather than OpenBLAS.

(gh-25255)

Option to use weights for quantile and percentile functions

A weights keyword is now available for numpy.quantile, numpy.percentile, numpy.nanquantile and numpy.nanpercentile. Only method="inverted_cdf" supports weights.

(gh-24254)

Improved CPU optimization tracking

A new tracer mechanism is available which enables tracking of the enabled targets for each optimized function (i.e., that uses hardware-specific SIMD instructions) in the NumPy library. With this enhancement, it becomes possible to precisely monitor the enabled CPU dispatch targets for the dispatched functions.

A new function named opt_func_info has been added to the new namespace numpy.lib.introspect, offering this tracing capability. This function allows you to retrieve information about the enabled targets based on function names and data type signatures.

(gh-24420)

A new Meson backend for f2py

f2py in compile mode (i.e. f2py -c) now accepts the --backend meson option. This is the default option for Python >=3.12. For older Python versions, f2py will still default to --backend distutils.

To support this in realistic use-cases, in compile mode f2py takes a --dep flag one or many times which maps to dependency() calls in the meson backend, and does nothing in the distutils backend.

There are no changes for users of f2py only as a code generator, i.e. without -c.

(gh-24532)

bind(c) support for f2py

Both functions and subroutines can be annotated with bind(c). f2py will handle both the correct type mapping, and preserve the unique label for other C interfaces.

Note: bind(c, name = 'routine_name_other_than_fortran_routine') is not honored by the f2py bindings by design, since bind(c) with the name is meant to guarantee only the same name in C and Fortran, not in Python and Fortran.

(gh-24555)

A new strict option for several testing functions

The strict keyword is now available for numpy.testing.assert_allclose, numpy.testing.assert_equal, and numpy.testing.assert_array_less. Setting strict=True will disable the broadcasting behaviour for scalars and ensure that input arrays have the same data type.

(gh-24680, gh-24770, gh-24775)

Add np.core.umath.find and np.core.umath.rfind UFuncs

Add two find and rfind UFuncs that operate on unicode or byte strings and are used in np.char. They operate similar to str.find and str.rfind.

(gh-24868)

diagonal and trace for numpy.linalg

numpy.linalg.diagonal and numpy.linalg.trace have been added, which are array API standard-compatible variants of numpy.diagonal and numpy.trace. They differ in the default axis selection which define 2-D sub-arrays.

(gh-24887)

New long and ulong dtypes

numpy.long and numpy.ulong have been added as NumPy integers mapping to C's long and unsigned long. Prior to NumPy 1.24, numpy.long was an alias to Python's int.

(gh-24922)

svdvals for numpy.linalg

numpy.linalg.svdvals has been added. It computes singular values for (a stack of) matrices. Executing np.svdvals(x) is the same as calling np.svd(x, compute_uv=False, hermitian=False). This function is compatible with the array API standard.

(gh-24940)

A new isdtype function

numpy.isdtype was added to provide a canonical way to classify NumPy's dtypes in compliance with the array API standard.

(gh-25054)

A new astype function

numpy.astype was added to provide an array API standard-compatible alternative to the numpy.ndarray.astype method.

(gh-25079)

Array API compatible functions' aliases

13 aliases for existing functions were added to improve compatibility with the array API standard:

  • Trigonometry: acos, acosh, asin, asinh, atan, atanh, atan2.
  • Bitwise: bitwise_left_shift, bitwise_invert, bitwise_right_shift.
  • Misc: concat, permute_dims, pow.
  • In numpy.linalg: tensordot, matmul.

(gh-25086)

New unique_* functions

The numpy.unique_all, numpy.unique_counts, numpy.unique_inverse, and numpy.unique_values functions have been added. They provide functionality of numpy.unique with different sets of flags. They are array API standard-compatible, and because the number of arrays they return does not depend on the values of input arguments, they are easier to target for JIT compilation.

(gh-25088)

Matrix transpose support for ndarrays

NumPy now offers support for calculating the matrix transpose of an array (or stack of arrays). The matrix transpose is equivalent to swapping the last two axes of an array. Both np.ndarray and np.ma.MaskedArray now expose a .mT attribute, and there is a matching new numpy.matrix_transpose function.

(gh-23762)

Array API compatible functions for numpy.linalg

Six new functions and two aliases were added to improve compatibility with the Array API standard for `numpy.linalg`:

  • numpy.linalg.matrix_norm - Computes the matrix norm of a matrix (or a stack of matrices).

  • numpy.linalg.vector_norm - Computes the vector norm of a vector (or batch of vectors).

  • numpy.vecdot - Computes the (vector) dot product of two arrays.

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

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

    (gh-25155)

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

    (gh-25101)

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

    (gh-25145)

A correction argument for var and std

A correction argument was added to numpy.var and numpy.std, which is an array API standard compatible alternative to ddof. As both arguments serve a similar purpose, only one of them can be provided at the same time.

(gh-25169)

ndarray.device and ndarray.to_device

An ndarray.device attribute and ndarray.to_device method were added to numpy.ndarray for array API standard compatibility.

Additionally, device keyword-only arguments were added to: numpy.asarray, numpy.arange, numpy.empty, numpy.empty_like, numpy.eye, numpy.full, numpy.full_like, numpy.linspace, numpy.ones, numpy.ones_like, numpy.zeros, and numpy.zeros_like.

For all these new arguments, only device="cpu" is supported.

(gh-25233)

StringDType has been added to NumPy

We have added a new variable-width UTF-8 encoded string data type, implementing a "NumPy array of Python strings", including support for a user-provided missing data sentinel. It is intended as a drop-in replacement for arrays of Python strings and missing data sentinels using the object dtype. See NEP 55 and the documentation of stringdtype for more details.

(gh-25347)

New keywords for cholesky and pinv

The upper and rtol keywords were added to numpy.linalg.cholesky and numpy.linalg.pinv, respectively, to improve array API standard compatibility.

For numpy.linalg.pinv, if neither rcond nor rtol is specified, the rcond's default is used. We plan to deprecate and remove rcond in the future.

(gh-25388)

New keywords for sort, argsort and linalg.matrix_rank

New keyword parameters were added to improve array API standard compatibility:

  • rtol was added to numpy.linalg.matrix_rank.
  • stable was added to numpy.sort and numpy.argsort.

(gh-25437)

New numpy.strings namespace for string ufuncs

NumPy now implements some string operations as ufuncs. The old np.char namespace is still available, and where possible the string manipulation functions in that namespace have been updated to use the new ufuncs, substantially improving their performance.

Where possible, we suggest updating code to use functions in np.strings instead of np.char. In the future we may deprecate np.char in favor of np.strings.

(gh-25463)

numpy.fft support for different precisions and in-place calculations

The various FFT routines in numpy.fft now do their calculations natively in float, double, or long double precision, depending on the input precision, instead of always calculating in double precision. Hence, the calculation will now be less precise for single and more precise for long double precision. The data type of the output array will now be adjusted accordingly.

Furthermore, all FFT routines have gained an out argument that can be used for in-place calculations.

(gh-25536)

configtool and pkg-config support

A new numpy-config CLI script is available that can be queried for the NumPy version and for compile flags needed to use the NumPy C API. This will allow build systems to better support the use of NumPy as a dependency. Also, a numpy.pc pkg-config file is now included with Numpy. In order to find its location for use with PKG_CONFIG_PATH, use numpy-config --pkgconfigdir.

(gh-25730)

Array API standard support in the main namespace

The main numpy namespace now supports the array API standard. See array-api-standard-compatibility for details.

(gh-25911)

Improvements

Strings are now supported by any, all, and the logical ufuncs.

(gh-25651)

Integer sequences as the shape argument for memmap

numpy.memmap can now be created with any integer sequence as the shape argument, such as a list or numpy array of integers. Previously, only the types of tuple and int could be used without raising an error.

(gh-23729)

errstate is now faster and context safe

The numpy.errstate context manager/decorator is now faster and safer. Previously, it was not context safe and had (rare) issues with thread-safety.

(gh-23936)

AArch64 quicksort speed improved by using Highway's VQSort

The first introduction of the Google Highway library, using VQSort on AArch64. Execution time is improved by up to 16x in some cases, see the MR for benchmark results. Extensions to other platforms will be done in the future.

(gh-24018)

Complex types - underlying C type changes
  • The underlying C types for all of NumPy's complex types have been changed to use C99 complex types.

  • While this change does not affect the memory layout of complex types, it changes the API to be used to directly retrieve or write the real or complex part of the complex number, since direct field access (as in c.real or c.imag) is no longer an option. You can now use utilities provided in numpy/npy_math.h to do these operations, like this:

    npy_cdouble c;
    npy_csetreal(&c, 1.0);
    npy_csetimag(&c, 0.0);
    printf("%d + %di\n", npy_creal(c), npy_cimag(c));
  • To ease cross-version compatibility, equivalent macros and a compatibility layer have been added which can be used by downstream packages to continue to support both NumPy 1.x and 2.x. See complex-numbers for more info.

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

(gh-24085)

iso_c_binding support and improved common blocks for f2py

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

(gh-24555)

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

(gh-25186)

Call str automatically on third argument to functions like assert_equal

The third argument to functions like numpy.testing.assert_equal now has str called on it automatically. This way it mimics the built-in assert statement, where assert_equal(a, b, obj) works like assert a == b, obj.

(gh-24877)

Support for array-like atol/rtol in isclose, allclose

The keywords atol and rtol in numpy.isclose and numpy.allclose now accept both scalars and arrays. An array, if given, must broadcast to the shapes of the first two array arguments.

(gh-24878)

Consistent failure messages in test functions

Previously, some numpy.testing assertions printed messages that referred to the actual and desired results as x and y. Now, these values are consistently referred to as ACTUAL and DESIRED.

(gh-24931)

n-D FFT transforms allow s[i] == -1

The numpy.fft.fftn, numpy.fft.ifftn, numpy.fft.rfftn, numpy.fft.irfftn, numpy.fft.fft2, numpy.fft.ifft2, numpy.fft.rfft2 and numpy.fft.irfft2 functions now use the whole input array along the axis i if s[i] == -1, in line with the array API standard.

(gh-25495)

Guard PyArrayScalar_VAL and PyUnicodeScalarObject for the limited API

PyUnicodeScalarObject holds a PyUnicodeObject, which is not available when using Py_LIMITED_API. Add guards to hide it and consequently also make the PyArrayScalar_VAL macro hidden.

(gh-25531)

Changes

  • np.gradient() now returns a tuple rather than a list making the return value immutable.

    (gh-23861)

  • Being fully context and thread-safe, np.errstate can only be entered once now.

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

    (gh-23936)

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

    (gh-24540)

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

    (gh-25080)

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

    (gh-25816)

Representation of NumPy scalars changed

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

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

(gh-22449)

Truthiness of NumPy strings changed

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

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

This change does not affect np.loadtxt, np.fromstring, or np.genfromtxt. The first two still use the integer definition, while genfromtxt continues to match for "true" (ignoring case). However, if np.bool_ is used as a converter the result will change.

The change does affect np.fromregex as it uses direct assignments.

(gh-23871)

A mean keyword was added to var and std function

Often when the standard deviation is needed the mean is also needed. The same holds for the variance and the mean. Until now the mean is then calculated twice, the change introduced here for the numpy.var and numpy.std functions allows for passing in a precalculated mean as an keyword argument. See the docstrings for details and an example illustrating the speed-up.

(gh-24126)

Remove datetime64 deprecation warning when constructing with timezone

The numpy.datetime64 method now issues a UserWarning rather than a DeprecationWarning whenever a timezone is included in the datetime string that is provided.

(gh-24193)

Default integer dtype is now 64-bit on 64-bit Windows

The default NumPy integer is now 64-bit on all 64-bit systems as the historic 32-bit default on Windows was a common source of issues. Most users should not notice this. The main issues may occur with code interfacing with libraries written in a compiled language like C. For more information see migration_windows_int64.

(gh-24224)

Renamed numpy.core to numpy._core

Accessing numpy.core now emits a DeprecationWarning. In practice we have found that most downstream usage of numpy.core was to access functionality that is available in the main numpy namespace. If for some reason you are using functionality in numpy.core that is not available in the main numpy namespace, this means you are likely using private NumPy internals. You can still access these internals via numpy._core without a deprecation warning but we do not provide any backward compatibility guarantees for NumPy internals. Please open an issue if you think a mistake was made and something needs to be made public.

(gh-24634)

The "relaxed strides" debug build option, which was previously enabled through the NPY_RELAXED_STRIDES_DEBUG environment variable or the -Drelaxed-strides-debug config-settings flag has been removed.

(gh-24717)

Redefinition of np.intp/np.uintp (almost never a change)

Due to the actual use of these types almost always matching the use of size_t/Py_ssize_t this is now the definition in C. Previously, it matched intptr_t and uintptr_t which would often have been subtly incorrect. This has no effect on the vast majority of machines since the size of these types only differ on extremely niche platforms.

However, it means that:

  • Pointers may not necessarily fit into an intp typed array anymore. The p and P character codes can still be used, however.
  • Creating intptr_t or uintptr_t typed arrays in C remains possible in a cross-platform way via PyArray_DescrFromType('p').
  • The new character codes nN were introduced.
  • It is now correct to use the Python C-API functions when parsing to npy_intp typed arguments.

(gh-24888)

numpy.fft.helper made private

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

(gh-24945)

numpy.linalg.linalg made private

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

(gh-24946)

Out-of-bound axis not the same as axis=None

In some cases axis=32 or for concatenate any large value was the same as axis=None. Except for concatenate this was deprecate. Any out of bound axis value will now error, make sure to use axis=None.

(gh-25149)

New copy keyword meaning for array and asarray constructors

Now numpy.array and numpy.asarray support three values for copy parameter:

  • None - A copy will only be made if it is necessary.
  • True - Always make a copy.
  • False - Never make a copy. If a copy is required a ValueError is raised.

The meaning of False changed as it now raises an exception if a copy is needed.

(gh-25168)

The __array__ special method now takes a copy keyword argument.

NumPy will pass copy to the __array__ special method in situations where it would be set to a non-default value (e.g. in a call to np.asarray(some_object, copy=False)). Currently, if an unexpected keyword argument error is raised after this, NumPy will print a warning and re-try without the copy keyword argument. Implementations of objects implementing the __array__ protocol should accept a copy keyword argument with the same meaning as when passed to numpy.array or numpy.asarray.

(gh-25168)

Cleanup of initialization of numpy.dtype with strings with commas

The interpretation of strings with commas is changed slightly, in that a trailing comma will now always create a structured dtype. E.g., where previously np.dtype("i") and np.dtype("i,") were treated as identical, now np.dtype("i,") will create a structured dtype, with a single field. This is analogous to np.dtype("i,i") creating a structured dtype with two fields, and makes the behaviour consistent with that expected of tuples.

At the same time, the use of single number surrounded by parenthesis to indicate a sub-array shape, like in np.dtype("(2)i,"), is deprecated. Instead; one should use np.dtype("(2,)i") or np.dtype("2i"). Eventually, using a number in parentheses will raise an exception, like is the case for initializations without a comma, like np.dtype("(2)i").

(gh-25434)

Change in how complex sign is calculated

Following the array API standard, the complex sign is now calculated as z / |z| (instead of the rather less logical case where the sign of the real part was taken, unless the real part was zero, in which case the sign of the imaginary part was returned). Like for real numbers, zero is returned if z==0.

(gh-25441)

Return types of functions that returned a list of arrays

Functions that returned a list of ndarrays have been changed to return a tuple of ndarrays instead. Returning tuples consistently whenever a sequence of arrays is returned makes it easier for JIT compilers like Numba, as well as for static type checkers in some cases, to support these functions. Changed functions are: numpy.atleast_1d, numpy.atleast_2d, numpy.atleast_3d, numpy.broadcast_arrays, numpy.meshgrid, numpy.ogrid, numpy.histogramdd.

np.unique return_inverse shape for multi-dimensional inputs

When multi-dimensional inputs are passed to np.unique with return_inverse=True, the unique_inverse output is now shaped such that the input can be reconstructed directly using np.take(unique, unique_inverse) when axis=None, and np.take_along_axis(unique, unique_inverse, axis=axis) otherwise.

(gh-25553, gh-25570)

any and all return booleans for object arrays

The any and all functions and methods now return booleans also for object arrays. Previously, they did a reduction which behaved like the Python or and and operators which evaluates to one of the arguments. You can use np.logical_or.reduce and np.logical_and.reduce to achieve the previous behavior.

(gh-25712)

np.can_cast cannot be called on Python int, float, or complex

np.can_cast cannot be called with Python int, float, or complex instances anymore. This is because NEP 50 means that the result of can_cast must not depend on the value passed in. Unfortunately, for Python scalars whether a cast should be considered "same_kind" or "safe" may depend on the context and value so that this is currently not implemented. In some cases, this means you may have to add a specific path for: if type(obj) in (int, float, complex): ....

(gh-26393)

Checksums

MD5
fcda027f9735771088e607161c913094  numpy-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl
1c381a5af3e6b945c6937ab3c6e2de09  numpy-2.0.0-cp310-cp310-macosx_11_0_arm64.whl
6258de3c0599f8e3674e11898f2dd71c  numpy-2.0.0-cp310-cp310-macosx_14_0_arm64.whl
aa4d28b404566dc9f5c34a31c6cd7b23  numpy-2.0.0-cp310-cp310-macosx_14_0_x86_64.whl
6b83ba81bdc750ef9924e3dc6f7c93be  numpy-2.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3d129fe67d99e0aad451742abb963ffa  numpy-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
24a060577965bd2a573ed87cbd207b4c  numpy-2.0.0-cp310-cp310-musllinux_1_1_x86_64.whl
b00832f558669aacf855c4f5e9cf31d1  numpy-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl
cfe7420d294c583b90cfe07b730136dc  numpy-2.0.0-cp310-cp310-win32.whl
cff9da6b9fe5ad3b05dd3526dff00ac2  numpy-2.0.0-cp310-cp310-win_amd64.whl
f390e03564df5ea37a97ac10cf0cbb00  numpy-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl
a006b081decba286a321de67a1abe246  numpy-2.0.0-cp311-cp311-macosx_11_0_arm64.whl
6aea3e8589e33349b8170524af5a2e44  numpy-2.0.0-cp311-cp311-macosx_14_0_arm64.whl
eea8146c5dc2a306333bfea1f01f7a37  numpy-2.0.0-cp311-cp311-macosx_14_0_x86_64.whl
e96c2af477c970c8ff50ecb5d1cf754f  numpy-2.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d065256e02a1d410d0db2577bb8fd9a4  numpy-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
98c570b79459342c219590c5af38d527  numpy-2.0.0-cp311-cp311-musllinux_1_1_x86_64.whl
dc435751cb926f53a9fc457f35146527  numpy-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl
aaa4b435d29022ceacb4e3dcbd43d11a  numpy-2.0.0-cp311-cp311-win32.whl
9ff8be4f581d86b2f181fe905491b19b  numpy-2.0.0-cp311-cp311-win_amd64.whl
1c9519c5e6a0c5a99715e51ac3b7c932  numpy-2.0.0-cp312-cp312-macosx_10_9_x86_64.whl
b0f26e8728523d716f5165953b35244f  numpy-2.0.0-cp312-cp312-macosx_11_0_arm64.whl
029703d0ff0e96c603c91f611926ef17  numpy-2.0.0-cp312-cp312-macosx_14_0_arm64.whl
2231ecbb380c70ddf462e9671d06612c  numpy-2.0.0-cp312-cp312-macosx_14_0_x86_64.whl
4153b50c1a3647ca58f1084fcaf3e4c6  numpy-2.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
82cba3915234f8018fd754ffc45e95b0  numpy-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
249047dd7255a5fcf5c45614ba211e10  numpy-2.0.0-cp312-cp312-musllinux_1_1_x86_64.whl
f7581ebfe0c9d4ae4f3b6ea09c19eea7  numpy-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl
8a0dbcd919d1d959f1846a00ebb05162  numpy-2.0.0-cp312-cp312-win32.whl
22aabdfd85ed34f02a7cdacff399c5d9  numpy-2.0.0-cp312-cp312-win_amd64.whl
1fce84122c393e05b69e2ec53ecd1137  numpy-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl
81e4c1152274d85813bf14814ad4d359  numpy-2.0.0-cp39-cp39-macosx_11_0_arm64.whl
5eab1a2b427b590d2bc9d8ecd330fc21  numpy-2.0.0-cp39-cp39-macosx_14_0_arm64.whl
ab967929693baf2d2bfb00c53413ad2b  numpy-2.0.0-cp39-cp39-macosx_14_0_x86_64.whl
85d2971cd78800663766f46ba312d356  numpy-2.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7e831fcf9cff5317429786a3bd123671  numpy-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
03a6426ca86ad53567e3ef61bc766013  numpy-2.0.0-cp39-cp39-musllinux_1_1_x86_64.whl
b30af2d2b99468538f45e6769f9fee2b  numpy-2.0.0-cp39-cp39-musllinux_1_2_aarch64.whl
cc9a8db8d131fb5a387e2c1342ab0065  numpy-2.0.0-cp39-cp39-win32.whl
9843951308fa31c5e36c4c6a0b090308  numpy-2.0.0-cp39-cp39-win_amd64.whl
5021eb5e225bff3e05a38a565daf8852  numpy-2.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
99186fe49ac7931d3e92e8993c2faa92  numpy-2.0.0-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
c39f0ab6e07d42708550899951b852b8  numpy-2.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cbf151633948e90c93dd988777750961  numpy-2.0.0-pp39-pypy39_pp73-win_amd64.whl
a180aaba9982c6e15da6db62dab5eb4e  numpy-2.0.0.tar.gz
SHA256
04494f6ec467ccb5369d1808570ae55f6ed9b5809d7f035059000a37b8d7e86f  numpy-2.0.0-cp310-cp310-macosx_10_9_x86_64.whl
2635dbd200c2d6faf2ef9a0d04f0ecc6b13b3cad54f7c67c61155138835515d2  numpy-2.0.0-cp310-cp310-macosx_11_0_arm64.whl
0a43f0974d501842866cc83471bdb0116ba0dffdbaac33ec05e6afed5b615238  numpy-2.0.0-cp310-cp310-macosx_14_0_arm64.whl
8d83bb187fb647643bd56e1ae43f273c7f4dbcdf94550d7938cfc32566756514  numpy-2.0.0-cp310-cp310-macosx_14_0_x86_64.whl
79e843d186c8fb1b102bef3e2bc35ef81160ffef3194646a7fdd6a73c6b97196  numpy-2.0.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6d7696c615765091cc5093f76fd1fa069870304beaccfd58b5dcc69e55ef49c1  numpy-2.0.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b4c76e3d4c56f145d41b7b6751255feefae92edbc9a61e1758a98204200f30fc  numpy-2.0.0-cp310-cp310-musllinux_1_1_x86_64.whl
acd3a644e4807e73b4e1867b769fbf1ce8c5d80e7caaef0d90dcdc640dfc9787  numpy-2.0.0-cp310-cp310-musllinux_1_2_aarch64.whl
cee6cc0584f71adefe2c908856ccc98702baf95ff80092e4ca46061538a2ba98  numpy-2.0.0-cp310-cp310-win32.whl
ed08d2703b5972ec736451b818c2eb9da80d66c3e84aed1deeb0c345fefe461b  numpy-2.0.0-cp310-cp310-win_amd64.whl
ad0c86f3455fbd0de6c31a3056eb822fc939f81b1618f10ff3406971893b62a5  numpy-2.0.0-cp311-cp311-macosx_10_9_x86_64.whl
e7f387600d424f91576af20518334df3d97bc76a300a755f9a8d6e4f5cadd289  numpy-2.0.0-cp311-cp311-macosx_11_0_arm64.whl
34f003cb88b1ba38cb9a9a4a3161c1604973d7f9d5552c38bc2f04f829536609  numpy-2.0.0-cp311-cp311-macosx_14_0_arm64.whl
b6f6a8f45d0313db07d6d1d37bd0b112f887e1369758a5419c0370ba915b3871  numpy-2.0.0-cp311-cp311-macosx_14_0_x86_64.whl
5f64641b42b2429f56ee08b4f427a4d2daf916ec59686061de751a55aafa22e4  numpy-2.0.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a7039a136017eaa92c1848152827e1424701532ca8e8967fe480fe1569dae581  numpy-2.0.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
46e161722e0f619749d1cd892167039015b2c2817296104487cd03ed4a955995  numpy-2.0.0-cp311-cp311-musllinux_1_1_x86_64.whl
0e50842b2295ba8414c8c1d9d957083d5dfe9e16828b37de883f51fc53c4016f  numpy-2.0.0-cp311-cp311-musllinux_1_2_aarch64.whl
2ce46fd0b8a0c947ae047d222f7136fc4d55538741373107574271bc00e20e8f  numpy-2.0.0-cp311-cp311-win32.whl
fbd6acc766814ea6443628f4e6751d0da6593dae29c08c0b2606164db026970c  numpy-2.0.0-cp311-cp311-win_amd64.whl
354f373279768fa5a584bac997de6a6c9bc535c482592d7a813bb0c09be6c76f  numpy-2.0.0-cp312-cp312-macosx_10_9_x86_64.whl
4d2f62e55a4cd9c58c1d9a1c9edaedcd857a73cb6fda875bf79093f9d9086f85  numpy-2.0.0-cp312-cp312-macosx_11_0_arm64.whl
1e72728e7501a450288fc8e1f9ebc73d90cfd4671ebbd631f3e7857c39bd16f2  numpy-2.0.0-cp312-cp312-macosx_14_0_arm64.whl
84554fc53daa8f6abf8e8a66e076aff6ece62de68523d9f665f32d2fc50fd66e  numpy-2.0.0-cp312-cp312-macosx_14_0_x86_64.whl
c73aafd1afca80afecb22718f8700b40ac7cab927b8abab3c3e337d70e10e5a2  numpy-2.0.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
49d9f7d256fbc804391a7f72d4a617302b1afac1112fac19b6c6cec63fe7fe8a  numpy-2.0.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0ec84b9ba0654f3b962802edc91424331f423dcf5d5f926676e0150789cb3d95  numpy-2.0.0-cp312-cp312-musllinux_1_1_x86_64.whl
feff59f27338135776f6d4e2ec7aeeac5d5f7a08a83e80869121ef8164b74af9  numpy-2.0.0-cp312-cp312-musllinux_1_2_aarch64.whl
c5a59996dc61835133b56a32ebe4ef3740ea5bc19b3983ac60cc32be5a665d54  numpy-2.0.0-cp312-cp312-win32.whl
a356364941fb0593bb899a1076b92dfa2029f6f5b8ba88a14fd0984aaf76d0df  numpy-2.0.0-cp312-cp312-win_amd64.whl
e61155fae27570692ad1d327e81c6cf27d535a5d7ef97648a17d922224b216de  numpy-2.0.0-cp39-cp39-macosx_10_9_x86_64.whl
4554eb96f0fd263041baf16cf0881b3f5dafae7a59b1049acb9540c4d57bc8cb  numpy-2.0.0-cp39-cp39-macosx_11_0_arm64.whl
903703372d46bce88b6920a0cd86c3ad82dae2dbef157b5fc01b70ea1cfc430f  numpy-2.0.0-cp39-cp39-macosx_14_0_arm64.whl
3e8e01233d57639b2e30966c63d36fcea099d17c53bf424d77f088b0f4babd86  numpy-2.0.0-cp39-cp39-macosx_14_0_x86_64.whl
1cde1753efe513705a0c6d28f5884e22bdc30438bf0085c5c486cdaff40cd67a  numpy-2.0.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
821eedb7165ead9eebdb569986968b541f9908979c2da8a4967ecac4439bae3d  numpy-2.0.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9a1712c015831da583b21c5bfe15e8684137097969c6d22e8316ba66b5baabe4  numpy-2.0.0-cp39-cp39-musllinux_1_1_x86_64.whl
9c27f0946a3536403efb0e1c28def1ae6730a72cd0d5878db38824855e3afc44  numpy-2.0.0-cp39-cp39-musllinux_1_2_aarch64.whl
63b92c512d9dbcc37f9d81b123dec99fdb318ba38c8059afc78086fe73820275  numpy-2.0.0-cp39-cp39-win32.whl
3f6bed7f840d44c08ebdb73b1825282b801799e325bcbdfa6bc5c370e5aecc65  numpy-2.0.0-cp39-cp39-win_amd64.whl
9416a5c2e92ace094e9f0082c5fd473502c91651fb896bc17690d6fc475128d6  numpy-2.0.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
17067d097ed036636fa79f6a869ac26df7db1ba22039d962422506640314933a  numpy-2.0.0-pp39-pypy39_pp73-macosx_14_0_x86_64.whl
38ecb5b0582cd125f67a629072fed6f83562d9dd04d7e03256c9829bdec027ad  numpy-2.0.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cef04d068f5fb0518a77857953193b6bb94809a806bd0a14983a8f12ada060c9  numpy-2.0.0-pp39-pypy39_pp73-win_amd64.whl
cf5d1c9e6837f8af9f92b6bd3e86d513cdc11f60fd62185cc49ec7d1aba34864  numpy-2.0.0.tar.gz

Configuration

📅 Schedule: At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever MR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this MR and you won't be reminded about this update again.


  • If you want to rebase/retry this MR, click this checkbox.

This MR has been generated by Renovate Bot.

Edited by Tine Wittler

Merge request reports

Loading