Update dependency numpy to v1.26.2 #250
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.2
Release Notes
numpy/numpy (numpy)
v1.26.2
Compare Source
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:
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
orpypa/build
. E.g., to selectlibblas
/liblapack
, use: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
orCMake.
Besides
-Dblas
and-Dlapack
, a number of other new flags areavailable to control BLAS/LAPACK selection and behavior:
-Dblas-order
and-Dlapack-order
: a list of library names tosearch for in order, overriding the default search order.
-Duse-ilp64
: if set totrue
, use ILP64 (64-bit integer) BLAS andLAPACK. 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 totrue
, allow NumPy to build with itsinternal (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 arefour options:
seq
,iomp
,gomp
andtbb
. The default isauto
, which selects from those four as appropriate given theversion of MKL selected.
-Dblas-symbol-suffix
: manually select the symbol suffix to use forthe library - should only be needed for linking against libraries
built in a non-standard way.
New features
numpy._core
submodule stubsnumpy._core
submodule stubs were added to provide compatibility withpickled 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.
Pull requests merged
A total of 20 pull requests were merged for this release.
-march=native
...use-compute-credits
for Cirrus.NumpyUnpickler
for backportingnumpy._core
stubs. RemoveNumpyUnpickler
Checksums
MD5
SHA256
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: Enabled.
♻ 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.