Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
fix(deps): Update dependency numpy to v2.1.0 (#229)
This PR contains the following updates: | Package | Update | Change | |---|---|---| | [numpy](https://numpy.org) ([source](https://togithub.com/numpy/numpy), [changelog](https://numpy.org/doc/stable/release)) | minor | `==2.0.1` -> `==2.1.0` | --- ### Release Notes <details> <summary>numpy/numpy (numpy)</summary> ### [`v2.1.0`](https://togithub.com/numpy/numpy/releases/tag/v2.1.0): 2.1.0 (Aug 18, 2024) [Compare Source](https://togithub.com/numpy/numpy/compare/v2.0.2...v2.1.0) ### 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](https://togithub.com/numpy/numpy/pull/26579)) #### Deprecations - The `fix_imports` keyword argument in `numpy.save` is deprecated. Since NumPy 1.17, `numpy.save` uses a pickle protocol that no longer supports Python 2, and ignored `fix_imports` keyword. This keyword is kept only for backward compatibility. It is now deprecated. ([gh-26452](https://togithub.com/numpy/numpy/pull/26452)) - Passing non-integer inputs as the first argument of \[bincount]{.title-ref} is now deprecated, because such inputs are silently cast to integers with no warning about loss of precision. ([gh-27076](https://togithub.com/numpy/numpy/pull/27076)) #### Expired deprecations - Scalars and 0D arrays are disallowed for `numpy.nonzero` and `numpy.ndarray.nonzero`. ([gh-26268](https://togithub.com/numpy/numpy/pull/26268)) - `set_string_function` internal function was removed and `PyArray_SetStringFunction` was stubbed out. ([gh-26611](https://togithub.com/numpy/numpy/pull/26611)) #### C API changes ##### API symbols now hidden but customizable NumPy now defaults to hide the API symbols it adds to allow all NumPy API usage. This means that by default you cannot dynamically fetch the NumPy API from another library (this was never possible on windows). If you are experiencing linking errors related to `PyArray_API` or `PyArray_RUNTIME_VERSION`, you can define the `NPY_API_SYMBOL_ATTRIBUTE` to opt-out of this change. If you are experiencing problems due to an upstream header including NumPy, the solution is to make sure you `#include "numpy/ndarrayobject.h"` before their header and import NumPy yourself based on `including-the-c-api`. ([gh-26103](https://togithub.com/numpy/numpy/pull/26103)) ##### Many shims removed from npy\_3kcompat.h Many of the old shims and helper functions were removed from `npy_3kcompat.h`. If you find yourself in need of these, vendor the previous version of the file into your codebase. ([gh-26842](https://togithub.com/numpy/numpy/pull/26842)) ##### New `PyUFuncObject` field `process_core_dims_func` The field `process_core_dims_func` was added to the structure `PyUFuncObject`. For generalized ufuncs, this field can be set to a function of type `PyUFunc_ProcessCoreDimsFunc` that will be called when the ufunc is called. It allows the ufunc author to check that core dimensions satisfy additional constraints, and to set output core dimension sizes if they have not been provided. ([gh-26908](https://togithub.com/numpy/numpy/pull/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](https://peps.python.org/pep-0703/) and the [CPython 3.13 release notes](https://docs.python.org/3.13/whatsnew/3.13.html#free-threaded-cpython) 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](https://togithub.com/numpy/numpy/issues/27199) for more information about object arrays in the free-threaded build. If you are interested in free-threaded Python, for example because you have a multiprocessing-based workflow that you are interested in running with Python threads, we encourage testing and experimentation. If you run into problems that you suspect are because of NumPy, please [open an issue](https://togithub.com/numpy/numpy/issues/new/choose), checking first if the bug also occurs in the "regular" non-free-threaded CPython 3.13 build. Many threading bugs can also occur in code that releases the GIL; disabling the GIL only makes it easier to hit threading bugs. ([gh-26157](https://togithub.com/numpy/numpy/issues/26157#issuecomment-2233864940)) ##### `f2py` can generate freethreading-compatible C extensions Pass `--freethreading-compatible` to the f2py CLI tool to produce a C extension marked as compatible with the free threading CPython interpreter. Doing so prevents the interpreter from re-enabling the GIL at runtime when it imports the C extension. Note that `f2py` does not analyze fortran code for thread safety, so you must verify that the wrapped fortran code is thread safe before marking the extension as compatible. ([gh-26981](https://togithub.com/numpy/numpy/pull/26981)) - `numpy.reshape` and `numpy.ndarray.reshape` now support `shape` and `copy` arguments. ([gh-26292](https://togithub.com/numpy/numpy/pull/26292)) - NumPy now supports DLPack v1, support for older versions will be deprecated in the future. ([gh-26501](https://togithub.com/numpy/numpy/pull/26501)) - `numpy.asanyarray` now supports `copy` and `device` arguments, matching `numpy.asarray`. ([gh-26580](https://togithub.com/numpy/numpy/pull/26580)) - `numpy.printoptions`, `numpy.get_printoptions`, and `numpy.set_printoptions` now support a new option, `override_repr`, for defining custom `repr(array)` behavior. ([gh-26611](https://togithub.com/numpy/numpy/pull/26611)) - `numpy.cumulative_sum` and `numpy.cumulative_prod` were added as Array API compatible alternatives for `numpy.cumsum` and `numpy.cumprod`. The new functions can include a fixed initial (zeros for `sum` and ones for `prod`) in the result. ([gh-26724](https://togithub.com/numpy/numpy/pull/26724)) - `numpy.clip` now supports `max` and `min` keyword arguments which are meant to replace `a_min` and `a_max`. Also, for `np.clip(a)` or `np.clip(a, None, None)` a copy of the input array will be returned instead of raising an error. ([gh-26724](https://togithub.com/numpy/numpy/pull/26724)) - `numpy.astype` now supports `device` argument. ([gh-26724](https://togithub.com/numpy/numpy/pull/26724)) #### Improvements ##### `histogram` auto-binning now returns bin sizes >=1 for integer input data For integer input data, bin sizes smaller than 1 result in spurious empty bins. This is now avoided when the number of bins is computed using one of the algorithms provided by `histogram_bin_edges`. ([gh-12150](https://togithub.com/numpy/numpy/pull/12150)) ##### `ndarray` shape-type parameter is now covariant and bound to `tuple[int, ...]` Static typing for `ndarray` is a long-term effort that continues with this change. It is a generic type with type parameters for the shape and the data type. Previously, the shape type parameter could be any value. This change restricts it to a tuple of ints, as one would expect from using `ndarray.shape`. Further, the shape-type parameter has been changed from invariant to covariant. This change also applies to the subtypes of `ndarray`, e.g. `numpy.ma.MaskedArray`. See the [typing docs](https://typing.readthedocs.io/en/latest/reference/generics.html#variance-of-generic-types) for more information. ([gh-26081](https://togithub.com/numpy/numpy/pull/26081)) ##### `np.quantile` with method `closest_observation` chooses nearest even order statistic This changes the definition of nearest for border cases from the nearest odd order statistic to nearest even order statistic. The numpy implementation now matches other reference implementations. ([gh-26656](https://togithub.com/numpy/numpy/pull/26656)) ##### `lapack_lite` is now thread safe NumPy provides a minimal low-performance version of LAPACK named `lapack_lite` that can be used if no BLAS/LAPACK system is detected at build time. Until now, `lapack_lite` was not thread safe. Single-threaded use cases did not hit any issues, but running linear algebra operations in multiple threads could lead to errors, incorrect results, or segfaults due to data races. We have added a global lock, serializing access to `lapack_lite` in multiple threads. ([gh-26750](https://togithub.com/numpy/numpy/pull/26750)) ##### The `numpy.printoptions` context manager is now thread and async-safe In prior versions of NumPy, the printoptions were defined using a combination of Python and C global variables. We have refactored so the state is stored in a python `ContextVar`, making the context manager thread and async-safe. ([gh-26846](https://togithub.com/numpy/numpy/pull/26846)) ##### Type hinting `numpy.polynomial` Starting from the 2.1 release, PEP 484 type annotations have been included for the functions and convenience classes in `numpy.polynomial` and its sub-packages. ([gh-26897](https://togithub.com/numpy/numpy/pull/26897)) ##### Improved `numpy.dtypes` type hints The type annotations for `numpy.dtypes` are now a better reflection of the runtime: The `numpy.dtype` type-aliases have been replaced with specialized `dtype` *subtypes*, and the previously missing annotations for `numpy.dtypes.StringDType` have been added. ([gh-27008](https://togithub.com/numpy/numpy/pull/27008)) #### Performance improvements and changes - `numpy.save` now uses pickle protocol version 4 for saving arrays with object dtype, which allows for pickle objects larger than 4GB and improves saving speed by about 5% for large arrays. ([gh-26388](https://togithub.com/numpy/numpy/pull/26388)) - OpenBLAS on x86\_64 and i686 is built with fewer kernels. Based on benchmarking, there are 5 clusters of performance around these kernels: `PRESCOTT NEHALEM SANDYBRIDGE HASWELL SKYLAKEX`. ([gh-27147](https://togithub.com/numpy/numpy/pull/27147)) - OpenBLAS on windows is linked without quadmath, simplifying licensing ([gh-27147](https://togithub.com/numpy/numpy/pull/27147)) - Due to a regression in OpenBLAS on windows, the performance improvements when using multiple threads for OpenBLAS 0.3.26 were reverted. ([gh-27147](https://togithub.com/numpy/numpy/pull/27147)) ##### `ma.cov` and `ma.corrcoef` are now significantly faster The private function has been refactored along with `ma.cov` and `ma.corrcoef`. They are now significantly faster, particularly on large, masked arrays. ([gh-26285](https://togithub.com/numpy/numpy/pull/26285)) #### Changes - As `numpy.vecdot` is now a ufunc it has a less precise signature. This is due to the limitations of ufunc's typing stub. ([gh-26313](https://togithub.com/numpy/numpy/pull/26313)) - `numpy.floor`, `numpy.ceil`, and `numpy.trunc` now won't perform casting to a floating dtype for integer and boolean dtype input arrays. ([gh-26766](https://togithub.com/numpy/numpy/pull/26766)) ##### `ma.corrcoef` may return a slightly different result A pairwise observation approach is currently used in `ma.corrcoef` to calculate the standard deviations for each pair of variables. This has been changed as it is being used to normalise the covariance, estimated using `ma.cov`, which does not consider the observations for each variable in a pairwise manner, rendering it unnecessary. The normalisation has been replaced by the more appropriate standard deviation for each variable, which significantly reduces the wall time, but will return slightly different estimates of the correlation coefficients in cases where the observations between a pair of variables are not aligned. However, it will return the same estimates in all other cases, including returning the same correlation matrix as `corrcoef` when using a masked array with no masked values. ([gh-26285](https://togithub.com/numpy/numpy/pull/26285)) ##### Cast-safety fixes in `copyto` and `full` `copyto` now uses NEP 50 correctly and applies this to its cast safety. Python integer to NumPy integer casts and Python float to NumPy float casts are now considered "safe" even if assignment may fail or precision may be lost. This means the following examples change slightly: - `np.copyto(int8_arr, 1000)` previously performed an unsafe/same-kind cast of the Python integer. It will now always raise, to achieve an unsafe cast you must pass an array or NumPy scalar. - `np.copyto(uint8_arr, 1000, casting="safe")` will raise an OverflowError rather than a TypeError due to same-kind casting. - `np.copyto(float32_arr, 1e300, casting="safe")` will overflow to `inf` (float32 cannot hold `1e300`) rather raising a TypeError. Further, only the dtype is used when assigning NumPy scalars (or 0-d arrays), meaning that the following behaves differently: - `np.copyto(float32_arr, np.float64(3.0), casting="safe")` raises. - `np.coptyo(int8_arr, np.int64(100), casting="safe")` raises. Previously, NumPy checked whether the 100 fits the `int8_arr`. This aligns `copyto`, `full`, and `full_like` with the correct NumPy 2 behavior. ([gh-27091](https://togithub.com/numpy/numpy/pull/27091)) #### Checksums ##### MD5 2323404663c0b2a86362319d7526eb80 numpy-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl 3d4bca8d05eb1eba859e77ff8f91d843 numpy-2.1.0-cp310-cp310-macosx_11_0_arm64.whl 9bd065f147dbf3f2d59ab57bff4f0074 numpy-2.1.0-cp310-cp310-macosx_14_0_arm64.whl 47d177533511901cd6bf77f72cbd3d6e numpy-2.1.0-cp310-cp310-macosx_14_0_x86_64.whl 530b7f38f64216f1322b39bc50f36c0c numpy-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl d2a3161a10811a675a29a63e25636d83 numpy-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 4e9fb20b080f7931791da71708740b83 numpy-2.1.0-cp310-cp310-musllinux_1_1_x86_64.whl 776eb610795d63217980a36eb23bf268 numpy-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl 8328b9e2afa4013aaf3e4963349445e2 numpy-2.1.0-cp310-cp310-win32.whl e3184b9979192c8d7b80deb2af16d6bb numpy-2.1.0-cp310-cp310-win_amd64.whl 54571aef9d9081e35bebef10f8d64e75 numpy-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl 841dac2386c1da870a384b64cd31e32b numpy-2.1.0-cp311-cp311-macosx_14_0_arm64.whl 0fe85239ebe336d2baaddcb0ed001dc7 numpy-2.1.0-cp311-cp311-macosx_14_0_x86_64.whl 772a55a6c46f7b643af4640c2ca68d70 numpy-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 64fefbc527229521cf2a516b778b8aa7 numpy-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 5cdb3d262d8c513b0f08cd1b6ba48512 numpy-2.1.0-cp311-cp311-musllinux_1_1_x86_64.whl 16140f5de42e87d84b80c350fd014893 numpy-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl 5e37df534d167af1966e099e0be9d94a numpy-2.1.0-cp311-cp311-win32.whl ee443aa000621bed8bb2d6a94afd89b5 numpy-2.1.0-cp311-cp311-win_amd64.whl d8c911fc34a8dad4ed821036563b5758 numpy-2.1.0-cp312-cp312-macosx_10_9_x86_64.whl ec25d637c43ae8229052e62a4f40f2d2 numpy-2.1.0-cp312-cp312-macosx_11_0_arm64.whl 67c7abca3d0339f17a8543abc0e7bf11 numpy-2.1.0-cp312-cp312-macosx_14_0_arm64.whl 0d36ec6a64cbef1d727eb608a236ad2c numpy-2.1.0-cp312-cp312-macosx_14_0_x86_64.whl 0eedab574a3b75ec237be910e9717153 numpy-2.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 73dd2a5d0c85007bf5fdb4b7f66b8451 numpy-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 94fb0cfbc647a34177c766570fad752b numpy-2.1.0-cp312-cp312-musllinux_1_1_x86_64.whl de3efbbcd792a1f82d0e3e175ea02ca9 numpy-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl 9a63ebbfb3c4c6eba77ef0723a5dc86f numpy-2.1.0-cp312-cp312-win32.whl c68bc27545ac68c54935a1d0278b18f6 numpy-2.1.0-cp312-cp312-win_amd64.whl f2795bb974af42e2723e32af9b14b66d numpy-2.1.0-cp313-cp313-macosx_10_13_x86_64.whl 2f7426b06a332ea7a20159f3c06d67d1 numpy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl fcef18e031fc8588227023bac55d9636 numpy-2.1.0-cp313-cp313-macosx_14_0_arm64.whl cbb5ca4dc798ea397344c93a2549e73e numpy-2.1.0-cp313-cp313-macosx_14_0_x86_64.whl 573213bea3a67452a310355adc7c6aa1 numpy-2.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 24f8c8a1235aeaedb8f154a984b3c78b numpy-2.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl b2ef762c0ebb02b58a339c1e38f032b2 numpy-2.1.0-cp313-cp313-musllinux_1_1_x86_64.whl 50e68cbfeb330aff607969c30251632d numpy-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl 21228342cd1b4ff8c7ec1aea45c07186 numpy-2.1.0-cp313-cp313-win32.whl 8d234b05f0c4faf7b9884a1f0f19c23d numpy-2.1.0-cp313-cp313-win_amd64.whl e0c19ca29fa8e8e051107cd36b978f05 numpy-2.1.0-cp313-cp313t-macosx_10_13_x86_64.whl 98756f2ff9adc2cf374c28db77e28312 numpy-2.1.0-cp313-cp313t-macosx_11_0_arm64.whl 69786349d1f392dc6ac3fe00271e941b numpy-2.1.0-cp313-cp313t-macosx_14_0_arm64.whl 4d1481bcb17aaebfc785e005455da223 numpy-2.1.0-cp313-cp313t-macosx_14_0_x86_64.whl 1d403eda14369ab023d5ae1c15dce25c numpy-2.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl cdeece2cd6508eeee5a4c3150b58ec59 numpy-2.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 85347b754d8324c508f7aeb7de243feb numpy-2.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl 6ff18d36d0940de6c1cc962a61b44bd5 numpy-2.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl 2f7d60a99c236a8f909bd86b8ed1e3a4 numpy-2.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl dc610133d9f09e5b3d396859e75c5593 numpy-2.1.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl 6a2883ee5b16ab5c031037cc63c20e9b numpy-2.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl c914ba2fe3fcdcd04c8fe6a8374ea5fb numpy-2.1.0-pp310-pypy310_pp73-win_amd64.whl 4cb2230ffa1cc41329ae29bd69ee08de numpy-2.1.0.tar.gz ##### SHA256 6326ab99b52fafdcdeccf602d6286191a79fe2fda0ae90573c5814cd2b0bc1b8 numpy-2.1.0-cp310-cp310-macosx_10_9_x86_64.whl 0937e54c09f7a9a68da6889362ddd2ff584c02d015ec92672c099b61555f8911 numpy-2.1.0-cp310-cp310-macosx_11_0_arm64.whl 30014b234f07b5fec20f4146f69e13cfb1e33ee9a18a1879a0142fbb00d47673 numpy-2.1.0-cp310-cp310-macosx_14_0_arm64.whl 899da829b362ade41e1e7eccad2cf274035e1cb36ba73034946fccd4afd8606b numpy-2.1.0-cp310-cp310-macosx_14_0_x86_64.whl 08801848a40aea24ce16c2ecde3b756f9ad756586fb2d13210939eb69b023f5b numpy-2.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 398049e237d1aae53d82a416dade04defed1a47f87d18d5bd615b6e7d7e41d1f numpy-2.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 0abb3916a35d9090088a748636b2c06dc9a6542f99cd476979fb156a18192b84 numpy-2.1.0-cp310-cp310-musllinux_1_1_x86_64.whl 10e2350aea18d04832319aac0f887d5fcec1b36abd485d14f173e3e900b83e33 numpy-2.1.0-cp310-cp310-musllinux_1_2_aarch64.whl f6b26e6c3b98adb648243670fddc8cab6ae17473f9dc58c51574af3e64d61211 numpy-2.1.0-cp310-cp310-win32.whl f505264735ee074250a9c78247ee8618292091d9d1fcc023290e9ac67e8f1afa numpy-2.1.0-cp310-cp310-win_amd64.whl 76368c788ccb4f4782cf9c842b316140142b4cbf22ff8db82724e82fe1205dce numpy-2.1.0-cp311-cp311-macosx_10_9_x86_64.whl f8e93a01a35be08d31ae33021e5268f157a2d60ebd643cfc15de6ab8e4722eb1 numpy-2.1.0-cp311-cp311-macosx_14_0_arm64.whl 9523f8b46485db6939bd069b28b642fec86c30909cea90ef550373787f79530e numpy-2.1.0-cp311-cp311-macosx_14_0_x86_64.whl 54139e0eb219f52f60656d163cbe67c31ede51d13236c950145473504fa208cb numpy-2.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl f5ebbf9fbdabed208d4ecd2e1dfd2c0741af2f876e7ae522c2537d404ca895c3 numpy-2.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 378cb4f24c7d93066ee4103204f73ed046eb88f9ad5bb2275bb9fa0f6a02bd36 numpy-2.1.0-cp311-cp311-musllinux_1_1_x86_64.whl d8f699a709120b220dfe173f79c73cb2a2cab2c0b88dd59d7b49407d032b8ebd numpy-2.1.0-cp311-cp311-musllinux_1_2_aarch64.whl ffbd6faeb190aaf2b5e9024bac9622d2ee549b7ec89ef3a9373fa35313d44e0e numpy-2.1.0-cp311-cp311-win32.whl 0af3a5987f59d9c529c022c8c2a64805b339b7ef506509fba7d0556649b9714b numpy-2.1.0-cp311-cp311-win_amd64.whl fe76d75b345dc045acdbc006adcb197cc680754afd6c259de60d358d60c93736 numpy-2.1.0-cp312-cp312-macosx_10_9_x86_64.whl f358ea9e47eb3c2d6eba121ab512dfff38a88db719c38d1e67349af210bc7529 numpy-2.1.0-cp312-cp312-macosx_11_0_arm64.whl dd94ce596bda40a9618324547cfaaf6650b1a24f5390350142499aa4e34e53d1 numpy-2.1.0-cp312-cp312-macosx_14_0_arm64.whl b47c551c6724960479cefd7353656498b86e7232429e3a41ab83be4da1b109e8 numpy-2.1.0-cp312-cp312-macosx_14_0_x86_64.whl a0756a179afa766ad7cb6f036de622e8a8f16ffdd55aa31f296c870b5679d745 numpy-2.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 24003ba8ff22ea29a8c306e61d316ac74111cebf942afbf692df65509a05f111 numpy-2.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl b34fa5e3b5d6dc7e0a4243fa0f81367027cb6f4a7215a17852979634b5544ee0 numpy-2.1.0-cp312-cp312-musllinux_1_1_x86_64.whl c4f982715e65036c34897eb598d64aef15150c447be2cfc6643ec7a11af06574 numpy-2.1.0-cp312-cp312-musllinux_1_2_aarch64.whl c4cd94dfefbefec3f8b544f61286584292d740e6e9d4677769bc76b8f41deb02 numpy-2.1.0-cp312-cp312-win32.whl a0cdef204199278f5c461a0bed6ed2e052998276e6d8ab2963d5b5c39a0500bc numpy-2.1.0-cp312-cp312-win_amd64.whl 8ab81ccd753859ab89e67199b9da62c543850f819993761c1e94a75a814ed667 numpy-2.1.0-cp313-cp313-macosx_10_13_x86_64.whl 442596f01913656d579309edcd179a2a2f9977d9a14ff41d042475280fc7f34e numpy-2.1.0-cp313-cp313-macosx_11_0_arm64.whl 848c6b5cad9898e4b9ef251b6f934fa34630371f2e916261070a4eb9092ffd33 numpy-2.1.0-cp313-cp313-macosx_14_0_arm64.whl 54c6a63e9d81efe64bfb7bcb0ec64332a87d0b87575f6009c8ba67ea6374770b numpy-2.1.0-cp313-cp313-macosx_14_0_x86_64.whl 652e92fc409e278abdd61e9505649e3938f6d04ce7ef1953f2ec598a50e7c195 numpy-2.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 0ab32eb9170bf8ffcbb14f11613f4a0b108d3ffee0832457c5d4808233ba8977 numpy-2.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 8fb49a0ba4d8f41198ae2d52118b050fd34dace4b8f3fb0ee34e23eb4ae775b1 numpy-2.1.0-cp313-cp313-musllinux_1_1_x86_64.whl 44e44973262dc3ae79e9063a1284a73e09d01b894b534a769732ccd46c28cc62 numpy-2.1.0-cp313-cp313-musllinux_1_2_aarch64.whl ab83adc099ec62e044b1fbb3a05499fa1e99f6d53a1dde102b2d85eff66ed324 numpy-2.1.0-cp313-cp313-win32.whl de844aaa4815b78f6023832590d77da0e3b6805c644c33ce94a1e449f16d6ab5 numpy-2.1.0-cp313-cp313-win_amd64.whl 343e3e152bf5a087511cd325e3b7ecfd5b92d369e80e74c12cd87826e263ec06 numpy-2.1.0-cp313-cp313t-macosx_10_13_x86_64.whl f07fa2f15dabe91259828ce7d71b5ca9e2eb7c8c26baa822c825ce43552f4883 numpy-2.1.0-cp313-cp313t-macosx_11_0_arm64.whl 5474dad8c86ee9ba9bb776f4b99ef2d41b3b8f4e0d199d4f7304728ed34d0300 numpy-2.1.0-cp313-cp313t-macosx_14_0_arm64.whl 1f817c71683fd1bb5cff1529a1d085a57f02ccd2ebc5cd2c566f9a01118e3b7d numpy-2.1.0-cp313-cp313t-macosx_14_0_x86_64.whl 3a3336fbfa0d38d3deacd3fe7f3d07e13597f29c13abf4d15c3b6dc2291cbbdd numpy-2.1.0-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 7a894c51fd8c4e834f00ac742abad73fc485df1062f1b875661a3c1e1fb1c2f6 numpy-2.1.0-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 9156ca1f79fc4acc226696e95bfcc2b486f165a6a59ebe22b2c1f82ab190384a numpy-2.1.0-cp313-cp313t-musllinux_1_1_x86_64.whl 624884b572dff8ca8f60fab591413f077471de64e376b17d291b19f56504b2bb numpy-2.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl 15ef8b2177eeb7e37dd5ef4016f30b7659c57c2c0b57a779f1d537ff33a72c7b numpy-2.1.0-pp310-pypy310_pp73-macosx_10_15_x86_64.whl e5f0642cdf4636198a4990de7a71b693d824c56a757862230454629cf62e323d numpy-2.1.0-pp310-pypy310_pp73-macosx_14_0_x86_64.whl f15976718c004466406342789f31b6673776360f3b1e3c575f25302d7e789575 numpy-2.1.0-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 6c1de77ded79fef664d5098a66810d4d27ca0224e9051906e634b3f7ead134c2 numpy-2.1.0-pp310-pypy310_pp73-win_amd64.whl 7dc90da0081f7e1da49ec4e398ede6a8e9cc4f5ebe5f9e06b443ed889ee9aaa2 numpy-2.1.0.tar.gz ### [`v2.0.2`](https://togithub.com/numpy/numpy/releases/tag/v2.0.2): NumPy 2.0.2 release (Aug 26, 2024) [Compare Source](https://togithub.com/numpy/numpy/compare/v2.0.1...v2.0.2) ### 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](https://togithub.com/numpy/numpy/pull/27000): REL: Prepare for the NumPy 2.0.1 release \[wheel build] - [#​27001](https://togithub.com/numpy/numpy/pull/27001): MAINT: prepare 2.0.x for further development - [#​27021](https://togithub.com/numpy/numpy/pull/27021): BUG: cfuncs.py: fix crash when sys.stderr is not available - [#​27022](https://togithub.com/numpy/numpy/pull/27022): DOC: Fix migration note for `alltrue` and `sometrue` - [#​27061](https://togithub.com/numpy/numpy/pull/27061): BUG: use proper input and output descriptor in array_assign_subscript... - [#​27073](https://togithub.com/numpy/numpy/pull/27073): BUG: Mirror VQSORT_ENABLED logic in Quicksort - [#​27074](https://togithub.com/numpy/numpy/pull/27074): BUG: Bump Highway to latest master - [#​27077](https://togithub.com/numpy/numpy/pull/27077): BUG: Off by one in memory overlap check - [#​27122](https://togithub.com/numpy/numpy/pull/27122): BUG: Use the new `npyv_loadable_stride_` functions for ldexp and... - [#​27126](https://togithub.com/numpy/numpy/pull/27126): BUG: Bump Highway to latest - [#​27128](https://togithub.com/numpy/numpy/pull/27128): BUG: add missing error handling in public_dtype_api.c - [#​27129](https://togithub.com/numpy/numpy/pull/27129): BUG: fix another cast setup in array_assign_subscript - [#​27130](https://togithub.com/numpy/numpy/pull/27130): BUG: Fix building NumPy in FIPS mode - [#​27131](https://togithub.com/numpy/numpy/pull/27131): BLD: update vendored Meson for cross-compilation patches - [#​27146](https://togithub.com/numpy/numpy/pull/27146): MAINT: Scipy openblas 0.3.27.44.4 - [#​27151](https://togithub.com/numpy/numpy/pull/27151): BUG: Do not accidentally store dtype metadata in `np.save` - [#​27195](https://togithub.com/numpy/numpy/pull/27195): REV: Revert undef I and document it - [#​27213](https://togithub.com/numpy/numpy/pull/27213): BUG: Fix NPY_RAVEL_AXIS on backwards compatible NumPy 2 builds - [#​27279](https://togithub.com/numpy/numpy/pull/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 </details> --- ### Configuration 📅 **Schedule**: Branch creation - "before 4am on the first day of the month" (UTC), Automerge - At any time (no schedule defined). 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Renovate Bot](https://togithub.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiIzNy40NDAuNyIsInVwZGF0ZWRJblZlciI6IjM3LjQ0MC43IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJhdXRvbWVyZ2UiXX0=-->
- Loading branch information