Latest Results
build: Update Pixi (#503)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [numpydoc](http://anaconda.org/conda-forge/numpydoc) | dependencies |
minor | `==1.8.0` -> `==1.9.0` |
| [rattler-build](http://anaconda.org/conda-forge/rattler-build) |
dependencies | minor | `==0.43.1` -> `==0.44.0` |
| [ruff](http://anaconda.org/conda-forge/ruff)
([source](https://redirect.github.com/charliermarsh/ruff)) |
dependencies | patch | `==0.12.0` -> `==0.12.1` |
| [scipy](http://anaconda.org/conda-forge/scipy)
([source](https://redirect.github.com/scipy/scipy)) | dependencies |
minor | `==1.15.2` -> `==1.16.0` |
---
### Release Notes
<details>
<summary>charliermarsh/ruff (ruff)</summary>
###
[`v0.12.1`](https://redirect.github.com/charliermarsh/ruff/blob/HEAD/CHANGELOG.md#0121)
[Compare
Source](https://redirect.github.com/charliermarsh/ruff/compare/0.12.0...0.12.1)
##### Preview features
- \[`flake8-errmsg`] Extend `EM101` to support byte strings
([#​18867](https://redirect.github.com/astral-sh/ruff/pull/18867))
- \[`flake8-use-pathlib`] Add autofix for `PTH202`
([#​18763](https://redirect.github.com/astral-sh/ruff/pull/18763))
- \[`pygrep-hooks`] Add `AsyncMock` methods to `invalid-mock-access`
(`PGH005`)
([#​18547](https://redirect.github.com/astral-sh/ruff/pull/18547))
- \[`pylint`] Ignore `__init__.py` files in (`PLC0414`)
([#​18400](https://redirect.github.com/astral-sh/ruff/pull/18400))
- \[`ruff`] Trigger `RUF037` for empty string and byte strings
([#​18862](https://redirect.github.com/astral-sh/ruff/pull/18862))
- \[formatter] Fix missing blank lines before decorated classes in
`.pyi` files
([#​18888](https://redirect.github.com/astral-sh/ruff/pull/18888))
##### Bug fixes
- Avoid generating diagnostics with per-file ignores
([#​18801](https://redirect.github.com/astral-sh/ruff/pull/18801))
- Handle parenthesized arguments in `remove_argument`
([#​18805](https://redirect.github.com/astral-sh/ruff/pull/18805))
- \[`flake8-logging`] Avoid false positive for `exc_info=True` outside
`logger.exception` (`LOG014`)
([#​18737](https://redirect.github.com/astral-sh/ruff/pull/18737))
- \[`flake8-pytest-style`] Enforce `pytest` import for decorators
([#​18779](https://redirect.github.com/astral-sh/ruff/pull/18779))
- \[`flake8-pytest-style`] Mark autofix for `PT001` and `PT023` as
unsafe if there's comments in the decorator
([#​18792](https://redirect.github.com/astral-sh/ruff/pull/18792))
- \[`flake8-pytest-style`] `PT001`/`PT023` fix makes syntax error on
parenthesized decorator
([#​18782](https://redirect.github.com/astral-sh/ruff/pull/18782))
- \[`flake8-raise`] Make fix unsafe if it deletes comments (`RSE102`)
([#​18788](https://redirect.github.com/astral-sh/ruff/pull/18788))
- \[`flake8-simplify`] Fix `SIM911` autofix creating a syntax error
([#​18793](https://redirect.github.com/astral-sh/ruff/pull/18793))
- \[`flake8-simplify`] Fix false negatives for shadowed bindings
(`SIM910`, `SIM911`)
([#​18794](https://redirect.github.com/astral-sh/ruff/pull/18794))
- \[`flake8-simplify`] Preserve original behavior for `except ()` and
bare `except` (`SIM105`)
([#​18213](https://redirect.github.com/astral-sh/ruff/pull/18213))
- \[`flake8-pyi`] Fix `PYI041`'s fix causing `TypeError` with `None |
None | ...`
([#​18637](https://redirect.github.com/astral-sh/ruff/pull/18637))
- \[`perflint`] Fix `PERF101` autofix creating a syntax error and mark
autofix as unsafe if there are comments in the `list` call expr
([#​18803](https://redirect.github.com/astral-sh/ruff/pull/18803))
- \[`perflint`] Fix false negative in `PERF401`
([#​18866](https://redirect.github.com/astral-sh/ruff/pull/18866))
- \[`pylint`] Avoid flattening nested `min`/`max` when outer call has
single argument (`PLW3301`)
([#​16885](https://redirect.github.com/astral-sh/ruff/pull/16885))
- \[`pylint`] Fix `PLC2801` autofix creating a syntax error
([#​18857](https://redirect.github.com/astral-sh/ruff/pull/18857))
- \[`pylint`] Mark `PLE0241` autofix as unsafe if there's comments in
the base classes
([#​18832](https://redirect.github.com/astral-sh/ruff/pull/18832))
- \[`pylint`] Suppress `PLE2510`/`PLE2512`/`PLE2513`/`PLE2514`/`PLE2515`
autofix if the text contains an odd number of backslashes
([#​18856](https://redirect.github.com/astral-sh/ruff/pull/18856))
- \[`refurb`] Detect more exotic float literals in `FURB164`
([#​18925](https://redirect.github.com/astral-sh/ruff/pull/18925))
- \[`refurb`] Fix `FURB163` autofix creating a syntax error for `yield`
expressions
([#​18756](https://redirect.github.com/astral-sh/ruff/pull/18756))
- \[`refurb`] Mark `FURB129` autofix as unsafe if there's comments in
the `readlines` call
([#​18858](https://redirect.github.com/astral-sh/ruff/pull/18858))
- \[`ruff`] Fix false positives and negatives in `RUF010`
([#​18690](https://redirect.github.com/astral-sh/ruff/pull/18690))
- Fix casing of `analyze.direction` variant names
([#​18892](https://redirect.github.com/astral-sh/ruff/pull/18892))
##### Rule changes
- Fix f-string interpolation escaping in generated fixes
([#​18882](https://redirect.github.com/astral-sh/ruff/pull/18882))
- \[`flake8-return`] Mark `RET501` fix unsafe if comments are inside
([#​18780](https://redirect.github.com/astral-sh/ruff/pull/18780))
- \[`flake8-async`] Fix detection for large integer sleep durations in
`ASYNC116` rule
([#​18767](https://redirect.github.com/astral-sh/ruff/pull/18767))
- \[`flake8-async`] Mark autofix for `ASYNC115` as unsafe if the call
expression contains comments
([#​18753](https://redirect.github.com/astral-sh/ruff/pull/18753))
- \[`flake8-bugbear`] Mark autofix for `B004` as unsafe if the `hasattr`
call expr contains comments
([#​18755](https://redirect.github.com/astral-sh/ruff/pull/18755))
- \[`flake8-comprehension`] Mark autofix for `C420` as unsafe if there's
comments inside the dict comprehension
([#​18768](https://redirect.github.com/astral-sh/ruff/pull/18768))
- \[`flake8-comprehensions`] Handle template strings for comprehension
fixes
([#​18710](https://redirect.github.com/astral-sh/ruff/pull/18710))
- \[`flake8-future-annotations`] Add autofix (`FA100`)
([#​18903](https://redirect.github.com/astral-sh/ruff/pull/18903))
- \[`pyflakes`] Mark `F504`/`F522`/`F523` autofix as unsafe if there's a
call with side effect
([#​18839](https://redirect.github.com/astral-sh/ruff/pull/18839))
- \[`pylint`] Allow fix with comments and document performance
implications (`PLW3301`)
([#​18936](https://redirect.github.com/astral-sh/ruff/pull/18936))
- \[`pylint`] Detect more exotic `NaN` literals in `PLW0177`
([#​18630](https://redirect.github.com/astral-sh/ruff/pull/18630))
- \[`pylint`] Fix `PLC1802` autofix creating a syntax error and mark
autofix as unsafe if there's comments in the `len` call
([#​18836](https://redirect.github.com/astral-sh/ruff/pull/18836))
- \[`pyupgrade`] Extend version detection to include
`sys.version_info.major` (`UP036`)
([#​18633](https://redirect.github.com/astral-sh/ruff/pull/18633))
- \[`ruff`] Add lint rule `RUF064` for calling `chmod` with non-octal
integers
([#​18541](https://redirect.github.com/astral-sh/ruff/pull/18541))
- \[`ruff`] Added `cls.__dict__.get('__annotations__')` check (`RUF063`)
([#​18233](https://redirect.github.com/astral-sh/ruff/pull/18233))
- \[`ruff`] Frozen `dataclass` default should be valid (`RUF009`)
([#​18735](https://redirect.github.com/astral-sh/ruff/pull/18735))
##### Server
- Consider virtual path for various server actions
([#​18910](https://redirect.github.com/astral-sh/ruff/pull/18910))
##### Documentation
- Add fix safety sections
([#​18940](https://redirect.github.com/astral-sh/ruff/pull/18940),[#​18841](https://redirect.github.com/astral-sh/ruff/pull/18841),[#​18802](https://redirect.github.com/astral-sh/ruff/pull/18802),[#​18837](https://redirect.github.com/astral-sh/ruff/pull/18837),[#​18800](https://redirect.github.com/astral-sh/ruff/pull/18800),[#​18415](https://redirect.github.com/astral-sh/ruff/pull/18415),[#​18853](https://redirect.github.com/astral-sh/ruff/pull/18853),[#​18842](https://redirect.github.com/astral-sh/ruff/pull/18842))
- Use updated pre-commit id
([#​18718](https://redirect.github.com/astral-sh/ruff/pull/18718))
- \[`perflint`] Small docs improvement to `PERF401`
([#​18786](https://redirect.github.com/astral-sh/ruff/pull/18786))
- \[`pyupgrade`]: Use `super()`, not `__super__` in error messages
(`UP008`)
([#​18743](https://redirect.github.com/astral-sh/ruff/pull/18743))
- \[`flake8-pie`] Small docs fix to `PIE794`
([#​18829](https://redirect.github.com/astral-sh/ruff/pull/18829))
- \[`flake8-pyi`] Correct `collections-named-tuple` example to use
PascalCase assignment
([#​16884](https://redirect.github.com/astral-sh/ruff/pull/16884))
- \[`flake8-pie`] Add note on type checking benefits to
`unnecessary-dict-kwargs` (`PIE804`)
([#​18666](https://redirect.github.com/astral-sh/ruff/pull/18666))
- \[`pycodestyle`] Clarify PEP 8 relationship to
`whitespace-around-operator` rules
([#​18870](https://redirect.github.com/astral-sh/ruff/pull/18870))
##### Other changes
- Disallow newlines in format specifiers of single quoted f- or
t-strings
([#​18708](https://redirect.github.com/astral-sh/ruff/pull/18708))
- \[`flake8-logging`] Add fix safety section to `LOG002`
([#​18840](https://redirect.github.com/astral-sh/ruff/pull/18840))
- \[`pyupgrade`] Add fix safety section to `UP010`
([#​18838](https://redirect.github.com/astral-sh/ruff/pull/18838))
</details>
<details>
<summary>scipy/scipy (scipy)</summary>
###
[`v1.16.0`](https://redirect.github.com/scipy/scipy/releases/tag/v1.16.0):
SciPy 1.16.0
# SciPy 1.16.0 Release Notes
SciPy `1.16.0` is the culmination of 6 months of hard work. It contains
many new features, numerous bug-fixes, improved test coverage and better
documentation. There have been a number of deprecations and API changes
in this release, which are documented below. All users are encouraged to
upgrade to this release, as there are a large number of bug-fixes and
optimizations. Before upgrading, we recommend that users check that
their own code does not use deprecated SciPy functionality (to do so,
run your code with `python -Wd` and check for `DeprecationWarning` s).
Our development attention will now shift to bug-fix releases on the
1.16.x branch, and on adding new features on the main branch.
This release requires Python `3.11-3.13` and NumPy `1.25.2` or greater.
# Highlights of this release
- Improved experimental support for the Python array API standard,
including
new support in `scipy.signal`, and additional support in `scipy.stats`
and
`scipy.special`. Improved support for JAX and Dask backends has been
added,
with notable support in `scipy.cluster.hierarchy`, many functions in
`scipy.special`, and many of the trimmed statistics functions.
- `scipy.optimize` now uses the new Python implementation from the
[`PRIMA`](https://www.libprima.net) package for COBYLA. The PRIMA
implementation [fixes many
bugs](https://redirect.github.com/libprima/prima#bug-fixes)
in the old Fortran 77 implementation with [a better performance on
average](https://redirect.github.com/libprima/prima#improvements).
- `scipy.sparse.coo_array` now supports n-D arrays with reshaping,
arithmetic and
reduction operations like sum/mean/min/max. No n-D indexing or
`scipy.sparse.random_array` support yet.
- Updated guide and tools for migration from sparse matrices to sparse
arrays.
- Nearly all functions in the `scipy.linalg` namespace that accept array
arguments now support N-dimensional arrays to be processed as a batch.
- Two new `scipy.signal` functions, `scipy.signal.firwin_2d` and
`scipy.signal.closest_STFT_dual_window`, for creation of a 2-D FIR
filter and
`scipy.signal.ShortTimeFFT` dual window calculation, respectively.
- A new class, `scipy.spatial.transform.RigidTransform`, provides
functionality
to convert between different representations of rigid transforms in 3-D
space.
- A new function `scipy.ndimage.vectorized_filter` for generic filters
that
take advantage of a vectorized Python callable was added.
# New features
# `scipy.io` improvements
- `scipy.io.savemat` now provides informative warnings for invalid field
names.
- `scipy.io.mmread` now provides a clearer error message when provided
with
a source file path that does not exist.
- `scipy.io.wavfile.read` can now read non-seekable files.
# `scipy.integrate` improvements
- The error estimate of `scipy.integrate.tanhsinh` was improved.
# `scipy.interpolate` improvements
- Batch support was added to `scipy.interpolate.make_smoothing_spline`.
# `scipy.linalg` improvements
- Nearly all functions in the `scipy.linalg` namespace that accept array
arguments now support N-dimensional arrays to be processed as a batch.
See
[`linalg_batch`](https://scipy.github.io/devdocs/tutorial/linalg_batch.html)
for details.
- `scipy.linalg.sqrtm` is rewritten in C and its performance is
improved. It
also tries harder to return real-valued results for real-valued inputs
if
possible. See the function docstring for more details. In this version
the
input argument `disp` and the optional output argument `errest` are
deprecated and will be removed four versions later. Similarly, after
changing the underlying algorithm to recursion, the `blocksize` keyword
argument has no effect and will be removed two versions later.
- Wrappers for `?stevd`, `?langb`, `?sytri`, `?hetri` and
`?gbcon` were added to `scipy.linalg.lapack`.
- The default driver of `scipy.linalg.eigh_tridiagonal` was improved.
- `scipy.linalg.solve` can now estimate the reciprocal condition number
and
the matrix norm calculation is more efficient.
# `scipy.ndimage` improvements
- A new function `scipy.ndimage.vectorized_filter` for generic filters
that
take advantage of a vectorized Python callable was added.
- `scipy.ndimage.rotate` has improved performance, especially on ARM
platforms.
# `scipy.optimize` improvements
- COBYLA was updated to use the new Python implementation from the
[`PRIMA`](https://www.libprima.net)package.
The PRIMA implementation [fixes many
bugs](https://redirect.github.com/libprima/prima#bug-fixes)
in the old Fortran 77 implementation. In addition, it results in [fewer
function evaluations on
average](https://redirect.github.com/libprima/prima#improvements)
but it depends on the problem and for some
problems it can result in more function evaluations or a less optimal
result. For those cases the user can try modifying the initial and final
trust region radii given by `rhobeg` and `tol` respectively. A larger
`rhobeg` can help the algorithm take bigger steps initially, while a
smaller `tol` can help it continue and find a better solution.
For more information, see the [PRIMA
documentation](https://www.libprima.net).
- Several of the `scipy.optimize.minimize` methods, and the
`scipy.optimize.least_squares` function, have been given a `workers`
keyword. This allows parallelization of some calculations via a map-like
callable, such as `multiprocessing.Pool`. These parallelization
opportunities typically occur during numerical differentiation. This can
greatly speed up minimization when the objective function is expensive
to
calculate.
- The `lm` method of `scipy.optimize.least_squares` can now accept
`3-point` and `cs` for the `jac` keyword.
- The SLSQP Fortran 77 code was ported to C. When this method is used
now the
constraint multipliers are exposed to the user through the `multiplier`
keyword of the returned `scipy.optimize.OptimizeResult` object.
- NNLS code has been corrected and rewritten in C to address the
performance
regression introduced in 1.15.x
- `scipy.optimize.root` now warns for invalid inner parameters when
using the
`newton_krylov` method
- The return value of minimization with `method='L-BFGS-B'` now has
a faster `hess_inv.todense()` implementation. Time complexity has
improved
from cubic to quadratic.
- `scipy.optimize.least_squares` has a new `callback` argument that is
applicable
to the `trf` and `dogbox` methods. `callback` may be used to track
optimization results at each step or to provide custom conditions for
stopping.
# `scipy.signal` improvements
- A new function `scipy.signal.firwin_2d` for the creation of a 2-D FIR
Filter
using the 1-D window method was added.
- `scipy.signal.cspline1d_eval` and `scipy.signal.qspline1d_eval` now
provide
an informative error on empty input rather than hitting the recursion
limit.
- A new function `scipy.signal.closest_STFT_dual_window` to calculate
the
`scipy.signal.ShortTimeFFT` dual window of a given window closest to a
desired dual window.
- A new classmethod `scipy.signal.ShortTimeFFT.from_win_equals_dual` to
create a `scipy.signal.ShortTimeFFT` instance where the window and its
dual
are equal up to a scaling factor. It allows to create short-time Fourier
transforms which are unitary mappings.
- The performance of `scipy.signal.convolve2d` was improved.
# `scipy.sparse` improvements
- `scipy.sparse.coo_array` now supports n-D arrays using binary and
reduction
operations.
- Faster operations between two DIA arrays/matrices for: add, sub,
multiply,
matmul.
- `scipy.sparse.csgraph.dijkstra` shortest\_path is more efficient.
- `scipy.sparse.csgraph.yen` has performance improvements.
- Support for lazy loading of `sparse.csgraph` and `sparse.linalg` was
added.
# `scipy.spatial` improvements
- A new class, `scipy.spatial.transform.RigidTransform`, provides
functionality
to convert between different representations of rigid transforms in 3-D
space, its application to vectors and transform composition.
It follows the same design approach as
`scipy.spatial.transform.Rotation`.
- `scipy.spatial.transform.Rotation` now has an appropriate `__repr__`
method,
and improved performance for its
`scipy.spatial.transform.Rotation.apply`
method.
# `scipy.stats` improvements
- A new function `scipy.stats.quantile`, an array API compatible
function for
quantile estimation, was added.
- `scipy.stats.make_distribution` was extended to work with existing
discrete
distributions and to facilitate the creation of custom distributions in
the
new random variable infrastructure.
- A new distribution, `scipy.stats.Binomial`, was added.
- An `equal_var` keyword was added to `scipy.stats.tukey_hsd` (enables
the
Games-Howell test) and `scipy.stats.f_oneway` (enables Welch ANOVA).
- The moment calculation for `scipy.stats.gennorm` was improved.
- The `scipy.stats.mode` implementation was vectorized, for faster batch
calculation.
- Support for `axis`, `nan_policy`, and `keepdims` keywords was added to
`scipy.stats.power_divergence`, `scipy.stats.chisquare`,
`scipy.stats.pointbiserialr`, `scipy.stats.kendalltau`,
`scipy.stats.weightedtau`, `scipy.stats.theilslopes`,
`scipy.stats.siegelslopes`, `scipy.stats.boxcox_llf`, and
`scipy.stats.linregress`.
- Support for `keepdims` and `nan_policy` keywords was added to
`scipy.stats.gstd`.
- The performance of `scipy.stats.special_ortho_group` and
`scipy.stats.pearsonr`
was improved.
- Support for an `rng` keyword argument was added to the `logcdf` and
`cdf` methods of `multivariate_normal_gen` and
`multivariate_normal_frozen`.
# Array API Standard Support
Experimental support for array libraries other than NumPy has been added
to
multiple submodules in recent versions of SciPy. Please consider testing
these features by setting the environment variable `SCIPY_ARRAY_API=1`
and
providing PyTorch, JAX, CuPy or Dask arrays as array arguments.
Many functions in `scipy.stats`, `scipy.special`, `scipy.optimize`, and
`scipy.constants` now provide tables documenting compatible array and
device
types as well as support for lazy arrays and JIT compilation. New
features with
support and old features with support added for SciPy 1.16.0 include:
- Most of the `scipy.signal` functionality
- `scipy.ndimage.vectorized_filter`
- `scipy.special.stdtrit`
- `scipy.special.softmax`
- `scipy.special.log_softmax`
- `scipy.stats.quantile`
- `scipy.stats.gstd`
- `scipy.stats.rankdata`
Features with extended array API support (generally, improved support
for JAX and Dask) in SciPy 1.16.0 include:
- many of the `scipy.cluster.hierarchy` functions
- many functions in `scipy.special`
- many of the trimmed statistics functions in `scipy.stats`
SciPy now has a CI job that exercises GPU (CUDA) support, and as a
result
using PyTorch, CuPy or JAX arrays on GPU with SciPy is now more
reliable.
# Deprecated features
- The unused `atol` argument of `scipy.optimize.nnls` is deprecated and
will
be removed in SciPy 1.18.0.
- The `disp` argument of `scipy.linalg.signm`, `scipy.linalg.logm`, and
`scipy.linalg.sqrtm` will be removed in SciPy 1.18.0.
- `scipy.stats.multinomial` now emits a `FutureWarning` if the rows of
`p`
do not sum to `1.0`. This condition will produce NaNs beginning in SciPy
1.18.0.
- The `disp` and `iprint` arguments of the `l-bfgs-b` solver of
`scipy.optimize`
have been deprecated, and will be removed in SciPy 1.18.0.
# Expired Deprecations
- `scipy.sparse.conjtransp` has been removed. Use `.T.conj()` instead.
- The `quadrature='trapz'` option has been removed from
`scipy.integrate.quad_vec`, and `scipy.stats.trapz` has been removed.
Use
`trapezoid` in both instances instead.
- `scipy.special.comb` and `scipy.special.perm` now raise when
`exact=True`
and arguments are non-integral.
- Support for inference of the two sets of measurements from the single
argument `x` has been removed from `scipy.stats.linregress`. The data
must be specified separately as `x` and `y`.
- Support for NumPy masked arrays has been removed from
`scipy.stats.power_divergence` and `scipy.stats.chisquare`.
- A significant number of functions from non-public namespaces
(e.g., `scipy.sparse.base`, `scipy.interpolate.dfitpack`) were cleaned
up. They were previously already emitting deprecation warnings.
# Backwards incompatible changes
- Several of the `scipy.linalg` functions for solving a linear system
(e.g.
`scipy.linalg.solve`) documented that the RHS argument must be either
1-D or
2-D but did not always raise an error when the RHS argument had more the
two dimensions. Now, many-dimensional right hand sides are treated
according
to the rules specified in
[`linalg_batch`](https://scipy.github.io/devdocs/tutorial/linalg_batch.html).
- `scipy.stats.bootstrap` now explicitly broadcasts elements of `data`
to the
same shape (ignoring `axis`) before performing the calculation.
- Several submodule names are no longer available via `from scipy.signal
import *`,
but may still be imported directly, as detailed at
[scipy/scipy-stubs#549](https://redirect.github.com/scipy/scipy-stubs/pull/549).
# Build and packaging related changes
- The minimum supported version of Clang was bumped from 12.0 to 15.0.
- The lowest supported macOS version for wheels on PyPI is now 10.14
instead of
10.13.
- The sdist contents were optimized, resulting in a size reduction of
about 50%,
from 60 MB to 30 MB.
- For `Cython>=3.1.0`, SciPy now uses the new `cython --generate-shared`
functionality, which reduces the total size of SciPy's wheels and
on-disk
installations significantly.
- SciPy no longer contains an internal shared library that requires
RPATH support,
after `sf_error_state` was removed from `scipy.special`.
- A new build option `-Duse-system-libraries` has been added. It allows
opting in to using system libraries instead of using vendored sources.
Currently `Boost.Math` and `Qhull` are supported as system build
dependencies.
# Other changes
- A new accompanying release of `scipy-stubs` (`v1.16.0.0`) is
available at
<https://github.com/scipy/scipy-stubs/releases/tag/v1.16.0.0>
- The internal dependency of `scipy._lib` on `scipy.sparse` was removed,
which reduces the import time of a number of other SciPy submodules.
- Support for free-threaded CPython was improved: the last known
thread-safety
issues in `scipy.special` were fixed, and `pytest-run-parallel` is now
used
in a CI job to guard against regressions.
- Support for
[`spin`](https://redirect.github.com/scientific-python/spin) as a
developer
CLI was added, including support for editable installs. The
SciPy-specific
`python dev.py` CLI will be removed in the next release cycle in favor
of
`spin`.
- The vendored Qhull library was upgraded from version 2019.1 to 2020.2.
- A large amount of the C++ code in `scipy.special` was moved to the new
header-only [`xsf`](https://redirect.github.com/scipy/xsf) library. That
library was
included back in the SciPy source tree as a git submodule.
- The `namedtuple`-like bunch objects returned by some SciPy functions
now have improved compatibility with the `polars` library.
- The output of the `rvs` method of `scipy.stats.wrapcauchy` is now
mapped to
the unit circle between 0 and `2 * pi`.
- The `lm` method of `scipy.optimize.least_squares` now has a different
behavior
for the maximum number of function evaluations, `max_nfev`. The default
for
the `lm` method is changed to `100 * n`, for both a callable and a
numerically estimated jacobian. This limit on function evaluations
excludes
those used for any numerical estimation of the Jacobian. Previously the
default when using an estimated jacobian was `100 * n * (n + 1)`,
because
the method included evaluations used in the estimation. In addition, for
the
`lm` method the number of function calls used in Jacobian approximation
is no longer included in `OptimizeResult.nfev`. This brings the behavior
of `lm`, `trf`, and `dogbox` into line.
# Authors
- Name (commits)
- h-vetinari (4)
- aiudirog (1) +
- Anton Akhmerov (2)
- Thorsten Alteholz (1) +
- Gabriel Augusto (1) +
- Backfisch263 (1) +
- Nickolai Belakovski (5)
- Peter Bell (1)
- Benoît W. (1) +
- Evandro Bernardes (1)
- Gauthier Berthomieu (1) +
- Maxwell Bileschi (1) +
- Sam Birch (1) +
- Florian Bourgey (3) +
- Charles Bousseau (2) +
- Richard Strong Bowen (2) +
- Jake Bowhay (127)
- Matthew Brett (1)
- Dietrich Brunn (53)
- Evgeni Burovski (254)
- Christine P. Chai (12) +
- Gayatri Chakkithara (1) +
- Saransh Chopra (2) +
- Omer Cohen (1) +
- Lucas Colley (91)
- Yahya Darman (3) +
- Benjamin Eisele (1) +
- Donnie Erb (1)
- Sagi Ezri (58) +
- Alexander Fabisch (2) +
- Matthew H Flamm (1)
- Karthik Viswanath Ganti (1) +
- Neil Girdhar (1)
- Ralf Gommers (162)
- Rohit Goswami (4)
- Saarthak Gupta (4) +
- Matt Haberland (326)
- Sasha Hafner (1) +
- Joren Hammudoglu (11)
- Chengyu Han (1) +
- Charles Harris (1)
- Kim Hsieh (4) +
- Yongcai Huang (2) +
- Lukas Huber (1) +
- Yuji Ikeda (2) +
- Guido Imperiale (105) +
- Robert Kern (2)
- Harin Khakhi (2) +
- Agriya Khetarpal (4)
- Daniil Kiktenko (1) +
- Kirill R. (2) +
- Tetsuo Koyama (1)
- Jigyasu Krishnan (1) +
- Abhishek Kumar (2) +
- Pratham Kumar (3) +
- David Kun (1) +
- Eric Larson (3)
- lciti (1)
- Antony Lee (1)
- Kieran Leschinski (1) +
- Thomas Li (2) +
- Yuxi Long (2) +
- Christian Lorentzen (2)
- Loïc Estève (4)
- Panos Mavrogiorgos (1) +
- Nikolay Mayorov (2)
- Melissa Weber Mendonça (10)
- Michał Górny (1)
- Miguel Cárdenas (2) +
- Swastik Mishra (1) +
- Sturla Molden (2)
- Andreas Nazlidis (1) +
- Andrew Nelson (209)
- Parth Nobel (1) +
- Nick ODell (9)
- Giacomo Petrillo (1)
- Victor PM (10) +
- pmav99 (1) +
- Ilhan Polat (74)
- Tyler Reddy (128)
- Érico Nogueira Rolim (1) +
- Pamphile Roy (10)
- Mikhail Ryazanov (6)
- Atsushi Sakai (9)
- Marco Salathe (1) +
- sanvi (1) +
- Neil Schemenauer (2) +
- Daniel Schmitz (20)
- Martin Schuck (1) +
- Dan Schult (33)
- Tomer Sery (19)
- Adrian Seyboldt (1) +
- Scott Shambaugh (4)
- ShannonS00 (1) +
- sildater (3) +
- Param Singh (1) +
- G Sreeja (7) +
- Albert Steppi (133)
- Kai Striega (3)
- Anushka Suyal (2)
- Julia Tatz (1) +
- Tearyt (1) +
- Elia Tomasi (1) +
- Jamie Townsend (2) +
- Edgar Andrés Margffoy Tuay (4)
- Matthias Urlichs (1) +
- Mark van Rossum (1) +
- Jacob Vanderplas (2)
- David Varela (2) +
- Christian Veenhuis (3)
- vfdev (1)
- Stefan van der Walt (2)
- Warren Weckesser (5)
- Jason N. White (1) +
- windows-server-2003 (5)
- Zhiqing Xiao (1)
- Pavadol Yamsiri (1)
- Rory Yorke (3)
- Irwin Zaid (4)
- Austin Zhang (1) +
- William Zijie Zhang (1) +
- Zaikun Zhang (1) +
- Zhenyu Zhu (1) +
- Eric Zitong Zhou (11) +
- Case Zumbrum (2) +
- ਗਗਨਦੀਪ ਸਿੰਘ (Gagandeep Singh) (45)
A total of 126 people contributed to this release.
People with a "+" by their names contributed a patch for the first time.
This list of names is automatically generated, and may not be fully
complete.
Complete issue list, PR list, and release asset hashes are available in
the associated `README.txt`.
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on
Monday ( * 0-3 * * 1 ) (UTC), 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.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Glatzel/pyxis).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> build: Update Pixi (#491)
This PR contains the following updates:
| Package | Type | Update | Change |
|---|---|---|---|
| [maturin](http://anaconda.org/conda-forge/maturin)
([source](https://redirect.github.com/PyO3/maturin)) | dependencies |
minor | `==1.8.7` -> `==1.9.0` |
| [numpy](http://anaconda.org/conda-forge/numpy)
([source](https://redirect.github.com/numpy/numpy)) | dependencies |
minor | `==2.2.0` -> `==2.3.0` |
| [pytest](http://anaconda.org/conda-forge/pytest)
([source](https://redirect.github.com/pytest-dev/pytest)) | dependencies
| patch | `==8.4.0` -> `==8.4.1` |
| [pytest-cov](http://anaconda.org/conda-forge/pytest-cov)
([source](https://redirect.github.com/pytest-dev/pytest-cov)) |
dependencies | minor | `==6.1.1` -> `==6.2.1` |
---
### Release Notes
<details>
<summary>PyO3/maturin (maturin)</summary>
###
[`v1.9.0`](https://redirect.github.com/PyO3/maturin/blob/HEAD/Changelog.md#190)
- Add full PEP 639 support for `project.license` and
`project.license-files` in
[#​2647](https://redirect.github.com/PyO3/maturin/pull/2647).
- Add `--compatiblity pypi` to only build wheels with platform tags that
can also be uploaded to PyPI. This blocks e.g. building for riscv64,
which is supported by manylinux, but not by PyPI.
</details>
<details>
<summary>numpy/numpy (numpy)</summary>
###
[`v2.3.0`](https://redirect.github.com/numpy/numpy/releases/tag/v2.3.0):
(June 7, 2025)
[Compare
Source](https://redirect.github.com/numpy/numpy/compare/v2.2.6...v2.3.0)
### NumPy 2.3.0 Release Notes
The NumPy 2.3.0 release continues the work to improve free threaded
Python support and annotations together with the usual set of bug fixes.
It is unusual in the number of expired deprecations, code
modernizations, and style cleanups. The latter may not be visible to
users, but is important for code maintenance over the long term. Note
that we have also upgraded from manylinux2014 to manylinux\_2\_28.
Users running on a Mac having an M4 cpu might see various warnings about
invalid values and such. The warnings are a known problem with
Accelerate. They are annoying, but otherwise harmless. Apple promises to
fix them.
This release supports Python versions 3.11-3.13, Python 3.14 will be
supported when it is released.
#### Highlights
- Interactive examples in the NumPy documentation.
- Building NumPy with OpenMP Parallelization.
- Preliminary support for Windows on ARM.
- Improved support for free threaded Python.
- Improved annotations.
#### New functions
##### New function `numpy.strings.slice`
The new function `numpy.strings.slice` was added, which implements fast
native slicing of string arrays. It supports the full slicing API
including negative slice offsets and steps.
([gh-27789](https://redirect.github.com/numpy/numpy/pull/27789))
#### Deprecations
- The `numpy.typing.mypy_plugin` has been deprecated in favor of
platform-agnostic static type inference. Please remove
`numpy.typing.mypy_plugin` from the `plugins` section of your mypy
configuration. If this change results in new errors being reported,
kindly open an issue.
([gh-28129](https://redirect.github.com/numpy/numpy/pull/28129))
- The `numpy.typing.NBitBase` type has been deprecated and will be
removed in a future version.
This type was previously intended to be used as a generic upper
bound for type-parameters, for example:
```python
import numpy as np
import numpy.typing as npt
def f[NT: npt.NBitBase](x: np.complexfloating[NT]) -> np.floating[NT]:
...
```
But in NumPy 2.2.0, `float64` and `complex128` were changed to
concrete subtypes, causing static type-checkers to reject
`x: np.float64 = f(np.complex128(42j))`.
So instead, the better approach is to use `typing.overload`:
```python
import numpy as np
from typing import overload
@​overload
def f(x: np.complex64) -> np.float32: ...
@​overload
def f(x: np.complex128) -> np.float64: ...
@​overload
def f(x: np.clongdouble) -> np.longdouble: ...
```
([gh-28884](https://redirect.github.com/numpy/numpy/pull/28884))
#### Expired deprecations
- Remove deprecated macros like `NPY_OWNDATA` from Cython interfaces
in favor of `NPY_ARRAY_OWNDATA` (deprecated since 1.7)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- Remove `numpy/npy_1_7_deprecated_api.h` and C macros like
`NPY_OWNDATA` in favor of `NPY_ARRAY_OWNDATA` (deprecated since 1.7)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- Remove alias `generate_divbyzero_error` to
`npy_set_floatstatus_divbyzero` and `generate_overflow_error` to
`npy_set_floatstatus_overflow` (deprecated since 1.10)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- Remove `np.tostring` (deprecated since 1.19)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- Raise on `np.conjugate` of non-numeric types (deprecated since 1.13)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- Raise when using `np.bincount(...minlength=None)`, use 0 instead
(deprecated since 1.14)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- Passing `shape=None` to functions with a non-optional shape argument
errors, use `()` instead (deprecated since 1.20)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- Inexact matches for `mode` and `searchside` raise (deprecated since
1.20)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- Setting `__array_finalize__ = None` errors (deprecated since 1.23)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- `np.fromfile` and `np.fromstring` error on bad data, previously they
would guess (deprecated since 1.18)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- `datetime64` and `timedelta64` construction with a tuple no longer
accepts an `event` value, either use a two-tuple of (unit, num) or a
4-tuple of (unit, num, den, 1) (deprecated since 1.14)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- When constructing a `dtype` from a class with a `dtype` attribute,
that attribute must be a dtype-instance rather than a thing that can
be parsed as a dtype instance (deprecated in 1.19). At some point
the whole construct of using a dtype attribute will be deprecated
(see
[#​25306](https://redirect.github.com/numpy/numpy/issues/25306))
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- Passing booleans as partition index errors (deprecated since 1.23)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- Out-of-bounds indexes error even on empty arrays (deprecated since
1.20)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- `np.tostring` has been removed, use `tobytes` instead (deprecated
since 1.19)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- Disallow make a non-writeable array writeable for arrays with a base
that do not own their data (deprecated since 1.17)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- `concatenate()` with `axis=None` uses `same-kind` casting by
default, not `unsafe` (deprecated since 1.20)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- Unpickling a scalar with object dtype errors (deprecated since 1.20)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- The binary mode of `fromstring` now errors, use `frombuffer` instead
(deprecated since 1.14)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- Converting `np.inexact` or `np.floating` to a dtype errors
(deprecated since 1.19)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- Converting `np.complex`, `np.integer`, `np.signedinteger`,
`np.unsignedinteger`, `np.generic` to a dtype errors (deprecated
since 1.19)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- The Python built-in `round` errors for complex scalars. Use
`np.round` or `scalar.round` instead (deprecated since 1.19)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- 'np.bool' scalars can no longer be interpreted as an index
(deprecated since 1.19)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- Parsing an integer via a float string is no longer supported.
(deprecated since 1.23) To avoid this error you can
- make sure the original data is stored as integers.
- use the `converters=float` keyword argument.
- Use `np.loadtxt(...).astype(np.int64)`
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- The use of a length 1 tuple for the ufunc `signature` errors. Use
`dtype` or fill the tuple with `None` (deprecated since 1.19)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- Special handling of matrix is in np.outer is removed. Convert to a
ndarray via `matrix.A` (deprecated since 1.20)
([gh-28254](https://redirect.github.com/numpy/numpy/pull/28254))
- Removed the `np.compat` package source code (removed in 2.0)
([gh-28961](https://redirect.github.com/numpy/numpy/pull/28961))
#### C API changes
- `NpyIter_GetTransferFlags` is now available to check if the iterator
needs the Python API or if casts may cause floating point errors
(FPE). FPEs can for example be set when casting `float64(1e300)` to
`float32` (overflow to infinity) or a NaN to an integer (invalid
value).
([gh-27883](https://redirect.github.com/numpy/numpy/pull/27883))
- `NpyIter` now has no limit on the number of operands it supports.
([gh-28080](https://redirect.github.com/numpy/numpy/pull/28080))
##### New `NpyIter_GetTransferFlags` and `NpyIter_IterationNeedsAPI`
change
NumPy now has the new `NpyIter_GetTransferFlags` function as a more
precise way checking of iterator/buffering needs. I.e. whether the
Python API/GIL is required or floating point errors may occur. This
function is also faster if you already know your needs without
buffering.
The `NpyIter_IterationNeedsAPI` function now performs all the checks
that were previously performed at setup time. While it was never
necessary to call it multiple times, doing so will now have a larger
cost.
([gh-27998](https://redirect.github.com/numpy/numpy/pull/27998))
#### New Features
- The type parameter of `np.dtype` now defaults to `typing.Any`. This
way, static type-checkers will infer `dtype: np.dtype` as
`dtype: np.dtype[Any]`, without reporting an error.
([gh-28669](https://redirect.github.com/numpy/numpy/pull/28669))
- Static type-checkers now interpret:
- `_: np.ndarray` as `_: npt.NDArray[typing.Any]`.
- `_: np.flatiter` as `_: np.flatiter[np.ndarray]`.
This is because their type parameters now have default values.
([gh-28940](https://redirect.github.com/numpy/numpy/pull/28940))
##### NumPy now registers its pkg-config paths with the
[pkgconf](https://redirect.github.com/pypackaging-native/pkgconf-pypi)
PyPI package
The
[pkgconf](https://redirect.github.com/pypackaging-native/pkgconf-pypi)
PyPI
package provides an interface for projects like NumPy to register their
own paths to be added to the pkg-config search path. This means that
when using
[pkgconf](https://redirect.github.com/pypackaging-native/pkgconf-pypi)
from PyPI, NumPy will be discoverable without needing for any custom
environment configuration.
> \[!NOTE]
> This only applies when using the
[pkgconf](https://redirect.github.com/pypackaging-native/pkgconf-pypi)
package from [PyPI](https://pypi.org/),
> or put another way, this only applies when installing
[pkgconf](https://redirect.github.com/pypackaging-native/pkgconf-pypi)
via a
> Python package manager.
>
> If you are using `pkg-config` or `pkgconf` provided by your system,
> or any other source that does not use the
[pkgconf-pypi](https://redirect.github.com/pypackaging-native/pkgconf-pypi)
> project, the NumPy pkg-config directory will not be automatically
added
> to the search path. In these situations, you might want to use
`numpy-config`.
([gh-28214](https://redirect.github.com/numpy/numpy/pull/28214))
##### Allow `out=...` in ufuncs to ensure array result
NumPy has the sometimes difficult behavior that it currently usually
returns scalars rather than 0-D arrays (even if the inputs were 0-D
arrays). This is especially problematic for non-numerical dtypes (e.g.
`object`).
For ufuncs (i.e. most simple math functions) it is now possible to use
`out=...` (literally \`...\`, e.g. `out=Ellipsis`) which is identical
in behavior to `out` not being passed, but will ensure a non-scalar
return. This spelling is borrowed from `arr1d[0, ...]` where the `...`
also ensures a non-scalar return.
Other functions with an `out=` kwarg should gain support eventually.
Downstream libraries that interoperate via `__array_ufunc__` or
`__array_function__` may need to adapt to support this.
([gh-28576](https://redirect.github.com/numpy/numpy/pull/28576))
##### Building NumPy with OpenMP Parallelization
NumPy now supports OpenMP parallel processing capabilities when built
with the `-Denable_openmp=true` Meson build flag. This feature is
disabled by default. When enabled, `np.sort` and `np.argsort` functions
can utilize OpenMP for parallel thread execution, improving performance
for these operations.
([gh-28619](https://redirect.github.com/numpy/numpy/pull/28619))
##### Interactive examples in the NumPy documentation
The NumPy documentation includes a number of examples that can now be
run interactively in your browser using WebAssembly and Pyodide.
Please note that the examples are currently experimental in nature and
may not work as expected for all methods in the public API.
([gh-26745](https://redirect.github.com/numpy/numpy/pull/26745))
#### Improvements
- Scalar comparisons between non-comparable dtypes such as
`np.array(1) == np.array('s')` now return a NumPy bool instead of a
Python bool.
([gh-27288](https://redirect.github.com/numpy/numpy/pull/27288))
- `np.nditer` now has no limit on the number of supported operands
(C-integer).
([gh-28080](https://redirect.github.com/numpy/numpy/pull/28080))
- No-copy pickling is now supported for any array that can be
transposed to a C-contiguous array.
([gh-28105](https://redirect.github.com/numpy/numpy/pull/28105))
- The `__repr__` for user-defined dtypes now prefers the `__name__` of
the custom dtype over a more generic name constructed from its
`kind` and `itemsize`.
([gh-28250](https://redirect.github.com/numpy/numpy/pull/28250))
- `np.dot` now reports floating point exceptions.
([gh-28442](https://redirect.github.com/numpy/numpy/pull/28442))
- `np.dtypes.StringDType` is now a [generic
type](https://typing.python.org/en/latest/spec/generics.html) which
accepts a type argument for `na_object` that defaults to
`typing.Never`. For example, `StringDType(na_object=None)` returns a
`StringDType[None]`, and `StringDType()` returns a
`StringDType[typing.Never]`.
([gh-28856](https://redirect.github.com/numpy/numpy/pull/28856))
##### Added warnings to `np.isclose`
Added warning messages if at least one of atol or rtol are either
`np.nan` or `np.inf` within `np.isclose`.
- Warnings follow the user's `np.seterr` settings
([gh-28205](https://redirect.github.com/numpy/numpy/pull/28205))
#### Performance improvements and changes
##### Performance improvements to `np.unique`
`np.unique` now tries to use a hash table to find unique values instead
of sorting values before finding unique values. This is limited to
certain dtypes for now, and the function is now faster for those dtypes.
The function now also exposes a `sorted` parameter to allow returning
unique values as they were found, instead of sorting them afterwards.
([gh-26018](https://redirect.github.com/numpy/numpy/pull/26018))
##### Performance improvements to `np.sort` and `np.argsort`
`np.sort` and `np.argsort` functions now can leverage OpenMP for
parallel thread execution, resulting in up to 3.5x speedups on x86
architectures with AVX2 or AVX-512 instructions. This opt-in feature
requires NumPy to be built with the -Denable\_openmp Meson flag. Users
can control the number of threads used by setting the OMP\_NUM\_THREADS
environment variable.
([gh-28619](https://redirect.github.com/numpy/numpy/pull/28619))
##### Performance improvements for `np.float16` casts
Earlier, floating point casts to and from `np.float16` types were
emulated in software on all platforms.
Now, on ARM devices that support Neon float16 intrinsics (such as recent
Apple Silicon), the native float16 path is used to achieve the best
performance.
([gh-28769](https://redirect.github.com/numpy/numpy/pull/28769))
#### Changes
- The vector norm `ord=inf` and the matrix norms
`ord={1, 2, inf, 'nuc'}` now always returns zero for empty arrays.
Empty arrays have at least one axis of size zero. This affects
`np.linalg.norm`, `np.linalg.vector_norm`, and
`np.linalg.matrix_norm`. Previously, NumPy would raises errors or
return zero depending on the shape of the array.
([gh-28343](https://redirect.github.com/numpy/numpy/pull/28343))
- A spelling error in the error message returned when converting a
string to a float with the method `np.format_float_positional` has
been fixed.
([gh-28569](https://redirect.github.com/numpy/numpy/pull/28569))
- NumPy's `__array_api_version__` was upgraded from `2023.12` to
`2024.12`.
- `numpy.count_nonzero` for `axis=None` (default) now returns a NumPy
scalar instead of a Python integer.
- The parameter `axis` in `numpy.take_along_axis` function has now a
default value of `-1`.
([gh-28615](https://redirect.github.com/numpy/numpy/pull/28615))
- Printing of `np.float16` and `np.float32` scalars and arrays have
been improved by adjusting the transition to scientific notation
based on the floating point precision. A new legacy
`np.printoptions` mode `'2.2'` has been added for backwards
compatibility.
([gh-28703](https://redirect.github.com/numpy/numpy/pull/28703))
- Multiplication between a string and integer now raises OverflowError
instead of MemoryError if the result of the multiplication would
create a string that is too large to be represented. This follows
Python's behavior.
([gh-29060](https://redirect.github.com/numpy/numpy/pull/29060))
##### `unique_values` may return unsorted data
The relatively new function (added in NumPy 2.0) `unique_values` may now
return unsorted results. Just as `unique_counts` and `unique_all` these
never guaranteed a sorted result, however, the result was sorted until
now. In cases where these do return a sorted result, this may change in
future releases to improve performance.
([gh-26018](https://redirect.github.com/numpy/numpy/pull/26018))
##### Changes to the main iterator and potential numerical changes
The main iterator, used in math functions and via `np.nditer` from
Python and `NpyIter` in C, now behaves differently for some buffered
iterations. This means that:
- The buffer size used will often be smaller than the maximum buffer
sized allowed by the `buffersize` parameter.
- The "growinner" flag is now honored with buffered reductions when
no operand requires buffering.
For `np.sum()` such changes in buffersize may slightly change numerical
results of floating point operations. Users who use "growinner" for
custom reductions could notice changes in precision (for example, in
NumPy we removed it from `einsum` to avoid most precision changes and
improve precision for some 64bit floating point inputs).
([gh-27883](https://redirect.github.com/numpy/numpy/pull/27883))
##### The minimum supported GCC version is now 9.3.0
The minimum supported version was updated from 8.4.0 to 9.3.0, primarily
in order to reduce the chance of platform-specific bugs in old GCC
versions from causing issues.
([gh-28102](https://redirect.github.com/numpy/numpy/pull/28102))
##### Changes to automatic bin selection in numpy.histogram
The automatic bin selection algorithm in `numpy.histogram` has been
modified to avoid out-of-memory errors for samples with low variation.
For full control over the selected bins the user can use set the `bin`
or `range` parameters of `numpy.histogram`.
([gh-28426](https://redirect.github.com/numpy/numpy/pull/28426))
##### Build manylinux\_2\_28 wheels
Wheels for linux systems will use the `manylinux_2_28` tag (instead of
the `manylinux2014` tag), which means dropping support for
redhat7/centos7, amazonlinux2, debian9, ubuntu18.04, and other
pre-glibc2.28 operating system versions, as per the [PEP 600 support
table](https://redirect.github.com/mayeut/pep600_compliance?tab=readme-ov-file#pep600-compliance-check).
([gh-28436](https://redirect.github.com/numpy/numpy/pull/28436))
##### Remove use of -Wl,-ld\_classic on macOS
Remove use of -Wl,-ld\_classic on macOS. This hack is no longer needed
by
Spack, and results in libraries that cannot link to other libraries
built with ld (new).
([gh-28713](https://redirect.github.com/numpy/numpy/pull/28713))
##### Re-enable overriding functions in the `numpy.strings`
Re-enable overriding functions in the `numpy.strings` module.
([gh-28741](https://redirect.github.com/numpy/numpy/pull/28741))
#### Checksums
##### MD5
```
cf552b6b6390343c24bf60365950c91c numpy-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl
d3c377f49f84b36297cfc2fc30c6a288 numpy-2.3.0-cp311-cp311-macosx_11_0_arm64.whl
4e12cd2aea876c09fdc3aaac2d0f4bac numpy-2.3.0-cp311-cp311-macosx_14_0_arm64.whl
a33af1d4e1f0ee5ed82d7933c5df9f84 numpy-2.3.0-cp311-cp311-macosx_14_0_x86_64.whl
cd5cf04cb8b40e65aac8264c7bf3d7c9 numpy-2.3.0-cp311-cp311-manylinux_2_28_aarch64.whl
6a45424beb8f4f23e7b2b853bc18aefa numpy-2.3.0-cp311-cp311-manylinux_2_28_x86_64.whl
2dc1c1d1b9deb8c0626af68c0c00660a numpy-2.3.0-cp311-cp311-musllinux_1_2_aarch64.whl
9ff8ea227afce090dea3b4dac4653fa6 numpy-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
a1e9e40a20187e1f5ae2f8ba165e291b numpy-2.3.0-cp311-cp311-win32.whl
819e4ac62a3449c79818ff5aa0e6b276 numpy-2.3.0-cp311-cp311-win_amd64.whl
347260edfd35535b15b8133280793080 numpy-2.3.0-cp311-cp311-win_arm64.whl
9c1ad46e637b876a0535de60f5b604bc numpy-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl
5b656fbed339bcac1af6de73b15e5dba numpy-2.3.0-cp312-cp312-macosx_11_0_arm64.whl
5b86d6d0cab79d0cd381bb2e912e7e23 numpy-2.3.0-cp312-cp312-macosx_14_0_arm64.whl
ea83ef5cd00d5e42bb745eee1ee0ad3f numpy-2.3.0-cp312-cp312-macosx_14_0_x86_64.whl
15a5f57cb51d3d957c1b387c4bc54830 numpy-2.3.0-cp312-cp312-manylinux_2_28_aarch64.whl
b5fa92d1093dab4c3ca0622c29c4a241 numpy-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl
666cad26086ee212047e5ea0e8906480 numpy-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl
6263705622ca89ccadc6f458effde281 numpy-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
bf1bf83eca701ff70351c2d7b308e181 numpy-2.3.0-cp312-cp312-win32.whl
0707b427c1102bb904994289e1555c3d numpy-2.3.0-cp312-cp312-win_amd64.whl
097bd498f8333d383db61105044906dc numpy-2.3.0-cp312-cp312-win_arm64.whl
54eb5fa0444ff5dd078bb1aa30d9533f numpy-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl
004b4c3650562bd851e31fb925863acb numpy-2.3.0-cp313-cp313-macosx_11_0_arm64.whl
cd4e31304e51cc5dacd355730be25e4e numpy-2.3.0-cp313-cp313-macosx_14_0_arm64.whl
0ed70aa071f35060ee68d6ab407159e5 numpy-2.3.0-cp313-cp313-macosx_14_0_x86_64.whl
a89b304bbb52268b233ab9652fee8142 numpy-2.3.0-cp313-cp313-manylinux_2_28_aarch64.whl
4b55cf791be482e8d8e5aaba0c10b6f2 numpy-2.3.0-cp313-cp313-manylinux_2_28_x86_64.whl
d3a1b81da2f2cba4743d1ee5385cb4d6 numpy-2.3.0-cp313-cp313-musllinux_1_2_aarch64.whl
fcaacdedcd8cfec7a6cb430fba7a5553 numpy-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
7d0deec2ad395fda48b80be59612db22 numpy-2.3.0-cp313-cp313-win32.whl
7386a22b0ef219ba043f6e085933dbd6 numpy-2.3.0-cp313-cp313-win_amd64.whl
f4559038276d0e2bfb19601484d4cdff numpy-2.3.0-cp313-cp313-win_arm64.whl
6c586985db2e888876aa96ceaf99ee66 numpy-2.3.0-cp313-cp313t-macosx_10_13_x86_64.whl
9726de30cce2b36940225a7ea086c824 numpy-2.3.0-cp313-cp313t-macosx_11_0_arm64.whl
ea021092cbb7b1e7d0984dc774bb288d numpy-2.3.0-cp313-cp313t-macosx_14_0_arm64.whl
6f8261bc789eed1d3f6f7ea9ff3c2a2c numpy-2.3.0-cp313-cp313t-macosx_14_0_x86_64.whl
ab624ddc1425d44412541aad1f012fd9 numpy-2.3.0-cp313-cp313t-manylinux_2_28_aarch64.whl
af55bc7a8f46ec8d413eb1fbe2c200e9 numpy-2.3.0-cp313-cp313t-manylinux_2_28_x86_64.whl
830eecf7c372aa0d7d746ad031ff0ba1 numpy-2.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl
28870039fde4fec369185e185bf0077e numpy-2.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl
4510373c08383787c263a4b5a21a24ef numpy-2.3.0-cp313-cp313t-win32.whl
de883c4313f4dc984045a51b8edb4084 numpy-2.3.0-cp313-cp313t-win_amd64.whl
334f5c275a6aad46e5f46436572d3dc1 numpy-2.3.0-cp313-cp313t-win_arm64.whl
05b86d4a21a832e20e4ebdc6febf298d numpy-2.3.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
4589038edf55f085252f194e880d7454 numpy-2.3.0-pp311-pypy311_pp73-macosx_14_0_arm64.whl
7d8f0554035717dc396de7d77c696377 numpy-2.3.0-pp311-pypy311_pp73-macosx_14_0_x86_64.whl
c0cb89f0dca94446e6aa472ec6874c22 numpy-2.3.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
14e43315dea5eddffe888986e47d8584 numpy-2.3.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
e3688182f8551c3c99b559c1696d41dc numpy-2.3.0-pp311-pypy311_pp73-win_amd64.whl
19a5470a37d066bd3e9385918d7760e7 numpy-2.3.0.tar.gz
```
##### SHA256
```
c3c9fdde0fa18afa1099d6257eb82890ea4f3102847e692193b54e00312a9ae9 numpy-2.3.0-cp311-cp311-macosx_10_9_x86_64.whl
46d16f72c2192da7b83984aa5455baee640e33a9f1e61e656f29adf55e406c2b numpy-2.3.0-cp311-cp311-macosx_11_0_arm64.whl
a0be278be9307c4ab06b788f2a077f05e180aea817b3e41cebbd5aaf7bd85ed3 numpy-2.3.0-cp311-cp311-macosx_14_0_arm64.whl
99224862d1412d2562248d4710126355d3a8db7672170a39d6909ac47687a8a4 numpy-2.3.0-cp311-cp311-macosx_14_0_x86_64.whl
2393a914db64b0ead0ab80c962e42d09d5f385802006a6c87835acb1f58adb96 numpy-2.3.0-cp311-cp311-manylinux_2_28_aarch64.whl
7729c8008d55e80784bd113787ce876ca117185c579c0d626f59b87d433ea779 numpy-2.3.0-cp311-cp311-manylinux_2_28_x86_64.whl
06d4fb37a8d383b769281714897420c5cc3545c79dc427df57fc9b852ee0bf58 numpy-2.3.0-cp311-cp311-musllinux_1_2_aarch64.whl
c39ec392b5db5088259c68250e342612db82dc80ce044cf16496cf14cf6bc6f8 numpy-2.3.0-cp311-cp311-musllinux_1_2_x86_64.whl
ee9d3ee70d62827bc91f3ea5eee33153212c41f639918550ac0475e3588da59f numpy-2.3.0-cp311-cp311-win32.whl
43c55b6a860b0eb44d42341438b03513cf3879cb3617afb749ad49307e164edd numpy-2.3.0-cp311-cp311-win_amd64.whl
2e6a1409eee0cb0316cb64640a49a49ca44deb1a537e6b1121dc7c458a1299a8 numpy-2.3.0-cp311-cp311-win_arm64.whl
389b85335838155a9076e9ad7f8fdba0827496ec2d2dc32ce69ce7898bde03ba numpy-2.3.0-cp312-cp312-macosx_10_13_x86_64.whl
9498f60cd6bb8238d8eaf468a3d5bb031d34cd12556af53510f05fcf581c1b7e numpy-2.3.0-cp312-cp312-macosx_11_0_arm64.whl
622a65d40d8eb427d8e722fd410ac3ad4958002f109230bc714fa551044ebae2 numpy-2.3.0-cp312-cp312-macosx_14_0_arm64.whl
b9446d9d8505aadadb686d51d838f2b6688c9e85636a0c3abaeb55ed54756459 numpy-2.3.0-cp312-cp312-macosx_14_0_x86_64.whl
50080245365d75137a2bf46151e975de63146ae6d79f7e6bd5c0e85c9931d06a numpy-2.3.0-cp312-cp312-manylinux_2_28_aarch64.whl
c24bb4113c66936eeaa0dc1e47c74770453d34f46ee07ae4efd853a2ed1ad10a numpy-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl
4d8d294287fdf685281e671886c6dcdf0291a7c19db3e5cb4178d07ccf6ecc67 numpy-2.3.0-cp312-cp312-musllinux_1_2_aarch64.whl
6295f81f093b7f5769d1728a6bd8bf7466de2adfa771ede944ce6711382b89dc numpy-2.3.0-cp312-cp312-musllinux_1_2_x86_64.whl
e6648078bdd974ef5d15cecc31b0c410e2e24178a6e10bf511e0557eed0f2570 numpy-2.3.0-cp312-cp312-win32.whl
0898c67a58cdaaf29994bc0e2c65230fd4de0ac40afaf1584ed0b02cd74c6fdd numpy-2.3.0-cp312-cp312-win_amd64.whl
bd8df082b6c4695753ad6193018c05aac465d634834dca47a3ae06d4bb22d9ea numpy-2.3.0-cp312-cp312-win_arm64.whl
5754ab5595bfa2c2387d241296e0381c21f44a4b90a776c3c1d39eede13a746a numpy-2.3.0-cp313-cp313-macosx_10_13_x86_64.whl
d11fa02f77752d8099573d64e5fe33de3229b6632036ec08f7080f46b6649959 numpy-2.3.0-cp313-cp313-macosx_11_0_arm64.whl
aba48d17e87688a765ab1cd557882052f238e2f36545dfa8e29e6a91aef77afe numpy-2.3.0-cp313-cp313-macosx_14_0_arm64.whl
4dc58865623023b63b10d52f18abaac3729346a7a46a778381e0e3af4b7f3beb numpy-2.3.0-cp313-cp313-macosx_14_0_x86_64.whl
df470d376f54e052c76517393fa443758fefcdd634645bc9c1f84eafc67087f0 numpy-2.3.0-cp313-cp313-manylinux_2_28_aarch64.whl
87717eb24d4a8a64683b7a4e91ace04e2f5c7c77872f823f02a94feee186168f numpy-2.3.0-cp313-cp313-manylinux_2_28_x86_64.whl
d8fa264d56882b59dcb5ea4d6ab6f31d0c58a57b41aec605848b6eb2ef4a43e8 numpy-2.3.0-cp313-cp313-musllinux_1_2_aarch64.whl
e651756066a0eaf900916497e20e02fe1ae544187cb0fe88de981671ee7f6270 numpy-2.3.0-cp313-cp313-musllinux_1_2_x86_64.whl
e43c3cce3b6ae5f94696669ff2a6eafd9a6b9332008bafa4117af70f4b88be6f numpy-2.3.0-cp313-cp313-win32.whl
81ae0bf2564cf475f94be4a27ef7bcf8af0c3e28da46770fc904da9abd5279b5 numpy-2.3.0-cp313-cp313-win_amd64.whl
c8738baa52505fa6e82778580b23f945e3578412554d937093eac9205e845e6e numpy-2.3.0-cp313-cp313-win_arm64.whl
39b27d8b38942a647f048b675f134dd5a567f95bfff481f9109ec308515c51d8 numpy-2.3.0-cp313-cp313t-macosx_10_13_x86_64.whl
0eba4a1ea88f9a6f30f56fdafdeb8da3774349eacddab9581a21234b8535d3d3 numpy-2.3.0-cp313-cp313t-macosx_11_0_arm64.whl
b0f1f11d0a1da54927436505a5a7670b154eac27f5672afc389661013dfe3d4f numpy-2.3.0-cp313-cp313t-macosx_14_0_arm64.whl
690d0a5b60a47e1f9dcec7b77750a4854c0d690e9058b7bef3106e3ae9117808 numpy-2.3.0-cp313-cp313t-macosx_14_0_x86_64.whl
8b51ead2b258284458e570942137155978583e407babc22e3d0ed7af33ce06f8 numpy-2.3.0-cp313-cp313t-manylinux_2_28_aarch64.whl
aaf81c7b82c73bd9b45e79cfb9476cb9c29e937494bfe9092c26aece812818ad numpy-2.3.0-cp313-cp313t-manylinux_2_28_x86_64.whl
f420033a20b4f6a2a11f585f93c843ac40686a7c3fa514060a97d9de93e5e72b numpy-2.3.0-cp313-cp313t-musllinux_1_2_aarch64.whl
d344ca32ab482bcf8735d8f95091ad081f97120546f3d250240868430ce52555 numpy-2.3.0-cp313-cp313t-musllinux_1_2_x86_64.whl
48a2e8eaf76364c32a1feaa60d6925eaf32ed7a040183b807e02674305beef61 numpy-2.3.0-cp313-cp313t-win32.whl
ba17f93a94e503551f154de210e4d50c5e3ee20f7e7a1b5f6ce3f22d419b93bb numpy-2.3.0-cp313-cp313t-win_amd64.whl
f14e016d9409680959691c109be98c436c6249eaf7f118b424679793607b5944 numpy-2.3.0-cp313-cp313t-win_arm64.whl
80b46117c7359de8167cc00a2c7d823bdd505e8c7727ae0871025a86d668283b numpy-2.3.0-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
5814a0f43e70c061f47abd5857d120179609ddc32a613138cbb6c4e9e2dbdda5 numpy-2.3.0-pp311-pypy311_pp73-macosx_14_0_arm64.whl
ef6c1e88fd6b81ac6d215ed71dc8cd027e54d4bf1d2682d362449097156267a2 numpy-2.3.0-pp311-pypy311_pp73-macosx_14_0_x86_64.whl
33a5a12a45bb82d9997e2c0b12adae97507ad7c347546190a18ff14c28bbca12 numpy-2.3.0-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
54dfc8681c1906d239e95ab1508d0a533c4a9505e52ee2d71a5472b04437ef97 numpy-2.3.0-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
e017a8a251ff4d18d71f139e28bdc7c31edba7a507f72b1414ed902cbe48c74d numpy-2.3.0-pp311-pypy311_pp73-win_amd64.whl
581f87f9e9e9db2cba2141400e160e9dd644ee248788d6f90636eeb8fd9260a6 numpy-2.3.0.tar.gz
```
###
[`v2.2.6`](https://redirect.github.com/numpy/numpy/releases/tag/v2.2.6):
(May 17, 2025)
[Compare
Source](https://redirect.github.com/numpy/numpy/compare/v2.2.5...v2.2.6)
### NumPy 2.2.6 Release Notes
NumPy 2.2.6 is a patch release that fixes bugs found after the 2.2.5
release. It is a mix of typing fixes/improvements as well as the normal
bug fixes and some CI maintenance.
This release supports Python versions 3.10-3.13.
#### Contributors
A total of 8 people contributed to this release. People with a "+" by
their names contributed a patch for the first time.
- Charles Harris
- Ilhan Polat
- Joren Hammudoglu
- Marco Gorelli +
- Matti Picus
- Nathan Goldbaum
- Peter Hawkins
- Sayed Adel
#### Pull requests merged
A total of 11 pull requests were merged for this release.
- [#​28778](https://redirect.github.com/numpy/numpy/pull/28778):
MAINT: Prepare 2.2.x for further development
- [#​28851](https://redirect.github.com/numpy/numpy/pull/28851):
BLD: Update vendor-meson to fix module\_feature conflicts arguments...
- [#​28852](https://redirect.github.com/numpy/numpy/pull/28852):
BUG: fix heap buffer overflow in np.strings.find
- [#​28853](https://redirect.github.com/numpy/numpy/pull/28853):
TYP: fix `NDArray[floating] + float` return type
- [#​28864](https://redirect.github.com/numpy/numpy/pull/28864):
BUG: fix stringdtype singleton thread safety
- [#​28865](https://redirect.github.com/numpy/numpy/pull/28865):
MAINT: use OpenBLAS 0.3.29
- [#​28889](https://redirect.github.com/numpy/numpy/pull/28889):
MAINT: from\_dlpack thread safety fixes
- [#​28913](https://redirect.github.com/numpy/numpy/pull/28913):
TYP: Fix non-existent `CanIndex` annotation in `ndarray.setfield`
- [#​28915](https://redirect.github.com/numpy/numpy/pull/28915):
MAINT: Avoid dereferencing/strict aliasing warnings
- [#​28916](https://redirect.github.com/numpy/numpy/pull/28916):
BUG: Fix missing check for PyErr\_Occurred() in \_pyarray\_correlate.
- [#​28966](https://redirect.github.com/numpy/numpy/pull/28966):
TYP: reject complex scalar types in ndarray.\_\_ifloordiv\_\_
#### Checksums
##### MD5
```
259343f056061f6eadb2f4b8999d06d4 numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl
16fa85488e149489ce7ee044d7b0d307 numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl
f01b7aea9d2b76b1eeb49766e615d689 numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl
f2ddc2b22517f6e31caa1372b12c2499 numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl
52190e22869884f0870eb3df7a283ca9 numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8f382b9ca6770db600edd5ea2447a925 numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e604aae2ef6e01fb92ecc39aca0424d9 numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl
3e5626cf6d8bec95d430a7362e71691c numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl
8f4f1982837618ed7636ebd432234aeb numpy-2.2.6-cp310-cp310-win32.whl
1cfd2ac5609b4800512f0ce304e19acc numpy-2.2.6-cp310-cp310-win_amd64.whl
116203803ceeaa911dd64810b0305b4c numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl
0427961f3a70ed92b1c4d2c5516c5803 numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl
feb8104ed864d51c68984ff93f7255b5 numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl
f640cd91637f1d474947ecdb18d17ee8 numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl
2f87d921a50fe50d04bb62125f8638dd numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7f986c33f49d5940d6d005ff7039e420 numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0f7073c78e0aede7179c537f64856db7 numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl
7402bbedcc0b59bd6cef1c483b77dac0 numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl
93c920d40abbc10d5d056b8bfbcdad74 numpy-2.2.6-cp311-cp311-win32.whl
9162cb90bff0e4ba322f1e61da9f2fba numpy-2.2.6-cp311-cp311-win_amd64.whl
75e9fa94b0a6ef568b532f6e0773a6a7 numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl
79d8f89e82971bb2a2f61d0ef8f1a677 numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl
fb553e49196bce93af4b0d7e1e8fad1e numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl
01a338bc3a5349b5b7db4335fe879810 numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl
f37533a7ae4aa95da824b1df2786ac55 numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2f9ac35f955d9217b6841568ce13d636 numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
df530a075c04dbef9abcac95d027c8bc numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl
4edf8f80feec739de3e08fffe97195a3 numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl
3e2664254d9a7bb5c66df2b108aaec2f numpy-2.2.6-cp312-cp312-win32.whl
ae2e39f1dba9b91d35edcd8736041df8 numpy-2.2.6-cp312-cp312-win_amd64.whl
2faa32e27b81105db53fb2fc25a54e0d numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl
0d05b1bb5af5059c8775a4f10fa0ec3d numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl
bb404027de8df58312964e26528ef591 numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl
1340a90e0f62a31691e475214f773196 numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl
954981f2846e6735798fb33c1e6fba76 numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4e4eccd129b31fbef3ced7fb338e862e numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c704c1c56c777bc0fc0d54bbcf9f2ddb numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl
fb459919a3433235312673bd5797ab8b numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl
9998e8ae155872c375ce6c020654176b numpy-2.2.6-cp313-cp313-win32.whl
03df8a78963b318b4dfede10b213dce4 numpy-2.2.6-cp313-cp313-win_amd64.whl
d1982e582eae2fb076942c0bbedcefe4 numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl
cbc7a48b9ca730a8d40927666651430a numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl
cd1d2271c05ccc502b78827b88ff7670 numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl
c2b4fb7464e42af240ad51c8be5fb1ba numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl
6a96c540b8df291a128bb50dfdad0ba4 numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
113d466026e770badd1061a6e1a8ca92 numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1fce5d26d8d6d021954f717b4bad483c numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl
d980d6c4b486ad09dbf62ac5cf1b0b2a numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl
21571229d4376f3c0458d8eb1be3ba52 numpy-2.2.6-cp313-cp313t-win32.whl
4accc0387feec817565aeaba93c79173 numpy-2.2.6-cp313-cp313t-win_amd64.whl
774589ee5f842137322ff19b56a35270 numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
f934cef42ac65a2094dd5280aa6bf9a2 numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
0e53fbb4195726c62b8f237a4bf545e9 numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3c96c89609022ecd27d44b12c2349a06 numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl
63d66dc1db9d603df0a84c870e703cfc numpy-2.2.6.tar.gz
```
##### SHA256
```
b412caa66f72040e6d268491a59f2c43bf03eb6c96dd8f0307829feb7fa2b6fb numpy-2.2.6-cp310-cp310-macosx_10_9_x86_64.whl
8e41fd67c52b86603a91c1a505ebaef50b3314de0213461c7a6e99c9a3beff90 numpy-2.2.6-cp310-cp310-macosx_11_0_arm64.whl
37e990a01ae6ec7fe7fa1c26c55ecb672dd98b19c3d0e1d1f326fa13cb38d163 numpy-2.2.6-cp310-cp310-macosx_14_0_arm64.whl
5a6429d4be8ca66d889b7cf70f536a397dc45ba6faeb5f8c5427935d9592e9cf numpy-2.2.6-cp310-cp310-macosx_14_0_x86_64.whl
efd28d4e9cd7d7a8d39074a4d44c63eda73401580c5c76acda2ce969e0a38e83 numpy-2.2.6-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fc7b73d02efb0e18c000e9ad8b83480dfcd5dfd11065997ed4c6747470ae8915 numpy-2.2.6-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
74d4531beb257d2c3f4b261bfb0fc09e0f9ebb8842d82a7b4209415896adc680 numpy-2.2.6-cp310-cp310-musllinux_1_2_aarch64.whl
8fc377d995680230e83241d8a96def29f204b5782f371c532579b4f20607a289 numpy-2.2.6-cp310-cp310-musllinux_1_2_x86_64.whl
b093dd74e50a8cba3e873868d9e93a85b78e0daf2e98c6797566ad8044e8363d numpy-2.2.6-cp310-cp310-win32.whl
f0fd6321b839904e15c46e0d257fdd101dd7f530fe03fd6359c1ea63738703f3 numpy-2.2.6-cp310-cp310-win_amd64.whl
f9f1adb22318e121c5c69a09142811a201ef17ab257a1e66ca3025065b7f53ae numpy-2.2.6-cp311-cp311-macosx_10_9_x86_64.whl
c820a93b0255bc360f53eca31a0e676fd1101f673dda8da93454a12e23fc5f7a numpy-2.2.6-cp311-cp311-macosx_11_0_arm64.whl
3d70692235e759f260c3d837193090014aebdf026dfd167834bcba43e30c2a42 numpy-2.2.6-cp311-cp311-macosx_14_0_arm64.whl
481b49095335f8eed42e39e8041327c05b0f6f4780488f61286ed3c01368d491 numpy-2.2.6-cp311-cp311-macosx_14_0_x86_64.whl
b64d8d4d17135e00c8e346e0a738deb17e754230d7e0810ac5012750bbd85a5a numpy-2.2.6-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ba10f8411898fc418a521833e014a77d3ca01c15b0c6cdcce6a0d2897e6dbbdf numpy-2.2.6-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
bd48227a919f1bafbdda0583705e547892342c26fb127219d60a5c36882609d1 numpy-2.2.6-cp311-cp311-musllinux_1_2_aarch64.whl
9551a499bf125c1d4f9e250377c1ee2eddd02e01eac6644c080162c0c51778ab numpy-2.2.6-cp311-cp311-musllinux_1_2_x86_64.whl
0678000bb9ac1475cd454c6b8c799206af8107e310843532b04d49649c717a47 numpy-2.2.6-cp311-cp311-win32.whl
e8213002e427c69c45a52bbd94163084025f533a55a59d6f9c5b820774ef3303 numpy-2.2.6-cp311-cp311-win_amd64.whl
41c5a21f4a04fa86436124d388f6ed60a9343a6f767fced1a8a71c3fbca038ff numpy-2.2.6-cp312-cp312-macosx_10_13_x86_64.whl
de749064336d37e340f640b05f24e9e3dd678c57318c7289d222a8a2f543e90c numpy-2.2.6-cp312-cp312-macosx_11_0_arm64.whl
894b3a42502226a1cac872f840030665f33326fc3dac8e57c607905773cdcde3 numpy-2.2.6-cp312-cp312-macosx_14_0_arm64.whl
71594f7c51a18e728451bb50cc60a3ce4e6538822731b2933209a1f3614e9282 numpy-2.2.6-cp312-cp312-macosx_14_0_x86_64.whl
f2618db89be1b4e05f7a1a847a9c1c0abd63e63a1607d892dd54668dd92faf87 numpy-2.2.6-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
fd83c01228a688733f1ded5201c678f0c53ecc1006ffbc404db9f7a899ac6249 numpy-2.2.6-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
37c0ca431f82cd5fa716eca9506aefcabc247fb27ba69c5062a6d3ade8cf8f49 numpy-2.2.6-cp312-cp312-musllinux_1_2_aarch64.whl
fe27749d33bb772c80dcd84ae7e8df2adc920ae8297400dabec45f0dedb3f6de numpy-2.2.6-cp312-cp312-musllinux_1_2_x86_64.whl
4eeaae00d789f66c7a25ac5f34b71a7035bb474e679f410e5e1a94deb24cf2d4 numpy-2.2.6-cp312-cp312-win32.whl
c1f9540be57940698ed329904db803cf7a402f3fc200bfe599334c9bd84a40b2 numpy-2.2.6-cp312-cp312-win_amd64.whl
0811bb762109d9708cca4d0b13c4f67146e3c3b7cf8d34018c722adb2d957c84 numpy-2.2.6-cp313-cp313-macosx_10_13_x86_64.whl
287cc3162b6f01463ccd86be154f284d0893d2b3ed7292439ea97eafa8170e0b numpy-2.2.6-cp313-cp313-macosx_11_0_arm64.whl
f1372f041402e37e5e633e586f62aa53de2eac8d98cbfb822806ce4bbefcb74d numpy-2.2.6-cp313-cp313-macosx_14_0_arm64.whl
55a4d33fa519660d69614a9fad433be87e5252f4b03850642f88993f7b2ca566 numpy-2.2.6-cp313-cp313-macosx_14_0_x86_64.whl
f92729c95468a2f4f15e9bb94c432a9229d0d50de67304399627a943201baa2f numpy-2.2.6-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
1bc23a79bfabc5d056d106f9befb8d50c31ced2fbc70eedb8155aec74a45798f numpy-2.2.6-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e3143e4451880bed956e706a3220b4e5cf6172ef05fcc397f6f36a550b1dd868 numpy-2.2.6-cp313-cp313-musllinux_1_2_aarch64.whl
b4f13750ce79751586ae2eb824ba7e1e8dba64784086c98cdbbcc6a42112ce0d numpy-2.2.6-cp313-cp313-musllinux_1_2_x86_64.whl
5beb72339d9d4fa36522fc63802f469b13cdbe4fdab4a288f0c441b74272ebfd numpy-2.2.6-cp313-cp313-win32.whl
b0544343a702fa80c95ad5d3d608ea3599dd54d4632df855e4c8d24eb6ecfa1c numpy-2.2.6-cp313-cp313-win_amd64.whl
0bca768cd85ae743b2affdc762d617eddf3bcf8724435498a1e80132d04879e6 numpy-2.2.6-cp313-cp313t-macosx_10_13_x86_64.whl
fc0c5673685c508a142ca65209b4e79ed6740a4ed6b2267dbba90f34b0b3cfda numpy-2.2.6-cp313-cp313t-macosx_11_0_arm64.whl
5bd4fc3ac8926b3819797a7c0e2631eb889b4118a9898c84f585a54d475b7e40 numpy-2.2.6-cp313-cp313t-macosx_14_0_arm64.whl
fee4236c876c4e8369388054d02d0e9bb84821feb1a64dd59e137e6511a551f8 numpy-2.2.6-cp313-cp313t-macosx_14_0_x86_64.whl
e1dda9c7e08dc141e0247a5b8f49cf05984955246a327d4c48bda16821947b2f numpy-2.2.6-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
f447e6acb680fd307f40d3da4852208af94afdfab89cf850986c3ca00562f4fa numpy-2.2.6-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
389d771b1623ec92636b0786bc4ae56abafad4a4c513d36a55dce14bd9ce8571 numpy-2.2.6-cp313-cp313t-musllinux_1_2_aarch64.whl
8e9ace4a37db23421249ed236fdcdd457d671e25146786dfc96835cd951aa7c1 numpy-2.2.6-cp313-cp313t-musllinux_1_2_x86_64.whl
038613e9fb8c72b0a41f025a7e4c3f0b7a1b5d768ece4796b674c8f3fe13efff numpy-2.2.6-cp313-cp313t-win32.whl
6031dd6dfecc0cf9f668681a37648373bddd6421fff6c66ec1624eed0180ee06 numpy-2.2.6-cp313-cp313t-win_amd64.whl
0b605b275d7bd0c640cad4e5d30fa701a8d59302e127e5f79138ad62762c3e3d numpy-2.2.6-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
7befc596a7dc9da8a337f79802ee8adb30a552a94f792b9c9d18c840055907db numpy-2.2.6-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
ce47521a4754c8f4593837384bd3424880629f718d87c5d44f8ed763edd63543 numpy-2.2.6-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d042d24c90c41b54fd506da306759e06e568864df8ec17ccc17e9e884634fd00 numpy-2.2.6-pp310-pypy310_pp73-win_amd64.whl
e29554e2bef54a90aa5cc07da6ce955accb83f21ab5de01a62c8478897b264fd numpy-2.2.6.tar.gz
```
###
[`v2.2.5`](https://redirect.github.com/numpy/numpy/releases/tag/v2.2.5):
(Apr 19, 2025)
[Compare
Source](https://redirect.github.com/numpy/numpy/compare/v2.2.4...v2.2.5)
### NumPy 2.2.5 Release Notes
NumPy 2.2.5 is a patch release that fixes bugs found after the 2.2.4
release. It has a large number of typing fixes/improvements as well as
the normal bug fixes and some CI maintenance.
This release supports Python versions 3.10-3.13.
#### 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
- Joren Hammudoglu
- Baskar Gopinath +
- Nathan Goldbaum
- Nicholas Christensen +
- Sayed Adel
- karl +
#### Pull requests merged
A total of 19 pull requests were merged for this release.
- [#​28545](https://redirect.github.com/numpy/numpy/pull/28545):
MAINT: Prepare 2.2.x for further development
- [#​28582](https://redirect.github.com/numpy/numpy/pull/28582):
BUG: Fix return type of NpyIter\_GetIterNext in Cython declarations
- [#​28583](https://redirect.github.com/numpy/numpy/pull/28583):
BUG: avoid deadlocks with C++ shared mutex in dispatch cache
- [#​28585](https://redirect.github.com/numpy/numpy/pull/28585):
TYP: fix typing errors in `_core.strings`
- [#​28631](https://redirect.github.com/numpy/numpy/pull/28631):
MAINT, CI: Update Ubuntu to 22.04 in azure-pipelines
- [#​28632](https://redirect.github.com/numpy/numpy/pull/28632):
BUG: Set writeable flag for writeable dlpacks.
- [#​28633](https://redirect.github.com/numpy/numpy/pull/28633):
BUG: Fix crackfortran parsing error when a division occurs within...
- [#​28650](https://redirect.github.com/numpy/numpy/pull/28650):
TYP: fix `ndarray.tolist()` and `.item()` for unknown dtype
- [#​28654](https://redirect.github.com/numpy/numpy/pull/28654):
BUG: fix deepcopying StringDType arrays
([#​28643](https://redirect.github.com/numpy/numpy/issues/28643))
- [#​28661](https://redirect.github.com/numpy/numpy/pull/28661):
TYP: Accept objects that `write()` to `str` in `savetxt`
- [#​28663](https://redirect.github.com/numpy/numpy/pull/28663):
CI: Replace QEMU armhf with native (32-bit compatibility mode)
- [#​28682](https://redirect.github.com/numpy/numpy/pull/28682):
SIMD: Resolve Highway QSort symbol linking error on aarch32/ASIMD
- [#​28683](https://redirect.github.com/numpy/numpy/pull/28683):
TYP: add missing `"b1"` literals for `dtype[bool]`
- [#​28705](https://redirect.github.com/numpy/numpy/pull/28705):
TYP: Fix false rejection of `NDArray[object_].__abs__()`
- [#​28706](https://redirect.github.com/numpy/numpy/pull/28706):
TYP: Fix inconsistent `NDArray[float64].__[r]truediv__` return...
- [#​28723](https://redirect.github.com/numpy/numpy/pull/28723):
TYP: fix string-like `ndarray` rich comparison operators
- [#​28758](https://redirect.github.com/numpy/numpy/pull/28758):
TYP: some `[arg]partition` fixes
- [#​28772](https://redirect.github.com/numpy/numpy/pull/28772):
TYP: fix incorrect `random.Generator.integers` return type
- [#​28774](https://redirect.github.com/numpy/numpy/pull/28774):
TYP: fix `count_nonzero` signature
#### Checksums
##### MD5
```
3a5d0889d6d7951f44bc6f7a03fa30c6 numpy-2.2.5-cp310-cp310-macosx_10_9_x86_64.whl
bcf9f4e768b070e17b2635f422a6e27d numpy-2.2.5-cp310-cp310-macosx_11_0_arm64.whl
e82c8fa47a65bb5c2c83295f549dab12 numpy-2.2.5-cp310-cp310-macosx_14_0_arm64.whl
a5511a995c0f79a8b9a81f2b50e9f692 numpy-2.2.5-cp310-cp310-macosx_14_0_x86_64.whl
72bfc1f98238a8e4ba08999e61111e0e numpy-2.2.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
146c83a5b8099d8d2607392b2ef7fedf numpy-2.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6ebdc80b54b008a10575e5d7bbb613f5 numpy-2.2.5-cp310-cp310-musllinux_1_2_aarch64.whl
97efde6443da8f9280a5fc2614a087e5 numpy-2.2.5-cp310-cp310-musllinux_1_2_x86_64.whl
c143f352206cec535b41b6b1d34c5898 numpy-2.2.5-cp310-cp310-win32.whl
0b17fbbf584785f675f1c5b24a00ff93 numpy-2.2.5-cp310-cp310-win_amd64.whl
58532622d7eff69a3c71c1ae89dea070 numpy-2.2.5-cp311-cp311-macosx_10_9_x86_64.whl
0d002c733bb02debe0b15de5ba872d1e numpy-2.2.5-cp311-cp311-macosx_11_0_arm64.whl
ff0c736c60be96506806061ace2251a1 numpy-2.2.5-cp311-cp311-macosx_14_0_arm64.whl
4febdec973c4405fd08ef35e0c130de1 numpy-2.2.5-cp311-cp311-macosx_14_0_x86_64.whl
0bf4e457c612e565420e135458e70fe0 numpy-2.2.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a43b608ad15ebdc0960611497205d598 numpy-2.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
7b4b1afd412149a9af7c25d7346fade8 numpy-2.2.5-cp311-cp311-musllinux_1_2_aarch64.whl
a1e70be013820f92dbfd4796fc4044bb numpy-2.2.5-cp311-cp311-musllinux_1_2_x86_64.whl
73344e05a6fec0b38183363b4a026252 numpy-2.2.5-cp311-cp311-win32.whl
b7d5fdd23057c58d15c84eef6bfedb55 numpy-2.2.5-cp311-cp311-win_amd64.whl
801b11bb546aac2d92d7b3d5d6c90e86 numpy-2.2.5-cp312-cp312-macosx_10_13_x86_64.whl
68dc4298cad9405ad30cfb723be4ae48 numpy-2.2.5-cp312-cp312-macosx_11_0_arm64.whl
c31c872e0fa8df5ed7f91882621a925f numpy-2.2.5-cp312-cp312-macosx_14_0_arm64.whl
179dfa545c32c44b77cf8db3b973785f numpy-2.2.5-cp312-cp312-macosx_14_0_x86_64.whl
4562513ff2f1e3f31d66b8e435000141 numpy-2.2.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c80a2d8aab1a4d6a66f3fca2f0744744 numpy-2.2.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
e363e0d8c116522d55b0ddd0cbf2de67 numpy-2.2.5-cp312-cp312-musllinux_1_2_aarch64.whl
d31d443270c76b7238ece2f87b048d21 numpy-2.2.5-cp312-cp312-musllinux_1_2_x86_64.whl
bf469fe048fa4ed75a5d8725297e283a numpy-2.2.5-cp312-cp312-win32.whl
069b832aa15b6a815497135e7fa8cae8 numpy-2.2.5-cp312-cp312-win_amd64.whl
b2cf059c831cbcfdb4044613a1e5bc8d numpy-2.2.5-cp313-cp313-macosx_10_13_x86_64.whl
70bcb93e55ff0f6602636602e0834607 numpy-2.2.5-cp313-cp313-macosx_11_0_arm64.whl
00c4938d67fd5b658ad92ac26fbe9cab numpy-2.2.5-cp313-cp313-macosx_14_0_arm64.whl
0ca38aa51874b9252a2c9d85f81dcd07 numpy-2.2.5-cp313-cp313-macosx_14_0_x86_64.whl
6062cf707b8bc07a1600af0991a0a88e numpy-2.2.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
62c1cf7de0327546f3a1e3852de640d3 numpy-2.2.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ab3ad3390396552f76160139cc528784 numpy-2.2.5-cp313-cp313-musllinux_1_2_aarch64.whl
d258ba55c9a3936fa0c113cac8bbc0cc numpy-2.2.5-cp313-cp313-musllinux_1_2_x86_64.whl
59bb7e1acb81fc4a02c3b791e110f01e numpy-2.2.5-cp313-cp313-win32.whl
2e5728a9e5c6405d3a22138e4dd7019f numpy-2.2.5-cp313-cp313-win_amd64.whl
d315521ec7275d0341787f2450e57e55 numpy-2.2.5-cp313-cp313t-macosx_10_13_x86_64.whl
17018c7c259ae81cf2ca4f58523d7d1c numpy-2.2.5-cp313-cp313t-macosx_11_0_arm64.whl
ef6fd6a9c6a07db004a272b82f0ea710 numpy-2.2.5-cp313-cp313t-macosx_14_0_arm64.whl
07b2baf70b84b44ca6924794d9c7e431 numpy-2.2.5-cp313-cp313t-macosx_14_0_x86_64.whl
a2fb1ed562d2b6da091d980c7486d113 numpy-2.2.5-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
22fa9137283f463436d7b20a220071cd numpy-2.2.5-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
b0ae924e4834155eb5ac159ae611c292 numpy-2.2.5-cp313-cp313t-musllinux_1_2_aarch64.whl
c7a8351484f2df9a499c68f1ac73121c numpy-2.2.5-cp313-cp313t-musllinux_1_2_x86_64.whl
1da753e4127a0bdcdfbfa6639568057e numpy-2.2.5-cp313-cp313t-win32.whl
a8c869efc0888f214239e5c4f0e6acfb numpy-2.2.5-cp313-cp313t-win_amd64.whl
7255b93f38e7d54a59d6798182f24c6a numpy-2.2.5-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
6743ce025de6c245b03ca8511b306503 numpy-2.2.5-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
5abbeec4ff2add1c46f8779f730c73fa numpy-2.2.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
8e2e01f02d05e111ef2b104d1b3afad1 numpy-2.2.5-pp310-pypy310_pp73-win_amd64.whl
df2e46b468f9fdf06b13b04eca9a723f numpy-2.2.5.tar.gz
```
##### SHA256
```
1f4a922da1729f4c40932b2af4fe84909c7a6e167e6e99f71838ce3a29f3fe26 numpy-2.2.5-cp310-cp310-macosx_10_9_x86_64.whl
b6f91524d31b34f4a5fee24f5bc16dcd1491b668798b6d85585d836c1e633a6a numpy-2.2.5-cp310-cp310-macosx_11_0_arm64.whl
19f4718c9012e3baea91a7dba661dcab2451cda2550678dc30d53acb91a7290f numpy-2.2.5-cp310-cp310-macosx_14_0_arm64.whl
eb7fd5b184e5d277afa9ec0ad5e4eb562ecff541e7f60e69ee69c8d59e9aeaba numpy-2.2.5-cp310-cp310-macosx_14_0_x86_64.whl
6413d48a9be53e183eb06495d8e3b006ef8f87c324af68241bbe7a39e8ff54c3 numpy-2.2.5-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
7451f92eddf8503c9b8aa4fe6aa7e87fd51a29c2cfc5f7dbd72efde6c65acf57 numpy-2.2.5-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0bcb1d057b7571334139129b7f941588f69ce7c4ed15a9d6162b2ea54ded700c numpy-2.2.5-cp310-cp310-musllinux_1_2_aarch64.whl
36ab5b23915887543441efd0417e6a3baa08634308894316f446027611b53bf1 numpy-2.2.5-cp310-cp310-musllinux_1_2_x86_64.whl
422cc684f17bc963da5f59a31530b3936f57c95a29743056ef7a7903a5dbdf88 numpy-2.2.5-cp310-cp310-win32.whl
e4f0b035d9d0ed519c813ee23e0a733db81ec37d2e9503afbb6e54ccfdee0fa7 numpy-2.2.5-cp310-cp310-win_amd64.whl
c42365005c7a6c42436a54d28c43fe0e01ca11eb2ac3cefe796c25a5f98e5e9b numpy-2.2.5-cp311-cp311-macosx_10_9_x86_64.whl
498815b96f67dc347e03b719ef49c772589fb74b8ee9ea2c37feae915ad6ebda numpy-2.2.5-cp311-cp311-macosx_11_0_arm64.whl
6411f744f7f20081b1b4e7112e0f4c9c5b08f94b9f086e6f0adf3645f85d3a4d numpy-2.2.5-cp311-cp311-macosx_14_0_arm64.whl
9de6832228f617c9ef45d948ec1cd8949c482238d68b2477e6f642c33a7b0a54 numpy-2.2.5-cp311-cp311-macosx_14_0_x86_64.whl
369e0d4647c17c9363244f3468f2227d557a74b6781cb62ce57cf3ef5cc7c610 numpy-2.2.5-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
262d23f383170f99cd9191a7c85b9a50970fe9069b2f8ab5d786eca8a675d60b numpy-2.2.5-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
aa70fdbdc3b169d69e8c59e65c07a1c9351ceb438e627f0fdcd471015cd956be numpy-2.2.5-cp311-cp311-musllinux_1_2_aarch64.whl
37e32e985f03c06206582a7323ef926b4e78bdaa6915095ef08070471865b906 numpy-2.2.5-cp311-cp311-musllinux_1_2_x86_64.whl
f5045039100ed58fa817a6227a356240ea1b9a1bc141018864c306c1a16d4175 numpy-2.2.5-cp311-cp311-win32.whl
b13f04968b46ad705f7c8a80122a42ae8f620536ea38cf4bdd374302926424dd numpy-2.2.5-cp311-cp311-win_amd64.whl
ee461a4eaab4f165b68780a6a1af95fb23a29932be7569b9fab666c407969051 numpy-2.2.5-cp312-cp312-macosx_10_13_x86_64.whl
ec31367fd6a255dc8de4772bd1658c3e926d8e860a0b6e922b615e532d320ddc numpy-2.2.5-cp312-cp312-macosx_11_0_arm64.whl
47834cde750d3c9f4e52c6ca28a7361859fcaf52695c7dc3cc1a720b8922683e numpy-2.2.5-cp312-cp312-macosx_14_0_arm64.whl
2c1a1c6ccce4022383583a6ded7bbcda22fc635eb4eb1e0a053336425ed36dfa numpy-2.2.5-cp312-cp312-macosx_14_0_x86_64.whl
9d75f338f5f79ee23548b03d801d28a505198297534f62416391857ea0479571 numpy-2.2.5-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3a801fef99668f309b88640e28d261991bfad9617c27beda4a3aec4f217ea073 numpy-2.2.5-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
abe38cd8381245a7f49967a6010e77dbf3680bd3627c0fe4362dd693b404c7f8 numpy-2.2.5-cp312-cp312-musllinux_1_2_aarch64.whl
5a0ac90e46fdb5649ab6369d1ab6104bfe5854ab19b645bf5cda0127a13034ae numpy-2.2.5-cp312-cp312-musllinux_1_2_x86_64.whl
0cd48122a6b7eab8f06404805b1bd5856200e3ed6f8a1b9a194f9d9054631beb numpy-2.2.5-cp312-cp312-win32.whl
ced69262a8278547e63409b2653b372bf4baff0870c57efa76c5703fd6543282 numpy-2.2.5-cp312-cp312-win_amd64.whl
059b51b658f4414fff78c6d7b1b4e18283ab5fa56d270ff212d5ba0c561846f4 numpy-2.2.5-cp313-cp313-macosx_10_13_x86_64.whl
47f9ed103af0bc63182609044b0490747e03bd20a67e391192dde119bf43d52f numpy-2.2.5-cp313-cp313-macosx_11_0_arm64.whl
261a1ef047751bb02f29dfe337230b5882b54521ca121fc7f62668133cb119c9 numpy-2.2.5-cp313-cp313-macosx_14_0_arm64.whl
4520caa3807c1ceb005d125a75e715567806fed67e315cea619d5ec6e75a4191 numpy-2.2.5-cp313-cp313-macosx_14_0_x86_64.whl
3d14b17b9be5f9c9301f43d2e2a4886a33b53f4e6fdf9ca2f4cc60aeeee76372 numpy-2.2.5-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
2ba321813a00e508d5421104464510cc962a6f791aa2fca1c97b1e65027da80d numpy-2.2.5-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a4cbdef3ddf777423060c6f81b5694bad2dc9675f110c4b2a60dc0181543fac7 numpy-2.2.5-cp313-cp313-musllinux_1_2_aarch64.whl
54088a5a147ab71a8e7fdfd8c3601972751ded0739c6b696ad9cb0343e21ab73 numpy-2.2.5-cp313-cp313-musllinux_1_2_x86_64.whl
c8b82a55ef86a2d8e81b63da85e55f5537d2157165be1cb2ce7cfa57b6aef38b numpy-2.2.5-cp313-cp313-win32.whl
d8882a829fd779f0f43998e931c466802a77ca1ee0fe25a3abe50278616b1471 numpy-2.2.5-cp313-cp313-win_amd64.whl
e8b025c351b9f0e8b5436cf28a07fa4ac0204d67b38f01433ac7f9b870fa38c6 numpy-2.2.5-cp313-cp313t-macosx_10_13_x86_64.whl
8dfa94b6a4374e7851bbb6f35e6ded2120b752b063e6acdd3157e4d2bb922eba numpy-2.2.5-cp313-cp313t-macosx_11_0_arm64.whl
97c8425d4e26437e65e1d189d22dff4a079b747ff9c2788057bfb8114ce1e133 numpy-2.2.5-cp313-cp313t-macosx_14_0_arm64.whl
352d330048c055ea6db701130abc48a21bec690a8d38f8284e00fab256dc1376 numpy-2.2.5-cp313-cp313t-macosx_14_0_x86_64.whl
8b4c0773b6ada798f51f0f8e30c054d32304ccc6e9c5d93d46cb26f3d385ab19 numpy-2.2.5-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
55f09e00d4dccd76b179c0f18a44f041e5332fd0e022886ba1c0bbf3ea4a18d0 numpy-2.2.5-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
02f226baeefa68f7d579e213d0f3493496397d8f1cff5e2b222af274c86a552a numpy-2.2.5-cp313-cp313t-musllinux_1_2_aarch64.whl
c26843fd58f65da9491165072da2cccc372530681de481ef670dcc8e27cfb066 numpy-2.2.5-cp313-cp313t-musllinux_1_2_x86_64.whl
1a161c2c79ab30fe4501d5a2bbfe8b162490757cf90b7f05be8b80bc02f7bb8e numpy-2.2.5-cp313-cp313t-win32.whl
d403c84991b5ad291d3809bace5e85f4bbf44a04bdc9a88ed2bb1807b3360bb8 numpy-2.2.5-cp313-cp313t-win_amd64.whl
b4ea7e1cff6784e58fe281ce7e7f05036b3e1c89c6f922a6bfbc0a7e8768adbe numpy-2.2.5-pp310-pypy310_pp73-macosx_10_15_x86_64.whl
d7543263084a85fbc09c704b515395398d31d6395518446237eac219eab9e55e numpy-2.2.5-pp310-pypy310_pp73-macosx_14_0_x86_64.whl
0255732338c4fdd00996c0421884ea8a3651eea555c3a56b84892b66f696eb70 numpy-2.2.5-pp310-pypy310_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d2e3bdadaba0e040d1e7ab39db73e0afe2c74ae277f5614dad53eadbecbbb169 numpy-2.2.5-pp310-pypy310_pp73-win_amd64.whl
a9c0d994680cd991b1cb772e8b297340085466a6fe964bc9d4e80f5e2f43c291 numpy-2.2.5.tar.gz
```
###
[`v2.2.4`](https://redirect.github.com/numpy/numpy/releases/tag/v2.2.4):
2.2.4 (Mar 16, 2025)
[Compare
Source](https://redirect.github.com/numpy/numpy/compare/v2.2.3...v2.2.4)
### NumPy 2.2.4 Release Notes
NumPy 2.2.4 is a patch release that fixes bugs found after the 2.2.3
release. There are a large number of typing improvements, the rest of
the changes are the usu
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on
Monday ( * 0-3 * * 1 ) (UTC), 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.
👻 **Immortal**: This PR will be recreated if closed unmerged. Get
[config
help](https://redirect.github.com/renovatebot/renovate/discussions) if
that's undesired.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Glatzel/pyxis).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC41MC4wIiwidXBkYXRlZEluVmVyIjoiNDAuNjIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
---------
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: Glatzel <chenzelin9794@gmail.com> build: Update dependency NLog to v6 (#498)
This PR contains the following updates:
| Package | Change | Age | Adoption | Passing | Confidence |
|---|---|---|---|---|---|
| [NLog](https://nlog-project.org/)
([source](https://redirect.github.com/NLog/NLog)) | `5.5.0` -> `6.0.0` |
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
[](https://docs.renovatebot.com/merge-confidence/)
|
---
### Release Notes
<details>
<summary>NLog/NLog (NLog)</summary>
###
[`v6.0.0`](https://redirect.github.com/NLog/NLog/releases/tag/v6.0.0):
NLog 6.0
**Major changes:**
- Support Ahead-of-Time (AOT) builds without warnings
- Support Nullable references
- Support `ReadOnlySpan` to reduce memory allocations
- LogFactory supports `FlushAsync` and `IDisposableAsync`
- FileTarget removed support for `ConcurrentWrites`
- FileTarget refactored file-archive-logic with `ArchiveSuffixFormat`
NLog v6 reducing its footprint by extracting features into separate
nuget-packages:
-
[NLog.Targets.AtomicFile](https://www.nuget.org/packages/NLog.Targets.AtomicFile)
- ConcurrentWrites using atomic file-append from operating system API.
-
[NLog.Targets.ConcurrentFile](https://www.nuget.org/packages/NLog.Targets.ConcurrentFile)
- Original FileTarget with ConcurrentWrites using global mutex from
operating system API.
-
[NLog.Targets.GZipFile](https://www.nuget.org/packages/NLog.Targets.GZipFile)
- EnableArchiveFileCompression using GZipStream for writing GZip
compressed log-files.
- [NLog.Targets.Mail](https://www.nuget.org/packages/NLog.Targets.Mail)
- Depends on System.Net.Mail.SmtpClient.
-
[NLog.Targets.Network](https://www.nuget.org/packages/NLog.Targets.Network)
- Depends on TCP and UDP Network Socket, and adds support for Syslog and
Graylog.
-
[NLog.Targets.Trace](https://www.nuget.org/packages/NLog.Targets.Trace)
- Depends on System.Diagnostics.TraceListener.
-
[NLog.Targets.WebService](https://www.nuget.org/packages/NLog.Targets.WebService)
- Depends on System.Net.Http.HttpClient.
- [NLog.RegEx](https://www.nuget.org/packages/NLog.RegEx) - Depends on
System.Text.RegularExpressions which is a huge dependency for a logging
library.
List of all [NLog 6.0 Pull
Requests](https://redirect.github.com/NLog/NLog/pulls?q=is%3Apr+is%3Amerged+milestone:%226.0%22)
- [Breaking
Changes](https://redirect.github.com/NLog/NLog/pulls?q=is%3Apr+label%3A%22breaking%20change%22+is%3Amerged+milestone:%226.0%22)
- [Breaking Behavior
Changes](https://redirect.github.com/NLog/NLog/pulls?q=is%3Apr+label%3A%22breaking%20behavior%20change%22+is%3Amerged+milestone:%226.0%22)
-
[Features](https://redirect.github.com/NLog/NLog/pulls?q=is%3Apr+label%3A%22Feature%22+is%3Amerged+milestone:%226.0%22)
-
[Improvements](https://redirect.github.com/NLog/NLog/pulls?q=is%3Apr+label%3A%22Enhancement%22+is%3Amerged+milestone:%226.0%22)
-
[Performance](https://redirect.github.com/NLog/NLog/pulls?q=is%3Apr+label%3A%22Performance%22+is%3Amerged+milestone:%226.0%22)
See also [List of major changes in NLog
v6](https://nlog-project.org/2025/04/29/nlog-6-0-major-changes.html) for
more details.
Thanks to all contributers:
[@​ana1250](https://redirect.github.com/ana1250),
[@​Pavan8374](https://redirect.github.com/Pavan8374),
[@​smnsht](https://redirect.github.com/smnsht),
[@​RomanSoloweow](https://redirect.github.com/RomanSoloweow),
[@​wadebaird](https://redirect.github.com/wadebaird),
[@​hangy](https://redirect.github.com/hangy),
[@​lavige777](https://redirect.github.com/lavige777),
[@​jokoyoski](https://redirect.github.com/jokoyoski),
[@​saltukkos](https://redirect.github.com/saltukkos),
[@​nih0n](https://redirect.github.com/nih0n),
[@​michaelplavnik](https://redirect.github.com/michaelplavnik),
[@​Aaronmsv](https://redirect.github.com/Aaronmsv),
[@​ShadowDancer](https://redirect.github.com/ShadowDancer),
[@​Orace](https://redirect.github.com/Orace),
[@​tvogel-nid](https://redirect.github.com/tvogel-nid),
[@​martinzding](https://redirect.github.com/martinzding),
[@​kurnakovv](https://redirect.github.com/kurnakovv),
[@​dance](https://redirect.github.com/dance),
[@​JohnVerheij](https://redirect.github.com/JohnVerheij)
</details>
---
### Configuration
📅 **Schedule**: Branch creation - Between 12:00 AM and 03:59 AM, only on
Monday ( * 0-3 * * 1 ) (UTC), 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.
---
- [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check
this box
---
This PR was generated by [Mend Renovate](https://mend.io/renovate/).
View the [repository job
log](https://developer.mend.io/github/Glatzel/pyxis).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0MC42Mi4xIiwidXBkYXRlZEluVmVyIjoiNDAuNjIuMSIsInRhcmdldEJyYW5jaCI6Im1haW4iLCJsYWJlbHMiOltdfQ==-->
Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Active Branches
No pull requests foundAs pull requests are created, their performance will appear here. © 2025 CodSpeed Technology