DEV-REPO-URIEL / WSD-2772

0 stars 0 forks source link

Update dependency numpy to v1.21.0 #22

Open dev-mend-for-github-com[bot] opened 1 month ago

dev-mend-for-github-com[bot] commented 1 month ago

This PR contains the following updates:

Package Update Change
numpy (changelog) minor ==1.19.1 -> ==1.21.0

By merging this PR, the issue #21 will be automatically resolved and closed:

Severity CVSS Score CVE
Medium Medium 5.3 CVE-2021-33430

Release Notes

numpy/numpy (numpy) ### [`v1.21.0`](https://redirect.github.com/numpy/numpy/releases/tag/v1.21.0) [Compare Source](https://redirect.github.com/numpy/numpy/compare/v1.20.3...v1.21.0) # NumPy 1.21.0 Release Notes The NumPy 1.21.0 release highlights are - continued SIMD work covering more functions and platforms, - initial work on the new dtype infrastructure and casting, - universal2 wheels for Python 3.8 and Python 3.9 on Mac, - improved documentation, - improved annotations, - new `PCG64DXSM` bitgenerator for random numbers. In addition there are the usual large number of bug fixes and other improvements. The Python versions supported for this release are 3.7-3.9. Official support for Python 3.10 will be added when it is released. :warning: Warning: there are unresolved problems compiling NumPy 1.21.0 with gcc-11.1 . - Optimization level `-O3` results in many wrong warnings when running the tests. - On some hardware NumPy will hang in an infinite loop. ## New functions ##### Add PCG64DXSM BitGenerator Uses of the PCG64 BitGenerator in a massively-parallel context have been shown to have statistical weaknesses that were not apparent at the first release in numpy 1.17. Most users will never observe this weakness and are safe to continue to use PCG64. We have introduced a new PCG64DXSM BitGenerator that will eventually become the new default BitGenerator implementation used by `default_rng` in future releases. PCG64DXSM solves the statistical weakness while preserving the performance and the features of PCG64. See `upgrading-pcg64` for more details. ([gh-18906](https://redirect.github.com/numpy/numpy/pull/18906)) ## Expired deprecations - The `shape` argument `numpy.unravel_index` cannot be passed as `dims` keyword argument anymore. (Was deprecated in NumPy 1.16.) ([gh-17900](https://redirect.github.com/numpy/numpy/pull/17900)) - The function `PyUFunc_GenericFunction` has been disabled. It was deprecated in NumPy 1.19. Users should call the ufunc directly using the Python API. ([gh-18697](https://redirect.github.com/numpy/numpy/pull/18697)) - The function `PyUFunc_SetUsesArraysAsData` has been disabled. It was deprecated in NumPy 1.19. ([gh-18697](https://redirect.github.com/numpy/numpy/pull/18697)) - The class `PolyBase` has been removed (deprecated in numpy 1.9.0). Please use the abstract `ABCPolyBase` class instead. ([gh-18963](https://redirect.github.com/numpy/numpy/pull/18963)) - The unused `PolyError` and `PolyDomainError` exceptions are removed. ([gh-18963](https://redirect.github.com/numpy/numpy/pull/18963)) ## Deprecations ##### The `.dtype` attribute must return a `dtype` A `DeprecationWarning` is now given if the `.dtype` attribute of an object passed into `np.dtype` or as a `dtype=obj` argument is not a dtype. NumPy will stop attempting to recursively coerce the result of `.dtype`. ([gh-13578](https://redirect.github.com/numpy/numpy/pull/13578)) ##### Inexact matches for `numpy.convolve` and `numpy.correlate` are deprecated `numpy.convolve` and `numpy.correlate` now emit a warning when there are case insensitive and/or inexact matches found for `mode` argument in the functions. Pass full `"same"`, `"valid"`, `"full"` strings instead of `"s"`, `"v"`, `"f"` for the `mode` argument. ([gh-17492](https://redirect.github.com/numpy/numpy/pull/17492)) ##### `np.typeDict` has been formally deprecated `np.typeDict` is a deprecated alias for `np.sctypeDict` and has been so for over 14 years ([6689502](https://redirect.github.com/numpy/numpy/commit/668950285c407593a368336ff2e737c5da84af7d)). A deprecation warning will now be issued whenever getting `np.typeDict`. ([gh-17586](https://redirect.github.com/numpy/numpy/pull/17586)) ##### Exceptions will be raised during array-like creation When an object raised an exception during access of the special attributes `__array__` or `__array_interface__`, this exception was usually ignored. A warning is now given when the exception is anything but AttributeError. To silence the warning, the type raising the exception has to be adapted to raise an `AttributeError`. ([gh-19001](https://redirect.github.com/numpy/numpy/pull/19001)) ##### Four `ndarray.ctypes` methods have been deprecated Four methods of the `ndarray.ctypes` object have been deprecated, as they are (undocumentated) implementation artifacts of their respective properties. The methods in question are: - `_ctypes.get_data` (use `_ctypes.data` instead) - `_ctypes.get_shape` (use `_ctypes.shape` instead) - `_ctypes.get_strides` (use `_ctypes.strides` instead) - `_ctypes.get_as_parameter` (use `_ctypes._as_parameter_` instead) ([gh-19031](https://redirect.github.com/numpy/numpy/pull/19031)) ## Expired deprecations - The `shape` argument `numpy.unravel_index`] cannot be passed as `dims` keyword argument anymore. (Was deprecated in NumPy 1.16.) ([gh-17900](https://redirect.github.com/numpy/numpy/pull/17900)) - The function `PyUFunc_GenericFunction` has been disabled. It was deprecated in NumPy 1.19. Users should call the ufunc directly using the Python API. ([gh-18697](https://redirect.github.com/numpy/numpy/pull/18697)) - The function `PyUFunc_SetUsesArraysAsData` has been disabled. It was deprecated in NumPy 1.19. ([gh-18697](https://redirect.github.com/numpy/numpy/pull/18697)) ##### Remove deprecated `PolyBase` and unused `PolyError` and `PolyDomainError` The class `PolyBase` has been removed (deprecated in numpy 1.9.0). Please use the abstract `ABCPolyBase` class instead. Furthermore, the unused `PolyError` and `PolyDomainError` exceptions are removed from the `numpy.polynomial`. ([gh-18963](https://redirect.github.com/numpy/numpy/pull/18963)) ## Compatibility notes ##### Error type changes in universal functions The universal functions may now raise different errors on invalid input in some cases. The main changes should be that a `RuntimeError` was replaced with a more fitting `TypeError`. When multiple errors were present in the same call, NumPy may now raise a different one. ([gh-15271](https://redirect.github.com/numpy/numpy/pull/15271)) ##### `__array_ufunc__` argument validation NumPy will now partially validate arguments before calling `__array_ufunc__`. Previously, it was possible to pass on invalid arguments (such as a non-existing keyword argument) when dispatch was known to occur. ([gh-15271](https://redirect.github.com/numpy/numpy/pull/15271)) ##### `__array_ufunc__` and additional positional arguments Previously, all positionally passed arguments were checked for `__array_ufunc__` support. In the case of `reduce`, `accumulate`, and `reduceat` all arguments may be passed by position. This means that when they were passed by position, they could previously have been asked to handle the ufunc call via `__array_ufunc__`. Since this depended on the way the arguments were passed (by position or by keyword), NumPy will now only dispatch on the input and output array. For example, NumPy will never dispatch on the `where` array in a reduction such as `np.add.reduce`. ([gh-15271](https://redirect.github.com/numpy/numpy/pull/15271)) ##### Validate input values in `Generator.uniform` Checked that `high - low >= 0` in `np.random.Generator.uniform`. Raises `ValueError` if `low > high`. Previously out-of-order inputs were accepted and silently swapped, so that if `low > high`, the value generated was `high + (low - high) * random()`. ([gh-17921](https://redirect.github.com/numpy/numpy/pull/17921)) ##### `/usr/include` removed from default include paths The default include paths when building a package with `numpy.distutils` no longer include `/usr/include`. This path is normally added by the compiler, and hardcoding it can be problematic. In case this causes a problem, please open an issue. A workaround is documented in PR 18658. ([gh-18658](https://redirect.github.com/numpy/numpy/pull/18658)) ##### Changes to comparisons with `dtype=...` When the `dtype=` (or `signature`) arguments to comparison ufuncs (`equal`, `less`, etc.) is used, this will denote the desired output dtype in the future. This means that: > np.equal(2, 3, dtype=object) will give a `FutureWarning` that it will return an `object` array in the future, which currently happens for: > np.equal(None, None, dtype=object) due to the fact that `np.array(None)` is already an object array. (This also happens for some other dtypes.) Since comparisons normally only return boolean arrays, providing any other dtype will always raise an error in the future and give a `DeprecationWarning` now. ([gh-18718](https://redirect.github.com/numpy/numpy/pull/18718)) ##### Changes to `dtype` and `signature` arguments in ufuncs The universal function arguments `dtype` and `signature` which are also valid for reduction such as `np.add.reduce` (which is the implementation for `np.sum`) will now issue a warning when the `dtype` provided is not a "basic" dtype. NumPy almost always ignored metadata, byteorder or time units on these inputs. NumPy will now always ignore it and raise an error if byteorder or time unit changed. The following are the most important examples of changes which will give the error. In some cases previously the information stored was not ignored, in all of these an error is now raised: ### Previously ignored the byte-order (affect if non-native) np.add(3, 5, dtype=">i32") ### The biggest impact is for timedelta or datetimes: arr = np.arange(10, dtype="m8[s]") ### The examples always ignored the time unit "ns": np.add(arr, arr, dtype="m8[ns]") np.maximum.reduce(arr, dtype="m8[ns]") ### The following previously did use "ns" (as opposed to `arr.dtype`) np.add(3, 5, dtype="m8[ns]") # Now return generic time units np.maximum(arr, arr, dtype="m8[ns]") # Now returns "s" (from `arr`) The same applies for functions like `np.sum` which use these internally. This change is necessary to achieve consistent handling within NumPy. If you run into these, in most cases pass for example `dtype=np.timedelta64` which clearly denotes a general `timedelta64` without any unit or byte-order defined. If you need to specify the output dtype precisely, you may do so by either casting the inputs or providing an output array using `out=`. NumPy may choose to allow providing an exact output `dtype` here in the future, which would be preceded by a `FutureWarning`. ([gh-18718](https://redirect.github.com/numpy/numpy/pull/18718)) ##### Ufunc `signature=...` and `dtype=` generalization and `casting` The behaviour for `np.ufunc(1.0, 1.0, signature=...)` or `np.ufunc(1.0, 1.0, dtype=...)` can now yield different loops in 1.21 compared to 1.20 because of changes in promotion. When `signature` was previously used, the casting check on inputs was relaxed, which could lead to downcasting inputs unsafely especially if combined with `casting="unsafe"`. Casting is now guaranteed to be safe. If a signature is only partially provided, for example using `signature=("float64", None, None)`, this could lead to no loop being found (an error). In that case, it is necessary to provide the complete signature to enforce casting the inputs. If `dtype="float64"` is used or only outputs are set (e.g. `signature=(None, None, "float64")` the is unchanged. We expect that very few users are affected by this change. Further, the meaning of `dtype="float64"` has been slightly modified and now strictly enforces only the correct output (and not input) DTypes. This means it is now always equivalent to: signature=(None, None, "float64") (If the ufunc has two inputs and one output). Since this could lead to no loop being found in some cases, NumPy will normally also search for the loop: signature=("float64", "float64", "float64") if the first search failed. In the future, this behaviour may be customized to achieve the expected results for more complex ufuncs. (For some universal functions such as `np.ldexp` inputs can have different DTypes.) ([gh-18880](https://redirect.github.com/numpy/numpy/pull/18880)) ##### Distutils forces strict floating point model on clang NumPy distutils will now always add the `-ffp-exception-behavior=strict` compiler flag when compiling with clang. Clang defaults to a non-strict version, which allows the compiler to generate code that does not set floating point warnings/errors correctly. ([gh-19049](https://redirect.github.com/numpy/numpy/pull/19049)) ## C API changes ##### Use of `ufunc->type_resolver` and "type tuple" NumPy now normalizes the "type tuple" argument to the type resolver functions before calling it. Note that in the use of this type resolver is legacy behaviour and NumPy will not do so when possible. Calling `ufunc->type_resolver` or `PyUFunc_DefaultTypeResolver` is strongly discouraged and will now enforce a normalized type tuple if done. Note that this does not affect providing a type resolver, which is expected to keep working in most circumstances. If you have an unexpected use-case for calling the type resolver, please inform the NumPy developers so that a solution can be found. ([gh-18718](https://redirect.github.com/numpy/numpy/pull/18718)) ## New Features ##### Added a mypy plugin for handling platform-specific `numpy.number` precisions A [mypy](http://mypy-lang.org/) plugin is now available for automatically assigning the (platform-dependent) precisions of certain `numpy.number` subclasses, including the likes of `numpy.int_`, `numpy.intp` and `numpy.longlong`. See the documentation on `scalar types ` for a comprehensive overview of the affected classes. Note that while usage of the plugin is completely optional, without it the precision of above-mentioned classes will be inferred as `typing.Any`. To enable the plugin, one must add it to their mypy \[configuration file] (https://mypy.readthedocs.io/en/stable/config_file.html): ```{.ini} [mypy] plugins = numpy.typing.mypy_plugin ``` ([gh-17843](https://redirect.github.com/numpy/numpy/pull/17843)) ##### Let the mypy plugin manage extended-precision `numpy.number` subclasses The [mypy](http://mypy-lang.org/) plugin, introduced in [numpy/numpy#17843](https://redirect.github.com/numpy/numpy/pull/17843), has been expanded: the plugin now removes annotations for platform-specific extended-precision types that are not available to the platform in question. For example, it will remove `numpy.float128` when not available. Without the plugin *all* extended-precision types will, as far as mypy is concerned, be available on all platforms. To enable the plugin, one must add it to their mypy [configuration file](https://mypy.readthedocs.io/en/stable/config_file.html): ```{.ini} [mypy] plugins = numpy.typing.mypy_plugin cn ``` ([gh-18322](https://redirect.github.com/numpy/numpy/pull/18322)) ##### New `min_digits` argument for printing float values A new `min_digits` argument has been added to the dragon4 float printing functions `numpy.format_float_positional` and `numpy.format_float_scientific`. This kwd guarantees that at least the given number of digits will be printed when printing in unique=True mode, even if the extra digits are unnecessary to uniquely specify the value. It is the counterpart to the precision argument which sets the maximum number of digits to be printed. When unique=False in fixed precision mode, it has no effect and the precision argument fixes the number of digits. ([gh-18629](https://redirect.github.com/numpy/numpy/pull/18629)) ##### f2py now recognizes Fortran abstract interface blocks `numpy.f2py` can now parse abstract interface blocks. ([gh-18695](https://redirect.github.com/numpy/numpy/pull/18695)) ##### BLAS and LAPACK configuration via environment variables Autodetection of installed BLAS and LAPACK libraries can be bypassed by using the `NPY_BLAS_LIBS` and `NPY_LAPACK_LIBS` environment variables. Instead, the link flags in these environment variables will be used directly, and the language is assumed to be F77. This is especially useful in automated builds where the BLAS and LAPACK that are installed are known exactly. A use case is replacing the actual implementation at runtime via stub library links. If `NPY_CBLAS_LIBS` is set (optional in addition to `NPY_BLAS_LIBS`), this will be used as well, by defining `HAVE_CBLAS` and appending the environment variable content to the link flags. ([gh-18737](https://redirect.github.com/numpy/numpy/pull/18737)) ##### A runtime-subcriptable alias has been added for `ndarray` `numpy.typing.NDArray` has been added, a runtime-subscriptable alias for `np.ndarray[Any, np.dtype[~Scalar]]`. The new type alias can be used for annotating arrays with a given dtype and unspecified shape. NumPy does not support the annotating of array shapes as of 1.21, this is expected to change in the future though (see `646`{.interpreted-text role="pep"}). ##### Examples ```{.python} >>> import numpy as np >>> import numpy.typing as npt >>> print(npt.NDArray) numpy.ndarray[typing.Any, numpy.dtype[~ScalarType]] >>> print(npt.NDArray[np.float64]) numpy.ndarray[typing.Any, numpy.dtype[numpy.float64]] >>> NDArrayInt = npt.NDArray[np.int_] >>> a: NDArrayInt = np.arange(10) >>> def func(a: npt.ArrayLike) -> npt.NDArray[Any]: ... return np.array(a) ``` ([gh-18935](https://redirect.github.com/numpy/numpy/pull/18935)) ## Improvements ##### Arbitrary `period` option for `numpy.unwrap` The size of the interval over which phases are unwrapped is no longer restricted to `2 * pi`. This is especially useful for unwrapping degrees, but can also be used for other intervals. ```{.python} >>> phase_deg = np.mod(np.linspace(0,720,19), 360) - 180 >>> phase_deg array([-180., -140., -100., -60., -20., 20., 60., 100., 140., -180., -140., -100., -60., -20., 20., 60., 100., 140., -180.]) >>> unwrap(phase_deg, period=360) array([-180., -140., -100., -60., -20., 20., 60., 100., 140., 180., 220., 260., 300., 340., 380., 420., 460., 500., 540.]) ``` ([gh-16987](https://redirect.github.com/numpy/numpy/pull/16987)) ##### `np.unique` now returns single `NaN` When `np.unique` operated on an array with multiple `NaN` entries, its return included a `NaN` for each entry that was `NaN` in the original array. This is now improved such that the returned array contains just one `NaN` as the last element. Also for complex arrays all `NaN` values are considered equivalent (no matter whether the `NaN` is in the real or imaginary part). As the representant for the returned array the smallest one in the lexicographical order is chosen - see `np.sort` for how the lexicographical order is defined for complex arrays. ([gh-18070](https://redirect.github.com/numpy/numpy/pull/18070)) ##### `Generator.rayleigh` and `Generator.geometric` performance improved The performance of Rayleigh and geometric random variate generation in `Generator` has improved. These are both transformation of exponential random variables and the slow log-based inverse cdf transformation has been replaced with the Ziggurat-based exponential variate generator. This change breaks the stream of variates generated when variates from either of these distributions are produced. ([gh-18666](https://redirect.github.com/numpy/numpy/pull/18666)) ##### Placeholder annotations have been improved All placeholder annotations, that were previously annotated as `typing.Any`, have been improved. Where appropiate they have been replaced with explicit function definitions, classes or other miscellaneous objects. ([gh-18934](https://redirect.github.com/numpy/numpy/pull/18934)) ## Performance improvements ##### Improved performance in integer division of NumPy arrays Integer division of NumPy arrays now uses [libdivide](https://libdivide.com/) when the divisor is a constant. With the usage of libdivide and other minor optimizations, there is a large speedup. The `//` operator and `np.floor_divide` makes use of the new changes. ([gh-17727](https://redirect.github.com/numpy/numpy/pull/17727)) ##### Improve performance of `np.save` and `np.load` for small arrays `np.save` is now a lot faster for small arrays. `np.load` is also faster for small arrays, but only when serializing with a version >= `(3, 0)`. Both are done by removing checks that are only relevant for Python 2, while still maintaining compatibility with arrays which might have been created by Python 2. ([gh-18657](https://redirect.github.com/numpy/numpy/pull/18657)) ## Changes ##### `numpy.piecewise` output class now matches the input class When `numpy.ndarray` subclasses are used on input to `numpy.piecewise`, they are passed on to the functions. The output will now be of the same subclass as well. ([gh-18110](https://redirect.github.com/numpy/numpy/pull/18110)) ##### Enable Accelerate Framework With the release of macOS 11.3, several different issues that numpy was encountering when using Accelerate Framework's implementation of BLAS and LAPACK should be resolved. This change enables the Accelerate Framework as an option on macOS. If additional issues are found, please file a bug report against Accelerate using the developer feedback assistant tool (). We intend to address issues promptly and plan to continue supporting and updating our BLAS and LAPACK libraries. ([gh-18874](https://redirect.github.com/numpy/numpy/pull/18874)) ## Checksums ##### MD5 e4b31fd5cb97e50238b3dbb3487b2cb7 numpy-1.21.0-cp37-cp37m-macosx_10_9_x86_64.whl 111e09f3fddd8e14540cf56493dd786a numpy-1.21.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl e2fc116043d1b91c627f3c8884151f33 numpy-1.21.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl 82e267da77628b96cdf8832e475f6ef3 numpy-1.21.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl baa416fe77b840a19556f5d808eb3165 numpy-1.21.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl aba24836f51bb0a855434c41de122e3d numpy-1.21.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl aa9f94fa6eabfa193902676825934196 numpy-1.21.0-cp37-cp37m-win32.whl 6d771c7670b95adb62627e383c883804 numpy-1.21.0-cp37-cp37m-win_amd64.whl e6d77cae6054b738603415faf9cb4358 numpy-1.21.0-cp38-cp38-macosx_10_9_universal2.whl 9589cfe5a22f54956101b7131be5cabd numpy-1.21.0-cp38-cp38-macosx_10_9_x86_64.whl 5faa22dffa53cfe7d1d40d48aa817670 numpy-1.21.0-cp38-cp38-macosx_11_0_arm64.whl b81545a2924a201817d433c3bad0bc7d numpy-1.21.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl 3e60589e3325a3583880bf6998cfaca6 numpy-1.21.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl baf409eb08b7462899d45c42a7c1d854 numpy-1.21.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 4f311de7973503dde6ad3915f158fd63 numpy-1.21.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl 1a79926ad8d3dda573f5c2d8d06e0e38 numpy-1.21.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl 0b39eb396a1d5983f6eb2075a867a1a6 numpy-1.21.0-cp38-cp38-win32.whl 5c8c3e94f5a55123b1a0d3a4df14b505 numpy-1.21.0-cp38-cp38-win_amd64.whl c6e9fa30e82e3ca1551d2f048d4a1dc4 numpy-1.21.0-cp39-cp39-macosx_10_9_universal2.whl 96d7d3a438296bfc68b819b3624936a5 numpy-1.21.0-cp39-cp39-macosx_10_9_x86_64.whl 31cf2152b4151912be9d165633a7d8eb numpy-1.21.0-cp39-cp39-macosx_11_0_arm64.whl e49cd2db6ec712b8b1d516154b5a034a numpy-1.21.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl c10e13fef152ed1c64151c8b6f6d0799 numpy-1.21.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl a627acdfcd302807cf8592d5bd958d35 numpy-1.21.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl e2287cd16300b363d376b661646fded9 numpy-1.21.0-cp39-cp39-win32.whl 29d1bf596981d930bb1c95c944b4b3d8 numpy-1.21.0-cp39-cp39-win_amd64.whl 42d05fcbab6137a404be36f27fc254f0 numpy-1.21.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl 003e34bd2cba06e7fe299a864964ea24 numpy-1.21.0.tar.gz 930ebfdffd10fed701a7823691f02983 numpy-1.21.0.zip ##### SHA256 d5caa946a9f55511e76446e170bdad1d12d6b54e17a2afe7b189112ed4412bb8 numpy-1.21.0-cp37-cp37m-macosx_10_9_x86_64.whl ac4fd578322842dbda8d968e3962e9f22e862b6ec6e3378e7415625915e2da4d numpy-1.21.0-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl 598fe100b2948465cf3ed64b1a326424b5e4be2670552066e17dfaa67246011d numpy-1.21.0-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl 7c55407f739f0bfcec67d0df49103f9333edc870061358ac8a8c9e37ea02fcd2 numpy-1.21.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 75579acbadbf74e3afd1153da6177f846212ea2a0cc77de53523ae02c9256513 numpy-1.21.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl cc367c86eb87e5b7c9592935620f22d13b090c609f1b27e49600cd033b529f54 numpy-1.21.0-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl d89b0dc7f005090e32bb4f9bf796e1dcca6b52243caf1803fdd2b748d8561f63 numpy-1.21.0-cp37-cp37m-win32.whl eda2829af498946c59d8585a9fd74da3f810866e05f8df03a86f70079c7531dd numpy-1.21.0-cp37-cp37m-win_amd64.whl 1a784e8ff7ea2a32e393cc53eb0003eca1597c7ca628227e34ce34eb11645a0e numpy-1.21.0-cp38-cp38-macosx_10_9_universal2.whl bba474a87496d96e61461f7306fba2ebba127bed7836212c360f144d1e72ac54 numpy-1.21.0-cp38-cp38-macosx_10_9_x86_64.whl fd0a359c1c17f00cb37de2969984a74320970e0ceef4808c32e00773b06649d9 numpy-1.21.0-cp38-cp38-macosx_11_0_arm64.whl e4d5a86a5257843a18fb1220c5f1c199532bc5d24e849ed4b0289fb59fbd4d8f numpy-1.21.0-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl 620732f42259eb2c4642761bd324462a01cdd13dd111740ce3d344992dd8492f numpy-1.21.0-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl b9205711e5440954f861ceeea8f1b415d7dd15214add2e878b4d1cf2bcb1a914 numpy-1.21.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl ad09f55cc95ed8d80d8ab2052f78cc21cb231764de73e229140d81ff49d8145e numpy-1.21.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl a1f2fb2da242568af0271455b89aee0f71e4e032086ee2b4c5098945d0e11cf6 numpy-1.21.0-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl e58ddb53a7b4959932f5582ac455ff90dcb05fac3f8dcc8079498d43afbbde6c numpy-1.21.0-cp38-cp38-win32.whl d2910d0a075caed95de1a605df00ee03b599de5419d0b95d55342e9a33ad1fb3 numpy-1.21.0-cp38-cp38-win_amd64.whl a290989cd671cd0605e9c91a70e6df660f73ae87484218e8285c6522d29f6e38 numpy-1.21.0-cp39-cp39-macosx_10_9_universal2.whl 3537b967b350ad17633b35c2f4b1a1bbd258c018910b518c30b48c8e41272717 numpy-1.21.0-cp39-cp39-macosx_10_9_x86_64.whl ccc6c650f8700ce1e3a77668bb7c43e45c20ac06ae00d22bdf6760b38958c883 numpy-1.21.0-cp39-cp39-macosx_11_0_arm64.whl 709884863def34d72b183d074d8ba5cfe042bc3ff8898f1ffad0209161caaa99 numpy-1.21.0-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl bebab3eaf0641bba26039fb0b2c5bf9b99407924b53b1ea86e03c32c64ef5aef numpy-1.21.0-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl cf680682ad0a3bef56dae200dbcbac2d57294a73e5b0f9864955e7dd7c2c2491 numpy-1.21.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl d95d16204cd51ff1a1c8d5f9958ce90ae190be81d348b514f9be39f878b8044a numpy-1.21.0-cp39-cp39-win32.whl 2ba579dde0563f47021dcd652253103d6fd66165b18011dce1a0609215b2791e numpy-1.21.0-cp39-cp39-win_amd64.whl 3c40e6b860220ed862e8097b8f81c9af6d7405b723f4a7af24a267b46f90e461 numpy-1.21.0-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl b662c841b29848c04d9134f31dbaa7d4c8e673f45bb3a5f28d02f49c424d558a numpy-1.21.0.tar.gz e80fe25cba41c124d04c662f33f6364909b985f2eb5998aaa5ae4b9587242cce numpy-1.21.0.zip ### [`v1.20.3`](https://redirect.github.com/numpy/numpy/releases/tag/v1.20.3) [Compare Source](https://redirect.github.com/numpy/numpy/compare/v1.20.2...v1.20.3) # NumPy 1.20.3 Release Notes NumPy 1.20.3 is a bugfix release containing several fixes merged to the main branch after the NumPy 1.20.2 release. ## Contributors A total of 7 people contributed to this release. People with a "+" by their names contributed a patch for the first time. - Anne Archibald - Bas van Beek - Charles Harris - Dong Keun Oh + - Kamil Choudhury + - Sayed Adel - Sebastian Berg ## Pull requests merged A total of 15 pull requests were merged for this release. - [#​18763](https://redirect.github.com/numpy/numpy/pull/18763): BUG: Correct `datetime64` missing type overload for `datetime.date`... - [#​18764](https://redirect.github.com/numpy/numpy/pull/18764): MAINT: Remove `__all__` in favor of explicit re-exports - [#​18768](https://redirect.github.com/numpy/numpy/pull/18768): BLD: Strip extra newline when dumping gfortran version on MacOS - [#​18769](https://redirect.github.com/numpy/numpy/pull/18769): BUG: fix segfault in object/longdouble operations - [#​18794](https://redirect.github.com/numpy/numpy/pull/18794): MAINT: Use towncrier build explicitly - [#​18887](https://redirect.github.com/numpy/numpy/pull/18887): MAINT: Relax certain integer-type constraints - [#​18915](https://redirect.github.com/numpy/numpy/pull/18915): MAINT: Remove unsafe unions and ABCs from return-annotations - [#​18921](https://redirect.github.com/numpy/numpy/pull/18921): MAINT: Allow more recursion depth for scalar tests. - [#​18922](https://redirect.github.com/numpy/numpy/pull/18922): BUG: Initialize the full nditer buffer in case of error - [#​18923](https://redirect.github.com/numpy/numpy/pull/18923): BLD: remove unnecessary flag `-faltivec` on macOS - [#​18924](https://redirect.github.com/numpy/numpy/pull/18924): MAINT, CI: treats \_SIMD module build warnings as errors through... - [#​18925](https://redirect.github.com/numpy/numpy/pull/18925): BUG: for MINGW, threads.h existence test requires GLIBC > 2.12 - [#​18941](https://redirect.github.com/numpy/numpy/pull/18941): BUG: Make changelog recognize gh- as a PR number prefix. - [#​18948](https://redirect.github.com/numpy/numpy/pull/18948): REL, DOC: Prepare for the NumPy 1.20.3 release. - [#​18953](https://redirect.github.com/numpy/numpy/pull/18953): BUG: Fix failing mypy test in 1.20.x. ## Checksums ##### MD5 702d0185042f1ff9a5d7e72a29f4e1c0 numpy-1.20.3-cp37-cp37m-macosx_10_9_x86_64.whl 3d0284b39b20c243b74f6690ad5ae27f numpy-1.20.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl d1b42dd67dc228088cf822eaab86d424 numpy-1.20.3-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl 126b1a5d46cc7d9b9b426f56d075a1e0 numpy-1.20.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 5b0445346f08b610025dbd2064d4b482 numpy-1.20.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl 02bd4a2c764882e8af353c16344cb633 numpy-1.20.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl 0f6a36724d5477c8fca6c34e73683db6 numpy-1.20.3-cp37-cp37m-win32.whl c7d3ae93743d6c0ea2c9dfcad1d42cb4 numpy-1.20.3-cp37-cp37m-win_amd64.whl 445da50ae14b3318170ccf996baca72c numpy-1.20.3-cp38-cp38-macosx_10_9_x86_64.whl c651fdb4829703e164bc78613c1a90a8 numpy-1.20.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl c9411ef729b8ebe9ed3b8e9dee3da4ac numpy-1.20.3-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl ff69ad241598607fdfea24155625a6e3 numpy-1.20.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 9fd8d44d8a5f19e434e9dfb7738d954f numpy-1.20.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl d144fdfe141442a7f362d498bc9a40c2 numpy-1.20.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl e7ffa27f1c75cf11529d90967fa15bbc numpy-1.20.3-cp38-cp38-win32.whl 58c12a54d1b5bc14d36ed2b0d8617fef numpy-1.20.3-cp38-cp38-win_amd64.whl 18efbadcb513054c765f826fc3bb1645 numpy-1.20.3-cp39-cp39-macosx_10_9_x86_64.whl 319300952bd42455cb2ad98188c74b5f numpy-1.20.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl 1d1451f9a5a2eeef666fc512a101a6ca numpy-1.20.3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl cdef3fb002bb5e3036f056ea0528c804 numpy-1.20.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 85e575735877094f3a76106e9d2a9cac numpy-1.20.3-cp39-cp39-win32.whl 59f1dba95dedc7a1bebc58ee7e7a945a numpy-1.20.3-cp39-cp39-win_amd64.whl 6abc979843929b41b099e4e6c0253063 numpy-1.20.3-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl 802ddf90c7e226ba56ed0ea244f8b53d numpy-1.20.3.tar.gz 949d9114af9accc25ede1daa359c4227 numpy-1.20.3.zip ##### SHA256 70eb5808127284c4e5c9e836208e09d685a7978b6a216db85960b1a112eeace8 numpy-1.20.3-cp37-cp37m-macosx_10_9_x86_64.whl 6ca2b85a5997dabc38301a22ee43c82adcb53ff660b89ee88dded6b33687e1d8 numpy-1.20.3-cp37-cp37m-manylinux_2_12_i686.manylinux2010_i686.whl c5bf0e132acf7557fc9bb8ded8b53bbbbea8892f3c9a1738205878ca9434206a numpy-1.20.3-cp37-cp37m-manylinux_2_12_x86_64.manylinux2010_x86_64.whl db250fd3e90117e0312b611574cd1b3f78bec046783195075cbd7ba9c3d73f16 numpy-1.20.3-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 637d827248f447e63585ca3f4a7d2dfaa882e094df6cfa177cc9cf9cd6cdf6d2 numpy-1.20.3-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.whl 8b7bb4b9280da3b2856cb1fc425932f46fba609819ee1c62256f61799e6a51d2 numpy-1.20.3-cp37-cp37m-manylinux_2_5_x86_64.manylinux1_x86_64.whl 67d44acb72c31a97a3d5d33d103ab06d8ac20770e1c5ad81bdb3f0c086a56cf6 numpy-1.20.3-cp37-cp37m-win32.whl 43909c8bb289c382170e0282158a38cf306a8ad2ff6dfadc447e90f9961bef43 numpy-1.20.3-cp37-cp37m-win_amd64.whl f1452578d0516283c87608a5a5548b0cdde15b99650efdfd85182102ef7a7c17 numpy-1.20.3-cp38-cp38-macosx_10_9_x86_64.whl 6e51534e78d14b4a009a062641f465cfaba4fdcb046c3ac0b1f61dd97c861b1b numpy-1.20.3-cp38-cp38-manylinux_2_12_i686.manylinux2010_i686.whl e515c9a93aebe27166ec9593411c58494fa98e5fcc219e47260d9ab8a1cc7f9f numpy-1.20.3-cp38-cp38-manylinux_2_12_x86_64.manylinux2010_x86_64.whl c1c09247ccea742525bdb5f4b5ceeacb34f95731647fe55774aa36557dbb5fa4 numpy-1.20.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 66fbc6fed94a13b9801fb70b96ff30605ab0a123e775a5e7a26938b717c5d71a numpy-1.20.3-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.whl ea9cff01e75a956dbee133fa8e5b68f2f92175233de2f88de3a682dd94deda65 numpy-1.20.3-cp38-cp38-manylinux_2_5_x86_64.manylinux1_x86_64.whl f39a995e47cb8649673cfa0579fbdd1cdd33ea497d1728a6cb194d6252268e48 numpy-1.20.3-cp38-cp38-win32.whl 1676b0a292dd3c99e49305a16d7a9f42a4ab60ec522eac0d3dd20cdf362ac010 numpy-1.20.3-cp38-cp38-win_amd64.whl 830b044f4e64a76ba71448fce6e604c0fc47a0e54d8f6467be23749ac2cbd2fb numpy-1.20.3-cp39-cp39-macosx_10_9_x86_64.whl 55b745fca0a5ab738647d0e4db099bd0a23279c32b31a783ad2ccea729e632df numpy-1.20.3-cp39-cp39-manylinux_2_12_i686.manylinux2010_i686.whl 5d050e1e4bc9ddb8656d7b4f414557720ddcca23a5b88dd7cff65e847864c400 numpy-1.20.3-cp39-cp39-manylinux_2_12_x86_64.manylinux2010_x86_64.whl a9c65473ebc342715cb2d7926ff1e202c26376c0dcaaee85a1fd4b8d8c1d3b2f numpy-1.20.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 16f221035e8bd19b9dc9a57159e38d2dd060b48e93e1d843c49cb370b0f415fd numpy-1.20.3-cp39-cp39-win32.whl 6690080810f77485667bfbff4f69d717c3be25e5b11bb2073e76bb3f578d99b4 numpy-1.20.3-cp39-cp39-win_amd64.whl 4e465afc3b96dbc80cf4a5273e5e2b1e3451286361b4af70ce1adb2984d392f9 numpy-1.20.3-pp37-pypy37_pp73-manylinux_2_12_x86_64.manylinux2010_x86_64.whl b7340f0628ce1823c151e3d2a2a8cba2a3ff1357fba4475a24b1816e75c21f90 numpy-1.20.3.tar.gz e55185e51b18d788e49fe8305fd73ef4470596b33fc2c1ceb304566b99c71a69 numpy-1.20.3.zip ### [`v1.20.2`](https://redirect.github.com/numpy/numpy/releases/tag/v1.20.2) [Compare Source](https://redirect.github.com/numpy/numpy/compare/v1.20.1...v1.20.2) # NumPy 1.20.2 Release Notes NumPy 1,20.2 is a bugfix release containing several fixes merged to the main branch after the NumPy 1.20.1 release. ## Contributors A total of 7 people contributed to this release. People with a "+" by their names contributed a patch for the first time. - Allan Haldane - Bas van Beek - Charles Harris - Christoph Gohlke - Mateusz Sokół + - Michael Lamparski - Sebastian Berg ## Pull requests merged A total of 20 pull requests were merged for this release. - [#​18382](https://redirect.github.com/numpy/numpy/pull/18382): MAINT: Update f2py from master. - [#​18459](https://redirect.github.com/numpy/numpy/pull/18459): BUG: `diagflat` could overflow on windows or 32-bit platforms - [#​18460](https://redirect.github.com/numpy/numpy/pull/18460): BUG: Fix refcount leak in f2py `complex_double_from_pyobj`. - [#​18461](https://redirect.github.com/numpy/numpy/pull/18461): BUG: Fix tiny memory leaks when `like=` overrides are used - [#​18462](https://redirect.github.com/numpy/numpy/pull/18462): BUG: Remove temporary change of descr/flags in VOID functions - [#​18469](https://redirect.github.com/numpy/numpy/pull/18469): BUG: Segfault in nditer buffer dealloc for Object arrays - [#​18485](https://redirect.github.com/numpy/numpy/pull/18485): BUG: Remove suspicious type casting - [#​18486](https://redirect.github.com/numpy/numpy/pull/18486): BUG: remove nonsensical comparison of pointer < 0 - [#​18487](https://redirect.github.com/numpy/numpy/pull/18487): BUG: verify pointer against NULL before using it - [#​18488](https://redirect.github.com/numpy/numpy/pull/18488): BUG: check if PyArray_malloc succeeded - [#​18546](https://redirect.github.com/numpy/numpy/pull/18546): BUG: incorrect error fallthrough in nditer - [#​18559](https://redirect.github.com/numpy/numpy/pull/18559): CI: Backport CI fixes from main. - [#​18599](https://redirect.github.com/numpy/numpy/pull/18599): MAINT: Add annotations for `__getitem__`, `__mul__` and... - [#​18611](https://redirect.github.com/numpy/numpy/pull/18611): BUG: NameError in numpy.distutils.fcompiler.compaq - [#​18612](https://redirect.github.com/numpy/numpy/pull/18612): BUG: Fixed `where` keyword for `np.mean` & `np.var` methods - [#​18617](https://redirect.github.com/numpy/numpy/pull/18617): CI: Update apt package list before Python install - [#​18636](https://redirect.github.com/numpy/numpy/pull/18636): MAINT: Ensure that re-exported sub-modules are properly annotated - [#​18638](https://redirect.github.com/numpy/numpy/pull/18638): BUG: Fix ma coercion list-of-ma-arrays if they do not cast to... - [#​18661](https://redirect.github.com/numpy/numpy/pull/18661): BUG: Fix small valgrind-found issues - [#​18671](https://redirect.github.com/numpy/numpy/pull/18671): BUG: Fix small issues found with pytest-leaks ## Checksums ##### MD5 a95718df123e0726a7dac5043050b251 numpy-1.20.2-cp37-cp37m-macosx_10_9_x86_64.whl 4cacfe903c60827c0e44d0bed7e3a760 numpy-1.20.2-cp37-cp37m-manylinux1_i686.whl 2879728d4f815f07c7d133347deefe45 numpy-1.20.2-cp37-cp37m-manylinux1_x86_64.whl 97546a3cf4ddcc9fcc7eb41b9558f1de numpy-1.20.2-cp37-cp37m-manylinux2010_i686.whl 65ffbc38abe1c1b92eb3bebf3484f679 numpy-1.20.2-cp37-cp37m-manylinux2010_x86_64.whl 5746efbd42db03518a51adbacbc70fa7 numpy-1.20.2-cp37-cp37m-manylinux2014_aarch64.whl e9b8e30a5c62f003835b374dbc1c9031 numpy-1.20.2-cp37-cp37m-win32.whl b2d0fa9383776ab68a1bbefc84331fc1 numpy-1.20.2-cp37-cp37m-win_amd64.whl 321aa118fbd40fe53a7c82557f3f2772 numpy-1.20.2-cp38-cp38-macosx_10_9_x86_64.whl 518013677b05371bbe7e1d6fa4ef61aa numpy-1.20.2-cp38-cp38-manylinux1_i686.whl 58c61ea025646c391788f7bc7f681fa5 numpy-1.20.2-cp38-cp38-manylinux1_x86_64.whl e8ce1857f017bffeed46b003a0385b11 numpy-1.20.2-cp38-cp38-manylinux2010_i686.whl 8ed52b7194b0953d0b04b88fbabea1ac numpy-1.20.2-cp38-cp38-manylinux2010_x86_64.whl 0a9202dfd47fb02c8eab9f71f084633c numpy-1.20.2-cp38-cp38-manylinux2014_aarch64.whl 8c70e309be1ae43d2938895b56ffbdb7 numpy-1.20.2-cp38-cp38-win32.whl 8aaa91a51b79556643ad93cb1d55b7d3 numpy-1.20.2-cp38-cp38-win_amd64.whl b1b03999df657ccd4e65ff6abcf7e042 numpy-1.20.2-cp39-cp39-macosx_10_9_x86_64.whl 139fef5109539031e570aee9aa3090bf numpy-1.20.2-cp39-cp39-manylinux2010_i686.whl 2c9463187e6a1a0245ed4a2db8e8e656 numpy-1.20.2-cp39-cp39-manylinux2010_x86_64.whl b6cb08e8f56accedc4fdc29720ffb380 numpy-1.20.2-cp39-cp39-manylinux2014_aarch64.whl a3024059b52e7688d3c98b82e2f2688e numpy-1.20.2-cp39-cp39-win32.whl abcd17ffd3b29014ff15e93a74c2c3d6 numpy-1.20.2-cp39-cp39-win_amd64.whl 67704047e60c2b280f7e9f42400cca91 numpy-1.20.2-pp37-pypy37_pp73-manylinux2010_x86_64.whl 6fe93791438f9c1f69c9352680151002 numpy-1.20.2.tar.gz 5e1b381630af4d18db0fedd56b6d8da2 numpy-1.20.2.zip ##### SHA256 e9459f40244bb02b2f14f6af0cd0732791d72232bbb0dc4bab57ef88e75f6935 numpy-1.20.2-cp37-cp37m-macosx_10_9_x86_64.whl a8e6859913ec8eeef3dbe9aed3bf475347642d1cdd6217c30f28dee8903528e6 numpy-1.20.2-cp37-cp37m-manylinux1_i686.whl 9cab23439eb1ebfed1aaec9cd42b7dc50fc96d5cd3147da348d9161f0501ada5 numpy-1.20.2-cp37-cp37m-manylinux1_x86_64.whl 9c0fab855ae790ca74b27e55240fe4f2a36a364a3f1ebcfd1fb5ac4088f1cec3 numpy-1.20.2-cp37-cp37m-manylinux2010_i686.whl 61d5b4cf73622e4d0c6b83408a16631b670fc045afd6540679aa35591a17fe6d numpy-1.20.2-cp37-cp37m-manylinux2010_x86_64.whl d15007f857d6995db15195217afdbddfcd203dfaa0ba6878a2f580eaf810ecd6 numpy-1.20.2-cp37-cp37m-manylinux2014_aarch64.whl d76061ae5cab49b83a8cf3feacefc2053fac672728802ac137dd8c4123397677 numpy-1.20.2-cp37-cp37m-win32.whl bad70051de2c50b1a6259a6df1daaafe8c480ca98132da98976d8591c412e737 numpy-1.20.2-cp37-cp37m-win_amd64.whl 719656636c48be22c23641859ff2419b27b6bdf844b36a2447cb39caceb00935 numpy-1.20.2-cp38-cp38-macosx_10_9_x86_64.whl aa046527c04688af680217fffac61eec2350ef3f3d7320c07fd33f5c6e7b4d5f numpy-1.20.2-cp38-cp38-manylinux1_i686.whl 2428b109306075d89d21135bdd6b785f132a1f5a3260c371cee1fae427e12727 numpy-1.20.2-cp38-cp38-manylinux1_x86_64.whl e8e4fbbb7e7634f263c5b0150a629342cc19b47c5eba8d1cd4363ab3455ab576 numpy-1.20.2-cp38-cp38-manylinux2010_i686.whl edb1f041a9146dcf02cd7df7187db46ab524b9af2515f392f337c7cbbf5b52cd numpy-1.20.2-cp38-cp38-manylinux2010_x86_64.whl c73a7975d77f15f7f68dacfb2bca3d3f479f158313642e8ea9058eea06637931 numpy-1.20.2-cp38-cp38-manylinux2014_aarch64.whl 6c915ee7dba1071554e70a3664a839fbc033e1d6528199d4621eeaaa5487ccd2 numpy-1.20.2-cp38-cp38-win32.whl 471c0571d0895c68da309dacee4e95a0811d0a9f9f532a48dc1bea5f3b7ad2b7 numpy-1.20.2-cp38-cp38-win_amd64.whl 4703b9e937df83f5b6b7447ca5912b5f5f297aba45f91dbbbc63ff9278c7aa98 numpy-1.20.2-cp39-cp39-macosx_10_9_x86_64.whl abc81829c4039e7e4c30f7897938fa5d4916a09c2c7eb9b244b7a35ddc9656f4 numpy-1.20.2-cp39-cp39-manylinux2010_i686.whl 377751954da04d4a6950191b20539066b4e19e3b559d4695399c5e8e3e683bf6 numpy-1.20.2-cp39-cp39-manylinux2010_x86_64.whl 6e51e417d9ae2e7848314994e6fc3832c9d426abce9328cf7571eefceb43e6c9 numpy-1.20.2-cp39-cp39-manylinux2014_aarch64.whl 780ae5284cb770ade51d4b4a7dce4faa554eb1d88a56d0e8b9f35fca9b0270ff numpy-1.20.2-cp39-cp39-win32.whl 924dc3f83de20437de95a73516f36e09918e9c9c18d5eac520062c49191025fb numpy-1.20.2-cp39-cp39-win_amd64.whl 97ce8b8ace7d3b9288d88177e66ee75480fb79b9cf745e91ecfe65d91a856042 numpy-1.20.2-pp37-pypy37_pp73-manylinux2010_x86_64.whl c049f410c78e76ffb0af830a8afbdf8baac09897b4152b97b1a3b8345ee338ff numpy-1.20.2.tar.gz 878922bf5ad7550aa044aa9301d417e2d3ae50f0f577de92051d739ac6096cee numpy-1.20.2.zip ### [`v1.20.1`](https://redirect.github.com/numpy/numpy/releases/tag/v1.20.1) [Compare Source](https://redirect.github.com/numpy/numpy/compare/v1.20.0...v1.20.1) # NumPy 1.20.1 Release Notes NumPy 1.20.1 is a rapid bugfix release fixing several bugs and regressions reported after the 1.20.0 release. ## Highlights - The distutils bug that caused problems with downstream projects is fixed. - The `random.shuffle` regression is fixed. ## Contributors A total of 8 people contributed to this release. People with a "+" by their names contributed a patch for the first time. - Bas van Beek - Charles Harris - Nicholas McKibben + - Pearu Peterson - Ralf Gommers - Sebastian Berg - Tyler Reddy - [@​Aerysv](https://redirect.github.com/Aerysv) + ## Pull requests merged A total of 15 pull requests were merged for this release. - [#​18306](https://redirect.github.com/numpy/numpy/pull/18306): MAINT: Add missing placeholder annotations - [#​18310](https://redirect.github.com/numpy/numpy/pull/18310): BUG: Fix typo in `numpy.__init__.py` - [#​18326](https://redirect.github.com/numpy/numpy/pull/18326): BUG: don't mutate list of fake libraries while iterating over... - [#​18327](https://redirect.github.com/numpy/numpy/pull/18327): MAINT: gracefully shuffle memoryviews - [#​18328](https://redirect.github.com/numpy/numpy/pull/18328): BUG: Use C linkage for random distributions - [#​18336](https://redirect.github.com/numpy/numpy/pull/18336): CI: fix when GitHub Actions builds trigger, and allow ci skips - [#​18337](https://redirect.github.com/numpy/numpy/pull/18337): BUG: Allow unmodified use of isclose, allclose, etc. with timedelta - [#​18345](https://redirect.github.com/numpy/numpy/pull/18345): BUG: Allow pickling all relevant DType types/classes - [#​18351](https://redirect.github.com/numpy/numpy/pull/18351): BUG: Fix missing signed_char dependency. Closes [#​18335](https://redirect.github.com/numpy/numpy/issues/18335). - [#​18352](https://redirect.github.com/numpy/numpy/pull/18352): DOC: Change license date 2020 -> 2021 - [#​18353](https://redirect.github.com/numpy/numpy/pull/18353): CI: CircleCI seems to occasionally time out, increase the limit - [#​18354](https://redirect.github.com/numpy/numpy/pull/18354): BUG: Fix f2py bugs when wrapping F90 subroutines. - [#​18356](https://redirect.github.com/numpy/numpy/pull/18356): MAINT: crackfortran regex simplify - [#​18357](https://redirect.github.com/numpy/numpy/pull/18357): BUG: threads.h existence test requires GLIBC > 2.12. - [#​18359](https://redirect.github.com/numpy/numpy/pull/18359): REL: Prepare for the NumPy 1.20.1 release. ## Checksums ##### MD5 c4748f4f8f703c5e96027407eca02b08 numpy-1.20.1-cp37-cp37m-macosx_10_9_x86_64.whl f0bf3a78d6b3a169e5a7fb2637f7fd87 numpy-1.20.1-cp37-cp37m-manylinux1_i686.whl 493c17647c05ca5043bcbab1ac266a74 numpy-1.20.1-cp37-cp37m-manylinux1_x86_64.whl 55ec954fc598c72b2bbf57bfa8b2a701 numpy-1.20.1-cp37-cp37m-manylinux2010_i686.whl 8cee88f9683d208686081522609a8726 numpy-1.20.1-cp37-cp37m-manylinux2010_x86_64.whl 26399d3ededc53b354de78f977a6197e numpy-1.20.1-cp37-cp37m-manylinux2014_aarch64.whl 81051f1e7a79eea8a5aaf5718114ce3a numpy-1.20.1-cp37-cp37m-win32.whl 899488c55824f02a7a6f0451fc86f63f numpy-1.20.1-cp37-cp37m-win_amd64.whl 17f4dae5a0d143b46345a9cf1a8c8dec numpy-1.20.1-cp38-cp38-macosx_10_9_x86_64.whl f254e98e92b3054c567b6220b37b81d3 numpy-1.20.1-cp38-cp38-manylinux1_i686.whl 483f43a62c7e32ae991990786da90de1 numpy-1.20.1-cp38-cp38-manylinux1_x86_64.whl bf578b783e36d3feb3344973306a9f96 numpy-1.20.1-cp38-cp38-manylinux2010_i686.whl f5d6c77c898537017e64ee30b243fdca numpy-1.20.1-cp38-cp38-manylinux2010_x86_64.whl 5cf541a0d5af3d5812d2970a427075fb numpy-1.20.1-cp38-cp38-manylinux2014_aarch64.whl 178315c579c0a70285b8ee502eb498af numpy-1.20.1-cp38-cp38-win32.whl 5164a32e7a00a2b285302b563eb58afe numpy-1.20.1-cp38-cp38-win_amd64.whl c123dd10788ea9ff788d735cbee444c5 numpy-1.20.1-cp39-cp39-macosx_10_9_x86_64.whl 72282fefe58650c6e7cc41f5b37b8662 numpy-1.20.1-cp39-cp39-manylinux2010_i686.whl 234d57c1a7b1f8b99c054a7a71a51cbe numpy-1.20.1-cp39-cp39-manylinux2010_x86_64.whl 352243d4285970e45d825024ca566d47 numpy-1.20.1-cp39-cp39-manylinux2014_aarch64.whl a78c863323e0f56210c2e1acaad1bc22 numpy-1.20.1-cp39-cp39-win32.whl 86f9d3f358e7d7896e713bce99f17fdd numpy-1.20.1-cp39-cp39-win_amd64.whl ed2c81132119fb3c7f73c6a2de306058 numpy-1.20.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl 60a5e2517be19394a7df24f6d4add3f2 numpy-1.20.1.tar.gz 30ea1c7868e73eeff2c86ac465311220 numpy-1.20.1.zip ##### SHA256 ae61f02b84a0211abb56462a3b6cd1e7ec39d466d3160eb4e1da8bf6717cdbeb numpy-1.20.1-cp37-cp37m-macosx_10_9_x86_64.whl 65410c7f4398a0047eea5cca9b74009ea61178efd78d1be9847fac1d6716ec1e numpy-1.20.1-cp37-cp37m-manylinux1_i686.whl 2d7e27442599104ee08f4faed56bb87c55f8b10a5494ac2ead5c98a4b289e61f numpy-1.20.1-cp37-cp37m-manylinux1_x86_64.whl 4ed8e96dc146e12c1c5cdd6fb9fd0757f2ba66048bf94c5126b7efebd12d0090 numpy-1.20.1-cp37-cp37m-manylinux2010_i686.whl ecb5b74c702358cdc21268ff4c37f7466357871f53a30e6f84c686952bef16a9 numpy-1.20.1-cp37-cp37m-manylinux2010_x86_64.whl b9410c0b6fed4a22554f072a86c361e417f0258838957b78bd063bde2c7f841f numpy-1.20.1-cp37-cp37m-manylinux2014_aarch64.whl 3d3087e24e354c18fb35c454026af3ed8997cfd4997765266897c68d724e4845 numpy-1.20.1-cp37-cp37m-win32.whl 89f937b13b8dd17b0099c7c2e22066883c86ca1575a975f754babc8fbf8d69a9 numpy-1.20.1-cp37-cp37m-win_amd64.whl a1d7995d1023335e67fb070b2fae6f5968f5be3802b15ad6d79d81ecaa014fe0 numpy-1.20.1-cp38-cp38-macosx_10_9_x86_64.whl 60759ab15c94dd0e1ed88241fd4fa3312db4e91d2c8f5a2d4cf3863fad83d65b numpy-1.20.1-cp38-cp38-manylinux1_i686.whl 125a0e10ddd99a874fd357bfa1b636cd58deb78ba4a30b5ddb09f645c3512e04 numpy-1.20.1-cp38-cp38-manylinux1_x86_64.whl c26287dfc888cf1e65181f39ea75e11f42ffc4f4529e5bd19add57ad458996e2 numpy-1.20.1-cp38-cp38-manylinux2010_i686.whl 7199109fa46277be503393be9250b983f325880766f847885607d9b13848f257 numpy-1.20.1-cp38-cp38-manylinux2010_x86_64.whl 72251e43ac426ff98ea802a931922c79b8d7596480300eb9f1b1e45e0543571e numpy-1.20.1-cp38-cp38-manylinux2014_aarch64.whl c91ec9569facd4757ade0888371eced2ecf49e7982ce5634cc2cf4e7331a4b14 numpy-1.20.1-cp38-cp38-win32.whl 13adf545732bb23a796914fe5f891a12bd74cf3d2986eed7b7eba2941eea1590 numpy-1.20.1-cp38-cp38-win_amd64.whl 104f5e90b143dbf298361a99ac1af4cf59131218a045ebf4ee5990b83cff5fab numpy-1.20.1-cp39-cp39-macosx_10_9_x86_64.whl 89e5336f2bec0c726ac7e7cdae181b325a9c0ee24e604704ed830d241c5e47ff numpy-1.20.1-cp39-cp39-manylinux2010_i686.whl 032be656d89bbf786d743fee11d01ef318b0781281241997558fa7950028dd29 numpy-1.20.1-cp39-cp39-manylinux2010_x86_64.whl 66b467adfcf628f66ea4ac6430ded0614f5cc06ba530d09571ea404789064adc numpy-1.20.1-cp39-cp39-manylinux2014_aarch64.whl 12e4ba5c6420917571f1a5becc9338abbde71dd811ce40b37ba62dec7b39af6d numpy-1.20.1-cp39-cp39-win32.whl 9c94cab5054bad82a70b2e77741271790304651d584e2cdfe2041488e753863b numpy-1.20.1-cp39-cp39-win_amd64.whl 9eb551d122fadca7774b97db8a112b77231dcccda8e91a5bc99e79890797175e numpy-1.20.1-pp37-pypy37_pp73-manylinux2010_x86_64.whl 9bf51d69ebb4ca9239e55bedc2185fe2c0ec222da0adee7ece4125414676846d numpy-1.20.1.tar.gz 3bc63486a870294683980d76ec1e3efc786295ae00128f9ea38e2c6e74d5a60a numpy-1.20.1.zip ### [`v1.20.0`](https://redirect.github.com/numpy/numpy/releases/tag/v1.20.0) [Compare Source](https://redirect.github.com/numpy/numpy/compare/v1.19.5...v1.20.0) # NumPy 1.20.0 Release Notes This NumPy release is the largest so made to date, some 684 PRs contributed by 184 people have been merged. See the list of highlights below for more details. The Python versions supported for this release are 3.7-3.9, support for Python 3.6 has been dropped. Highlights are - Annotations for NumPy functions. This work is ongoing and improvements can be expected pending feedback from users. - Wider use of SIMD to increase execution speed of ufuncs. Much work has been done in introducing universal functions that will ease use of modern features across different hardware platforms. This work is ongoing. - Preliminary work in changing the dtype and casting implementations in order to provide an easier path to extending dtypes. This work is ongoing but enough has been done to allow experimentation and feedback. - Extensive documentation improvements comprising some 185 PR merges. This work is ongoing and part of the larger project to improve NumPy's online presence and usefulness to new users. - Further cleanups related to removing Python 2.7. This improves code readability and removes technical debt. - Preliminary support for the upcoming Cython 3.0. ## New functions ##### The random.Generator class has a new `permuted` function. The new function differs from `shuffle` and `permutation` in that the subarrays indexed by an axis are permuted rather than the axis being treated as a separate 1-D array for every combination of the other indexes. For example, it is now possible to permute the rows or columns of a 2-D array. ([gh-15121](https://redirect.github.com/numpy/numpy/pull/15121)) ##### `sliding_window_view` provides a sliding window view for numpy arrays `numpy.lib.stride\_tricks.sliding\_window\_view` constructs views on numpy arrays that offer a sliding or moving window access to the array. This allows for the simple implementation of certain algorithms, such as running means. ([gh-17394](https://redirect.github.com/numpy/numpy/pull/17394)) ##### \[numpy.broadcast_shapes]{.title-ref} is a new user-facing function `numpy.broadcast\_shapes` gets the resulting shape from broadcasting the given shape tuples against each other. ```{.python} >>> np.broadcast_shapes((1, 2), (3, 1)) (3, 2) >>> np.broadcast_shapes(2, (3, 1)) (3, 2) >>> np.broadcast_shapes((6, 7), (5, 6, 1), (7,), (5, 1, 7)) (5, 6, 7) ``` ([gh-17535](https://redirect.github.com/numpy/numpy/pull/17535)) ## Deprecations ##### Using the aliases of builtin types like `np.int` is deprecated For a long time, `np.int` has been an alias of the builtin `int`. This is repeatedly a cause of confusion for newcomers, and existed mainly for historic reasons. These aliases have been deprecated. The table below shows the full list of deprecated aliases, along with their exact meaning. Replacing uses of items in the first column with the contents of the second column will work identically and silence the deprecation warning. The third column lists alternative NumPy names which may occasionally be preferential. See also `basics.types`{.interpreted-text role="ref"} for additional details. | Deprecated name |Identical to | NumPy scalar type names | | --------------- | ----------- | ----------------------- | `numpy.bool` | `bool` | `numpy.bool\_` | | `numpy.int` | `int` | `numpy.int\_` (default), `numpy.int64`, or `numpy.int32` | | `numpy.float` | `float` | `numpy.float64`, `numpy.float\_`, `numpy.double` (equivalent) | | `numpy.complex` | `complex` | `numpy.complex128`, `numpy.complex\_`, `numpy.cdouble` (equivalent) | | `numpy.object` | `object` | `numpy.object\_` | | `numpy.str` | `str` | `numpy.str\_` | | `numpy.long` | `int` | ` numpy.int\_ `(C `long`), `numpy.longlong` (largest integer type) | | `numpy.unicode` | `str` | `numpy.unicode\_` | To give a clear guideline for the vast majority of cases, for the types `bool`, `object`, `str` (and `unicode`) using the plain version is shorter and clear, and generally a good replacement. For `float` and `complex` you can use `float64` and `complex128` if you wish to be more explicit about the precision. For `np.int` a direct replacement with `np.int_` or `int` is also good and will not change behavior, but the precision will continue to depend on the computer and operating system. If you want to be more explicit and review the current use, you have the following alternatives: - `np.int64` or `np.int32` to specify the precision exactly. This ensures that results cannot depend on the computer or operating system. - `np.int_` or `int` (the default), but be aware that it depends on the computer and operating system. - The C types: `np.cint` (int), `np.int_` (long), `np.longlong`. - `np.intp` which is 32bit on 32bit machines 64bit on 64bit machines. This can be the best type to use for indexing. When used with `np.dtype(...)` or `dtype=...` changing it to the NumPy name as mentioned above will have no effect on the output. If used as a scalar with: np.float(123) changing it can subtly change the result. In this case, the Python version `float(123)` or `int(12.)` is normally preferable, although the NumPy version may be useful for consistency with NumPy arrays (for example, NumPy behaves differently for things like division by zero). ([gh-14882](https://redirect.github.com/numpy/numpy/pull/14882)) ##### Passing `shape=None` to functions with a non-optional shape argument is deprecated Previously, this was an alias for passing `shape=()`. This deprecation is emitted by `PyArray\_IntpConverter` in the C API. If your API is intended to support passing `None`, then you should check for `None` prior to invoking the converter, so as to be able to distinguish `None` and `()`. ([gh-15886](https://redirect.github.com/numpy/numpy/pull/15886)) ##### Indexing errors will be reported even when index result is empty In the future, NumPy will raise an IndexError when an integer array index contains out of bound values even if a non-indexed dimension is of length 0. This will now emit a DeprecationWarning. This can happen when the array is previously empty, or an empty slice is involved: arr1 = np.zeros((5, 0)) arr1[[20]] arr2 = np.zeros((5, 5)) arr2[[20], :0] Previously the non-empty index `[20]` was not checked for correctness. It will now be checked causing a deprecation warning which will be turned into an error. This also applies to assignments. ([gh-15900](https://redirect.github.com/numpy/numpy/pull/15900)) ##### Inexact matches for `mode` and `searchside` are deprecated Inexact and case insensitive matches for `mode` and `searchside` were valid inputs earlier and will give a DeprecationWarning now. For example, below are some example usages which are now deprecated and will give a DeprecationWarning: import numpy as np arr = np.array([[3, 6, 6], [4, 5, 1]]) ### mode: inexact match np.ravel_multi_index(arr, (7, 6), mode="clap") # should be "clip" ### searchside: inexact match np.searchsorted(arr[0], 4, side='random') # should be "right" ([gh-16056](https://redirect.github.com/numpy/numpy/pull/16056)) ##### Deprecation of \[numpy.dual