Update dependency numpy to v1.26.0 #870
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR contains the following updates:
1.25.2
->1.26.0
Release Notes
numpy/numpy (numpy)
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:
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 thev2022.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 forf2py
f2py
in compile mode (i.e.f2py -c
) now accepts the--backend meson
option. This is the default option for Python3.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 todependency()
calls in themeson
backend, and does nothing in thedistutils
backend.There are no changes for users of
f2py
only as a code generator, i.e.without
-c
.(gh-24532)
bind(c)
support forf2py
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')
isnot honored by the
f2py
bindings by design, sincebind(c)
with thename
is meant to guarantee only the same name inC
andFortran
,not in
Python
andFortran
.(gh-24555)
Improvements
iso_c_binding
support forf2py
Previously, users would have to define their own custom
f2cmap
file touse type mappings defined by the Fortran2003
iso_c_binding
intrinsicmodule. 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
andpypa/build
. Thefollowing are supported:
pip install numpy
or (in a cloned repo)pip install .
python -m build
(preferred), orpip wheel .
pip install -e . --no-build-isolation
spin:
spin build
.All the regular
pip
andpypa/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 arecommand-line flags that can be passed to the build via
pip
/build
'sconfig-settings interface. These flags are all listed in the
meson_options.txt
file in the root of the repo. Detailed documentedwill 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 temporaryworkaround (on Python 3.9-3.11, not 3.12), by copying
pyproject.toml.setuppy
topyproject.toml
. However, please open anissue with details on the NumPy issue tracker. We aim to phase out
setup.py
builds as soon as possible, and therefore would like to seeall 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.
Pull requests merged
A total of 59 pull requests were merged for this release.
_NestedSequence.__getitem__
signatureextbuild.py
from main.asv dev
has been removed, useasv run
._umath_linalg
dependenciesbinding
directive to "False".casting
keyword tonp.clip
fromnumeric.pyi
iso_c_binding
type maps and fixbind(c)
...binary_repr
to accept any object implementing...dtype
andgeneric
hashabletyping.assert_type
meson
backend forf2py
spin docs
...Checksums
MD5
SHA256
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.
This PR has been generated by Mend Renovate. View repository job log here.