Skip to content

Releases: numpy/numpy

v1.24.1

26 Dec 13:56
v1.24.1
a28f4f2
Compare
Choose a tag to compare

NumPy 1.24.1 Release Notes

NumPy 1.24.1 is a maintenance release that fixes bugs and regressions
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: BLD: add workaround in setup.py for newer setuptools
  • #22830: BLD: CIRRUS_TAG redux
  • #22831: DOC: fix a couple typos in 1.23 notes
  • #22832: BUG: Fix refcounting errors found using pytest-leaks
  • #22834: BUG, SIMD: Fix invalid value encountered in several ufuncs
  • #22837: TST: ignore more np.distutils.log imports
  • #22839: BUG: Do not use getdata() in np.ma.masked_invalid
  • #22847: BUG: Ensure correct behavior for rows ending in delimiter in...
  • #22848: BUG, SIMD: Fix the bitmask of the boolean comparison
  • #22857: BLD: Help raspian arm + clang 13 about __builtin_mul_overflow
  • #22858: API: Ensure a full mask is returned for masked_invalid
  • #22866: BUG: Polynomials now copy properly (#22669)
  • #22867: BUG, SIMD: Fix memory overlap in ufunc comparison loops
  • #22868: BUG: Fortify string casts against floating point warnings
  • #22875: TST: Ignore nan-warnings in randomized out tests
  • #22883: MAINT: restore npymath implementations needed for freebsd
  • #22884: BUG: Fix integer overflow in in1d for mixed integer dtypes #22877
  • #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

v1.24.0

18 Dec 20:43
v1.24.0
8cec820
Compare
Choose a tag to compare

NumPy 1.24 Release Notes

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,

This release supports Python versions 3.8-3.11.

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)

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. For negative values, it will also work to view the
array: np.array(-1, dtype=np.int8).view(np.uint8). In some cases,
using np.iinfo(np.uint8).max or val % 2**8 may also work well.

In rare cases input data may mix both negative values and very large
unsigned values (i.e. -1 and 2**63). There it is unfortunately
necessary to use % on the Python value or use signed or unsigned
conversion depending on whether negative values are expected.

(gh-22385)

Deprecate msort

The numpy.msort function is deprecated. Use np.sort(a, axis=0)
instead.

(gh-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)

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)

  • Ragged array creation will now always raise a ValueError unless
    dtype=object is passed. This includes very deeply nested
    sequences.

    (gh-22004)

  • Support for Visual Studio 2015 and earlier has been removed.

  • Support for the Windows Interix POSIX interop layer has been
    removed.

    (gh-22139)

  • Support for Cygwin < 3.3 has been removed.

    (gh-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)

  • 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)

  • 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)

  • 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)

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)

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)

Returned arrays respect uniqueness of dtype kwarg objects

When the dtype keyword argument is used with
:pynp.array(){.interpreted-text role="func"} or
:pyasarray(){.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)

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)

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)

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)

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)

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)

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)

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)

casting ...

v1.24.0rc2

04 Dec 13:56
v1.24.0rc2
754e59d
Compare
Choose a tag to compare
v1.24.0rc2 Pre-release
Pre-release

NumPy 1.24 Release Notes

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)

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)

Deprecate msort

The numpy.msort function is deprecated. Use np.sort(a, axis=0)
instead.

(gh-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)

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)

  • Ragged array creation will now always raise a ValueError unless
    dtype=object is passed. This includes very deeply nested
    sequences.

    (gh-22004)

  • Support for Visual Studio 2015 and earlier has been removed.

  • Support for the Windows Interix POSIX interop layer has been
    removed.

    (gh-22139)

  • Support for cygwin < 3.3 has been removed.

    (gh-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)

  • 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)

  • 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)

  • 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)

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)

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)

Returned arrays respect uniqueness of dtype kwarg objects

When the dtype keyword argument is used with
:pynp.array(){.interpreted-text role="func"} or
:pyasarray(){.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)

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)

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)

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)

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)

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)

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)

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)

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 a...

v1.24.0rc1

24 Nov 13:17
v1.24.0rc1
4f0a3eb
Compare
Choose a tag to compare
v1.24.0rc1 Pre-release
Pre-release

NumPy 1.24 Release Notes

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)

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)

Deprecate msort

The numpy.msort function is deprecated. Use np.sort(a, axis=0)
instead.

(gh-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)

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)

  • Ragged array creation will now always raise a ValueError unless
    dtype=object is passed. This includes very deeply nested
    sequences.

    (gh-22004)

  • Support for Visual Studio 2015 and earlier has been removed.

  • Support for the Windows Interix POSIX interop layer has been
    removed.

    (gh-22139)

  • Support for cygwin < 3.3 has been removed.

    (gh-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)

  • 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)

  • 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)

  • 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)

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)

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)

Returned arrays respect uniqueness of dtype kwarg objects

When the dtype keyword argument is used with
:pynp.array(){.interpreted-text role="func"} or
:pyasarray(){.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)

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)

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)

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)

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)

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)

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)

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)

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 a...

v1.23.5

20 Nov 01:40
v1.23.5
de82cd9
Compare
Choose a tag to compare

NumPy 1.23.5 Release Notes

NumPy 1.23.5 is a maintenance release that fixes bugs discovered after
the 1.23.4 release and keeps the build infrastructure current. The
Python versions supported for this release are 3.8-3.11.

Contributors

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

  • @DWesl
  • Aayush Agrawal +
  • Adam Knapp +
  • Charles Harris
  • Navpreet Singh +
  • Sebastian Berg
  • Tania Allard

Pull requests merged

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

  • #22489: TST, MAINT: Replace most setup with setup_method (also teardown)
  • #22490: MAINT, CI: Switch to cygwin/cygwin-install-action@v2
  • #22494: TST: Make test_partial_iteration_cleanup robust but require leak...
  • #22592: MAINT: Ensure graceful handling of large header sizes
  • #22593: TYP: Spelling alignment for array flag literal
  • #22594: BUG: Fix bounds checking for random.logseries
  • #22595: DEV: Update GH actions and Dockerfile for Gitpod
  • #22596: CI: Only fetch in actions/checkout
  • #22597: BUG: Decrement ref count in gentype_reduce if allocated memory...
  • #22625: BUG: Histogramdd breaks on big arrays in Windows

Checksums

MD5

8a412b79d975199cefadb465279fd569  numpy-1.23.5-cp310-cp310-macosx_10_9_x86_64.whl
1b56e8e6a0516c78473657abf0710538  numpy-1.23.5-cp310-cp310-macosx_11_0_arm64.whl
c787f4763c9a5876e86a17f1651ba458  numpy-1.23.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
db07645022e56747ba3f00c2d742232e  numpy-1.23.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c63a6fb7cc16a13aabc82ec57ac6bb4d  numpy-1.23.5-cp310-cp310-win32.whl
3fea9247e1d812600015641941fa273f  numpy-1.23.5-cp310-cp310-win_amd64.whl
4222cfb36e5ac9aec348c81b075e2c05  numpy-1.23.5-cp311-cp311-macosx_10_9_x86_64.whl
6c7102f185b310ac70a62c13d46f04e6  numpy-1.23.5-cp311-cp311-macosx_11_0_arm64.whl
6b7319f66bf7ac01b49e2a32470baf28  numpy-1.23.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3c60928ddb1f55163801f06ac2229eb0  numpy-1.23.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6936b6bcfd6474acc7a8c162a9393b3c  numpy-1.23.5-cp311-cp311-win32.whl
6c9af68b7b56c12c913678cafbdc44d6  numpy-1.23.5-cp311-cp311-win_amd64.whl
699daeac883260d3f182ae4bbbd9bbd2  numpy-1.23.5-cp38-cp38-macosx_10_9_x86_64.whl
6c233a36339de0652139e78ef91504d4  numpy-1.23.5-cp38-cp38-macosx_11_0_arm64.whl
57d5439556ab5078c91bdeffd9c0036e  numpy-1.23.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a8045b59187f2e0ccd4294851adbbb8a  numpy-1.23.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7f38f7e560e4bf41490372ab84aa7a38  numpy-1.23.5-cp38-cp38-win32.whl
76095726ba459d7f761b44acf2e56bd1  numpy-1.23.5-cp38-cp38-win_amd64.whl
174befd584bc1b03ed87c8f0d149a58e  numpy-1.23.5-cp39-cp39-macosx_10_9_x86_64.whl
9cbac793d77278f5d27a7979b64f6b5b  numpy-1.23.5-cp39-cp39-macosx_11_0_arm64.whl
6e417b087044e90562183b33f3049b09  numpy-1.23.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
54fa63341eaa6da346d824399e8237f6  numpy-1.23.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cc14d62a158e99c57f925c86551e45f0  numpy-1.23.5-cp39-cp39-win32.whl
bad36b81e7e84bd7a028affa0659d235  numpy-1.23.5-cp39-cp39-win_amd64.whl
b4d17d6b79a8354a2834047669651963  numpy-1.23.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
89f6dc4a4ff63fca6af1223111cd888d  numpy-1.23.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
633d574a35b8592bab502ef569b0731e  numpy-1.23.5-pp38-pypy38_pp73-win_amd64.whl
8b2692a511a3795f3af8af2cd7566a15  numpy-1.23.5.tar.gz

SHA256

9c88793f78fca17da0145455f0d7826bcb9f37da4764af27ac945488116efe63  numpy-1.23.5-cp310-cp310-macosx_10_9_x86_64.whl
e9f4c4e51567b616be64e05d517c79a8a22f3606499941d97bb76f2ca59f982d  numpy-1.23.5-cp310-cp310-macosx_11_0_arm64.whl
7903ba8ab592b82014713c491f6c5d3a1cde5b4a3bf116404e08f5b52f6daf43  numpy-1.23.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
5e05b1c973a9f858c74367553e236f287e749465f773328c8ef31abe18f691e1  numpy-1.23.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
522e26bbf6377e4d76403826ed689c295b0b238f46c28a7251ab94716da0b280  numpy-1.23.5-cp310-cp310-win32.whl
dbee87b469018961d1ad79b1a5d50c0ae850000b639bcb1b694e9981083243b6  numpy-1.23.5-cp310-cp310-win_amd64.whl
ce571367b6dfe60af04e04a1834ca2dc5f46004ac1cc756fb95319f64c095a96  numpy-1.23.5-cp311-cp311-macosx_10_9_x86_64.whl
56e454c7833e94ec9769fa0f86e6ff8e42ee38ce0ce1fa4cbb747ea7e06d56aa  numpy-1.23.5-cp311-cp311-macosx_11_0_arm64.whl
5039f55555e1eab31124a5768898c9e22c25a65c1e0037f4d7c495a45778c9f2  numpy-1.23.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
58f545efd1108e647604a1b5aa809591ccd2540f468a880bedb97247e72db387  numpy-1.23.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b2a9ab7c279c91974f756c84c365a669a887efa287365a8e2c418f8b3ba73fb0  numpy-1.23.5-cp311-cp311-win32.whl
0cbe9848fad08baf71de1a39e12d1b6310f1d5b2d0ea4de051058e6e1076852d  numpy-1.23.5-cp311-cp311-win_amd64.whl
f063b69b090c9d918f9df0a12116029e274daf0181df392839661c4c7ec9018a  numpy-1.23.5-cp38-cp38-macosx_10_9_x86_64.whl
0aaee12d8883552fadfc41e96b4c82ee7d794949e2a7c3b3a7201e968c7ecab9  numpy-1.23.5-cp38-cp38-macosx_11_0_arm64.whl
92c8c1e89a1f5028a4c6d9e3ccbe311b6ba53694811269b992c0b224269e2398  numpy-1.23.5-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d208a0f8729f3fb790ed18a003f3a57895b989b40ea4dce4717e9cf4af62c6bb  numpy-1.23.5-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
06005a2ef6014e9956c09ba07654f9837d9e26696a0470e42beedadb78c11b07  numpy-1.23.5-cp38-cp38-win32.whl
ca51fcfcc5f9354c45f400059e88bc09215fb71a48d3768fb80e357f3b457e1e  numpy-1.23.5-cp38-cp38-win_amd64.whl
8969bfd28e85c81f3f94eb4a66bc2cf1dbdc5c18efc320af34bffc54d6b1e38f  numpy-1.23.5-cp39-cp39-macosx_10_9_x86_64.whl
a7ac231a08bb37f852849bbb387a20a57574a97cfc7b6cabb488a4fc8be176de  numpy-1.23.5-cp39-cp39-macosx_11_0_arm64.whl
bf837dc63ba5c06dc8797c398db1e223a466c7ece27a1f7b5232ba3466aafe3d  numpy-1.23.5-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
33161613d2269025873025b33e879825ec7b1d831317e68f4f2f0f84ed14c719  numpy-1.23.5-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
af1da88f6bc3d2338ebbf0e22fe487821ea4d8e89053e25fa59d1d79786e7481  numpy-1.23.5-cp39-cp39-win32.whl
09b7847f7e83ca37c6e627682f145856de331049013853f344f37b0c9690e3df  numpy-1.23.5-cp39-cp39-win_amd64.whl
abdde9f795cf292fb9651ed48185503a2ff29be87770c3b8e2a14b0cd7aa16f8  numpy-1.23.5-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
f9a909a8bae284d46bbfdefbdd4a262ba19d3bc9921b1e76126b1d21c3c34135  numpy-1.23.5-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
01dd17cbb340bf0fc23981e52e1d18a9d4050792e8fb8363cecbf066a84b827d  numpy-1.23.5-pp38-pypy38_pp73-win_amd64.whl
1b1766d6f397c18153d40015ddfc79ddb715cabadc04d2d228d4e5a8bc4ded1a  numpy-1.23.5.tar.gz

v1.23.4

12 Oct 14:59
v1.23.4
f802155
Compare
Choose a tag to compare

NumPy 1.23.4 Release Notes

NumPy 1.23.4 is a maintenance release that fixes bugs discovered after
the 1.23.3 release and keeps the build infrastructure current. The main
improvements are fixes for some annotation corner cases, a fix for a
long time nested_iters memory leak, and a fix of complex vector dot
for very large arrays. The Python versions supported for this release
are 3.8-3.11.

Note that the mypy version needs to be 0.981+ if you test using Python
3.10.7, otherwise the typing tests will fail.

Contributors

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

  • Bas van Beek
  • Charles Harris
  • Matthew Barber
  • Matti Picus
  • Ralf Gommers
  • Ross Barnowski
  • Sebastian Berg
  • Sicheng Zeng +

Pull requests merged

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

  • #22368: BUG: Add __array_api_version__ to numpy.array_api namespace
  • #22370: MAINT: update sde toolkit to 9.0, fix download link
  • #22382: BLD: use macos-11 image on azure, macos-1015 is deprecated
  • #22383: MAINT: random: remove get_info from "extending with Cython"...
  • #22384: BUG: Fix complex vector dot with more than NPY_CBLAS_CHUNK elements
  • #22387: REV: Loosen lookfor's import try/except again
  • #22388: TYP,ENH: Mark numpy.typing protocols as runtime checkable
  • #22389: TYP,MAINT: Change more overloads to play nice with pyright
  • #22390: TST,TYP: Bump mypy to 0.981
  • #22391: DOC: Update delimiter param description.
  • #22392: BUG: Memory leaks in numpy.nested_iters
  • #22413: REL: Prepare for the NumPy 1.23.4 release.
  • #22424: TST: Fix failing aarch64 wheel builds.

Checksums

MD5

90a3d95982490cfeeef22c0f7cbd874f  numpy-1.23.4-cp310-cp310-macosx_10_9_x86_64.whl
c3cae63394db6c82fd2cb5700fc5917d  numpy-1.23.4-cp310-cp310-macosx_11_0_arm64.whl
b3ff0878de205f56c38fd7dcab80081f  numpy-1.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e2b086ca2229209f2f996c2f9a38bf9c  numpy-1.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
44cc8bb112ca737520cf986fff92dfb0  numpy-1.23.4-cp310-cp310-win32.whl
21c8e5fdfba2ff953e446189379cf0c9  numpy-1.23.4-cp310-cp310-win_amd64.whl
27445a9c85977cb8efa682a4b993347f  numpy-1.23.4-cp311-cp311-macosx_10_9_x86_64.whl
11ef4b7dfdaa37604cb881f3ca4459db  numpy-1.23.4-cp311-cp311-macosx_11_0_arm64.whl
b3c77344274f91514f728a454fd471fa  numpy-1.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
43aef7f984cd63d95c11fb74dd59ef0b  numpy-1.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
637fe21b585228c9670d6e002bf8047f  numpy-1.23.4-cp311-cp311-win32.whl
f529edf9b849d6e3b8cdb5120ae5b81a  numpy-1.23.4-cp311-cp311-win_amd64.whl
76c61ce36317a7e509663829c6844fd9  numpy-1.23.4-cp38-cp38-macosx_10_9_x86_64.whl
2133f6893eef41cd9331c7d0271044c4  numpy-1.23.4-cp38-cp38-macosx_11_0_arm64.whl
5ccb3aa6fb8cb9e20ec336e315d01dec  numpy-1.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
da71f34a4df0b98e4d9e17906dd57b07  numpy-1.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a318978f51fb80a17c2381e39194e906  numpy-1.23.4-cp38-cp38-win32.whl
eac810d6bc43830bf151ea55cd0ded93  numpy-1.23.4-cp38-cp38-win_amd64.whl
4cf0a6007abe42564c7380dbf92a26ce  numpy-1.23.4-cp39-cp39-macosx_10_9_x86_64.whl
2e005bedf129ce8bafa6f550537f3740  numpy-1.23.4-cp39-cp39-macosx_11_0_arm64.whl
10aa210311fcd19a03f6c5495824a306  numpy-1.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6301298a67999657a0878b64eeed09f2  numpy-1.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
76144e575a3c3863ea22e03cdf022d8a  numpy-1.23.4-cp39-cp39-win32.whl
8291dd66ef5451b4db2da55c21535757  numpy-1.23.4-cp39-cp39-win_amd64.whl
7cc095b18690071828b5b620d5ec40e7  numpy-1.23.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
63742f15e8bfa215c893136bbfc6444f  numpy-1.23.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4ed382e55abc09c89a34db047692f6a6  numpy-1.23.4-pp38-pypy38_pp73-win_amd64.whl
d9ffd2c189633486ec246e61d4b947a0  numpy-1.23.4.tar.gz

SHA256

95d79ada05005f6f4f337d3bb9de8a7774f259341c70bc88047a1f7b96a4bcb2  numpy-1.23.4-cp310-cp310-macosx_10_9_x86_64.whl
926db372bc4ac1edf81cfb6c59e2a881606b409ddc0d0920b988174b2e2a767f  numpy-1.23.4-cp310-cp310-macosx_11_0_arm64.whl
c237129f0e732885c9a6076a537e974160482eab8f10db6292e92154d4c67d71  numpy-1.23.4-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a8365b942f9c1a7d0f0dc974747d99dd0a0cdfc5949a33119caf05cb314682d3  numpy-1.23.4-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2341f4ab6dba0834b685cce16dad5f9b6606ea8a00e6da154f5dbded70fdc4dd  numpy-1.23.4-cp310-cp310-win32.whl
d331afac87c92373826af83d2b2b435f57b17a5c74e6268b79355b970626e329  numpy-1.23.4-cp310-cp310-win_amd64.whl
488a66cb667359534bc70028d653ba1cf307bae88eab5929cd707c761ff037db  numpy-1.23.4-cp311-cp311-macosx_10_9_x86_64.whl
ce03305dd694c4873b9429274fd41fc7eb4e0e4dea07e0af97a933b079a5814f  numpy-1.23.4-cp311-cp311-macosx_11_0_arm64.whl
8981d9b5619569899666170c7c9748920f4a5005bf79c72c07d08c8a035757b0  numpy-1.23.4-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7a70a7d3ce4c0e9284e92285cba91a4a3f5214d87ee0e95928f3614a256a1488  numpy-1.23.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5e13030f8793e9ee42f9c7d5777465a560eb78fa7e11b1c053427f2ccab90c79  numpy-1.23.4-cp311-cp311-win32.whl
7607b598217745cc40f751da38ffd03512d33ec06f3523fb0b5f82e09f6f676d  numpy-1.23.4-cp311-cp311-win_amd64.whl
7ab46e4e7ec63c8a5e6dbf5c1b9e1c92ba23a7ebecc86c336cb7bf3bd2fb10e5  numpy-1.23.4-cp38-cp38-macosx_10_9_x86_64.whl
a8aae2fb3180940011b4862b2dd3756616841c53db9734b27bb93813cd79fce6  numpy-1.23.4-cp38-cp38-macosx_11_0_arm64.whl
8c053d7557a8f022ec823196d242464b6955a7e7e5015b719e76003f63f82d0f  numpy-1.23.4-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a0882323e0ca4245eb0a3d0a74f88ce581cc33aedcfa396e415e5bba7bf05f68  numpy-1.23.4-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
dada341ebb79619fe00a291185bba370c9803b1e1d7051610e01ed809ef3a4ba  numpy-1.23.4-cp38-cp38-win32.whl
0fe563fc8ed9dc4474cbf70742673fc4391d70f4363f917599a7fa99f042d5a8  numpy-1.23.4-cp38-cp38-win_amd64.whl
c67b833dbccefe97cdd3f52798d430b9d3430396af7cdb2a0c32954c3ef73894  numpy-1.23.4-cp39-cp39-macosx_10_9_x86_64.whl
f76025acc8e2114bb664294a07ede0727aa75d63a06d2fae96bf29a81747e4a7  numpy-1.23.4-cp39-cp39-macosx_11_0_arm64.whl
12ac457b63ec8ded85d85c1e17d85efd3c2b0967ca39560b307a35a6703a4735  numpy-1.23.4-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
95de7dc7dc47a312f6feddd3da2500826defdccbc41608d0031276a24181a2c0  numpy-1.23.4-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f2f390aa4da44454db40a1f0201401f9036e8d578a25f01a6e237cea238337ef  numpy-1.23.4-cp39-cp39-win32.whl
f260da502d7441a45695199b4e7fd8ca87db659ba1c78f2bbf31f934fe76ae0e  numpy-1.23.4-cp39-cp39-win_amd64.whl
61be02e3bf810b60ab74e81d6d0d36246dbfb644a462458bb53b595791251911  numpy-1.23.4-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
296d17aed51161dbad3c67ed6d164e51fcd18dbcd5dd4f9d0a9c6055dce30810  numpy-1.23.4-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4d52914c88b4930dafb6c48ba5115a96cbab40f45740239d9f4159c4ba779962  numpy-1.23.4-pp38-pypy38_pp73-win_amd64.whl
ed2cc92af0efad20198638c69bb0fc2870a58dabfba6eb722c933b48556c686c  numpy-1.23.4.tar.gz

v1.23.3

09 Sep 18:54
v1.23.3
e47cbb6
Compare
Choose a tag to compare

NumPy 1.23.3 Release Notes

NumPy 1.23.3 is a maintenance release that fixes bugs discovered after
the 1.23.2 release. There is no major theme for this release, the main
improvements are for some downstream builds and some annotation corner
cases. The Python versions supported for this release are 3.8-3.11.

Note that we will move to MacOS 11 for the NumPy 1.23.4 release, the
10.15 version currently used will no longer be supported by our build
infrastructure at that point.

Contributors

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

  • Aaron Meurer
  • Bas van Beek
  • Charles Harris
  • Ganesh Kathiresan
  • Gavin Zhang +
  • Iantra Solari+
  • Jyn Spring 琴春 +
  • Matti Picus
  • Rafael Cardoso Fernandes Sousa
  • Rafael Sousa +
  • Ralf Gommers
  • Rin Cat (鈴猫) +
  • Saransh Chopra +
  • Sayed Adel
  • Sebastian Berg
  • Serge Guelton

Pull requests merged

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

  • #22136: BLD: Add Python 3.11 wheels to aarch64 build
  • #22148: MAINT: Update setup.py for Python 3.11.
  • #22155: CI: Test NumPy build against old versions of GCC(6, 7, 8)
  • #22156: MAINT: support IBM i system
  • #22195: BUG: Fix circleci build
  • #22214: BUG: Expose heapsort algorithms in a shared header
  • #22215: BUG: Support using libunwind for backtrack
  • #22216: MAINT: fix an incorrect pointer type usage in f2py
  • #22220: BUG: change overloads to play nice with pyright.
  • #22221: TST,BUG: Use fork context to fix MacOS savez test
  • #22222: TYP,BUG: Reduce argument validation in C-based __class_getitem__
  • #22223: TST: ensure np.equal.reduce raises a TypeError
  • #22224: BUG: Fix the implementation of numpy.array_api.vecdot
  • #22230: BUG: Better report integer division overflow (backport)

Checksums

MD5

a60bf0b1d440bf18d87c49409036d05a  numpy-1.23.3-cp310-cp310-macosx_10_9_x86_64.whl
59b43423a692f5351c6a43b852b210d7  numpy-1.23.3-cp310-cp310-macosx_11_0_arm64.whl
f482a4be6954b1b606320f0ffc1995dd  numpy-1.23.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a82e2ecc4060a37dae5424e624eabfe3  numpy-1.23.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
84916178e5f4d073d0008754cba7f300  numpy-1.23.3-cp310-cp310-win32.whl
605da65b9b66dfce8b62d847cb3841f7  numpy-1.23.3-cp310-cp310-win_amd64.whl
57cf29f781be955a9cd0de8d07fbce56  numpy-1.23.3-cp311-cp311-macosx_10_9_x86_64.whl
f395dcf622dff0ba44777cbae0442189  numpy-1.23.3-cp311-cp311-macosx_11_0_arm64.whl
55d6a6439913ba84ad89268e0ad59fa0  numpy-1.23.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
202bc3a8617f479ebe60ca0dec29964b  numpy-1.23.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a42c3d058bcef47b26841bf9472a89bf  numpy-1.23.3-cp311-cp311-win32.whl
237dbd94e5529065c0c5cc4e47ceeb7e  numpy-1.23.3-cp311-cp311-win_amd64.whl
d0587d5b28d3fa7e0ec8fd3df76e4bd4  numpy-1.23.3-cp38-cp38-macosx_10_9_x86_64.whl
054234695ed3d955fb01f661db2c14fc  numpy-1.23.3-cp38-cp38-macosx_11_0_arm64.whl
4e75ac61e34f1bf23e7cbd6e2bfc7a32  numpy-1.23.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
29ccb3a732027ee1abe23a9562c32d0c  numpy-1.23.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
12817838edc1e1bea27df79f3a83da5d  numpy-1.23.3-cp38-cp38-win32.whl
ef430e830a9fea7d8db0218b901671f6  numpy-1.23.3-cp38-cp38-win_amd64.whl
b001f7e17df798f9b949bbe259924c77  numpy-1.23.3-cp39-cp39-macosx_10_9_x86_64.whl
bc1782f5d79187d63d14ed69a6a411e9  numpy-1.23.3-cp39-cp39-macosx_11_0_arm64.whl
f8fb0178bc34a198d5ce4e166076e1fc  numpy-1.23.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fb80d38c37aae1e4d416cd4de068ff0a  numpy-1.23.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
318d0a2a27b7e361295c0382a0ff4a94  numpy-1.23.3-cp39-cp39-win32.whl
880dc73de09fccda0650e9404fa83608  numpy-1.23.3-cp39-cp39-win_amd64.whl
3b5a51f78718a1a82d2750ec159f9acf  numpy-1.23.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
56a0c90a303979d5bf8fc57e86e57ccb  numpy-1.23.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
5338d997a3178750834e742a257dfa4a  numpy-1.23.3-pp38-pypy38_pp73-win_amd64.whl
6efc60a3f6c1b74c849d53fbcc07807b  numpy-1.23.3.tar.gz

SHA256

c9f707b5bb73bf277d812ded9896f9512a43edff72712f31667d0a8c2f8e71ee  numpy-1.23.3-cp310-cp310-macosx_10_9_x86_64.whl
ffcf105ecdd9396e05a8e58e81faaaf34d3f9875f137c7372450baa5d77c9a54  numpy-1.23.3-cp310-cp310-macosx_11_0_arm64.whl
0ea3f98a0ffce3f8f57675eb9119f3f4edb81888b6874bc1953f91e0b1d4f440  numpy-1.23.3-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
004f0efcb2fe1c0bd6ae1fcfc69cc8b6bf2407e0f18be308612007a0762b4089  numpy-1.23.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
98dcbc02e39b1658dc4b4508442a560fe3ca5ca0d989f0df062534e5ca3a5c1a  numpy-1.23.3-cp310-cp310-win32.whl
39a664e3d26ea854211867d20ebcc8023257c1800ae89773cbba9f9e97bae036  numpy-1.23.3-cp310-cp310-win_amd64.whl
1f27b5322ac4067e67c8f9378b41c746d8feac8bdd0e0ffede5324667b8a075c  numpy-1.23.3-cp311-cp311-macosx_10_9_x86_64.whl
2ad3ec9a748a8943e6eb4358201f7e1c12ede35f510b1a2221b70af4bb64295c  numpy-1.23.3-cp311-cp311-macosx_11_0_arm64.whl
bdc9febce3e68b697d931941b263c59e0c74e8f18861f4064c1f712562903411  numpy-1.23.3-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
301c00cf5e60e08e04d842fc47df641d4a181e651c7135c50dc2762ffe293dbd  numpy-1.23.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7cd1328e5bdf0dee621912f5833648e2daca72e3839ec1d6695e91089625f0b4  numpy-1.23.3-cp311-cp311-win32.whl
8355fc10fd33a5a70981a5b8a0de51d10af3688d7a9e4a34fcc8fa0d7467bb7f  numpy-1.23.3-cp311-cp311-win_amd64.whl
bc6e8da415f359b578b00bcfb1d08411c96e9a97f9e6c7adada554a0812a6cc6  numpy-1.23.3-cp38-cp38-macosx_10_9_x86_64.whl
22d43376ee0acd547f3149b9ec12eec2f0ca4a6ab2f61753c5b29bb3e795ac4d  numpy-1.23.3-cp38-cp38-macosx_11_0_arm64.whl
a64403f634e5ffdcd85e0b12c08f04b3080d3e840aef118721021f9b48fc1460  numpy-1.23.3-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
efd9d3abe5774404becdb0748178b48a218f1d8c44e0375475732211ea47c67e  numpy-1.23.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f8c02ec3c4c4fcb718fdf89a6c6f709b14949408e8cf2a2be5bfa9c49548fd85  numpy-1.23.3-cp38-cp38-win32.whl
e868b0389c5ccfc092031a861d4e158ea164d8b7fdbb10e3b5689b4fc6498df6  numpy-1.23.3-cp38-cp38-win_amd64.whl
09f6b7bdffe57fc61d869a22f506049825d707b288039d30f26a0d0d8ea05164  numpy-1.23.3-cp39-cp39-macosx_10_9_x86_64.whl
8c79d7cf86d049d0c5089231a5bcd31edb03555bd93d81a16870aa98c6cfb79d  numpy-1.23.3-cp39-cp39-macosx_11_0_arm64.whl
e5d5420053bbb3dd64c30e58f9363d7a9c27444c3648e61460c1237f9ec3fa14  numpy-1.23.3-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d5422d6a1ea9b15577a9432e26608c73a78faf0b9039437b075cf322c92e98e7  numpy-1.23.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c1ba66c48b19cc9c2975c0d354f24058888cdc674bebadceb3cdc9ec403fb5d1  numpy-1.23.3-cp39-cp39-win32.whl
78a63d2df1d947bd9d1b11d35564c2f9e4b57898aae4626638056ec1a231c40c  numpy-1.23.3-cp39-cp39-win_amd64.whl
17c0e467ade9bda685d5ac7f5fa729d8d3e76b23195471adae2d6a6941bd2c18  numpy-1.23.3-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
91b8d6768a75247026e951dce3b2aac79dc7e78622fc148329135ba189813584  numpy-1.23.3-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
94c15ca4e52671a59219146ff584488907b1f9b3fc232622b47e2cf832e94fb8  numpy-1.23.3-pp38-pypy38_pp73-win_amd64.whl
51bf49c0cd1d52be0a240aa66f3458afc4b95d8993d2d04f0d91fa60c10af6cd  numpy-1.23.3.tar.gz

v1.23.2

14 Aug 18:32
v1.23.2
21cacaf
Compare
Choose a tag to compare

NumPy 1.23.2 Release Notes

NumPy 1.23.2 is a maintenance release that fixes bugs discovered after
the 1.23.1 release. Notable features are:

  • Typing changes needed for Python 3.11
  • Wheels for Python 3.11.0rc1

The Python versions supported for this release are 3.8-3.11.

Contributors

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

  • Alexander Grund +
  • Bas van Beek
  • Charles Harris
  • Jon Cusick +
  • Matti Picus
  • Michael Osthege +
  • Pal Barta +
  • Ross Barnowski
  • Sebastian Berg

Pull requests merged

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

  • #22030: ENH: Add __array_ufunc__ typing support to the nin=1 ufuncs
  • #22031: MAINT, TYP: Fix np.angle dtype-overloads
  • #22032: MAINT: Do not let _GenericAlias wrap the underlying classes'...
  • #22033: TYP,MAINT: Allow einsum subscripts to be passed via integer...
  • #22034: MAINT,TYP: Add object-overloads for the np.generic rich comparisons
  • #22035: MAINT,TYP: Allow the squeeze and transpose method to...
  • #22036: BUG: Fix subarray to object cast ownership details
  • #22037: BUG: Use Popen to silently invoke f77 -v
  • #22038: BUG: Avoid errors on NULL during deepcopy
  • #22039: DOC: Add versionchanged for converter callable behavior.
  • #22057: MAINT: Quiet the anaconda uploads.
  • #22078: ENH: reorder includes for testing on top of system installations...
  • #22106: TST: fix test_linear_interpolation_formula_symmetric
  • #22107: BUG: Fix skip condition for test_loss_of_precision[complex256]
  • #22115: BLD: Build python3.11.0rc1 wheels.

Checksums

MD5

fe1e3480ea8c417c8f7b05f543c1448d  numpy-1.23.2-cp310-cp310-macosx_10_9_x86_64.whl
0ab14b1afd0a55a374ca69b3b39cab3c  numpy-1.23.2-cp310-cp310-macosx_11_0_arm64.whl
df059e5405bfe75c0ac77b01abbdb237  numpy-1.23.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4ed412c4c078e96edf11ca3b11eef76b  numpy-1.23.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0caad53d9a5e3c5e8cd29f19a9f0c014  numpy-1.23.2-cp310-cp310-win32.whl
01e508b8b4f591daff128da1cfde8e1f  numpy-1.23.2-cp310-cp310-win_amd64.whl
8ecdb7e2a87255878b748550d91cfbe0  numpy-1.23.2-cp311-cp311-macosx_10_9_x86_64.whl
e3004aae46cec9e234f78eaf473272e0  numpy-1.23.2-cp311-cp311-macosx_11_0_arm64.whl
ec23c73caf581867d5ca9255b802f144  numpy-1.23.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9b8389f528fe113247954248f0b78ce1  numpy-1.23.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a54b136daa2fbb483909f08eecbfa3c5  numpy-1.23.2-cp311-cp311-win32.whl
ead32e141857c5ef33b1a6cd88aefc0f  numpy-1.23.2-cp311-cp311-win_amd64.whl
df1f18e52d0a2840d101fdc9c2c6af84  numpy-1.23.2-cp38-cp38-macosx_10_9_x86_64.whl
04c986880bb24fac2f44face75eab914  numpy-1.23.2-cp38-cp38-macosx_11_0_arm64.whl
edeba58edb214390112810f7ead903a8  numpy-1.23.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c26ea699d94d7f1009c976c66cc4def3  numpy-1.23.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c246a78b09f8893d998d449dcab0fac3  numpy-1.23.2-cp38-cp38-win32.whl
b5c5a2f961402259e301c49b8b05de55  numpy-1.23.2-cp38-cp38-win_amd64.whl
d156dfae94d33eeff7fb9c6e5187e049  numpy-1.23.2-cp39-cp39-macosx_10_9_x86_64.whl
7f2ad7867c577eab925a31de76486765  numpy-1.23.2-cp39-cp39-macosx_11_0_arm64.whl
76262a8e5d7a4d945446467467300a10  numpy-1.23.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8ee105f4574d61a2d494418b55f63fcb  numpy-1.23.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2b7c79cae66023f8e716150223201981  numpy-1.23.2-cp39-cp39-win32.whl
d7af57dd070ccb165f3893412eb602e3  numpy-1.23.2-cp39-cp39-win_amd64.whl
355a231dbd87a0f2125cc23eb8f97075  numpy-1.23.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
4ab13c35056f67981d03f9ceec41db42  numpy-1.23.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3a6f1e1256ee9be10d8cdf6be578fe52  numpy-1.23.2-pp38-pypy38_pp73-win_amd64.whl
9bf2a361509797de14ceee607387fe0f  numpy-1.23.2.tar.gz

SHA256

e603ca1fb47b913942f3e660a15e55a9ebca906857edfea476ae5f0fe9b457d5  numpy-1.23.2-cp310-cp310-macosx_10_9_x86_64.whl
633679a472934b1c20a12ed0c9a6c9eb167fbb4cb89031939bfd03dd9dbc62b8  numpy-1.23.2-cp310-cp310-macosx_11_0_arm64.whl
17e5226674f6ea79e14e3b91bfbc153fdf3ac13f5cc54ee7bc8fdbe820a32da0  numpy-1.23.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bdc02c0235b261925102b1bd586579b7158e9d0d07ecb61148a1799214a4afd5  numpy-1.23.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
df28dda02c9328e122661f399f7655cdcbcf22ea42daa3650a26bce08a187450  numpy-1.23.2-cp310-cp310-win32.whl
8ebf7e194b89bc66b78475bd3624d92980fca4e5bb86dda08d677d786fefc414  numpy-1.23.2-cp310-cp310-win_amd64.whl
dc76bca1ca98f4b122114435f83f1fcf3c0fe48e4e6f660e07996abf2f53903c  numpy-1.23.2-cp311-cp311-macosx_10_9_x86_64.whl
ecfdd68d334a6b97472ed032b5b37a30d8217c097acfff15e8452c710e775524  numpy-1.23.2-cp311-cp311-macosx_11_0_arm64.whl
5593f67e66dea4e237f5af998d31a43e447786b2154ba1ad833676c788f37cde  numpy-1.23.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ac987b35df8c2a2eab495ee206658117e9ce867acf3ccb376a19e83070e69418  numpy-1.23.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d98addfd3c8728ee8b2c49126f3c44c703e2b005d4a95998e2167af176a9e722  numpy-1.23.2-cp311-cp311-win32.whl
8ecb818231afe5f0f568c81f12ce50f2b828ff2b27487520d85eb44c71313b9e  numpy-1.23.2-cp311-cp311-win_amd64.whl
909c56c4d4341ec8315291a105169d8aae732cfb4c250fbc375a1efb7a844f8f  numpy-1.23.2-cp38-cp38-macosx_10_9_x86_64.whl
8247f01c4721479e482cc2f9f7d973f3f47810cbc8c65e38fd1bbd3141cc9842  numpy-1.23.2-cp38-cp38-macosx_11_0_arm64.whl
b8b97a8a87cadcd3f94659b4ef6ec056261fa1e1c3317f4193ac231d4df70215  numpy-1.23.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bd5b7ccae24e3d8501ee5563e82febc1771e73bd268eef82a1e8d2b4d556ae66  numpy-1.23.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9b83d48e464f393d46e8dd8171687394d39bc5abfe2978896b77dc2604e8635d  numpy-1.23.2-cp38-cp38-win32.whl
dec198619b7dbd6db58603cd256e092bcadef22a796f778bf87f8592b468441d  numpy-1.23.2-cp38-cp38-win_amd64.whl
4f41f5bf20d9a521f8cab3a34557cd77b6f205ab2116651f12959714494268b0  numpy-1.23.2-cp39-cp39-macosx_10_9_x86_64.whl
806cc25d5c43e240db709875e947076b2826f47c2c340a5a2f36da5bb10c58d6  numpy-1.23.2-cp39-cp39-macosx_11_0_arm64.whl
8f9d84a24889ebb4c641a9b99e54adb8cab50972f0166a3abc14c3b93163f074  numpy-1.23.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c403c81bb8ffb1c993d0165a11493fd4bf1353d258f6997b3ee288b0a48fce77  numpy-1.23.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cf8c6aed12a935abf2e290860af8e77b26a042eb7f2582ff83dc7ed5f963340c  numpy-1.23.2-cp39-cp39-win32.whl
5e28cd64624dc2354a349152599e55308eb6ca95a13ce6a7d5679ebff2962913  numpy-1.23.2-cp39-cp39-win_amd64.whl
806970e69106556d1dd200e26647e9bee5e2b3f1814f9da104a943e8d548ca38  numpy-1.23.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
2bd879d3ca4b6f39b7770829f73278b7c5e248c91d538aab1e506c628353e47f  numpy-1.23.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
be6b350dfbc7f708d9d853663772a9310783ea58f6035eec649fb9c4371b5389  numpy-1.23.2-pp38-pypy38_pp73-win_amd64.whl
b78d00e48261fbbd04aa0d7427cf78d18401ee0abd89c7559bbf422e5b1c7d01  numpy-1.23.2.tar.gz

v1.23.1

09 Jul 01:51
v1.23.1
1f82da7
Compare
Choose a tag to compare

NumPy 1.23.1 Release Notes

The NumPy 1.23.1 is a maintenance release that fixes bugs discovered
after the 1.23.0 release. Notable fixes are:

  • Fix searchsorted for float16 NaNs
  • Fix compilation on Apple M1
  • Fix KeyError in crackfortran operator support (Slycot)

The Python version supported for this release are 3.8-3.10.

Contributors

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

  • Charles Harris
  • Matthias Koeppe +
  • Pranab Das +
  • Rohit Goswami
  • Sebastian Berg
  • Serge Guelton
  • Srimukh Sripada +

Pull requests merged

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

  • #21866: BUG: Fix discovered MachAr (still used within valgrind)
  • #21867: BUG: Handle NaNs correctly for float16 during sorting
  • #21868: BUG: Use keepdims during normalization in np.average and...
  • #21869: DOC: mention changes to max_rows behaviour in np.loadtxt
  • #21870: BUG: Reject non integer array-likes with size 1 in delete
  • #21949: BLD: Make can_link_svml return False for 32bit builds on x86_64
  • #21951: BUG: Reorder extern "C" to only apply to function declarations...
  • #21952: BUG: Fix KeyError in crackfortran operator support

Checksums

MD5

79f0d8c114f282b834b49209d6955f98  numpy-1.23.1-cp310-cp310-macosx_10_9_x86_64.whl
42a89a88ef26b768e8933ce46b1cc2bd  numpy-1.23.1-cp310-cp310-macosx_11_0_arm64.whl
1c1d68b3483eaf99b9a3583c8ac8bf47  numpy-1.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9d3e9f7f9b3dce6cf15209e4f25f346e  numpy-1.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a9afb7c34b48d08fc50427ae6516b42d  numpy-1.23.1-cp310-cp310-win32.whl
a0e02823883bdfcec49309e108f65e13  numpy-1.23.1-cp310-cp310-win_amd64.whl
f40cdf4ec7bb0cf31a90a4fa294323c2  numpy-1.23.1-cp38-cp38-macosx_10_9_x86_64.whl
80115a959f0fe30d6c401b2650a61c70  numpy-1.23.1-cp38-cp38-macosx_11_0_arm64.whl
1cf199b3a93960c4f269853a56a8d8eb  numpy-1.23.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
aa6f0f192312c79cd770c2c395e9982a  numpy-1.23.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d07bee0ea3142a96cb5e4e16aca273ca  numpy-1.23.1-cp38-cp38-win32.whl
02d0734ae8ad5e18a40c6c6de18486a0  numpy-1.23.1-cp38-cp38-win_amd64.whl
e1ca14acd7d83bc74bdf6ab0bb4bd195  numpy-1.23.1-cp39-cp39-macosx_10_9_x86_64.whl
c9152c62b2f31e742e24bfdc97b28666  numpy-1.23.1-cp39-cp39-macosx_11_0_arm64.whl
05b0b37c92f7a7e7c01afac0a5322b40  numpy-1.23.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d9810bb71a0ef9837e87ea5c44fcab5e  numpy-1.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4255577f857e838f7a94e3a614ddc5eb  numpy-1.23.1-cp39-cp39-win32.whl
787486e3cd87b98024ffe1c969c4db7a  numpy-1.23.1-cp39-cp39-win_amd64.whl
5c7b2d1471b1b9ec6ff1cb3fe1f8ac14  numpy-1.23.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
40d5b2ff869707b0d97325ce44631135  numpy-1.23.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
44ce1e07927cc09415df9898857792da  numpy-1.23.1-pp38-pypy38_pp73-win_amd64.whl
4f8636a9c1a77ca0fb923ba55378891f  numpy-1.23.1.tar.gz

SHA256

b15c3f1ed08df4980e02cc79ee058b788a3d0bef2fb3c9ca90bb8cbd5b8a3a04  numpy-1.23.1-cp310-cp310-macosx_10_9_x86_64.whl
9ce242162015b7e88092dccd0e854548c0926b75c7924a3495e02c6067aba1f5  numpy-1.23.1-cp310-cp310-macosx_11_0_arm64.whl
e0d7447679ae9a7124385ccf0ea990bb85bb869cef217e2ea6c844b6a6855073  numpy-1.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3119daed207e9410eaf57dcf9591fdc68045f60483d94956bee0bfdcba790953  numpy-1.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3ab67966c8d45d55a2bdf40701536af6443763907086c0a6d1232688e27e5447  numpy-1.23.1-cp310-cp310-win32.whl
1865fdf51446839ca3fffaab172461f2b781163f6f395f1aed256b1ddc253622  numpy-1.23.1-cp310-cp310-win_amd64.whl
aeba539285dcf0a1ba755945865ec61240ede5432df41d6e29fab305f4384db2  numpy-1.23.1-cp38-cp38-macosx_10_9_x86_64.whl
7e8229f3687cdadba2c4faef39204feb51ef7c1a9b669247d49a24f3e2e1617c  numpy-1.23.1-cp38-cp38-macosx_11_0_arm64.whl
68b69f52e6545af010b76516f5daaef6173e73353e3295c5cb9f96c35d755641  numpy-1.23.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
1408c3527a74a0209c781ac82bde2182b0f0bf54dea6e6a363fe0cc4488a7ce7  numpy-1.23.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
47f10ab202fe4d8495ff484b5561c65dd59177949ca07975663f4494f7269e3e  numpy-1.23.1-cp38-cp38-win32.whl
37e5ebebb0eb54c5b4a9b04e6f3018e16b8ef257d26c8945925ba8105008e645  numpy-1.23.1-cp38-cp38-win_amd64.whl
173f28921b15d341afadf6c3898a34f20a0569e4ad5435297ba262ee8941e77b  numpy-1.23.1-cp39-cp39-macosx_10_9_x86_64.whl
876f60de09734fbcb4e27a97c9a286b51284df1326b1ac5f1bf0ad3678236b22  numpy-1.23.1-cp39-cp39-macosx_11_0_arm64.whl
35590b9c33c0f1c9732b3231bb6a72d1e4f77872390c47d50a615686ae7ed3fd  numpy-1.23.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a35c4e64dfca659fe4d0f1421fc0f05b8ed1ca8c46fb73d9e5a7f175f85696bb  numpy-1.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c2f91f88230042a130ceb1b496932aa717dcbd665350beb821534c5c7e15881c  numpy-1.23.1-cp39-cp39-win32.whl
37ece2bd095e9781a7156852e43d18044fd0d742934833335599c583618181b9  numpy-1.23.1-cp39-cp39-win_amd64.whl
8002574a6b46ac3b5739a003b5233376aeac5163e5dcd43dd7ad062f3e186129  numpy-1.23.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
5d732d17b8a9061540a10fda5bfeabca5785700ab5469a5e9b93aca5e2d3a5fb  numpy-1.23.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
55df0f7483b822855af67e38fb3a526e787adf189383b4934305565d71c4b148  numpy-1.23.1-pp38-pypy38_pp73-win_amd64.whl
d748ef349bfef2e1194b59da37ed5a29c19ea8d7e6342019921ba2ba4fd8b624  numpy-1.23.1.tar.gz

v1.23.0

22 Jun 22:32
v1.23.0
54c52f1
Compare
Choose a tag to compare

NumPy 1.23.0 Release Notes

The NumPy 1.23.0 release continues the ongoing work to improve the
handling and promotion of dtypes, increase the execution speed, clarify
the documentation, and expire old deprecations. The highlights are:

  • Implementation of loadtxt in C, greatly improving its performance.
  • Exposing DLPack at the Python level for easy data exchange.
  • Changes to the promotion and comparisons of structured dtypes.
  • Improvements to f2py.

See below for the details,

New functions

  • A masked array specialization of ndenumerate is now available as
    numpy.ma.ndenumerate. It provides an alternative to
    numpy.ndenumerate and skips masked values by default.

    (gh-20020)

  • numpy.from_dlpack has been added to allow easy exchange of data
    using the DLPack protocol. It accepts Python objects that implement
    the __dlpack__ and __dlpack_device__ methods and returns a
    ndarray object which is generally the view of the data of the input
    object.

    (gh-21145)

Deprecations

  • Setting __array_finalize__ to None is deprecated. It must now be
    a method and may wish to call super().__array_finalize__(obj)
    after checking for None or if the NumPy version is sufficiently
    new.

    (gh-20766)

  • Using axis=32 (axis=np.MAXDIMS) in many cases had the same
    meaning as axis=None. This is deprecated and axis=None must be
    used instead.

    (gh-20920)

  • The hook function PyDataMem_SetEventHook has been deprecated and
    the demonstration of its use in tool/allocation_tracking has been
    removed. The ability to track allocations is now built-in to python
    via tracemalloc.

    (gh-20394)

  • numpy.distutils has been deprecated, as a result of distutils
    itself being deprecated. It will not be present in NumPy for
    Python >= 3.12, and will be removed completely 2 years after the
    release of Python 3.12 For more details, see
    distutils-status-migration{.interpreted-text role="ref"}.

    (gh-20875)

  • numpy.loadtxt will now give a DeprecationWarning when an integer
    dtype is requested but the value is formatted as a floating point number.

    (gh-21663)

Expired deprecations

  • The NpzFile.iteritems() and NpzFile.iterkeys() methods have been
    removed as part of the continued removal of Python 2 compatibility.
    This concludes the deprecation from 1.15.

    (gh-16830)

  • The alen and asscalar functions have been removed.

    (gh-20414)

  • The UPDATEIFCOPY array flag has been removed together with the
    enum NPY_ARRAY_UPDATEIFCOPY. The associated (and deprecated)
    PyArray_XDECREF_ERR was also removed. These were all deprecated in
    1.14. They are replaced by WRITEBACKIFCOPY, that requires calling
    PyArray_ResoveWritebackIfCopy before the array is deallocated.

    (gh-20589)

  • Exceptions will be raised during array-like creation. When an object
    raised an exception during access of the special attributes
    __array__ or __array_interface__, this exception was usually
    ignored. This behaviour was deprecated in 1.21, and the exception
    will now be raised.

    (gh-20835)

  • Multidimensional indexing with non-tuple values is not allowed.
    Previously, code such as arr[ind] where ind = [[0, 1], [0, 1]]
    produced a FutureWarning and was interpreted as a multidimensional
    index (i.e., arr[tuple(ind)]). Now this example is treated like an
    array index over a single dimension (arr[array(ind)]).
    Multidimensional indexing with anything but a tuple was deprecated
    in NumPy 1.15.

    (gh-21029)

  • Changing to a dtype of different size in F-contiguous arrays is no
    longer permitted. Deprecated since Numpy 1.11.0. See below for an
    extended explanation of the effects of this change.

    (gh-20722)

New Features

crackfortran has support for operator and assignment overloading

crackfortran parser now understands operator and assignment
definitions in a module. They are added in the body list of the module
which contains a new key implementedby listing the names of the
subroutines or functions implementing the operator or assignment.

(gh-15006)

f2py supports reading access type attributes from derived type statements

As a result, one does not need to use public or private statements
to specify derived type access properties.

(gh-15844)

New parameter ndmin added to genfromtxt

This parameter behaves the same as ndmin from numpy.loadtxt.

(gh-20500)

np.loadtxt now supports quote character and single converter function

numpy.loadtxt now supports an additional quotechar keyword argument
which is not set by default. Using quotechar='"' will read quoted
fields as used by the Excel CSV dialect.

Further, it is now possible to pass a single callable rather than a
dictionary for the converters argument.

(gh-20580)

Changing to dtype of a different size now requires contiguity of only the last axis

Previously, viewing an array with a dtype of a different item size
required that the entire array be C-contiguous. This limitation would
unnecessarily force the user to make contiguous copies of non-contiguous
arrays before being able to change the dtype.

This change affects not only ndarray.view, but other construction
mechanisms, including the discouraged direct assignment to
ndarray.dtype.

This change expires the deprecation regarding the viewing of
F-contiguous arrays, described elsewhere in the release notes.

(gh-20722)

Deterministic output files for F2PY

For F77 inputs, f2py will generate modname-f2pywrappers.f
unconditionally, though these may be empty. For free-form inputs,
modname-f2pywrappers.f, modname-f2pywrappers2.f90 will both be
generated unconditionally, and may be empty. This allows writing generic
output rules in cmake or meson and other build systems. Older
behavior can be restored by passing --skip-empty-wrappers to f2py.
f2py-meson{.interpreted-text role="ref"} details usage.

(gh-21187)

keepdims parameter for average

The parameter keepdims was added to the functions numpy.average and
numpy.ma.average. The parameter has the same meaning as it does in
reduction functions such as numpy.sum or numpy.mean.

(gh-21485)

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)

Compatibility notes

1D np.linalg.norm preserves float input types, even for scalar results

Previously, this would promote to float64 when the ord argument was
not one of the explicitly listed values, e.g. ord=3:

>>> f32 = np.float32([1, 2])
>>> np.linalg.norm(f32, 2).dtype
dtype('float32')
>>> np.linalg.norm(f32, 3)
dtype('float64')  # numpy 1.22
dtype('float32')  # numpy 1.23

This change affects only float32 and float16 vectors with ord
other than -Inf, 0, 1, 2, and Inf.

(gh-17709)

Changes to structured (void) dtype promotion and comparisons

In general, NumPy now defines correct, but slightly limited, promotion
for structured dtypes by promoting the subtypes of each field instead of
raising an exception:

>>> np.result_type(np.dtype("i,i"), np.dtype("i,d"))
dtype([('f0', '<i4'), ('f1', '<f8')])

For promotion matching field names, order, and titles are enforced,
however padding is ignored. Promotion involving structured dtypes now
always ensures native byte-order for all fields (which may change the
result of np.concatenate) and ensures that the result will be
"packed", i.e. all fields are ordered contiguously and padding is
removed. See
structured_dtype_comparison_and_promotion{.interpreted-text
role="ref"} for further details.

The repr of aligned structures will now never print the long form
including offsets and itemsize unless the structure includes padding
not guaranteed by align=True.

In alignment with the above changes to the promotion logic, the casting
safety has been updated:

  • "equiv" enforces matching names and titles. The itemsize is
    allowed to differ due to padding.
  • "safe" allows mismatching field names and titles
  • The cast safety is limited by the cast safety of each included
    field.
  • The order of fields is used to decide cast safety of each individual
    field. Previously, the field names were used and only unsafe casts
    were possible when names mismatched.

The main important change here is that name mismatches are now
considered "safe" casts.

([gh-19226](https://github.com...