gasparka / pyha

Describe, simulate and debug hardware in Python
Other
9 stars 1 forks source link

Update numpy to 1.25.0 #868

Closed pyup-bot closed 1 year ago

pyup-bot commented 1 year ago

This PR updates numpy from 1.15.2 to 1.25.0.

Changelog ### 1.25.0 ``` The NumPy 1.25.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, and clarify the documentation. There has also been work to prepare for the future NumPy 2.0.0 release, resulting in a large number of new and expired deprecation. Highlights are: - Support for MUSL, there are now MUSL wheels. - Support the Fujitsu C/C++ compiler. - Object arrays are now supported in einsum - Support for inplace matrix multiplication (`=`). We will be releasing a NumPy 1.26 when Python 12 comes out. That is needed because distutils has been dropped by Python 12 and we will be switching to using meson for future builds. The next mainline release will be NumPy 2.0.0. We plan that the 2.0 series will still support downstream projects built against earlier versions of NumPy. The Python versions supported in this release are 3.9-3.11. Deprecations - `np.core.MachAr` is deprecated. It is private API. In names defined in `np.core` should generally be considered private. ([gh-22638](https://github.com/numpy/numpy/pull/22638)) - `np.finfo(None)` is deprecated. ([gh-23011](https://github.com/numpy/numpy/pull/23011)) - `np.round_` is deprecated. Use `np.round` instead. ([gh-23302](https://github.com/numpy/numpy/pull/23302)) - `np.product` is deprecated. Use `np.prod` instead. ([gh-23314](https://github.com/numpy/numpy/pull/23314)) - `np.cumproduct` is deprecated. Use `np.cumprod` instead. ([gh-23314](https://github.com/numpy/numpy/pull/23314)) - `np.sometrue` is deprecated. Use `np.any` instead. ([gh-23314](https://github.com/numpy/numpy/pull/23314)) - `np.alltrue` is deprecated. Use `np.all` instead. ([gh-23314](https://github.com/numpy/numpy/pull/23314)) - Only ndim-0 arrays are treated as scalars. NumPy used to treat all arrays of size 1 (e.g., `np.array([3.14])`) as scalars. In the future, this will be limited to arrays of ndim 0 (e.g., `np.array(3.14)`). The following expressions will report a deprecation warning: python a = np.array([3.14]) float(a) better: a[0] to get the numpy.float or a.item() b = np.array([[3.14]]) c = numpy.random.rand(10) c[0] = b better: c[0] = b[0, 0] ([gh-10615](https://github.com/numpy/numpy/pull/10615)) - `numpy.find_common_type` is now deprecated and its use should be replaced with either `numpy.result_type` or `numpy.promote_types`. Most users leave the second `scalar_types` argument to `find_common_type` as `[]` in which case `np.result_type` and `np.promote_types` are both faster and more robust. When not using `scalar_types` the main difference is that the replacement intentionally converts non-native byte-order to native byte order. Further, `find_common_type` returns `object` dtype rather than failing promotion. This leads to differences when the inputs are not all numeric. Importantly, this also happens for e.g. timedelta/datetime for which NumPy promotion rules are currently sometimes surprising. When the `scalar_types` argument is not `[]` things are more complicated. In most cases, using `np.result_type` and passing the Python values `0`, `0.0`, or `0j` has the same result as using `int`, `float`, or `complex` in `scalar_types`. When `scalar_types` is constructed, `np.result_type` is the correct replacement and it may be passed scalar values like `np.float32(0.0)`. Passing values other than 0, may lead to value-inspecting behavior (which `np.find_common_type` never used and NEP 50 may change in the future). The main possible change in behavior in this case, is when the array types are signed integers and scalar types are unsigned. If you are unsure about how to replace a use of `scalar_types` or when non-numeric dtypes are likely, please do not hesitate to open a NumPy issue to ask for help. ([gh-22539](https://github.com/numpy/numpy/pull/22539)) Expired deprecations - `np.core.machar` and `np.finfo.machar` have been removed. ([gh-22638](https://github.com/numpy/numpy/pull/22638)) - `+arr` will now raise an error when the dtype is not numeric (and positive is undefined). ([gh-22998](https://github.com/numpy/numpy/pull/22998)) - A sequence must now be passed into the stacking family of functions (`stack`, `vstack`, `hstack`, `dstack` and `column_stack`). ([gh-23019](https://github.com/numpy/numpy/pull/23019)) - `np.clip` now defaults to same-kind casting. Falling back to unsafe casting was deprecated in NumPy 1.17. ([gh-23403](https://github.com/numpy/numpy/pull/23403)) - `np.clip` will now propagate `np.nan` values passed as `min` or `max`. Previously, a scalar NaN was usually ignored. This was deprecated in NumPy 1.17. ([gh-23403](https://github.com/numpy/numpy/pull/23403)) - The `np.dual` submodule has been removed. ([gh-23480](https://github.com/numpy/numpy/pull/23480)) - NumPy now always ignores sequence behavior for an array-like (defining one of the array protocols). (Deprecation started NumPy 1.20) ([gh-23660](https://github.com/numpy/numpy/pull/23660)) - The niche `FutureWarning` when casting to a subarray dtype in `astype` or the array creation functions such as `asarray` is now finalized. The behavior is now always the same as if the subarray dtype was wrapped into a single field (which was the workaround, previously). (FutureWarning since NumPy 1.20) ([gh-23666](https://github.com/numpy/numpy/pull/23666)) - `==` and `!=` warnings have been finalized. The `==` and `!=` operators on arrays now always: - raise errors that occur during comparisons such as when the arrays have incompatible shapes (`np.array([1, 2]) == np.array([1, 2, 3])`). - return an array of all `True` or all `False` when values are fundamentally not comparable (e.g. have different dtypes). An example is `np.array(["a"]) == np.array([1])`. This mimics the Python behavior of returning `False` and `True` when comparing incompatible types like `"a" == 1` and `"a" != 1`. For a long time these gave `DeprecationWarning` or `FutureWarning`. ([gh-22707](https://github.com/numpy/numpy/pull/22707)) - Nose support has been removed. NumPy switched to using pytest in 2018 and nose has been unmaintained for many years. We have kept NumPy\'s nose support to avoid breaking downstream projects who might have been using it and not yet switched to pytest or some other testing framework. With the arrival of Python 3.12, unpatched nose will raise an error. It is time to move on. *Decorators removed*: - raises - slow - setastest - skipif - knownfailif - deprecated - parametrize - \_needs_refcount These are not to be confused with pytest versions with similar names, e.g., pytest.mark.slow, pytest.mark.skipif, pytest.mark.parametrize. *Functions removed*: - Tester - import_nose - run_module_suite ([gh-23041](https://github.com/numpy/numpy/pull/23041)) - The `numpy.testing.utils` shim has been removed. Importing from the `numpy.testing.utils` shim has been deprecated since 2019, the shim has now been removed. All imports should be made directly from `numpy.testing`. ([gh-23060](https://github.com/numpy/numpy/pull/23060)) - The environment variable to disable dispatching has been removed. Support for the `NUMPY_EXPERIMENTAL_ARRAY_FUNCTION` environment variable has been removed. This variable disabled dispatching with `__array_function__`. ([gh-23376](https://github.com/numpy/numpy/pull/23376)) - Support for `y=` as an alias of `out=` has been removed. The `fix`, `isposinf` and `isneginf` functions allowed using `y=` as a (deprecated) alias for `out=`. This is no longer supported. ([gh-23376](https://github.com/numpy/numpy/pull/23376)) Compatibility notes - The `busday_count` method now correctly handles cases where the `begindates` is later in time than the `enddates`. Previously, the `enddates` was included, even though the documentation states it is always excluded. ([gh-23229](https://github.com/numpy/numpy/pull/23229)) - When comparing datetimes and timedelta using `np.equal` or `np.not_equal` numpy previously allowed the comparison with `casting="unsafe"`. This operation now fails. Forcing the output dtype using the `dtype` kwarg can make the operation succeed, but we do not recommend it. ([gh-22707](https://github.com/numpy/numpy/pull/22707)) - When loading data from a file handle using `np.load`, if the handle is at the end of file, as can happen when reading multiple arrays by calling `np.load` repeatedly, numpy previously raised `ValueError` if `allow_pickle=False`, and `OSError` if `allow_pickle=True`. Now it raises `EOFError` instead, in both cases. ([gh-23105](https://github.com/numpy/numpy/pull/23105)) `np.pad` with `mode=wrap` pads with strict multiples of original data Code based on earlier version of `pad` that uses `mode="wrap"` will return different results when the padding size is larger than initial array. `np.pad` with `mode=wrap` now always fills the space with strict multiples of original data even if the padding size is larger than the initial array. ([gh-22575](https://github.com/numpy/numpy/pull/22575)) Cython `long_t` and `ulong_t` removed `long_t` and `ulong_t` were aliases for `longlong_t` and `ulonglong_t` and confusing (a remainder from of Python 2). This change may lead to the errors: 'long_t' is not a type identifier 'ulong_t' is not a type identifier We recommend use of bit-sized types such as `cnp.int64_t` or the use of `cnp.intp_t` which is 32 bits on 32 bit systems and 64 bits on 64 bit systems (this is most compatible with indexing). If C `long` is desired, use plain `long` or `npy_long`. `cnp.int_t` is also `long` (NumPy\'s default integer). However, `long` is 32 bit on 64 bit windows and we may wish to adjust this even in NumPy. (Please do not hesitate to contact NumPy developers if you are curious about this.) ([gh-22637](https://github.com/numpy/numpy/pull/22637)) Changed error message and type for bad `axes` argument to `ufunc` The error message and type when a wrong `axes` value is passed to `ufunc(..., axes=[...])` has changed. The message is now more indicative of the problem, and if the value is mismatched an `AxisError` will be raised. A `TypeError` will still be raised for invalidinput types. ([gh-22675](https://github.com/numpy/numpy/pull/22675)) Array-likes that define `__array_ufunc__` can now override ufuncs if used as `where` If the `where` keyword argument of a `numpy.ufunc`{.interpreted-text role="class"} is a subclass of `numpy.ndarray`{.interpreted-text role="class"} or is a duck type that defines `numpy.class.__array_ufunc__`{.interpreted-text role="func"} it can override the behavior of the ufunc using the same mechanism as the input and output arguments. Note that for this to work properly, the `where.__array_ufunc__` implementation will have to unwrap the `where` argument to pass it into the default implementation of the `ufunc` or, for `numpy.ndarray`{.interpreted-text role="class"} subclasses before using `super().__array_ufunc__`. ([gh-23240](https://github.com/numpy/numpy/pull/23240)) By default, the exported NumPy C API is now compatible with NumPy 1.19 Starting with NumPy 1.25 when including NumPy headers, NumPy now defaults to exposing a backwards compatible API. This means that by default binaries such as wheels build against NumPy 1.25 will also work with NumPy 1.16 because it has the same API version as NumPy 1.19 which is the oldest NumPy version compatible with Python 3.9. You can customize this behavior using: define NPY_TARGET_VERSION NPY_1_22_API_VERSION or the equivalent `-D` option to the compiler. For more details please see `for-downstream-package-authors`{.interpreted-text role="ref"}. A change should only be required in rare cases when a package relies on newly added C-API. ([gh-23528](https://github.com/numpy/numpy/pull/23528)) New Features `np.einsum` now accepts arrays with `object` dtype The code path will call python operators on object dtype arrays, much like `np.dot` and `np.matmul`. ([gh-18053](https://github.com/numpy/numpy/pull/18053)) Add support for inplace matrix multiplication It is now possible to perform inplace matrix multiplication via the `=` operator. python >>> import numpy as np >>> a = np.arange(6).reshape(3, 2) >>> print(a) [[0 1] [2 3] [4 5]] >>> b = np.ones((2, 2), dtype=int) >>> a = b >>> print(a) [[1 1] [5 5] [9 9]] ([gh-21120](https://github.com/numpy/numpy/pull/21120)) Added `NPY_ENABLE_CPU_FEATURES` environment variable Users may now choose to enable only a subset of the built CPU features at runtime by specifying the `NPY_ENABLE_CPU_FEATURES` environment variable. Note that these specified features must be outside the baseline, since those are always assumed. Errors will be raised if attempting to enable a feature that is either not supported by your CPU, or that NumPy was not built with. ([gh-22137](https://github.com/numpy/numpy/pull/22137)) NumPy now has an `np.exceptions` namespace NumPy now has a dedicated namespace making most exceptions and warnings available. All of these remain available in the main namespace, although some may be moved slowly in the future. The main reason for this is to increase discoverability and add future exceptions. ([gh-22644](https://github.com/numpy/numpy/pull/22644)) `np.linalg` functions return NamedTuples `np.linalg` functions that return tuples now return namedtuples. These functions are `eig()`, `eigh()`, `qr()`, `slogdet()`, and `svd()`. The return type is unchanged in instances where these functions return non-tuples with certain keyword arguments (like `svd(compute_uv=False)`). ([gh-22786](https://github.com/numpy/numpy/pull/22786)) String functions in `np.char` are compatible with NEP 42 custom dtypes Custom dtypes that represent unicode strings or byte strings can now be passed to the string functions in `np.char`. ([gh-22863](https://github.com/numpy/numpy/pull/22863)) String dtype instances can be created from the string abstract dtype classes It is now possible to create a string dtype instance with a size without using the string name of the dtype. For example, `type(np.dtype('U'))(8)` will create a dtype that is equivalent to `np.dtype('U8')`. This feature is most useful when writing generic code dealing with string dtype classes. ([gh-22963](https://github.com/numpy/numpy/pull/22963)) Fujitsu C/C++ compiler is now supported Support for Fujitsu compiler has been added. To build with Fujitsu compiler, run: > python setup.py build -c fujitsu SSL2 is now supported Support for SSL2 has been added. SSL2 is a library that provides OpenBLAS compatible GEMM functions. To enable SSL2, it need to edit site.cfg and build with Fujitsu compiler. See site.cfg.example. ([gh-22982](https://github.com/numpy/numpy/pull/22982)) Improvements `NDArrayOperatorsMixin` specifies that it has no `__slots__` The `NDArrayOperatorsMixin` class now specifies that it contains no `__slots__`, ensuring that subclasses can now make use of this feature in Python. ([gh-23113](https://github.com/numpy/numpy/pull/23113)) Fix power of complex zero `np.power` now returns a different result for `0^{non-zero}` for complex numbers. Note that the value is only defined when the real part of the exponent is larger than zero. Previously, NaN was returned unless the imaginary part was strictly zero. The return value is either `0+0j` or `0-0j`. ([gh-18535](https://github.com/numpy/numpy/pull/18535)) New `DTypePromotionError` NumPy now has a new `DTypePromotionError` which is used when two dtypes cannot be promoted to a common one, for example: np.result_type("M8[s]", np.complex128) raises this new exception. ([gh-22707](https://github.com/numpy/numpy/pull/22707)) `np.show_config` uses information from Meson Build and system information now contains information from Meson. `np.show_config` now has a new optional parameter `mode` to help customize the output. ([gh-22769](https://github.com/numpy/numpy/pull/22769)) Fix `np.ma.diff` not preserving the mask when called with arguments prepend/append. Calling `np.ma.diff` with arguments prepend and/or append now returns a `MaskedArray` with the input mask preserved. Previously, a `MaskedArray` without the mask was returned. ([gh-22776](https://github.com/numpy/numpy/pull/22776)) Corrected error handling for NumPy C-API in Cython Many NumPy C functions defined for use in Cython were lacking the correct error indicator like `except -1` or `except *`. These have now been added. ([gh-22997](https://github.com/numpy/numpy/pull/22997)) Ability to directly spawn random number generators `numpy.random.Generator.spawn` now allows to directly spawn new independent child generators via the `numpy.random.SeedSequence.spawn` mechanism. `numpy.random.BitGenerator.spawn` does the same for the underlying bit generator. Additionally, `numpy.random.BitGenerator.seed_seq` now gives direct access to the seed sequence used for initializing the bit generator. This allows for example: seed = 0x2e09b90939db40c400f8f22dae617151 rng = np.random.default_rng(seed) child_rng1, child_rng2 = rng.spawn(2) safely use rng, child_rng1, and child_rng2 Previously, this was hard to do without passing the `SeedSequence` explicitly. Please see `numpy.random.SeedSequence` for more information. ([gh-23195](https://github.com/numpy/numpy/pull/23195)) `numpy.logspace` now supports a non-scalar `base` argument The `base` argument of `numpy.logspace` can now be array-like if it is broadcastable against the `start` and `stop` arguments. ([gh-23275](https://github.com/numpy/numpy/pull/23275)) `np.ma.dot()` now supports for non-2d arrays Previously `np.ma.dot()` only worked if `a` and `b` were both 2d. Now it works for non-2d arrays as well as `np.dot()`. ([gh-23322](https://github.com/numpy/numpy/pull/23322)) Explicitly show keys of .npz file in repr `NpzFile` shows keys of loaded .npz file when printed. python >>> npzfile = np.load('arr.npz') >>> npzfile NpzFile 'arr.npz' with keys arr_0, arr_1, arr_2, arr_3, arr_4... ([gh-23357](https://github.com/numpy/numpy/pull/23357)) NumPy now exposes DType classes in `np.dtypes` The new `numpy.dtypes` module now exposes DType classes and will contain future dtype related functionality. Most users should have no need to use these classes directly. ([gh-23358](https://github.com/numpy/numpy/pull/23358)) Drop dtype metadata before saving in .npy or .npz files Currently, a `*.npy` file containing a table with a dtype with metadata cannot be read back. Now, `np.save` and `np.savez` drop metadata before saving. ([gh-23371](https://github.com/numpy/numpy/pull/23371)) `numpy.lib.recfunctions.structured_to_unstructured` returns views in more cases `structured_to_unstructured` now returns a view, if the stride between the fields is constant. Prior, padding between the fields or a reversed field would lead to a copy. This change only applies to `ndarray`, `memmap` and `recarray`. For all other array subclasses, the behavior remains unchanged. ([gh-23652](https://github.com/numpy/numpy/pull/23652)) Signed and unsigned integers always compare correctly When `uint64` and `int64` are mixed in NumPy, NumPy typically promotes both to `float64`. This behavior may be argued about but is confusing for comparisons `==`, `<=`, since the results returned can be incorrect but the conversion is hidden since the result is a boolean. NumPy will now return the correct results for these by avoiding the cast to float. ([gh-23713](https://github.com/numpy/numpy/pull/23713)) Performance improvements and changes Faster `np.sort` on AVX-512 enabled processors Quicksort for 16-bit and 64-bit dtypes gain up to 15x and 9x speed up on processors that support AVX-512 instruction set. Thanks to [Intel corporation](https://open.intel.com/) for sponsoring this work. ([gh-22315](https://github.com/numpy/numpy/pull/22315)) `__array_function__` machinery is now much faster The overhead of the majority of functions in NumPy is now smaller especially when keyword arguments are used. This change significantly speeds up many simple function calls. ([gh-23020](https://github.com/numpy/numpy/pull/23020)) `ufunc.at` can be much faster Generic `ufunc.at` can be up to 9x faster. The conditions for this speedup: - operands are aligned - no casting If ufuncs with appropriate indexed loops on 1d arguments with the above conditions, `ufunc.at` can be up to 60x faster (an additional 7x speedup). Appropriate indexed loops have been added to `add`, `subtract`, `multiply`, `floor_divide`, `maximum`, `minimum`, `fmax`, and `fmin`. The internal logic is similar to the logic used for regular ufuncs, which also have fast paths. Thanks to the [D. E. Shaw group](https://deshaw.com/) for sponsoring this work. ([gh-23136](https://github.com/numpy/numpy/pull/23136)) Faster membership test on `NpzFile` Membership test on `NpzFile` will no longer decompress the archive if it is successful. ([gh-23661](https://github.com/numpy/numpy/pull/23661)) Changes `np.r_[]` and `np.c_[]` with certain scalar values In rare cases, using mainly `np.r_` with scalars can lead to different results. The main potential changes are highlighted by the following: >>> np.r_[np.arange(5, dtype=np.uint8), -1].dtype int16 rather than the default integer (int64 or int32) >>> np.r_[np.arange(5, dtype=np.int8), 255] array([ 0, 1, 2, 3, 4, 255], dtype=int16) Where the second example returned: array([ 0, 1, 2, 3, 4, -1], dtype=int8) The first one is due to a signed integer scalar with an unsigned integer array, while the second is due to `255` not fitting into `int8` and NumPy currently inspecting values to make this work. (Note that the second example is expected to change in the future due to `NEP 50 <NEP50>`{.interpreted-text role="ref"}; it will then raise an error.) ([gh-22539](https://github.com/numpy/numpy/pull/22539)) Most NumPy functions are wrapped into a C-callable To speed up the `__array_function__` dispatching, most NumPy functions are now wrapped into C-callables and are not proper Python functions or C methods. They still look and feel the same as before (like a Python function), and this should only improve performance and user experience (cleaner tracebacks). However, please inform the NumPy developers if this change confuses your program for some reason. ([gh-23020](https://github.com/numpy/numpy/pull/23020)) C++ standard library usage NumPy builds now depend on the C++ standard library, because the `numpy.core._multiarray_umath` extension is linked with the C++ linker. ([gh-23601](https://github.com/numpy/numpy/pull/23601)) Checksums MD5 fbbc825509a7c07b510670d28ef8bbfa numpy-1.25.0rc1-cp310-cp310-macosx_10_9_x86_64.whl 4e180a777fb108729c5899f5d0dd809c numpy-1.25.0rc1-cp310-cp310-macosx_11_0_arm64.whl d21d3e363c6e3ecef94a3cc9a014bd40 numpy-1.25.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 3d0d215ea9f1c0bcf2544133cfae4e60 numpy-1.25.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl fc7b40a9a38825e7065a3f68403870f1 numpy-1.25.0rc1-cp310-cp310-musllinux_1_1_x86_64.whl b8277ceaf6893fa15cbfc550c23d0b87 numpy-1.25.0rc1-cp310-cp310-win32.whl 06018e514aea30f8bf533cdb05536e1f numpy-1.25.0rc1-cp310-cp310-win_amd64.whl c74a294da0fbb44f3cf625527448ced7 numpy-1.25.0rc1-cp311-cp311-macosx_10_9_x86_64.whl 342eaeed6ba93fe58fcf0c70ed4df191 numpy-1.25.0rc1-cp311-cp311-macosx_11_0_arm64.whl 43c70b2d9fedd62053b9c5aac254eed2 numpy-1.25.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl eedfedfd3b08cce4969a5688bc11217d numpy-1.25.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl a97d41371f7a9b71be54091868c907ce numpy-1.25.0rc1-cp311-cp311-musllinux_1_1_x86_64.whl 9f23c161c940c2d5c88f6f2a96947edd numpy-1.25.0rc1-cp311-cp311-win32.whl 316c96a7a991af57a3956be3f070856b numpy-1.25.0rc1-cp311-cp311-win_amd64.whl 89e6d344c6b75c4795c4b44984fac20a numpy-1.25.0rc1-cp39-cp39-macosx_10_9_x86_64.whl 746d67157b23ab8c3f3cbeed1eb3ca6c numpy-1.25.0rc1-cp39-cp39-macosx_11_0_arm64.whl e5155794ab1680a5e2b62fc8eae403d9 numpy-1.25.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2777450b1791137614fde9505ad9371a numpy-1.25.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 10a1729d6126cc9ed75cb64589d916b8 numpy-1.25.0rc1-cp39-cp39-musllinux_1_1_x86_64.whl e414a13a774f8034da9f8bcfda974653 numpy-1.25.0rc1-cp39-cp39-win32.whl 15ade485b3919f6839af2d30222b2cdd numpy-1.25.0rc1-cp39-cp39-win_amd64.whl 47aaca6df8579400191feac209f87589 numpy-1.25.0rc1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl 8abee7d02cf0b89f15a8a769d31975c0 numpy-1.25.0rc1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 7aa7729ceb639f1adadd2d1c493a1b9b numpy-1.25.0rc1-pp39-pypy39_pp73-win_amd64.whl 283924a7c0b1050e6b455d86e311c666 numpy-1.25.0rc1.tar.gz SHA256 bd1de5d7ab75cdf56f2247aace7940dfd0a8fd048e07808358d8fca604f1d102 numpy-1.25.0rc1-cp310-cp310-macosx_10_9_x86_64.whl a0dab69ef25ccabf6f066a4902e238767cbbe52bc5ff90aa99514f87812ba76a numpy-1.25.0rc1-cp310-cp310-macosx_11_0_arm64.whl f64b730004e500f836f6405ad5cd36d309b6ac065366a0855860155f23eb2ad5 numpy-1.25.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl f8cbdb428d848f03a4f6f534284cf7fb168a6ec0e742357bf65ad268316906ea numpy-1.25.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 1365157813810cfda2be9518806bf32f6b5f56e5e501d8299e3b681d53e405e2 numpy-1.25.0rc1-cp310-cp310-musllinux_1_1_x86_64.whl 8aad2f86d2036622af1e1eb9db94e26618f42a571e02583fa72d5b1983782bf8 numpy-1.25.0rc1-cp310-cp310-win32.whl a4a9f1eaa63b5e35e23e5465ed59746b0a680eb5b5da06f2d432f828d32b26c1 numpy-1.25.0rc1-cp310-cp310-win_amd64.whl 9a18d2c173a44e48e72614748df5624875439af2d352a416b9f3840583ad9efb numpy-1.25.0rc1-cp311-cp311-macosx_10_9_x86_64.whl 1bed69508b3b97dd3fb8c439352881c1bd232a0c8dd1e11d8df4e68046d434cf numpy-1.25.0rc1-cp311-cp311-macosx_11_0_arm64.whl 7cf92c2bfbaf7bd52df1a21e56e8d34cff711594498ecbd02a39df3aaada763b numpy-1.25.0rc1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 20dd2352806eb229bc79c4fa308431eaf1721c66f7928950ee0381df98a2d269 numpy-1.25.0rc1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 165b0fb4d5b6349eef7b909be2d61a673bc6e75e0eec43776eea3222385a9d11 numpy-1.25.0rc1-cp311-cp311-musllinux_1_1_x86_64.whl b1a22ae597ee1d0e2336044854b33965fd92e731efe3c2ab965826e02cca2a8c numpy-1.25.0rc1-cp311-cp311-win32.whl 48e33b46b7db13de75dd0c1c919b8b297b5d7a4dc50b181066977ee17bed7cc3 numpy-1.25.0rc1-cp311-cp311-win_amd64.whl 416da35914d2fecc3afd31127b1eb1a283df33292cfcb453e1c8fb46d52611a1 numpy-1.25.0rc1-cp39-cp39-macosx_10_9_x86_64.whl f59080829bbfe46660a201fc17315a4e8ec6e4499ee745bab3df61866f63e771 numpy-1.25.0rc1-cp39-cp39-macosx_11_0_arm64.whl 5e7ba92ad63ffded03400d5038af89f7788843794c77ad1a37522fa69762b06f numpy-1.25.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 04847257662eef90599a1beca30c757d8e562aa8c7d64e91ea465f299469075d numpy-1.25.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl dfe2e3845c3b630f6617f9e8a15c8a1cbaf452c9fa32c71ec0a77d09548cd662 numpy-1.25.0rc1-cp39-cp39-musllinux_1_1_x86_64.whl 7261d100c9bf722057fd5b9cd5b48f2973b17792b41e689eeaf9b55843cd1afd numpy-1.25.0rc1-cp39-cp39-win32.whl 763fca81a8d8beb6bf4b9a9bbf4045b0c134c15ea66c81d26e5b8683b1861293 numpy-1.25.0rc1-cp39-cp39-win_amd64.whl 06bae17a3629416eb5bae3a429655dc075561206b6d3c1ddfa38b51f273bae5c numpy-1.25.0rc1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl 472bdc3ade289d3efa331738b1daa5a529eef0550650f5d5d2eadb936a2f83a5 numpy-1.25.0rc1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 236c8ff573c02677b873e0934419c8e9873bd2b35aaba885170b7b43cb26d5da numpy-1.25.0rc1-pp39-pypy39_pp73-win_amd64.whl 224e8862a1cd357eede831b270b9e6c51d2cbc2bb5cc2e2b8d0c76d52cbd1edc numpy-1.25.0rc1.tar.gz ``` ### 1.24.3 ``` discovered after the 1.24.2 release. The Python versions supported by this release are 3.8-3.11. Contributors A total of 12 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time. - Aleksei Nikiforov + - Alexander Heger - Bas van Beek - Bob Eldering - Brock Mendel - Charles Harris - Kyle Sunden - Peter Hawkins - Rohit Goswami - Sebastian Berg - Warren Weckesser - dependabot\[bot\] Pull requests merged A total of 17 pull requests were merged for this release. - [23206](https://github.com/numpy/numpy/pull/23206): BUG: fix for f2py string scalars (#23194) - [23207](https://github.com/numpy/numpy/pull/23207): BUG: datetime64/timedelta64 comparisons return NotImplemented - [23208](https://github.com/numpy/numpy/pull/23208): MAINT: Pin matplotlib to version 3.6.3 for refguide checks - [23221](https://github.com/numpy/numpy/pull/23221): DOC: Fix matplotlib error in documentation - [23226](https://github.com/numpy/numpy/pull/23226): CI: Ensure submodules are initialized in gitpod. - [23341](https://github.com/numpy/numpy/pull/23341): TYP: Replace duplicate reduce in ufunc type signature with reduceat. - [23342](https://github.com/numpy/numpy/pull/23342): TYP: Remove duplicate CLIP/WRAP/RAISE in `__init__.pyi`. - [23343](https://github.com/numpy/numpy/pull/23343): TYP: Mark `d` argument to fftfreq and rfftfreq as optional\... - [23344](https://github.com/numpy/numpy/pull/23344): TYP: Add type annotations for comparison operators to MaskedArray. - [23345](https://github.com/numpy/numpy/pull/23345): TYP: Remove some stray type-check-only imports of `msort` - [23370](https://github.com/numpy/numpy/pull/23370): BUG: Ensure like is only stripped for `like=` dispatched functions - [23543](https://github.com/numpy/numpy/pull/23543): BUG: fix loading and storing big arrays on s390x - [23544](https://github.com/numpy/numpy/pull/23544): MAINT: Bump larsoner/circleci-artifacts-redirector-action - [23634](https://github.com/numpy/numpy/pull/23634): BUG: Ignore invalid and overflow warnings in masked setitem - [23635](https://github.com/numpy/numpy/pull/23635): BUG: Fix masked array raveling when `order="A"` or `order="K"` - [23636](https://github.com/numpy/numpy/pull/23636): MAINT: Update conftest for newer hypothesis versions - [23637](https://github.com/numpy/numpy/pull/23637): BUG: Fix bug in parsing F77 style string arrays. Checksums MD5 93a3ce07e3773842c54d831f18e3eb8d numpy-1.24.3-cp310-cp310-macosx_10_9_x86_64.whl 39691ff3d1612438dfcd3266c9765aab numpy-1.24.3-cp310-cp310-macosx_11_0_arm64.whl a99234799a239e7e9c6fa15c212996df numpy-1.24.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 3673aa638746851dd19d5199e1eb3a91 numpy-1.24.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 3c72962360bcd0938a6bddee6cdca766 numpy-1.24.3-cp310-cp310-win32.whl a3329efa646012fa4ee06ce5e08eadaf numpy-1.24.3-cp310-cp310-win_amd64.whl 5323fb0323d1ec10ee3c35a2fa79cbcd numpy-1.24.3-cp311-cp311-macosx_10_9_x86_64.whl cfa001dcd07cdf6414ced433e88959d4 numpy-1.24.3-cp311-cp311-macosx_11_0_arm64.whl d75bbfb06ed00d04232dce0e865eb42c numpy-1.24.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl fe18b810bcf284572467ce585dbc533b numpy-1.24.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl e97699a4ef96a81e0916bdf15440abe0 numpy-1.24.3-cp311-cp311-win32.whl e6de5b7d77dc43ed47f516eb10bbe8b6 numpy-1.24.3-cp311-cp311-win_amd64.whl dd04ebf441a8913f4900b56e7a33a75e numpy-1.24.3-cp38-cp38-macosx_10_9_x86_64.whl e47ac5521b0bfc3effb040072d8a7902 numpy-1.24.3-cp38-cp38-macosx_11_0_arm64.whl 7b7dae3309e7ca8a8859633a5d337431 numpy-1.24.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 8cc87b88163ed84e70c48fd0f5f8f20e numpy-1.24.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 350934bae971d0ebe231a59b640069db numpy-1.24.3-cp38-cp38-win32.whl c4708ef009bb5d427ea94a4fc4a10e12 numpy-1.24.3-cp38-cp38-win_amd64.whl 44b08a293a4e12d62c27b8f15ba5664e numpy-1.24.3-cp39-cp39-macosx_10_9_x86_64.whl 3ae7ac30f86c720e42b2324a0ae1adf5 numpy-1.24.3-cp39-cp39-macosx_11_0_arm64.whl 065464a8d918c670c7863d1e72e3e6dd numpy-1.24.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 1f163b9ea417c253e84480aa8d99dee6 numpy-1.24.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl c86e648389e333e062bea11c749b9a32 numpy-1.24.3-cp39-cp39-win32.whl bfe332e577c604d6d62a57381e6aa0a6 numpy-1.24.3-cp39-cp39-win_amd64.whl 374695eeef5aca32a5b7f2f518dd3ba1 numpy-1.24.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl 6abd9dba54405182e6e7bb32dbe377bb numpy-1.24.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 0848bd41c08dd5ebbc5a7f0788678e0e numpy-1.24.3-pp38-pypy38_pp73-win_amd64.whl 89e5e2e78407032290ae6acf6dcaea46 numpy-1.24.3.tar.gz SHA256 3c1104d3c036fb81ab923f507536daedc718d0ad5a8707c6061cdfd6d184e570 numpy-1.24.3-cp310-cp310-macosx_10_9_x86_64.whl 202de8f38fc4a45a3eea4b63e2f376e5f2dc64ef0fa692838e31a808520efaf7 numpy-1.24.3-cp310-cp310-macosx_11_0_arm64.whl 8535303847b89aa6b0f00aa1dc62867b5a32923e4d1681a35b5eef2d9591a463 numpy-1.24.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2d926b52ba1367f9acb76b0df6ed21f0b16a1ad87c6720a1121674e5cf63e2b6 numpy-1.24.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl f21c442fdd2805e91799fbe044a7b999b8571bb0ab0f7850d0cb9641a687092b numpy-1.24.3-cp310-cp310-win32.whl ab5f23af8c16022663a652d3b25dcdc272ac3f83c3af4c02eb8b824e6b3ab9d7 numpy-1.24.3-cp310-cp310-win_amd64.whl 9a7721ec204d3a237225db3e194c25268faf92e19338a35f3a224469cb6039a3 numpy-1.24.3-cp311-cp311-macosx_10_9_x86_64.whl d6cc757de514c00b24ae8cf5c876af2a7c3df189028d68c0cb4eaa9cd5afc2bf numpy-1.24.3-cp311-cp311-macosx_11_0_arm64.whl 76e3f4e85fc5d4fd311f6e9b794d0c00e7002ec122be271f2019d63376f1d385 numpy-1.24.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl a1d3c026f57ceaad42f8231305d4653d5f05dc6332a730ae5c0bea3513de0950 numpy-1.24.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl c91c4afd8abc3908e00a44b2672718905b8611503f7ff87390cc0ac3423fb096 numpy-1.24.3-cp311-cp311-win32.whl 5342cf6aad47943286afa6f1609cad9b4266a05e7f2ec408e2cf7aea7ff69d80 numpy-1.24.3-cp311-cp311-win_amd64.whl 7776ea65423ca6a15255ba1872d82d207bd1e09f6d0894ee4a64678dd2204078 numpy-1.24.3-cp38-cp38-macosx_10_9_x86_64.whl ae8d0be48d1b6ed82588934aaaa179875e7dc4f3d84da18d7eae6eb3f06c242c numpy-1.24.3-cp38-cp38-macosx_11_0_arm64.whl ecde0f8adef7dfdec993fd54b0f78183051b6580f606111a6d789cd14c61ea0c numpy-1.24.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 4749e053a29364d3452c034827102ee100986903263e89884922ef01a0a6fd2f numpy-1.24.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl d933fabd8f6a319e8530d0de4fcc2e6a61917e0b0c271fded460032db42a0fe4 numpy-1.24.3-cp38-cp38-win32.whl 56e48aec79ae238f6e4395886b5eaed058abb7231fb3361ddd7bfdf4eed54289 numpy-1.24.3-cp38-cp38-win_amd64.whl 4719d5aefb5189f50887773699eaf94e7d1e02bf36c1a9d353d9f46703758ca4 numpy-1.24.3-cp39-cp39-macosx_10_9_x86_64.whl 0ec87a7084caa559c36e0a2309e4ecb1baa03b687201d0a847c8b0ed476a7187 numpy-1.24.3-cp39-cp39-macosx_11_0_arm64.whl ea8282b9bcfe2b5e7d491d0bf7f3e2da29700cec05b49e64d6246923329f2b02 numpy-1.24.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 210461d87fb02a84ef243cac5e814aad2b7f4be953b32cb53327bb49fd77fbb4 numpy-1.24.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 784c6da1a07818491b0ffd63c6bbe5a33deaa0e25a20e1b3ea20cf0e43f8046c numpy-1.24.3-cp39-cp39-win32.whl d5036197ecae68d7f491fcdb4df90082b0d4960ca6599ba2659957aafced7c17 numpy-1.24.3-cp39-cp39-win_amd64.whl 352ee00c7f8387b44d19f4cada524586f07379c0d49270f87233983bc5087ca0 numpy-1.24.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl 1a7d6acc2e7524c9955e5c903160aa4ea083736fde7e91276b0e5d98e6332812 numpy-1.24.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 35400e6a8d102fd07c71ed7dcadd9eb62ee9a6e84ec159bd48c28235bbb0f8e4 numpy-1.24.3-pp38-pypy38_pp73-win_amd64.whl ab344f1bf21f140adab8e47fdbc7c35a477dc01408791f8ba00d018dd0bc5155 numpy-1.24.3.tar.gz ``` ### 1.24.2 ``` discovered after the 1.24.1 release. The Python versions supported by this release are 3.8-3.11. Contributors A total of 14 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time. - Bas van Beek - Charles Harris - Khem Raj + - Mark Harfouche - Matti Picus - Panagiotis Zestanakis + - Peter Hawkins - Pradipta Ghosh - Ross Barnowski - Sayed Adel - Sebastian Berg - Syam Gadde + - dmbelov + - pkubaj + Pull requests merged A total of 17 pull requests were merged for this release. - [22965](https://github.com/numpy/numpy/pull/22965): MAINT: Update python 3.11-dev to 3.11. - [22966](https://github.com/numpy/numpy/pull/22966): DOC: Remove dangling deprecation warning - [22967](https://github.com/numpy/numpy/pull/22967): ENH: Detect CPU features on FreeBSD/powerpc64\* - [22968](https://github.com/numpy/numpy/pull/22968): BUG: np.loadtxt cannot load text file with quoted fields separated\... - [22969](https://github.com/numpy/numpy/pull/22969): TST: Add fixture to avoid issue with randomizing test order. - [22970](https://github.com/numpy/numpy/pull/22970): BUG: Fix fill violating read-only flag. (#22959) - [22971](https://github.com/numpy/numpy/pull/22971): MAINT: Add additional information to missing scalar AttributeError - [22972](https://github.com/numpy/numpy/pull/22972): MAINT: Move export for scipy arm64 helper into main module - [22976](https://github.com/numpy/numpy/pull/22976): BUG, SIMD: Fix spurious invalid exception for sin/cos on arm64/clang - [22989](https://github.com/numpy/numpy/pull/22989): BUG: Ensure correct loop order in sin, cos, and arctan2 - [23030](https://github.com/numpy/numpy/pull/23030): DOC: Add version added information for the strict parameter in\... - [23031](https://github.com/numpy/numpy/pull/23031): BUG: use `_Alignof` rather than `offsetof()` on most compilers - [23147](https://github.com/numpy/numpy/pull/23147): BUG: Fix for npyv\_\_trunc_s32_f32 (VXE) - [23148](https://github.com/numpy/numpy/pull/23148): BUG: Fix integer / float scalar promotion - [23149](https://github.com/numpy/numpy/pull/23149): BUG: Add missing \<type_traits> header. - [23150](https://github.com/numpy/numpy/pull/23150): TYP, MAINT: Add a missing explicit `Any` parameter to the `npt.ArrayLike`\... - [23161](https://github.com/numpy/numpy/pull/23161): BLD: remove redundant definition of npy_nextafter \[wheel build\] Checksums MD5 73fe0b507f56c0baf43171a76ad2003f numpy-1.24.2-cp310-cp310-macosx_10_9_x86_64.whl 2dbbe6f8a14e14978d24de9fcc8b49fe numpy-1.24.2-cp310-cp310-macosx_11_0_arm64.whl 9ddadbf9cac2742318d8b292cb9ca579 numpy-1.24.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 969f4f33baaff53dbbbaf1a146c43534 numpy-1.24.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 6df575dff02feac835d22debb15d190e numpy-1.24.2-cp310-cp310-win32.whl 2f939228a8c33265f2a8a1fce349d6f1 numpy-1.24.2-cp310-cp310-win_amd64.whl c093e61421be01ffff435387839949f1 numpy-1.24.2-cp311-cp311-macosx_10_9_x86_64.whl 03d71e3d9a086b56837c461fd7c9188b numpy-1.24.2-cp311-cp311-macosx_11_0_arm64.whl c0dc33697d156e2b9a029095efeb1b10 numpy-1.24.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 13b57957a1f40e13f8826d14b031a6fe numpy-1.24.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 5afd966db0b59655618c1859d98d87f6 numpy-1.24.2-cp311-cp311-win32.whl e0b850f9c20871cd65ecb35235688f4d numpy-1.24.2-cp311-cp311-win_amd64.whl 9a30452135ab0387b8ea9007e94e9f81 numpy-1.24.2-cp38-cp38-macosx_10_9_x86_64.whl bdd6eede4524a230574b37e1f631f2c0 numpy-1.24.2-cp38-cp38-macosx_11_0_arm64.whl 4f930a9030d77d45a1cb6f374c91fb53 numpy-1.24.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl e77155c010f9dd63ea2815579a28c503 numpy-1.24.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 1a45f4373945eaeabeaa4020ce04e8fd numpy-1.24.2-cp38-cp38-win32.whl 66e93d70fad16b4ccb4531e31aad36e3 numpy-1.24.2-cp38-cp38-win_amd64.whl 93a4984da83c6811367d3daf709ed25c numpy-1.24.2-cp39-cp39-macosx_10_9_x86_64.whl e0281b96c490ba00f1382eb3984b4e51 numpy-1.24.2-cp39-cp39-macosx_11_0_arm64.whl ce97d81e4ae6e10241d471492391b1be numpy-1.24.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 0c0ea440190705f98abeaa856e7da690 numpy-1.24.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl c25f7fbb185f1b8f7761bc22082d9939 numpy-1.24.2-cp39-cp39-win32.whl 7705c6b0bcf22b5e64cf248144b2f554 numpy-1.24.2-cp39-cp39-win_amd64.whl 07b6361e36e0093b580dc05799b1f03d numpy-1.24.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl 4c1466ae486b39d1a35aacb46256ec1e numpy-1.24.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 4fea9d95e0489d06c3a24a87697d2fc0 numpy-1.24.2-pp38-pypy38_pp73-win_amd64.whl c4212a8da1ecf17ece37e2afd0319806 numpy-1.24.2.tar.gz SHA256 eef70b4fc1e872ebddc38cddacc87c19a3709c0e3e5d20bf3954c147b1dd941d numpy-1.24.2-cp310-cp310-macosx_10_9_x86_64.whl e8d2859428712785e8a8b7d2b3ef0a1d1565892367b32f915c4a4df44d0e64f5 numpy-1.24.2-cp310-cp310-macosx_11_0_arm64.whl 6524630f71631be2dabe0c541e7675db82651eb998496bbe16bc4f77f0772253 numpy-1.24.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl a51725a815a6188c662fb66fb32077709a9ca38053f0274640293a14fdd22978 numpy-1.24.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 2620e8592136e073bd12ee4536149380695fbe9ebeae845b81237f986479ffc9 numpy-1.24.2-cp310-cp310-win32.whl 97cf27e51fa078078c649a51d7ade3c92d9e709ba2bfb97493007103c741f1d0 numpy-1.24.2-cp310-cp310-win_amd64.whl 7de8fdde0003f4294655aa5d5f0a89c26b9f22c0a58790c38fae1ed392d44a5a numpy-1.24.2-cp311-cp311-macosx_10_9_x86_64.whl 4173bde9fa2a005c2c6e2ea8ac1618e2ed2c1c6ec8a7657237854d42094123a0 numpy-1.24.2-cp311-cp311-macosx_11_0_arm64.whl 4cecaed30dc14123020f77b03601559fff3e6cd0c048f8b5289f4eeabb0eb281 numpy-1.24.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 9a23f8440561a633204a67fb44617ce2a299beecf3295f0d13c495518908e910 numpy-1.24.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl e428c4fbfa085f947b536706a2fc349245d7baa8334f0c5723c56a10595f9b95 numpy-1.24.2-cp311-cp311-win32.whl 557d42778a6869c2162deb40ad82612645e21d79e11c1dc62c6e82a2220ffb04 numpy-1.24.2-cp311-cp311-win_amd64.whl d0a2db9d20117bf523dde15858398e7c0858aadca7c0f088ac0d6edd360e9ad2 numpy-1.24.2-cp38-cp38-macosx_10_9_x86_64.whl c72a6b2f4af1adfe193f7beb91ddf708ff867a3f977ef2ec53c0ffb8283ab9f5 numpy-1.24.2-cp38-cp38-macosx_11_0_arm64.whl c29e6bd0ec49a44d7690ecb623a8eac5ab8a923bce0bea6293953992edf3a76a numpy-1.24.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 2eabd64ddb96a1239791da78fa5f4e1693ae2dadc82a76bc76a14cbb2b966e96 numpy-1.24.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl e3ab5d32784e843fc0dd3ab6dcafc67ef806e6b6828dc6af2f689be0eb4d781d numpy-1.24.2-cp38-cp38-win32.whl 76807b4063f0002c8532cfeac47a3068a69561e9c8715efdad3c642eb27c0756 numpy-1.24.2-cp38-cp38-win_amd64.whl 4199e7cfc307a778f72d293372736223e39ec9ac096ff0a2e64853b866a8e18a numpy-1.24.2-cp39-cp39-macosx_10_9_x86_64.whl adbdce121896fd3a17a77ab0b0b5eedf05a9834a18699db6829a64e1dfccca7f numpy-1.24.2-cp39-cp39-macosx_11_0_arm64.whl 889b2cc88b837d86eda1b17008ebeb679d82875022200c6e8e4ce6cf549b7acb numpy-1.24.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl f64bb98ac59b3ea3bf74b02f13836eb2e24e48e0ab0145bbda646295769bd780 numpy-1.24.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 63e45511ee4d9d976637d11e6c9864eae50e12dc9598f531c035265991910468 numpy-1.24.2-cp39-cp39-win32.whl a77d3e1163a7770164404607b7ba3967fb49b24782a6ef85d9b5f54126cc39e5 numpy-1.24.2-cp39-cp39-win_amd64.whl 92011118955724465fb6853def593cf397b4a1367495e0b59a7e69d40c4eb71d numpy-1.24.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl f9006288bcf4895917d02583cf3411f98631275bc67cce355a7f39f8c14338fa numpy-1.24.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 150947adbdfeceec4e5926d956a06865c1c690f2fd902efede4ca6fe2e657c3f numpy-1.24.2-pp38-pypy38_pp73-win_amd64.whl 003a9f530e880cb2cd177cba1af7220b9aa42def9c4afc2a2fc3ee6be7eb2b22 numpy-1.24.2.tar.gz ``` ### 1.24.1 ``` discovered after the 1.24.0 release. The Python versions supported by this release are 3.8-3.11. Contributors A total of 12 people contributed to this release. People with a \"+\" by their names contributed a patch for the first time. - Andrew Nelson - Ben Greiner + - Charles Harris - Clément Robert - Matteo Raso - Matti Picus - Melissa Weber Mendonça - Miles Cranmer - Ralf Gommers - Rohit Goswami - Sayed Adel - Sebastian Berg Pull requests merged A total of 18 pull requests were merged for this release. - [22820](https://github.com/numpy/numpy/pull/22820): BLD: add workaround in setup.py for newer setuptools - [22830](https://github.com/numpy/numpy/pull/22830): BLD: CIRRUS_TAG redux - [22831](https://github.com/numpy/numpy/pull/22831): DOC: fix a couple typos in 1.23 notes - [22832](https://github.com/numpy/numpy/pull/22832): BUG: Fix refcounting errors found using pytest-leaks - [22834](https://github.com/numpy/numpy/pull/22834): BUG, SIMD: Fix invalid value encountered in several ufuncs - [22837](https://github.com/numpy/numpy/pull/22837): TST: ignore more np.distutils.log imports - [22839](https://github.com/numpy/numpy/pull/22839): BUG: Do not use getdata() in np.ma.masked_invalid - [22847](https://github.com/numpy/numpy/pull/22847): BUG: Ensure correct behavior for rows ending in delimiter in\... - [22848](https://github.com/numpy/numpy/pull/22848): BUG, SIMD: Fix the bitmask of the boolean comparison - [22857](https://github.com/numpy/numpy/pull/22857): BLD: Help raspian arm + clang 13 about \_\_builtin_mul_overflow - [22858](https://github.com/numpy/numpy/pull/22858): API: Ensure a full mask is returned for masked_invalid - [22866](https://github.com/numpy/numpy/pull/22866): BUG: Polynomials now copy properly (#22669) - [22867](https://github.com/numpy/numpy/pull/22867): BUG, SIMD: Fix memory overlap in ufunc comparison loops - [22868](https://github.com/numpy/numpy/pull/22868): BUG: Fortify string casts against floating point warnings - [22875](https://github.com/numpy/numpy/pull/22875): TST: Ignore nan-warnings in randomized out tests - [22883](https://github.com/numpy/numpy/pull/22883): MAINT: restore npymath implementations needed for freebsd - [22884](https://github.com/numpy/numpy/pull/22884): BUG: Fix integer overflow in in1d for mixed integer dtypes #22877 - [22887](https://github.com/numpy/numpy/pull/22887): BUG: Use whole file for encoding checks with `charset_normalizer`. Checksums MD5 9e543db90493d6a00939bd54c2012085 numpy-1.24.1-cp310-cp310-macosx_10_9_x86_64.whl 4ebd7af622bf617b4876087e500d7586 numpy-1.24.1-cp310-cp310-macosx_11_0_arm64.whl 0c0a3012b438bb455a6c2fadfb1be76a numpy-1.24.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 0bddb527345449df624d3cb9aa0e1b75 numpy-1.24.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl b246beb773689d97307f7b4c2970f061 numpy-1.24.1-cp310-cp310-win32.whl 1f3823999fce821a28dee10ac6fdd721 numpy-1.24.1-cp310-cp310-win_amd64.whl 8eedcacd6b096a568e4cb393d43b3ae5 numpy-1.24.1-cp311-cp311-macosx_10_9_x86_64.whl 50bddb05acd54b4396100a70522496dd numpy-1.24.1-cp311-cp311-macosx_11_0_arm64.whl 2a76bd9da8a78b44eb816bd70fa3aee3 numpy-1.24.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 9e86658a414272f9749bde39344f9b76 numpy-1.24.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 915dfb89054e1631574a22a9b53a2b25 numpy-1.24.1-cp311-cp311-win32.whl ab7caa2c6c20e1fab977e1a94dede976 numpy-1.24.1-cp311-cp311-win_amd64.whl 8246de961f813f5aad89bca3d12f81e7 numpy-1.24.1-cp38-cp38-macosx_10_9_x86_64.whl 58366b1a559baa0547ce976e416ed76d numpy-1.24.1-cp38-cp38-macosx_11_0_arm64.whl a96f29bf106a64f82b9ba412635727d1 numpy-1.24.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 4c32a43bdb85121614ab3e99929e33c7 numpy-1.24.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 09b20949ed21683ad7c9cbdf9ebb2439 numpy-1.24.1-cp38-cp38-win32.whl 9e9f1577f874286a8bdff8dc5551eb9f numpy-1.24.1-cp38-cp38-win_amd64.whl 4383c1137f0287df67c364fbdba2bc72 numpy-1.24.1-cp39-cp39-macosx_10_9_x86_64.whl 987f22c49b2be084b5d72f88f347d31e numpy-1.24.1-cp39-cp39-macosx_11_0_arm64.whl 848ad020bba075ed8f19072c64dcd153 numpy-1.24.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 864b159e644848bc25f881907dbcf062 numpy-1.24.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl db339ec0b2693cac2d7cf9ca75c334b1 numpy-1.24.1-cp39-cp39-win32.whl fec91d4c85066ad8a93816d71b627701 numpy-1.24.1-cp39-cp39-win_amd64.whl 619af9cd4f33b668822ae2350f446a15 numpy-1.24.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl 46f19b4b147f8836c2bd34262fabfffa numpy-1.24.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl e85b245c57a10891b3025579bf0cf298 numpy-1.24.1-pp38-pypy38_pp73-win_amd64.whl dd3aaeeada8e95cc2edf9a3a4aa8b5af numpy-1.24.1.tar.gz SHA256 179a7ef0889ab769cc03573b6217f54c8bd8e16cef80aad369e1e8185f994cd7 numpy-1.24.1-cp310-cp310-macosx_10_9_x86_64.whl b09804ff570b907da323b3d762e74432fb07955701b17b08ff1b5ebaa8cfe6a9 numpy-1.24.1-cp310-cp310-macosx_11_0_arm64.whl f1b739841821968798947d3afcefd386fa56da0caf97722a5de53e07c4ccedc7 numpy-1.24.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 0e3463e6ac25313462e04aea3fb8a0a30fb906d5d300f58b3bc2c23da6a15398 numpy-1.24.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl b31da69ed0c18be8b77bfce48d234e55d040793cebb25398e2a7d84199fbc7e2 numpy-1.24.1-cp310-cp310-win32.whl b07b40f5fb4fa034120a5796288f24c1fe0e0580bbfff99897ba6267af42def2 numpy-1.24.1-cp310-cp310-win_amd64.whl 7094891dcf79ccc6bc2a1f30428fa5edb1e6fb955411ffff3401fb4ea93780a8 numpy-1.24.1-cp311-cp311-macosx_10_9_x86_64.whl 28e418681372520c992805bb723e29d69d6b7aa411065f48216d8329d02ba032 numpy-1.24.1-cp311-cp311-macosx_11_0_arm64.whl e274f0f6c7efd0d577744f52032fdd24344f11c5ae668fe8d01aac0422611df1 numpy-1.24.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl 0044f7d944ee882400890f9ae955220d29b33d809a038923d88e4e01d652acd9 numpy-1.24.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 442feb5e5bada8408e8fcd43f3360b78683ff12a4444670a7d9e9824c1817d36 numpy-1.24.1-cp311-cp311-win32.whl de92efa737875329b052982e37bd4371d52cabf469f83e7b8be9bb7752d67e51 numpy-1.24.1-cp311-cp311-win_amd64.whl b162ac10ca38850510caf8ea33f89edcb7b0bb0dfa5592d59909419986b72407 numpy-1.24.1-cp38-cp38-macosx_10_9_x86_64.whl 26089487086f2648944f17adaa1a97ca6aee57f513ba5f1c0b7ebdabbe2b9954 numpy-1.24.1-cp38-cp38-macosx_11_0_arm64.whl caf65a396c0d1f9809596be2e444e3bd4190d86d5c1ce21f5fc4be60a3bc5b36 numpy-1.24.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl b0677a52f5d896e84414761531947c7a330d1adc07c3a4372262f25d84af7bf7 numpy-1.24.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl dae46bed2cb79a58d6496ff6d8da1e3b95ba09afeca2e277628171ca99b99db1 numpy-1.24.1-cp38-cp38-win32.whl 6ec0c021cd9fe732e5bab6401adea5a409214ca5592cd92a114f7067febcba0c numpy-1.24.1-cp38-cp38-win_amd64.whl 28bc9750ae1f75264ee0f10561709b1462d450a4808cd97c013046073ae64ab6 numpy-1.24.1-cp39-cp39-macosx_10_9_x86_64.whl 84e789a085aabef2f36c0515f45e459f02f570c4b4c4c108ac1179c34d475ed7 numpy-1.24.1-cp39-cp39-macosx_11_0_arm64.whl 8e669fbdcdd1e945691079c2cae335f3e3a56554e06bbd45d7609a6cf568c700 numpy-1.24.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl ef85cf1f693c88c1fd229ccd1055570cb41cdf4875873b7728b6301f12cd05bf numpy-1.24.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl 87a118968fba001b248aac90e502c0b13606721b1343cdaddbc6e552e8dfb56f numpy-1.24.1-cp39-cp39-win32.whl ddc7ab52b322eb1e40521eb422c4e0a20716c271a306860979d450decbb51b8e numpy-1.24.1-cp39-cp39-win_amd64.whl ed5fb71d79e771ec930566fae9c02626b939e37271ec285e9efaf1b5d4370e7d numpy-1.24.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl ad2925567f43643f51255220424c23d204024ed428afc5aad0f86f3ffc080086 numpy-1.24.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl cfa1161c6ac8f92dea03d625c2d0c05e084668f4a06568b77a25a89111621566 numpy-1.24.1-pp38-pypy38_pp73-win_amd64.whl 2386da9a471cc00a1f47845e27d916d5ec5346ae9696e01a8a34760858fe9dd2 numpy-1.24.1.tar.gz ``` ### 1.24 ``` The NumPy 1.24.0 release continues the ongoing work to improve the handling and promotion of dtypes, increase the execution speed, and clarify the documentation. There are also a large number of new and expired deprecations due to changes in promotion and cleanups. This might be called a deprecation release. Highlights are - Many new deprecations, check them out. - Many expired deprecations, - New F2PY features and fixes. - New \"dtype\" and \"casting\" keywords for stacking functions. See below for the details, Deprecations Deprecate fastCopyAndTranspose and PyArray_CopyAndTranspose The `numpy.fastCopyAndTranspose` function has been deprecated. Use the corresponding copy and transpose methods directly: arr.T.copy() The underlying C function `PyArray_CopyAndTranspose` has also been deprecated from the NumPy C-API. ([gh-22313](https://github.com/numpy/numpy/pull/22313)) Conversion of out-of-bound Python integers Attempting a conversion from a Python integer to a NumPy value will now always check whether the result can be represented by NumPy. This means the following examples will fail in the future and give a `DeprecationWarning` now: np.uint8(-1) np.array([3000], dtype=np.int8) Many of these did succeed before. Such code was mainly useful for unsigned integers with negative values such as `np.uint8(-1)` giving `np.iinfo(np.uint8).max`. Note that conversion between NumPy integers is unaffected, so that `np.array(-1).astype(np.uint8)` continues to work and use C integer overflow logic. ([gh-22393](https://github.com/numpy/numpy/pull/22393)) Deprecate `msort` The `numpy.msort` function is deprecated. Use `np.sort(a, axis=0)` instead. ([gh-22456](https://github.com/numpy/numpy/pull/22456)) `np.str0` and similar are now deprecated The scalar type aliases ending in a 0 bit size: `np.object0`, `np.str0`, `np.bytes0`, `np.void0`, `np.int0`, `np.uint0` as well as `np.bool8` are now deprecated and will eventually be removed. ([gh-22607](https://github.com/numpy/numpy/pull/22607)) Expired deprecations - The `normed` keyword argument has been removed from [np.histogram]{.title-ref}, [np.histogram2d]{.title-ref}, and [np.histogramdd]{.title-ref}. Use `density` instead. If `normed` was passed by position, `density` is now used. ([gh-21645](https://github.com/numpy/numpy/pull/21645)) - Ragged array creation will now always raise a `ValueError` unless `dtype=object` is passed. This includes very deeply nested sequences. ([gh-22004](https://github.com/numpy/numpy/pull/22004)) - Support for Visual Studio 2015 and earlier has been removed. - Support for the Windows Interix POSIX interop layer has been removed. ([gh-22139](https://github.com/numpy/numpy/pull/22139)) - Support for cygwin \< 3.3 has been removed. ([gh-22159](https://github.com/numpy/numpy/pull/22159)) - The mini() method of `np.ma.MaskedArray` has been removed. Use either `np.ma.MaskedArray.min()` or `np.ma.minimum.reduce()`. - The single-argument form of `np.ma.minimum` and `np.ma.maximum` has been removed. Use `np.ma.minimum.reduce()` or `np.ma.maximum.reduce()` instead. ([gh-22228](https://github.com/numpy/numpy/pull/22228)) - Passing dtype instances other than the canonical (mainly native byte-order) ones to `dtype=` or `signature=` in ufuncs will now raise a `TypeError`. We recommend passing the strings `"int8"` or scalar types `np.int8` since the byte-order, datetime/timedelta unit, etc. are never enforced. (Initially deprecated in NumPy 1.21.) ([gh-22540](https://github.com/numpy/numpy/pull/22540)) - The `dtype=` argument to comparison ufuncs is now applied correctly. That means that only `bool` and `object` are valid values and `dtype=object` is enforced. ([gh-22541](https://github.com/numpy/numpy/pull/22541)) - The deprecation for the aliases `np.object`, `np.bool`, `np.float`, `np.complex`, `np.str`, and `np.int` is expired (introduces NumPy 1.20). Some of these will now give a FutureWarning in addition to raising an error since they will be mapped to the NumPy scalars in the future. ([gh-22607](https://github.com/numpy/numpy/pull/22607)) Compatibility notes `array.fill(scalar)` may behave slightly different `numpy.ndarray.fill` may in some cases behave slightly different now due to the fact that the logic is aligned with item assignment: arr = np.array([1]) with any dtype/value arr.fill(scalar) is now identical to: arr[0] = scalar Previously casting may have produced slightly different answers when using values that could not be represented in the target `dtype` or when the target had `object` dtype. ([gh-20924](https://github.com/numpy/numpy/pull/20924)) Subarray to object cast now copies Casting a dtype that includes a subarray to an object will now ensure a copy of the subarray. Previously an unsafe view was returned: arr = np.ones(3, dtype=[("f", "i", 3)]) subarray_fields = arr.astype(object)[0] subarray = subarray_fields[0] "f" field np.may_share_memory(subarray, arr) Is now always false. While previously it was true for the specific cast. ([gh-21925](https://github.com/numpy/numpy/pull/21925)) Returned arrays respect uniqueness of dtype kwarg objects When the `dtype` keyword argument is used with :py`np.array()`{.interpreted-text role="func"} or :py`asarray()`{.interpreted-text role="func"}, the dtype of the returned array now always exactly matches the dtype provided by the caller. In some cases this change means that a *view* rather than the input array is returned. The following is an example for this on 64bit Linux where `long` and `longlong` are the same precision but different `dtypes`: >>> arr = np.array([1, 2, 3], dtype="long") >>> new_dtype = np.dtype("longlong") >>> new = np.asarray(arr, dtype=new_dtype) >>> new.dtype is new_dtype True >>> new is arr False Before the change, the `dtype` did not match because `new is arr` was `True`. ([gh-21995](https://github.com/numpy/numpy/pull/21995)) DLPack export raises `BufferError` When an array buffer cannot be exported via DLPack a `BufferError` is now always raised where previously `TypeError` or `RuntimeError` was raised. This allows falling back to the buffer protocol or `__array_interface__` when DLPack was tried first. ([gh-22542](https://github.com/numpy/numpy/pull/22542)) NumPy builds are no longer tested on GCC-6 Ubuntu 18.04 is deprecated for GitHub actions and GCC-6 is not available on Ubuntu 20.04, so builds using that compiler are no longer tested. We still test builds using GCC-7 and GCC-8. ([gh-22598](https://github.com/numpy/numpy/pull/22598)) New Features New attribute `symbol` added to polynomial classes The polynomial classes in the `numpy.polynomial` package have a new `symbol` attribute which is used to represent the indeterminate of the polynomial. This can be used to change the value of the variable when printing: >>> P_y = np.polynomial.Polynomial([1, 0, -1], symbol="y") >>> print(P_y) 1.0 + 0.0·y¹ - 1.0·y² Note that the polynomial classes only support 1D polynomials, so operations that involve polynomials with different symbols are disallowed when the result would be multivariate: >>> P = np.polynomial.Polynomial([1, -1]) default symbol is "x" >>> P_z = np.polynomial.Polynomial([1, 1], symbol="z") >>> P * P_z Traceback (most recent call last) ... ValueError: Polynomial symbols differ The symbol can be any valid Python identifier. The default is `symbol=x`, consistent with existing behavior. ([gh-16154](https://github.com/numpy/numpy/pull/16154)) F2PY support for Fortran `character` strings F2PY now supports wrapping Fortran functions with: - character (e.g. `character x`) - character array (e.g. `character, dimension(n) :: x`) - character string (e.g. `character(len=10) x`) - and character string array (e.g. `character(len=10), dimension(n, m) :: x`) arguments, including passing Python unicode strings as Fortran character string arguments. ([gh-19388](https://github.com/numpy/numpy/pull/19388)) New function `np.show_runtime` A new function `numpy.show_runtime` has been added to display the runtime information of the machine in addition to `numpy.show_config` which displays the build-related information. ([gh-21468](https://github.com/numpy/numpy/pull/21468)) `strict` option for `testing.assert_array_equal` The `strict` option is now available for `testing.assert_array_equal`. Setting `strict=True` will disable the broadcasting behaviour for scalars and ensure that input arrays have the same data type. ([gh-21595](https://github.com/numpy/numpy/pull/21595)) New parameter `equal_nan` added to `np.unique` `np.unique` was changed in 1.21 to treat all `NaN` values as equal and return a single `NaN`. Setting `equal_nan=False` will restore pre-1.21 behavior to treat `NaNs` as unique. Defaults to `True`. ([gh-21623](https://github.com/numpy/numpy/pull/21623)) `casting` and `dtype` keyword arguments for `numpy.stack` The `casting` and `dtype` keyword arguments are now available for `numpy.stack`. To use them, write `np.stack(..., dtype=None, casting='same_kind')`. `casting` and `dtype` keyword arguments for `numpy.vstack` The `casting` and `dtype` keyword arguments are now available for `numpy.vstack`. To use them, write `np.vstack(..., dtype=None, casting='same_kind')`. `casting` and `dtype` keyword arguments for `numpy.hstack` The `casting` and `dtype` keyword arguments are now available for `numpy.hstack`. To use them, write `np.hstack(..., dtype=None, casting='same_kind')`. ([gh-21627](https://github.com/numpy/numpy/pull/21627)) The bit generator underlying the singleton RandomState can be changed The singleton `RandomState` instance exposed in the `numpy.random` module is initialized at startup with the `MT19937` bit generator. The new function `set_bit_generator` allows the default bit generator to be replaced with a user-provided bit generator. This function has been introduced to provide a method allowing seamless integration of a high-quality, modern bit generator in new code with existing code that makes use of the singleton-provided random variate generating functions. The companion function `get_bit_generator` returns the current bit generator being used by the singleton `RandomState`. This is provided to simplify restoring the original source of randomness if required. The preferred method to generate reproducible random numbers is to use a modern bit generator in
pyup-bot commented 1 year ago

Closing this in favor of #872