Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pin numpy to latest version 1.25.0 #470

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

pyup-bot
Copy link
Collaborator

This PR pins numpy to the latest release 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 

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant