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

Update dependency numpy to v1.26.1 #46

Merged
merged 1 commit into from
Oct 23, 2023

Conversation

renovate[bot]
Copy link
Contributor

@renovate renovate bot commented Oct 23, 2023

Mend Renovate

This PR contains the following updates:

Package Change Age Adoption Passing Confidence
numpy (source, changelog) 1.24.4 -> 1.26.1 age adoption passing confidence

Release Notes

numpy/numpy (numpy)

v1.26.1

Compare Source

NumPy 1.26.1 Release Notes

NumPy 1.26.1 is a maintenance release that fixes bugs and regressions
discovered after the 1.26.0 release. In addition, it adds new
functionality for detecting BLAS and LAPACK when building from source.
Highlights are:

  • Improved detection of BLAS and LAPACK libraries for meson builds
  • Pickle compatibility with the upcoming NumPy 2.0.

The 1.26.release series is the last planned minor release series before
NumPy 2.0. The Python versions supported by this release are 3.9-3.12.

Build system changes
Improved BLAS/LAPACK detection and control

Auto-detection for a number of BLAS and LAPACK is now implemented for
Meson. By default, the build system will try to detect MKL, Accelerate
(on macOS >=13.3), OpenBLAS, FlexiBLAS, BLIS and reference BLAS/LAPACK.
Support for MKL was significantly improved, and support for FlexiBLAS
was added.

New command-line flags are available to further control the selection of
the BLAS and LAPACK libraries to build against.

To select a specific library, use the config-settings interface via
pip or pypa/build. E.g., to select libblas/liblapack, use:

$ pip install numpy -Csetup-args=-Dblas=blas -Csetup-args=-Dlapack=lapack
$ # OR
$ python -m build . -Csetup-args=-Dblas=blas -Csetup-args=-Dlapack=lapack

This works not only for the libraries named above, but for any library
that Meson is able to detect with the given name through pkg-config or
CMake.

Besides -Dblas and -Dlapack, a number of other new flags are
available to control BLAS/LAPACK selection and behavior:

  • -Dblas-order and -Dlapack-order: a list of library names to
    search for in order, overriding the default search order.
  • -Duse-ilp64: if set to true, use ILP64 (64-bit integer) BLAS and
    LAPACK. Note that with this release, ILP64 support has been extended
    to include MKL and FlexiBLAS. OpenBLAS and Accelerate were supported
    in previous releases.
  • -Dallow-noblas: if set to true, allow NumPy to build with its
    internal (very slow) fallback routines instead of linking against an
    external BLAS/LAPACK library. The default for this flag may be
    changed to ``true`` in a future 1.26.x release, however for
    1.26.1 we'd prefer to keep it as ``false`` because if failures
    to detect an installed library are happening, we'd like a bug
    report for that, so we can quickly assess whether the new
    auto-detection machinery needs further improvements.
  • -Dmkl-threading: to select the threading layer for MKL. There are
    four options: seq, iomp, gomp and tbb. The default is
    auto, which selects from those four as appropriate given the
    version of MKL selected.
  • -Dblas-symbol-suffix: manually select the symbol suffix to use for
    the library - should only be needed for linking against libraries
    built in a non-standard way.
New features
numpy._core submodule stubs

numpy._core submodule stubs were added to provide compatibility with
pickled arrays created using NumPy 2.0 when running Numpy 1.26.

Contributors

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

  • Andrew Nelson
  • Anton Prosekin +
  • Charles Harris
  • Chongyun Lee +
  • Ivan A. Melnikov +
  • Jake Lishman +
  • Mahder Gebremedhin +
  • Mateusz Sokół
  • Matti Picus
  • Munira Alduraibi +
  • Ralf Gommers
  • Rohit Goswami
  • Sayed Adel
Pull requests merged

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

  • #​24742: MAINT: Update cibuildwheel version
  • #​24748: MAINT: fix version string in wheels built with setup.py
  • #​24771: BLD, BUG: Fix build failure for host flags e.g. -march=native...
  • #​24773: DOC: Updated the f2py docs to remove a note on -fimplicit-none
  • #​24776: BUG: Fix SIMD f32 trunc test on s390x when baseline is none
  • #​24785: BLD: add libquadmath to licences and other tweaks (#​24753)
  • #​24786: MAINT: Activate use-compute-credits for Cirrus.
  • #​24803: BLD: updated vendored-meson/meson for mips64 fix
  • #​24804: MAINT: fix licence path win
  • #​24813: BUG: Fix order of Windows OS detection macros.
  • #​24831: BUG, SIMD: use scalar cmul on bad Apple clang x86_64 (#​24828)
  • #​24840: BUG: Fix DATA statements for f2py
  • #​24870: API: Add NumpyUnpickler for backporting
  • #​24872: MAINT: Xfail test failing on PyPy.
  • #​24879: BLD: fix math func feature checks, fix FreeBSD build, add CI...
  • #​24899: ENH: meson: implement BLAS/LAPACK auto-detection and many CI...
  • #​24902: DOC: add a 1.26.1 release notes section for BLAS/LAPACK build...
  • #​24906: MAINT: Backport numpy._core stubs. Remove NumpyUnpickler
  • #​24911: MAINT: Bump pypa/cibuildwheel from 2.16.1 to 2.16.2
  • #​24912: BUG: loongarch doesn't use REAL(10)
Checksums
MD5
bda38de1a047dd9fdddae16c0d9fb358  numpy-1.26.1-cp310-cp310-macosx_10_9_x86_64.whl
196d2e39047da64ab28e177760c95461  numpy-1.26.1-cp310-cp310-macosx_11_0_arm64.whl
9d25010a7bf50e624d2fed742790afbd  numpy-1.26.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9b22fa3d030807f0708007d9c0659f65  numpy-1.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
eea626b8b930acb4b32302a9e95714f5  numpy-1.26.1-cp310-cp310-musllinux_1_1_x86_64.whl
3c40ef068f50d2ac2913c5b9fa1233fa  numpy-1.26.1-cp310-cp310-win32.whl
315c251d2f284af25761a37ce6dd4d10  numpy-1.26.1-cp310-cp310-win_amd64.whl
ebdd5046937df50e9f54a6d38c5775dd  numpy-1.26.1-cp311-cp311-macosx_10_9_x86_64.whl
682f9beebe8547f205d6cdc8ff96a984  numpy-1.26.1-cp311-cp311-macosx_11_0_arm64.whl
e86da9b6040ea88b3835c4d8f8578658  numpy-1.26.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ebcb6cf7f64454215e29d8a89829c8e1  numpy-1.26.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a8c89e13dc9a63712104e2fb06fb63a6  numpy-1.26.1-cp311-cp311-musllinux_1_1_x86_64.whl
339795930404988dbc664ff4cc72b399  numpy-1.26.1-cp311-cp311-win32.whl
4ef5e1bdd7726c19615843f5ac72e618  numpy-1.26.1-cp311-cp311-win_amd64.whl
3aad6bc72db50e9cc88aa5813e8f35bd  numpy-1.26.1-cp312-cp312-macosx_10_9_x86_64.whl
fd62f65ae7798dbda9a3f7af7aa5c8db  numpy-1.26.1-cp312-cp312-macosx_11_0_arm64.whl
104d939e080f1baf0a56aed1de0e79e3  numpy-1.26.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c44b56c96097f910bbec1420abcf3db5  numpy-1.26.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1dce230368ae5fc47dd0fe8de8ff771d  numpy-1.26.1-cp312-cp312-musllinux_1_1_x86_64.whl
d93338e7d60e1d294ca326450e99806b  numpy-1.26.1-cp312-cp312-win32.whl
a1832f46521335c1ee4c56dbf12e600b  numpy-1.26.1-cp312-cp312-win_amd64.whl
946fbb0b6caca9258985495532d3f9ab  numpy-1.26.1-cp39-cp39-macosx_10_9_x86_64.whl
78c2ab13d395d67d90bcd6583a6f61a8  numpy-1.26.1-cp39-cp39-macosx_11_0_arm64.whl
0a9d80d8b646abf4ffe51fff3e075d10  numpy-1.26.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
0229ba8145d4f58500873b540a55d60e  numpy-1.26.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9179fc57c03260374c86e18867c24463  numpy-1.26.1-cp39-cp39-musllinux_1_1_x86_64.whl
246a3103fdbe5d891d7a8aee28875a26  numpy-1.26.1-cp39-cp39-win32.whl
4589dcb7f754fade6ea3946416bee638  numpy-1.26.1-cp39-cp39-win_amd64.whl
3af340d5487a6c045f00fe5eb889957c  numpy-1.26.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
28aece4f1ceb92ec463aa353d4a91c8b  numpy-1.26.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
bbd0461a1e31017b05509e9971b3478e  numpy-1.26.1-pp39-pypy39_pp73-win_amd64.whl
2d770f4c281d405b690c4bcb3dbe99e2  numpy-1.26.1.tar.gz
SHA256
82e871307a6331b5f09efda3c22e03c095d957f04bf6bc1804f30048d0e5e7af  numpy-1.26.1-cp310-cp310-macosx_10_9_x86_64.whl
cdd9ec98f0063d93baeb01aad472a1a0840dee302842a2746a7a8e92968f9575  numpy-1.26.1-cp310-cp310-macosx_11_0_arm64.whl
d78f269e0c4fd365fc2992c00353e4530d274ba68f15e968d8bc3c69ce5f5244  numpy-1.26.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8ab9163ca8aeb7fd32fe93866490654d2f7dda4e61bc6297bf72ce07fdc02f67  numpy-1.26.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
78ca54b2f9daffa5f323f34cdf21e1d9779a54073f0018a3094ab907938331a2  numpy-1.26.1-cp310-cp310-musllinux_1_1_x86_64.whl
d1cfc92db6af1fd37a7bb58e55c8383b4aa1ba23d012bdbba26b4bcca45ac297  numpy-1.26.1-cp310-cp310-win32.whl
d2984cb6caaf05294b8466966627e80bf6c7afd273279077679cb010acb0e5ab  numpy-1.26.1-cp310-cp310-win_amd64.whl
cd7837b2b734ca72959a1caf3309457a318c934abef7a43a14bb984e574bbb9a  numpy-1.26.1-cp311-cp311-macosx_10_9_x86_64.whl
1c59c046c31a43310ad0199d6299e59f57a289e22f0f36951ced1c9eac3665b9  numpy-1.26.1-cp311-cp311-macosx_11_0_arm64.whl
d58e8c51a7cf43090d124d5073bc29ab2755822181fcad978b12e144e5e5a4b3  numpy-1.26.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
6081aed64714a18c72b168a9276095ef9155dd7888b9e74b5987808f0dd0a974  numpy-1.26.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
97e5d6a9f0702c2863aaabf19f0d1b6c2628fbe476438ce0b5ce06e83085064c  numpy-1.26.1-cp311-cp311-musllinux_1_1_x86_64.whl
b9d45d1dbb9de84894cc50efece5b09939752a2d75aab3a8b0cef6f3a35ecd6b  numpy-1.26.1-cp311-cp311-win32.whl
3649d566e2fc067597125428db15d60eb42a4e0897fc48d28cb75dc2e0454e53  numpy-1.26.1-cp311-cp311-win_amd64.whl
1d1bd82d539607951cac963388534da3b7ea0e18b149a53cf883d8f699178c0f  numpy-1.26.1-cp312-cp312-macosx_10_9_x86_64.whl
afd5ced4e5a96dac6725daeb5242a35494243f2239244fad10a90ce58b071d24  numpy-1.26.1-cp312-cp312-macosx_11_0_arm64.whl
a03fb25610ef560a6201ff06df4f8105292ba56e7cdd196ea350d123fc32e24e  numpy-1.26.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
dcfaf015b79d1f9f9c9fd0731a907407dc3e45769262d657d754c3a028586124  numpy-1.26.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e509cbc488c735b43b5ffea175235cec24bbc57b227ef1acc691725beb230d1c  numpy-1.26.1-cp312-cp312-musllinux_1_1_x86_64.whl
af22f3d8e228d84d1c0c44c1fbdeb80f97a15a0abe4f080960393a00db733b66  numpy-1.26.1-cp312-cp312-win32.whl
9f42284ebf91bdf32fafac29d29d4c07e5e9d1af862ea73686581773ef9e73a7  numpy-1.26.1-cp312-cp312-win_amd64.whl
bb894accfd16b867d8643fc2ba6c8617c78ba2828051e9a69511644ce86ce83e  numpy-1.26.1-cp39-cp39-macosx_10_9_x86_64.whl
e44ccb93f30c75dfc0c3aa3ce38f33486a75ec9abadabd4e59f114994a9c4617  numpy-1.26.1-cp39-cp39-macosx_11_0_arm64.whl
9696aa2e35cc41e398a6d42d147cf326f8f9d81befcb399bc1ed7ffea339b64e  numpy-1.26.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a5b411040beead47a228bde3b2241100454a6abde9df139ed087bd73fc0a4908  numpy-1.26.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1e11668d6f756ca5ef534b5be8653d16c5352cbb210a5c2a79ff288e937010d5  numpy-1.26.1-cp39-cp39-musllinux_1_1_x86_64.whl
d1d2c6b7dd618c41e202c59c1413ef9b2c8e8a15f5039e344af64195459e3104  numpy-1.26.1-cp39-cp39-win32.whl
59227c981d43425ca5e5c01094d59eb14e8772ce6975d4b2fc1e106a833d5ae2  numpy-1.26.1-cp39-cp39-win_amd64.whl
06934e1a22c54636a059215d6da99e23286424f316fddd979f5071093b648668  numpy-1.26.1-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
76ff661a867d9272cd2a99eed002470f46dbe0943a5ffd140f49be84f68ffc42  numpy-1.26.1-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6965888d65d2848e8768824ca8288db0a81263c1efccec881cb35a0d805fcd2f  numpy-1.26.1-pp39-pypy39_pp73-win_amd64.whl
c8c6c72d4a9f831f328efb1312642a1cafafaa88981d9ab76368d50d07d93cbe  numpy-1.26.1.tar.gz

v1.26.0

Compare Source

NumPy 1.26.0 Release Notes

The NumPy 1.26.0 release is a continuation of the 1.25.x release cycle
with the addition of Python 3.12.0 support. Python 3.12 dropped
distutils, consequently supporting it required finding a replacement for
the setup.py/distutils based build system NumPy was using. We have
chosen to use the Meson build system instead, and this is the first
NumPy release supporting it. This is also the first release that
supports Cython 3.0 in addition to retaining 0.29.X compatibility.
Supporting those two upgrades was a large project, over 100 files have
been touched in this release. The changelog doesn't capture the full
extent of the work, special thanks to Ralf Gommers, Sayed Adel, Stéfan
van der Walt, and Matti Picus who did much of the work in the main
development branch.

The highlights of this release are:

  • Python 3.12.0 support.
  • Cython 3.0.0 compatibility.
  • Use of the Meson build system
  • Updated SIMD support
  • f2py fixes, meson and bind(x) support
  • Support for the updated Accelerate BLAS/LAPACK library

The Python versions supported in this release are 3.9-3.12.

New Features

Array API v2022.12 support in numpy.array_api

numpy.array_api now full supports the
v2022.12 version of the array API standard. Note that this does not
yet include the optional fft extension in the standard.

(gh-23789)

Support for the updated Accelerate BLAS/LAPACK library

Support for the updated Accelerate BLAS/LAPACK library, including ILP64
(64-bit integer) support, in macOS 13.3 has been added. This brings
arm64 support, and significant performance improvements of up to 10x for
commonly used linear algebra operations. When Accelerate is selected at
build time, the 13.3+ version will automatically be used if available.

(gh-24053)

meson backend for f2py

f2py in compile mode (i.e. f2py -c) now accepts the
--backend meson option. This is the default option for Python 3.12
on-wards. Older versions will still default to --backend distutils.

To support this in realistic use-cases, in compile mode f2py takes a
--dep flag one or many times which maps to dependency() calls in the
meson backend, and does nothing in the distutils backend.

There are no changes for users of f2py only as a code generator, i.e.
without -c.

(gh-24532)

bind(c) support for f2py

Both functions and subroutines can be annotated with bind(c). f2py
will handle both the correct type mapping, and preserve the unique label
for other C interfaces.

Note: bind(c, name = 'routine_name_other_than_fortran_routine') is
not honored by the f2py bindings by design, since bind(c) with the
name is meant to guarantee only the same name in C and Fortran,
not in Python and Fortran.

(gh-24555)

Improvements

iso_c_binding support for f2py

Previously, users would have to define their own custom f2cmap file to
use type mappings defined by the Fortran2003 iso_c_binding intrinsic
module. These type maps are now natively supported by f2py

(gh-24555)

Build system changes

In this release, NumPy has switched to Meson as the build system and
meson-python as the build backend. Installing NumPy or building a wheel
can be done with standard tools like pip and pypa/build. The
following are supported:

  • Regular installs: pip install numpy or (in a cloned repo)
    pip install .
  • Building a wheel: python -m build (preferred), or pip wheel .
  • Editable installs: pip install -e . --no-build-isolation
  • Development builds through the custom CLI implemented with
    spin: spin build.

All the regular pip and pypa/build flags (e.g.,
--no-build-isolation) should work as expected.

NumPy-specific build customization

Many of the NumPy-specific ways of customizing builds have changed. The
NPY_* environment variables which control BLAS/LAPACK, SIMD,
threading, and other such options are no longer supported, nor is a
site.cfg file to select BLAS and LAPACK. Instead, there are
command-line flags that can be passed to the build via pip/build's
config-settings interface. These flags are all listed in the
meson_options.txt file in the root of the repo. Detailed documented
will be available before the final 1.26.0 release; for now please see
the SciPy "building from source" docs
since most build customization works in an almost identical way in SciPy as it
does in NumPy.

Build dependencies

While the runtime dependencies of NumPy have not changed, the build
dependencies have. Because we temporarily vendor Meson and meson-python,
there are several new dependencies - please see the [build-system]
section of pyproject.toml for details.

Troubleshooting

This build system change is quite large. In case of unexpected issues,
it is still possible to use a setup.py-based build as a temporary
workaround (on Python 3.9-3.11, not 3.12), by copying
pyproject.toml.setuppy to pyproject.toml. However, please open an
issue with details on the NumPy issue tracker. We aim to phase out
setup.py builds as soon as possible, and therefore would like to see
all potential blockers surfaced early on in the 1.26.0 release cycle.

Contributors

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

  • @​DWesl
  • Albert Steppi +
  • Bas van Beek
  • Charles Harris
  • Developer-Ecosystem-Engineering
  • Filipe Laíns +
  • Jake Vanderplas
  • Liang Yan +
  • Marten van Kerkwijk
  • Matti Picus
  • Melissa Weber Mendonça
  • Namami Shanker
  • Nathan Goldbaum
  • Ralf Gommers
  • Rohit Goswami
  • Sayed Adel
  • Sebastian Berg
  • Stefan van der Walt
  • Tyler Reddy
  • Warren Weckesser

Pull requests merged

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

  • #​24305: MAINT: Prepare 1.26.x branch for development
  • #​24308: MAINT: Massive update of files from main for numpy 1.26
  • #​24322: CI: fix wheel builds on the 1.26.x branch
  • #​24326: BLD: update openblas to newer version
  • #​24327: TYP: Trim down the _NestedSequence.__getitem__ signature
  • #​24328: BUG: fix choose refcount leak
  • #​24337: TST: fix running the test suite in builds without BLAS/LAPACK
  • #​24338: BUG: random: Fix generation of nan by dirichlet.
  • #​24340: MAINT: Dependabot updates from main
  • #​24342: MAINT: Add back NPY_RUN_MYPY_IN_TESTSUITE=1
  • #​24353: MAINT: Update extbuild.py from main.
  • #​24356: TST: fix distutils tests for deprecations in recent setuptools...
  • #​24375: MAINT: Update cibuildwheel to version 2.15.0
  • #​24381: MAINT: Fix codespaces setup.sh script
  • #​24403: ENH: Vendor meson for multi-target build support
  • #​24404: BLD: vendor meson-python to make the Windows builds with SIMD...
  • #​24405: BLD, SIMD: The meson CPU dispatcher implementation
  • #​24406: MAINT: Remove versioneer
  • #​24409: REL: Prepare for the NumPy 1.26.0b1 release.
  • #​24453: MAINT: Pin upper version of sphinx.
  • #​24455: ENH: Add prefix to _ALIGN Macro
  • #​24456: BUG: cleanup warnings
  • #​24460: MAINT: Upgrade to spin 0.5
  • #​24495: BUG: asv dev has been removed, use asv run.
  • #​24496: BUG: Fix meson build failure due to unchanged inplace auto-generated...
  • #​24521: BUG: fix issue with git-version script, needs a shebang to run
  • #​24522: BUG: Use a default assignment for git_hash
  • #​24524: BUG: fix NPY_cast_info error handling in choose
  • #​24526: BUG: Fix common block handling in f2py
  • #​24541: CI,TYP: Bump mypy to 1.4.1
  • #​24542: BUG: Fix assumed length f2py regression
  • #​24544: MAINT: Harmonize fortranobject
  • #​24545: TYP: add kind argument to numpy.isin type specification
  • #​24561: BUG: fix comparisons between masked and unmasked structured arrays
  • #​24590: CI: Exclude import libraries from list of DLLs on Cygwin.
  • #​24591: BLD: fix _umath_linalg dependencies
  • #​24594: MAINT: Stop testing on ppc64le.
  • #​24602: BLD: meson-cpu: fix SIMD support on platforms with no features
  • #​24606: BUG: Change Cython binding directive to "False".
  • #​24613: ENH: Adopt new macOS Accelerate BLAS/LAPACK Interfaces, including...
  • #​24614: DOC: Update building docs to use Meson
  • #​24615: TYP: Add the missing casting keyword to np.clip
  • #​24616: TST: convert cython test from setup.py to meson
  • #​24617: MAINT: Fixup fromnumeric.pyi
  • #​24622: BUG, ENH: Fix iso_c_binding type maps and fix bind(c)...
  • #​24629: TYP: Allow binary_repr to accept any object implementing...
  • #​24630: TYP: Explicitly declare dtype and generic hashable
  • #​24637: ENH: Refactor the typing "reveal" tests using typing.assert_type
  • #​24638: MAINT: Bump actions/checkout from 3.6.0 to 4.0.0
  • #​24647: ENH: meson backend for f2py
  • #​24648: MAINT: Refactor partial load Workaround for Clang
  • #​24653: REL: Prepare for the NumPy 1.26.0rc1 release.
  • #​24659: BLD: allow specifying the long double format to avoid the runtime...
  • #​24665: BLD: fix bug in random.mtrand extension, don't link libnpyrandom
  • #​24675: BLD: build wheels for 32-bit Python on Windows, using MSVC
  • #​24700: BLD: fix issue with compiler selection during cross compilation
  • #​24701: BUG: Fix data stmt handling for complex values in f2py
  • #​24707: TYP: Add annotations for the py3.12 buffer protocol
  • #​24718: DOC: fix a few doc build issues on 1.26.x and update spin docs...

Checksums

MD5
052d84a2aaad4d5a455b64f5ff3f160b  numpy-1.26.0-cp310-cp310-macosx_10_9_x86_64.whl
874567083be194080e97bea39ea7befd  numpy-1.26.0-cp310-cp310-macosx_11_0_arm64.whl
1a5fa023e05e050b95549d355890fbb6  numpy-1.26.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2af03fbadd96360b26b993975709d072  numpy-1.26.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
32717dd51a915e9aee4dcca72acb00d0  numpy-1.26.0-cp310-cp310-musllinux_1_1_x86_64.whl
3f101e51b3b5f8c3f01256da645a1962  numpy-1.26.0-cp310-cp310-win32.whl
d523a40f0a5f5ba94f09679adbabf825  numpy-1.26.0-cp310-cp310-win_amd64.whl
6115698fdf5fb8cf895540a57d12bfb9  numpy-1.26.0-cp311-cp311-macosx_10_9_x86_64.whl
207603ee822d8af4542f239b8c0a7a67  numpy-1.26.0-cp311-cp311-macosx_11_0_arm64.whl
0cc5f95c4aebab0ca4f9f66463981016  numpy-1.26.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a4654b46bc10738825f37a1797e1eba5  numpy-1.26.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3b037dc746499f2a19bb58b55fdd0bfb  numpy-1.26.0-cp311-cp311-musllinux_1_1_x86_64.whl
7bfb0c44e95f765e7fc5a7a86968a56c  numpy-1.26.0-cp311-cp311-win32.whl
3355b510410cb20bacfb3c87632a731a  numpy-1.26.0-cp311-cp311-win_amd64.whl
9624a97f1df9f64054409d274c1502f3  numpy-1.26.0-cp312-cp312-macosx_10_9_x86_64.whl
53429b1349542c38b2f3822c7f2904d5  numpy-1.26.0-cp312-cp312-macosx_11_0_arm64.whl
66a21bf4d8a6372cc3c4c89a67b96279  numpy-1.26.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
cb9abc312090046563eae619c0b68210  numpy-1.26.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
49e3498e0e0ec5c1f6314fb86d7f006e  numpy-1.26.0-cp312-cp312-musllinux_1_1_x86_64.whl
f4a31765889478341597a7140044db85  numpy-1.26.0-cp312-cp312-win32.whl
e7d7ded11f89baf760e5ba69249606e4  numpy-1.26.0-cp312-cp312-win_amd64.whl
19698f330ae322c4813eed6e790a04d5  numpy-1.26.0-cp39-cp39-macosx_10_9_x86_64.whl
a3628f551d851fbcde6551adb8fcfe2b  numpy-1.26.0-cp39-cp39-macosx_11_0_arm64.whl
b34af2ddf43b28207ec7e2c837cbe35f  numpy-1.26.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3d888129c86357ccfb779d9f0c1256f5  numpy-1.26.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e49d00c779df59a786d9f41e0d73c520  numpy-1.26.0-cp39-cp39-musllinux_1_1_x86_64.whl
69f6aa8a0f3919797cb28fab7069a578  numpy-1.26.0-cp39-cp39-win32.whl
8233224840dcdda49b08da1d5e91a730  numpy-1.26.0-cp39-cp39-win_amd64.whl
c11b4d1181b825407b71a1ac8ec04a10  numpy-1.26.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
1515773d4f569d44c6a757cb5a636cb2  numpy-1.26.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
60dc766d863d8ab561b494a7a759d562  numpy-1.26.0-pp39-pypy39_pp73-win_amd64.whl
69bd28f07afbeed2bb6ecd467afcd469  numpy-1.26.0.tar.gz
SHA256
f8db2f125746e44dce707dd44d4f4efeea8d7e2b43aace3f8d1f235cfa2733dd  numpy-1.26.0-cp310-cp310-macosx_10_9_x86_64.whl
0621f7daf973d34d18b4e4bafb210bbaf1ef5e0100b5fa750bd9cde84c7ac292  numpy-1.26.0-cp310-cp310-macosx_11_0_arm64.whl
51be5f8c349fdd1a5568e72713a21f518e7d6707bcf8503b528b88d33b57dc68  numpy-1.26.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
767254ad364991ccfc4d81b8152912e53e103ec192d1bb4ea6b1f5a7117040be  numpy-1.26.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
436c8e9a4bdeeee84e3e59614d38c3dbd3235838a877af8c211cfcac8a80b8d3  numpy-1.26.0-cp310-cp310-musllinux_1_1_x86_64.whl
c2e698cb0c6dda9372ea98a0344245ee65bdc1c9dd939cceed6bb91256837896  numpy-1.26.0-cp310-cp310-win32.whl
09aaee96c2cbdea95de76ecb8a586cb687d281c881f5f17bfc0fb7f5890f6b91  numpy-1.26.0-cp310-cp310-win_amd64.whl
637c58b468a69869258b8ae26f4a4c6ff8abffd4a8334c830ffb63e0feefe99a  numpy-1.26.0-cp311-cp311-macosx_10_9_x86_64.whl
306545e234503a24fe9ae95ebf84d25cba1fdc27db971aa2d9f1ab6bba19a9dd  numpy-1.26.0-cp311-cp311-macosx_11_0_arm64.whl
8c6adc33561bd1d46f81131d5352348350fc23df4d742bb246cdfca606ea1208  numpy-1.26.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e062aa24638bb5018b7841977c360d2f5917268d125c833a686b7cbabbec496c  numpy-1.26.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
546b7dd7e22f3c6861463bebb000646fa730e55df5ee4a0224408b5694cc6148  numpy-1.26.0-cp311-cp311-musllinux_1_1_x86_64.whl
c0b45c8b65b79337dee5134d038346d30e109e9e2e9d43464a2970e5c0e93229  numpy-1.26.0-cp311-cp311-win32.whl
eae430ecf5794cb7ae7fa3808740b015aa80747e5266153128ef055975a72b99  numpy-1.26.0-cp311-cp311-win_amd64.whl
166b36197e9debc4e384e9c652ba60c0bacc216d0fc89e78f973a9760b503388  numpy-1.26.0-cp312-cp312-macosx_10_9_x86_64.whl
f042f66d0b4ae6d48e70e28d487376204d3cbf43b84c03bac57e28dac6151581  numpy-1.26.0-cp312-cp312-macosx_11_0_arm64.whl
e5e18e5b14a7560d8acf1c596688f4dfd19b4f2945b245a71e5af4ddb7422feb  numpy-1.26.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7f6bad22a791226d0a5c7c27a80a20e11cfe09ad5ef9084d4d3fc4a299cca505  numpy-1.26.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4acc65dd65da28060e206c8f27a573455ed724e6179941edb19f97e58161bb69  numpy-1.26.0-cp312-cp312-musllinux_1_1_x86_64.whl
bb0d9a1aaf5f1cb7967320e80690a1d7ff69f1d47ebc5a9bea013e3a21faec95  numpy-1.26.0-cp312-cp312-win32.whl
ee84ca3c58fe48b8ddafdeb1db87388dce2c3c3f701bf447b05e4cfcc3679112  numpy-1.26.0-cp312-cp312-win_amd64.whl
4a873a8180479bc829313e8d9798d5234dfacfc2e8a7ac188418189bb8eafbd2  numpy-1.26.0-cp39-cp39-macosx_10_9_x86_64.whl
914b28d3215e0c721dc75db3ad6d62f51f630cb0c277e6b3bcb39519bed10bd8  numpy-1.26.0-cp39-cp39-macosx_11_0_arm64.whl
c78a22e95182fb2e7874712433eaa610478a3caf86f28c621708d35fa4fd6e7f  numpy-1.26.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
86f737708b366c36b76e953c46ba5827d8c27b7a8c9d0f471810728e5a2fe57c  numpy-1.26.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b44e6a09afc12952a7d2a58ca0a2429ee0d49a4f89d83a0a11052da696440e49  numpy-1.26.0-cp39-cp39-musllinux_1_1_x86_64.whl
5671338034b820c8d58c81ad1dafc0ed5a00771a82fccc71d6438df00302094b  numpy-1.26.0-cp39-cp39-win32.whl
020cdbee66ed46b671429c7265cf00d8ac91c046901c55684954c3958525dab2  numpy-1.26.0-cp39-cp39-win_amd64.whl
0792824ce2f7ea0c82ed2e4fecc29bb86bee0567a080dacaf2e0a01fe7654369  numpy-1.26.0-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
7d484292eaeb3e84a51432a94f53578689ffdea3f90e10c8b203a99be5af57d8  numpy-1.26.0-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
186ba67fad3c60dbe8a3abff3b67a91351100f2661c8e2a80364ae6279720299  numpy-1.26.0-pp39-pypy39_pp73-win_amd64.whl
f93fc78fe8bf15afe2b8d6b6499f1c73953169fad1e9a8dd086cdff3190e7fdf  numpy-1.26.0.tar.gz

v1.25.2

Compare Source

NumPy 1.25.2 Release Notes

NumPy 1.25.2 is a maintenance release that fixes bugs and regressions
discovered after the 1.25.1 release. This is the last planned release in
the 1.25.x series, the next release will be 1.26.0, which will use the
meson build system and support Python 3.12. The Python versions
supported by this release are 3.9-3.11.

Contributors

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

  • Aaron Meurer
  • Andrew Nelson
  • Charles Harris
  • Kevin Sheppard
  • Matti Picus
  • Nathan Goldbaum
  • Peter Hawkins
  • Ralf Gommers
  • Randy Eckenrode +
  • Sam James +
  • Sebastian Berg
  • Tyler Reddy
  • dependabot[bot]

Pull requests merged

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

  • #​24148: MAINT: prepare 1.25.x for further development
  • #​24174: ENH: Improve clang-cl compliance
  • #​24179: MAINT: Upgrade various build dependencies.
  • #​24182: BLD: use -ftrapping-math with Clang on macOS
  • #​24183: BUG: properly handle negative indexes in ufunc_at fast path
  • #​24184: BUG: PyObject_IsTrue and PyObject_Not error handling in setflags
  • #​24185: BUG: histogram small range robust
  • #​24186: MAINT: Update meson.build files from main branch
  • #​24234: MAINT: exclude min, max and round from np.__all__
  • #​24241: MAINT: Dependabot updates
  • #​24242: BUG: Fix the signature for np.array_api.take
  • #​24243: BLD: update OpenBLAS to an intermeidate commit
  • #​24244: BUG: Fix reference count leak in str(scalar).
  • #​24245: BUG: fix invalid function pointer conversion error
  • #​24255: BUG: Factor out slow getenv call used for memory policy warning
  • #​24292: CI: correct URL in cirrus.star
  • #​24293: BUG: Fix C types in scalartypes
  • #​24294: BUG: do not modify the input to ufunc_at
  • #​24295: BUG: Further fixes to indexing loop and added tests

Checksums

MD5
33518ccb4da8ee11f1dee4b9fef1e468  numpy-1.25.2-cp310-cp310-macosx_10_9_x86_64.whl
b5cb0c3b33ef6d93ec2888f25b065636  numpy-1.25.2-cp310-cp310-macosx_11_0_arm64.whl
ae027dd38bd73f09c07220b2f516f148  numpy-1.25.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
88cf69dc3c0d293492c4c7e75dccf3d8  numpy-1.25.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3e4e3ad02375ba71ae2cd05ccd97aba4  numpy-1.25.2-cp310-cp310-musllinux_1_1_x86_64.whl
f52bb644682deb26c35ddec77198b65c  numpy-1.25.2-cp310-cp310-win32.whl
4944cf36652be7560a6bcd0d5d56e8ea  numpy-1.25.2-cp310-cp310-win_amd64.whl
5a56e639defebb7b871c8c5613960ca3  numpy-1.25.2-cp311-cp311-macosx_10_9_x86_64.whl
3988b96944e7218e629255214f2598bd  numpy-1.25.2-cp311-cp311-macosx_11_0_arm64.whl
302d65015ddd908a862fb3761a2a0363  numpy-1.25.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e54a2e23272d1c5e5b278bd7e304c948  numpy-1.25.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
961d390e8ccaf11b1b0d6200d2c8b1c0  numpy-1.25.2-cp311-cp311-musllinux_1_1_x86_64.whl
e113865b90f97079d344100c41226fbe  numpy-1.25.2-cp311-cp311-win32.whl
834a147aa1adaec97655018b882232bd  numpy-1.25.2-cp311-cp311-win_amd64.whl
fb55f93a8033bde854c8a2b994045686  numpy-1.25.2-cp39-cp39-macosx_10_9_x86_64.whl
d96e754217d29bf045e082b695667e62  numpy-1.25.2-cp39-cp39-macosx_11_0_arm64.whl
beab540edebecbb257e482dd9e498b44  numpy-1.25.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
e0d608c9e09cd8feba48567586cfefc0  numpy-1.25.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fe1fc32c8bb005ca04b8f10ebdcff6dd  numpy-1.25.2-cp39-cp39-musllinux_1_1_x86_64.whl
41df58a9935c8ed869c92307c95f02eb  numpy-1.25.2-cp39-cp39-win32.whl
a4371272c64493beb8b04ac46c4c1521  numpy-1.25.2-cp39-cp39-win_amd64.whl
bbe051cbd5f8661dd054277f0b0f0c3d  numpy-1.25.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
3f68e6b4af6922989dc0133e37db34ee  numpy-1.25.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
fc89421b79e8800240999d3a1d06a4d2  numpy-1.25.2-pp39-pypy39_pp73-win_amd64.whl
cee1996a80032d47bdf1d9d17249c34e  numpy-1.25.2.tar.gz
SHA256
db3ccc4e37a6873045580d413fe79b68e47a681af8db2e046f1dacfa11f86eb3  numpy-1.25.2-cp310-cp310-macosx_10_9_x86_64.whl
90319e4f002795ccfc9050110bbbaa16c944b1c37c0baeea43c5fb881693ae1f  numpy-1.25.2-cp310-cp310-macosx_11_0_arm64.whl
dfe4a913e29b418d096e696ddd422d8a5d13ffba4ea91f9f60440a3b759b0187  numpy-1.25.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f08f2e037bba04e707eebf4bc934f1972a315c883a9e0ebfa8a7756eabf9e357  numpy-1.25.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
bec1e7213c7cb00d67093247f8c4db156fd03075f49876957dca4711306d39c9  numpy-1.25.2-cp310-cp310-musllinux_1_1_x86_64.whl
7dc869c0c75988e1c693d0e2d5b26034644399dd929bc049db55395b1379e044  numpy-1.25.2-cp310-cp310-win32.whl
834b386f2b8210dca38c71a6e0f4fd6922f7d3fcff935dbe3a570945acb1b545  numpy-1.25.2-cp310-cp310-win_amd64.whl
c5462d19336db4560041517dbb7759c21d181a67cb01b36ca109b2ae37d32418  numpy-1.25.2-cp311-cp311-macosx_10_9_x86_64.whl
c5652ea24d33585ea39eb6a6a15dac87a1206a692719ff45d53c5282e66d4a8f  numpy-1.25.2-cp311-cp311-macosx_11_0_arm64.whl
0d60fbae8e0019865fc4784745814cff1c421df5afee233db6d88ab4f14655a2  numpy-1.25.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
60e7f0f7f6d0eee8364b9a6304c2845b9c491ac706048c7e8cf47b83123b8dbf  numpy-1.25.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
bb33d5a1cf360304754913a350edda36d5b8c5331a8237268c48f91253c3a364  numpy-1.25.2-cp311-cp311-musllinux_1_1_x86_64.whl
5883c06bb92f2e6c8181df7b39971a5fb436288db58b5a1c3967702d4278691d  numpy-1.25.2-cp311-cp311-win32.whl
5c97325a0ba6f9d041feb9390924614b60b99209a71a69c876f71052521d42a4  numpy-1.25.2-cp311-cp311-win_amd64.whl
b79e513d7aac42ae918db3ad1341a015488530d0bb2a6abcbdd10a3a829ccfd3  numpy-1.25.2-cp39-cp39-macosx_10_9_x86_64.whl
eb942bfb6f84df5ce05dbf4b46673ffed0d3da59f13635ea9b926af3deb76926  numpy-1.25.2-cp39-cp39-macosx_11_0_arm64.whl
3e0746410e73384e70d286f93abf2520035250aad8c5714240b0492a7302fdca  numpy-1.25.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d7806500e4f5bdd04095e849265e55de20d8cc4b661b038957354327f6d9b295  numpy-1.25.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8b77775f4b7df768967a7c8b3567e309f617dd5e99aeb886fa14dc1a0791141f  numpy-1.25.2-cp39-cp39-musllinux_1_1_x86_64.whl
2792d23d62ec51e50ce4d4b7d73de8f67a2fd3ea710dcbc8563a51a03fb07b01  numpy-1.25.2-cp39-cp39-win32.whl
76b4115d42a7dfc5d485d358728cdd8719be33cc5ec6ec08632a5d6fca2ed380  numpy-1.25.2-cp39-cp39-win_amd64.whl
1a1329e26f46230bf77b02cc19e900db9b52f398d6722ca853349a782d4cff55  numpy-1.25.2-pp39-pypy39_pp73-macosx_10_9_x86_64.whl
4c3abc71e8b6edba80a01a52e66d83c5d14433cbcd26a40c329ec7ed09f37901  numpy-1.25.2-pp39-pypy39_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1b9735c27cea5d995496f46a8b1cd7b408b3f34b6d50459d9ac8fe3a20cc17bf  numpy-1.25.2-pp39-pypy39_pp73-win_amd64.whl
fd608e19c8d7c55021dffd43bfe5492fab8cc105cc8986f813f8c3c048b38760  numpy-1.25.2.tar.gz

v1.25.1

Compare Source

v1.25.0

Compare Source

NumPy 1.25.0 Release Notes

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 3.12 comes out. That is
needed because distutils has been dropped by Python 3.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)

  • np.finfo(None) is deprecated.

    (gh-23011)

  • np.round_ is deprecated. Use np.round instead.

    (gh-23302)

  • np.product is deprecated. Use np.prod instead.

    (gh-23314)

  • np.cumproduct is deprecated. Use np.cumprod instead.

    (gh-23314)

  • np.sometrue is deprecated. Use np.any instead.

    (gh-23314)

  • np.alltrue is deprecated. Use np.all instead.

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

    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)

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

Expired deprecations

  • np.core.machar and np.finfo.machar have been removed.

    (gh-22638)

  • +arr will now raise an error when the dtype is not numeric (and
    positive is undefined).

    (gh-22998)

  • A sequence must now be passed into the stacking family of functions
    (stack, vstack, hstack, dstack and column_stack).

    (gh-23019)

  • np.clip now defaults to same-kind casting. Falling back to unsafe
    casting was deprecated in NumPy 1.17.

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

  • The np.dual submodule has been removed.

    (gh-23480)

  • NumPy now always ignores sequence behavior for an array-like
    (defining one of the array protocols). (Deprecation started NumPy
    1.20)

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

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

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

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

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

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

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)

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

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

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)

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)

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)

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)

Compiling against the NumPy C API is now backwards compatible by default

NumPy now defaults to exposing a backwards compatible subset of the
C-API. This makes the use of oldest-supported-numpy unnecessary.
Libraries can override the default minimal version to be compatible with
using:

#define NPY_TARGET_VERSION NPY_1_22_API_VERSION

before including NumPy or by passing the equivalent -D option to the
compiler. The NumPy 1.25 default is NPY_1_19_API_VERSION. Because the
NumPy 1.19 C API was identical to the NumPy 1.16 one resulting programs
will be compatible with NumPy 1.16 (from a C-API perspective). This
default will be increased in future non-bugfix releases. You can still
compile against an older NumPy version and run on a newer one.

For more details please see
for-downstream-package-authors{.interpreted-text role="ref"}.

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

Add support for inplace matrix multiplication

It is now possible to perform inplace matrix multiplication via the @=
operator.

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

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)

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)

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)

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)

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)

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)

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)

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)

New DTypePromotionError

NumPy now has a new DTypePromotionError which is used when two dtypes
cannot be promoted


Configuration

📅 Schedule: Branch creation - At any time (no schedule defined), Automerge - At any time (no schedule defined).

🚦 Automerge: Disabled by config. Please merge this manually once you are satisfied.

Rebasing: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 Ignore: Close this PR and you won't be reminded about this update again.


  • If you want to rebase/retry this PR, check this box

This PR has been generated by Mend Renovate. View repository job log here.

@codecov
Copy link

codecov bot commented Oct 23, 2023

Codecov Report

Merging #46 (18e389c) into master (b9beda3) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##           master      #46   +/-   ##
=======================================
  Coverage   88.99%   88.99%           
=======================================
  Files          90       90           
  Lines        1336     1336           
  Branches      205      205           
=======================================
  Hits         1189     1189           
  Misses        103      103           
  Partials       44       44           

📣 We’re building smart automated test selection to slash your CI/CD build times. Learn more

@julienmalard julienmalard merged commit c194e99 into master Oct 23, 2023
6 checks passed
@julienmalard julienmalard deleted the renovate/numpy-1.x-lockfile branch October 23, 2023 08:18
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.

1 participant