Skip to content

Pin numpy to latest version 2.4.4 - #116

Open
pyup-bot wants to merge 1 commit into
masterfrom
pyup-pin-numpy-2.4.4
Open

Pin numpy to latest version 2.4.4#116
pyup-bot wants to merge 1 commit into
masterfrom
pyup-pin-numpy-2.4.4

Conversation

@pyup-bot

Copy link
Copy Markdown
Collaborator

This PR pins numpy to the latest release 2.4.4.

Changelog

2.4.3

The NumPy 2.4.3 is a patch release that fixes bugs discovered after the

2.4.2

The NumPy 2.4.2 is a patch release that fixes bugs discovered after the

2.4.1

The NumPy 2.4.1 is a patch release that fixes bugs discoved after the

2.4.0

The NumPy 2.4.0 release continues the work to improve free threaded Python
support, user dtypes implementation, and annotations. There are many expired
deprecations and bug fixes as well.
This release supports Python versions 3.11-3.14
Highlights
Apart from annotations and `same_value` kwarg, the 2.4 highlights are mostly
of interest to downstream developers. They should help in implementing new user
dtypes.
- Many annotation improvements. In particular, runtime signature introspection.
- New `casting` kwarg `'same_value'` for casting by value.
- New `PyUFunc_AddLoopsFromSpec` function that can be used to add user sort
loops using the `ArrayMethod` API.
- New `__numpy_dtype__` protocol.
Deprecations
Setting the `strides` attribute is deprecated
Setting the strides attribute is now deprecated since mutating
an array is unsafe if an array is shared, especially by multiple
threads. As an alternative, you can create a new view (no copy) via:
- `np.lib.stride_tricks.strided_window_view` if applicable,
- `np.lib.stride_tricks.as_strided` for the general case,
- or the `np.ndarray` constructor (`buffer` is the original array) for a
light-weight version.
([gh-28925](https://github.com/numpy/numpy/pull/28925))
Positional `out` argument to `np.maximum`, `np.minimum` is deprecated
Passing the output array `out` positionally to `numpy.maximum` and
`numpy.minimum` is deprecated. For example, `np.maximum(a, b, c)` will emit
a deprecation warning, since `c` is treated as the output buffer rather than
a third input.
Always pass the output with the keyword form, e.g. `np.maximum(a, b, out=c)`.
This makes intent clear and simplifies type annotations.
([gh-29052](https://github.com/numpy/numpy/pull/29052))
`align=` must be passed as boolean to `np.dtype()`
When creating a new `dtype` a `VisibleDeprecationWarning` will be given if
`align=` is not a boolean. This is mainly to prevent accidentally passing a
subarray align flag where it has no effect, such as `np.dtype("f8", 3)`
instead of `np.dtype(("f8", 3))`. We strongly suggest to always pass
`align=` as a keyword argument.
([gh-29301](https://github.com/numpy/numpy/pull/29301))
Assertion and warning control utilities are deprecated
`np.testing.assert_warns` and `np.testing.suppress_warnings` are
deprecated. Use `warnings.catch_warnings`, `warnings.filterwarnings`,
`pytest.warns`, or `pytest.filterwarnings` instead.
([gh-29550](https://github.com/numpy/numpy/pull/29550))
`np.fix` is pending deprecation
The `numpy.fix` function will be deprecated in a future release. It is
recommended to use `numpy.trunc` instead, as it provides the same
functionality of truncating decimal values to their integer parts. Static type
checkers might already report a warning for the use of `numpy.fix`.
([gh-30168](https://github.com/numpy/numpy/pull/30168))
in-place modification of `ndarray.shape` is pending deprecation
Setting the `ndarray.shape` attribute directly will be deprecated in a future
release. Instead of modifying the shape in place, it is recommended to use the
`numpy.reshape` function. Static type checkers might already report a
warning for assignments to `ndarray.shape`.
([gh-30282](https://github.com/numpy/numpy/pull/30282))
Deprecation of `numpy.lib.user_array.container`
The `numpy.lib.user_array.container` class is deprecated and will be removed
in a future version.
([gh-30284](https://github.com/numpy/numpy/pull/30284))
Expired deprecations
Removed deprecated `MachAr` runtime discovery mechanism.
([gh-29836](https://github.com/numpy/numpy/pull/29836))
Raise `TypeError` on attempt to convert array with `ndim > 0` to scalar
Conversion of an array with `ndim > 0` to a scalar was deprecated in NumPy
1.25. Now, attempting to do so raises `TypeError`. Ensure you extract a
single element from your array before performing this operation.
([gh-29841](https://github.com/numpy/numpy/pull/29841))
Removed numpy.linalg.linalg and numpy.fft.helper
The following were deprecated in NumPy 2.0 and have been moved to private
modules:
- `numpy.linalg.linalg`
Use `numpy.linalg` instead.
- `numpy.fft.helper`
Use `numpy.fft` instead.
([gh-29909](https://github.com/numpy/numpy/pull/29909))
Removed `interpolation` parameter from quantile and percentile functions
The `interpolation` parameter was deprecated in NumPy 1.22.0 and has been
removed from the following functions:
- `numpy.percentile`
- `numpy.nanpercentile`
- `numpy.quantile`
- `numpy.nanquantile`
Use the `method` parameter instead.
([gh-29973](https://github.com/numpy/numpy/pull/29973))
Removed `numpy.in1d`
`numpy.in1d` has been deprecated since NumPy 2.0 and is now removed in favor of `numpy.isin`.
([gh-29978](https://github.com/numpy/numpy/pull/29978))
Removed `numpy.ndindex.ndincr()`
The `ndindex.ndincr()` method has been deprecated since NumPy 1.20 and is now
removed; use `next(ndindex)` instead.
([gh-29980](https://github.com/numpy/numpy/pull/29980))
Removed `fix_imports` parameter from `numpy.save`
The `fix_imports` parameter was deprecated in NumPy 2.1.0 and is now removed.
This flag has been ignored since NumPy 1.17 and was only needed to support
loading files in Python 2 that were written in Python 3.
([gh-29984](https://github.com/numpy/numpy/pull/29984))
Removal of four undocumented `ndarray.ctypes` methods
Four undocumented methods of the `ndarray.ctypes` object have been removed:
- `_ctypes.get_data()` (use `_ctypes.data` instead)
- `_ctypes.get_shape()` (use `_ctypes.shape` instead)
- `_ctypes.get_strides()` (use `_ctypes.strides` instead)
- `_ctypes.get_as_parameter()` (use `_ctypes._as_parameter_` instead)
These methods have been deprecated since NumPy 1.21.
([gh-29986](https://github.com/numpy/numpy/pull/29986))
Removed `newshape` parameter from `numpy.reshape`
The `newshape` parameter was deprecated in NumPy 2.1.0 and has been
removed from `numpy.reshape`. Pass it positionally or use `shape=`
on newer NumPy versions.
([gh-29994](https://github.com/numpy/numpy/pull/29994))
Removal of deprecated functions and arguments
The following long-deprecated APIs have been removed:
- `numpy.trapz` --- deprecated since NumPy 2.0 (2023-08-18). Use `numpy.trapezoid` or
`scipy.integrate` functions instead.
- `disp` function --- deprecated from 2.0 release and no longer functional. Use
your own printing function instead.
- `bias` and `ddof` arguments in `numpy.corrcoef` --- these had no effect
since NumPy 1.10.
([gh-29997](https://github.com/numpy/numpy/pull/29997))
Removed `delimitor` parameter from `numpy.ma.mrecords.fromtextfile()`
The `delimitor` parameter was deprecated in NumPy 1.22.0 and has been
removed from `numpy.ma.mrecords.fromtextfile()`. Use `delimiter` instead.
([gh-30021](https://github.com/numpy/numpy/pull/30021))
`numpy.array2string` and `numpy.sum` deprecations finalized
The following long-deprecated APIs have been removed or converted to errors:
- The `style` parameter has been removed from `numpy.array2string`.
This argument had no effect since Numpy 1.14.0. Any arguments following
it, such as `formatter` have now been made keyword-only.
- Calling `np.sum(generator)` directly on a generator object now raises a
`TypeError`. This behavior was deprecated in NumPy 1.15.0. Use
`np.sum(np.fromiter(generator))` or the python `sum` builtin instead.
([gh-30068](https://github.com/numpy/numpy/pull/30068))
Compatibility notes
- NumPy\'s C extension modules have begun to use multi-phase initialisation, as
defined by PEP 489. As part of this, a new explicit check has been added that
each such module is only imported once per Python process. This comes with
the side-effect that deleting `numpy` from `sys.modules` and re-importing
it will now fail with an `ImportError`. This has always been unsafe, with
unexpected side-effects, though did not previously raise an error.
([gh-29030](https://github.com/numpy/numpy/pull/29030))
- `numpy.round` now always returns a copy. Previously, it returned a view
for integer inputs for `decimals >= 0` and a copy in all other cases.
This change brings `round` in line with `ceil`, `floor` and `trunc`.
([gh-29137](https://github.com/numpy/numpy/pull/29137))
- Type-checkers will no longer accept calls to `numpy.arange` with
`start` as a keyword argument. This was done for compatibility with
the Array API standard. At runtime it is still possible to use
`numpy.arange` with `start` as a keyword argument.
([gh-30147](https://github.com/numpy/numpy/pull/30147))
- The Macro NPY_ALIGNMENT_REQUIRED has been removed The macro was defined in
the `npy_cpu.h` file, so might be regarded as semi public. As it turns out,
with modern compilers and hardware it is almost always the case that
alignment is required, so numpy no longer uses the macro. It is unlikely
anyone uses it, but you might want to compile with the `-Wundef` flag or
equivalent to be sure.
([gh-29094](https://github.com/numpy/numpy/pull/29094))
C API changes
The NPY_SORTKIND enum has been enhanced with new variables
This is of interest if you are using `PyArray_Sort` or `PyArray_ArgSort`.
We have changed the semantics of the old names in the `NPY_SORTKIND` enum and
added new ones. The changes are backward compatible, and no recompilation is
needed. The new names of interest are:
- `NPY_SORT_DEFAULT` \-- default sort (same value as `NPY_QUICKSORT`)
- `NPY_SORT_STABLE` \-- the sort must be stable (same value as `NPY_MERGESORT`)
- `NPY_SORT_DESCENDING` \-- the sort must be descending
The semantic change is that `NPY_HEAPSORT` is mapped to `NPY_QUICKSORT` when used.
Note that `NPY_SORT_DESCENDING` is not yet implemented.
([gh-29642](https://github.com/numpy/numpy/pull/29642))
New `NPY_DT_get_constant` slot for DType constant retrieval
A new slot `NPY_DT_get_constant` has been added to the DType API, allowing
dtype implementations to provide constant values such as machine limits and
special values. The slot function has the signature:
int get_constant(PyArray_Descr *descr, int constant_id, void *ptr)
It returns 1 on success, 0 if the constant is not available, or -1 on error.
The function is always called with the GIL held and may write to unaligned memory.
Integer constants (marked with the `1 << 16` bit) return `npy_intp` values,
while floating-point constants return values of the dtype\'s native type.
Implementing this can be used by user DTypes to provide `numpy.finfo` values.
([gh-29836](https://github.com/numpy/numpy/pull/29836))
A new `PyUFunc_AddLoopsFromSpecs` convenience function has been added to the C API.
This function allows adding multiple ufunc loops from their specs in one call
using a NULL-terminated array of `PyUFunc_LoopSlot` structs. It allows
registering sorting and argsorting loops using the new ArrayMethod API.
([gh-29900](https://github.com/numpy/numpy/pull/29900))
New Features
- Let `np.size` accept multiple axes.
([gh-29240](https://github.com/numpy/numpy/pull/29240))
- Extend `numpy.pad` to accept a dictionary for the `pad_width` argument.
([gh-29273](https://github.com/numpy/numpy/pull/29273))
`'same_value'` for casting by value
The `casting` kwarg now has a `'same_value'` option that checks the actual
values can be round-trip cast without changing value. Currently it is only
implemented in `ndarray.astype`. This will raise a `ValueError` if any of the
values in the array would change as a result of the cast, including rounding of
floats or overflowing of ints.
([gh-29129](https://github.com/numpy/numpy/pull/29129))
`StringDType` fill_value support in `numpy.ma.MaskedArray`
Masked arrays now accept and preserve a Python `str` as their `fill_value`
when using the variable‑width `StringDType` (kind `'T'`), including through
slicing and views. The default is `'N/A'` and may be overridden by any valid
string. This fixes issue [gh‑29421](https://github.com/numpy/numpy/issues/29421)
and was implemented in pull request [gh‑29423](https://github.com/numpy/numpy/pull/29423).
([gh-29423](https://github.com/numpy/numpy/pull/29423))
`ndmax` option for `numpy.array`
The `ndmax` option is now available for `numpy.array`.
It explicitly limits the maximum number of dimensions created from nested sequences.
This is particularly useful when creating arrays of list-like objects with `dtype=object`.
By default, NumPy recurses through all nesting levels to create the highest possible
dimensional array, but this behavior may not be desired when the intent is to preserve
nested structures as objects. The `ndmax` parameter provides explicit control over
this recursion depth.
python
Default behavior: Creates a 2D array
>>> a = np.array([[1, 2], [3, 4]], dtype=object)
>>> a
array([[1, 2],
[3, 4]], dtype=object)
>>> a.shape
(2, 2)
With ndmax=1: Creates a 1D array
>>> b = np.array([[1, 2], [3, 4]], dtype=object, ndmax=1)
>>> b
array([list([1, 2]), list([3, 4])], dtype=object)
>>> b.shape
(2,)
([gh-29569](https://github.com/numpy/numpy/pull/29569))
Warning emitted when using `where` without `out`
Ufuncs called with a `where` mask and without an `out` positional or kwarg will
now emit a warning. This usage tends to trip up users who expect some value in
output locations where the mask is `False` (the ufunc will not touch those
locations). The warning can be suppressed by using `out=None`.
([gh-29813](https://github.com/numpy/numpy/pull/29813))
DType sorting and argsorting supports the ArrayMethod API
User-defined dtypes can now implement custom sorting and argsorting using the
`ArrayMethod` API. This mechanism can be used in place of the
`PyArray_ArrFuncs` slots which may be deprecated in the future.
The sorting and argsorting methods are registered by passing the arraymethod
specs that implement the operations to the new `PyUFunc_AddLoopsFromSpecs`
function. See the `ArrayMethod` API documentation for details.
([gh-29900](https://github.com/numpy/numpy/pull/29900))
New `__numpy_dtype__` protocol
NumPy now has a new `__numpy_dtype__` protocol. NumPy will check
for this attribute when converting to a NumPy dtype via `np.dtype(obj)`
or any `dtype=` argument.
Downstream projects are encouraged to implement this for all dtype like
objects which may previously have used a `.dtype` attribute that returned
a NumPy dtype.
We expect to deprecate `.dtype` in the future to prevent interpreting
array-like objects with a `.dtype` attribute as a dtype.
If you wish you can implement `__numpy_dtype__` to ensure an earlier
warning or error (`.dtype` is ignored if this is found).
([gh-30179](https://github.com/numpy/numpy/pull/30179))
Improvements
Fix `flatiter` indexing edge cases
The `flatiter` object now shares the same index preparation logic as
`ndarray`, ensuring consistent behavior and fixing several issues where
invalid indices were previously accepted or misinterpreted.
Key fixes and improvements:
- Stricter index validation
- Boolean non-array indices like `arr.flat[[True, True]]` were
incorrectly treated as `arr.flat[np.array([1, 1], dtype=int)]`.
They now raise an index error. Note that indices that match the
iterator\'s shape are expected to not raise in the future and be
handled as regular boolean indices. Use `np.asarray(<index>)` if
you want to match that behavior.
- Float non-array indices were also cast to integer and incorrectly
treated as `arr.flat[np.array([1.0, 1.0], dtype=int)]`. This is now
deprecated and will be removed in a future version.
- 0-dimensional boolean indices like `arr.flat[True]` are also
deprecated and will be removed in a future version.
- Consistent error types:
Certain invalid `flatiter` indices that previously raised `ValueError`
now correctly raise `IndexError`, aligning with `ndarray` behavior.
- Improved error messages:
The error message for unsupported index operations now provides more
specific details, including explicitly listing the valid index types,
instead of the generic `IndexError: unsupported index operation`.
([gh-28590](https://github.com/numpy/numpy/pull/28590))
Improved error handling in `np.quantile`
[np.quantile]{.title-ref} now raises errors if:
- All weights are zero
- At least one weight is `np.nan`
- At least one weight is `np.inf`
([gh-28595](https://github.com/numpy/numpy/pull/28595))
Improved error message for `assert_array_compare`
The error message generated by `assert_array_compare` which is used by functions
like `assert_allclose`, `assert_array_less` etc. now also includes information
about the indices at which the assertion fails.
([gh-29112](https://github.com/numpy/numpy/pull/29112))
Show unit information in `__repr__` for `datetime64("NaT")`
When a `datetime64` object is \"Not a Time\" (NaT), its `__repr__` method now
includes the time unit of the datetime64 type. This makes it consistent with
the behavior of a `timedelta64` object.
([gh-29396](https://github.com/numpy/numpy/pull/29396))
Performance increase for scalar calculations
The speed of calculations on scalars has been improved by about a factor 6 for
ufuncs that take only one input (like `np.sin(scalar)`), reducing the speed
difference from their `math` equivalents from a factor 19 to 3 (the speed
for arrays is left unchanged).
([gh-29819](https://github.com/numpy/numpy/pull/29819))
`numpy.finfo` Refactor
The `numpy.finfo` class has been completely refactored to obtain floating-point
constants directly from C compiler macros rather than deriving them at runtime.
This provides better accuracy, platform compatibility and corrected
several attribute calculations:
- Constants like `eps`, `min`, `max`, `smallest_normal`, and
`smallest_subnormal` now come directly from standard C macros (`FLT_EPSILON`,
`DBL_MIN`, etc.), ensuring platform-correct values.
- The deprecated `MachAr` runtime discovery mechanism has been removed.
- Derived attributes have been corrected to match standard definitions:
`machep` and `negep` now use `int(log2(eps))`; `nexp` accounts for
all exponent patterns; `nmant` excludes the implicit bit; and `minexp`
follows the C standard definition.
- longdouble constants, Specifically `smallest_normal` now follows the
C standard definitions as per respecitive platform.
- Special handling added for PowerPC\'s IBM double-double format.
- New test suite added in `test_finfo.py` to validate all
`finfo` properties against expected machine arithmetic values for
float16, float32, and float64 types.
([gh-29836](https://github.com/numpy/numpy/pull/29836))
Multiple axes are now supported in `numpy.trim_zeros`
The `axis` argument of `numpy.trim_zeros` now accepts a sequence; for example
`np.trim_zeros(x, axis=(0, 1))` will trim the zeros from a multi-dimensional
array `x` along axes 0 and 1. This fixes issue
[gh‑29945](https://github.com/numpy/numpy/issues/29945) and was implemented
in pull request [gh‑29947](https://github.com/numpy/numpy/pull/29947).
([gh-29947](https://github.com/numpy/numpy/pull/29947))
Runtime signature introspection support has been significantly improved
Many NumPy functions, classes, and methods that previously raised
`ValueError` when passed to `inspect.signature()` now return meaningful
signatures. This improves support for runtime type checking, IDE autocomplete,
documentation generation, and runtime introspection capabilities across the
NumPy API.
Over three hundred classes and functions have been updated in total, including,
but not limited to, core classes such as `ndarray`, `generic`, `dtype`,
`ufunc`, `broadcast`, `nditer`, etc., most methods of `ndarray` and
scalar types, array constructor functions (`array`, `empty`, `arange`,
`fromiter`, etc.), all `ufuncs`, and many other commonly used functions,
including `dot`, `concat`, `where`, `bincount`, `can_cast`, and
numerous others.
([gh-30208](https://github.com/numpy/numpy/pull/30208))
Performance improvements and changes
Performance improvements to `np.unique` for string dtypes
The hash-based algorithm for unique extraction provides an order-of-magnitude
speedup on large string arrays. In an internal benchmark with about 1 billion
string elements, the hash-based np.unique completed in roughly 33.5 seconds,
compared to 498 seconds with the sort-based method -- about 15× faster for
unsorted unique operations on strings. This improvement greatly reduces the
time to find unique values in very large string datasets.
([gh-28767](https://github.com/numpy/numpy/pull/28767))
Rewrite of `np.ndindex` using `itertools.product`
The `numpy.ndindex` function now uses `itertools.product` internally,
providing significant improvements in performance for large iteration spaces,
while maintaining the original behavior and interface. For example, for an
array of shape (50, 60, 90) the NumPy `ndindex` benchmark improves
performance by a factor 5.2.
([gh-29165](https://github.com/numpy/numpy/pull/29165))
Performance improvements to `np.unique` for complex dtypes
The hash-based algorithm for unique extraction now also supports
complex dtypes, offering noticeable performance gains.
In our benchmarks on complex128 arrays with 200,000 elements,
the hash-based approach was about 1.4--1.5× faster
than the sort-based baseline when there were 20% of unique values,
and about 5× faster when there were 0.2% of unique values.
([gh-29537](https://github.com/numpy/numpy/pull/29537))
Changes
- 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://github.com/numpy/numpy/pull/29060))
- The accuracy of `np.quantile` and `np.percentile` for 16- and 32-bit
floating point input data has been improved.
([gh-29105](https://github.com/numpy/numpy/pull/29105))
`unique_values` for string dtypes may return unsorted data
np.unique now supports hash‐based duplicate removal for string dtypes.
This enhancement extends the hash-table algorithm to byte strings (\'S\'),
Unicode strings (\'U\'), and the experimental string dtype (\'T\', StringDType).
As a result, calling np.unique() on an array of strings will use
the faster hash-based method to obtain unique values.
Note that this hash-based method does not guarantee that the returned unique values will be sorted.
This also works for StringDType arrays containing None (missing values)
when using equal_nan=True (treating missing values as equal).
([gh-28767](https://github.com/numpy/numpy/pull/28767))
Modulate dispatched x86 CPU features
**IMPORTANT**: The default setting for `cpu-baseline` on x86 has been raised
to `x86-64-v2` microarchitecture. This can be changed to none during build
time to support older CPUs, though SIMD optimizations for pre-2009 processors
are no longer maintained.
NumPy has reorganized x86 CPU features into microarchitecture-based groups
instead of individual features, aligning with Linux distribution standards and
Google Highway requirements.
Key changes:
- Replaced individual x86 features with microarchitecture levels: `X86_V2`,
`X86_V3`, and `X86_V4`
- Raised the baseline to `X86_V2`
- Improved `-` operator behavior to properly exclude successor features that
imply the excluded feature
- Added meson redirections for removed feature names to maintain backward
compatibility
- Removed compiler compatibility workarounds for partial feature support (e.g.,
AVX512 without mask operations)
- Removed legacy AMD features (XOP, FMA4) and discontinued Intel Xeon Phi
support
New Feature Group Hierarchy:
Name Implies Includes
-------------- -------------- ------------------------------------------------------------------------------------------------------------------
`X86_V2` `SSE` `SSE2` `SSE3` `SSSE3` `SSE4_1` `SSE4_2` `POPCNT` `CX16` `LAHF`
`X86_V3` `X86_V2` `AVX` `AVX2` `FMA3` `BMI` `BMI2` `LZCNT` `F16C` `MOVBE`
`X86_V4` `X86_V3` `AVX512F` `AVX512CD` `AVX512VL` `AVX512BW` `AVX512DQ`
`AVX512_ICL` `X86_V4` `AVX512VBMI` `AVX512VBMI2` `AVX512VNNI` `AVX512BITALG` `AVX512VPOPCNTDQ` `AVX512IFMA` `VAES` `GFNI` `VPCLMULQDQ`
`AVX512_SPR` `AVX512_ICL` `AVX512FP16`
These groups correspond to CPU generations:
- `X86_V2`: x86-64-v2 microarchitectures (CPUs since 2009)
- `X86_V3`: x86-64-v3 microarchitectures (CPUs since 2015)
- `X86_V4`: x86-64-v4 microarchitectures (AVX-512 capable CPUs)
- `AVX512_ICL`: Intel Ice Lake and similar CPUs
- `AVX512_SPR`: Intel Sapphire Rapids and newer CPUs
On 32-bit x86, `cx16` is excluded from `X86_V2`.
Documentation has been updated with details on using these new feature groups
with the current meson build system.
([gh-28896](https://github.com/numpy/numpy/pull/28896))
Fix bug in `matmul` for non-contiguous out kwarg parameter
In some cases, if `out` was non-contiguous, `np.matmul` would cause memory
corruption or a c-level assert. This was new to v2.3.0 and fixed in v2.3.1.
([gh-29179](https://github.com/numpy/numpy/pull/29179))
`__array_interface__` with NULL pointer changed
The array interface now accepts NULL pointers (NumPy will do its own dummy
allocation, though). Previously, these incorrectly triggered an undocumented
scalar path. In the unlikely event that the scalar path was actually desired,
you can (for now) achieve the previous behavior via the correct scalar path by
not providing a `data` field at all.
([gh-29338](https://github.com/numpy/numpy/pull/29338))
`unique_values` for complex dtypes may return unsorted data
np.unique now supports hash‐based duplicate removal for complex dtypes. This
enhancement extends the hash‐table algorithm to all complex types (\'c\'), and
their extended precision variants. The hash‐based method provides faster
extraction of unique values but does not guarantee that the result will be
sorted.
([gh-29537](https://github.com/numpy/numpy/pull/29537))
Sorting `kind='heapsort'` now maps to `kind='quicksort'`
It is unlikely that this change will be noticed, but if you do see a change in
execution time or unstable argsort order, that is likely the cause. Please let
us know if there is a performance regression. Congratulate us if it is improved
:)
([gh-29642](https://github.com/numpy/numpy/pull/29642))
`numpy.typing.DTypeLike` no longer accepts `None`
The type alias `numpy.typing.DTypeLike` no longer accepts `None`. Instead of
python
dtype: DTypeLike = None
it should now be
python
dtype: DTypeLike | None = None
instead.
([gh-29739](https://github.com/numpy/numpy/pull/29739))
The `npymath` and `npyrandom` libraries now have a `.lib` rather than a
`.a` file extension on win-arm64, for compatibility for building with MSVC
and `setuptools`. Please note that using these static libraries is
discouraged and for existing projects using it, it\'s best to use it with a
matching compiler toolchain, which is `clang-cl` on Windows on Arm.
([gh-29750](https://github.com/numpy/numpy/pull/29750))

2.3.5

The NumPy 2.3.5 release is a patch release split between a number of maintenance
updates and bug fixes. This release supports Python versions 3.11-3.14.
Contributors
A total of 10 people contributed to this release. People with a \"+\" by their
names contributed a patch for the first time.
- Aaron Kollasch +
- Charles Harris
- Joren Hammudoglu
- Matti Picus
- Nathan Goldbaum
- Rafael Laboissière +
- Sayed Awad
- Sebastian Berg
- Warren Weckesser
- Yasir Ashfaq +
Pull requests merged
A total of 16 pull requests were merged for this release.
- [29979](https://github.com/numpy/numpy/pull/29979): MAINT: Prepare 2.3.x for further development
- [30026](https://github.com/numpy/numpy/pull/30026): SIMD, BLD: Backport FPMATH mode on x86-32 and filter successor\...
- [30029](https://github.com/numpy/numpy/pull/30029): MAINT: Backport write_release.py
- [30041](https://github.com/numpy/numpy/pull/30041): TYP: Various typing updates
- [30059](https://github.com/numpy/numpy/pull/30059): BUG: Fix np.strings.slice if stop=None or start and stop \>= len\...
- [30063](https://github.com/numpy/numpy/pull/30063): BUG: Fix np.strings.slice if start \> stop
- [30076](https://github.com/numpy/numpy/pull/30076): BUG: avoid negating INT_MIN in PyArray_Round implementation (#30071)
- [30090](https://github.com/numpy/numpy/pull/30090): BUG: Fix resize when it contains references (#29970)
- [30129](https://github.com/numpy/numpy/pull/30129): BLD: update scipy-openblas, use -Dpkg_config_path (#30049)
- [30130](https://github.com/numpy/numpy/pull/30130): BUG: Avoid compilation error of wrapper file generated with SWIG\...
- [30157](https://github.com/numpy/numpy/pull/30157): BLD: use scipy-openblas 0.3.30.7 (#30132)
- [30158](https://github.com/numpy/numpy/pull/30158): DOC: Remove nonexistent `order` parameter docs of `ma.asanyarray`\...
- [30185](https://github.com/numpy/numpy/pull/30185): BUG: Fix check of PyMem_Calloc return value. (#30176)
- [30217](https://github.com/numpy/numpy/pull/30217): DOC: fix links for newly rebuilt numpy-tutorials site
- [30218](https://github.com/numpy/numpy/pull/30218): BUG: Fix build on s390x with clang (#30214)
- [30237](https://github.com/numpy/numpy/pull/30237): ENH: Make FPE blas check a runtime check for all apple arm systems

2.3.4

The NumPy 2.3.4 release is a patch release split between a number of maintenance
updates and bug fixes. This release supports Python versions 3.11-3.14. This
release is based on Python 3.14.0 final.
Changes
The `npymath` and `npyrandom` libraries now have a `.lib` rather than a
`.a` file extension on win-arm64, for compatibility for building with MSVC and
`setuptools`. Please note that using these static libraries is discouraged
and for existing projects using it, it\'s best to use it with a matching
compiler toolchain, which is `clang-cl` on Windows on Arm.
([gh-29750](https://github.com/numpy/numpy/pull/29750))
Contributors
A total of 17 people contributed to this release. People with a \"+\" by their
names contributed a patch for the first time.
- !DWesl
- Charles Harris
- Christian Barbia +
- Evgeni Burovski
- Joren Hammudoglu
- Maaz +
- Mateusz Sokół
- Matti Picus
- Nathan Goldbaum
- Ralf Gommers
- Riku Sakamoto +
- Sandeep Gupta +
- Sayed Awad
- Sebastian Berg
- Sergey Fedorov +
- Warren Weckesser
- dependabot\[bot\]
Pull requests merged
A total of 30 pull requests were merged for this release.
- [29725](https://github.com/numpy/numpy/pull/29725): MAINT: Prepare 2.3.x for further development
- [29781](https://github.com/numpy/numpy/pull/29781): MAINT: Pin some upstream dependences
- [29782](https://github.com/numpy/numpy/pull/29782): BLD: enable x86-simd-sort to build on KNL with -mavx512f
- [29783](https://github.com/numpy/numpy/pull/29783): BUG: Include python-including headers first (#29281)
- [29784](https://github.com/numpy/numpy/pull/29784): TYP: fix np.number and np.\*integer method declaration
- [29785](https://github.com/numpy/numpy/pull/29785): TYP: mypy 1.18.1
- [29788](https://github.com/numpy/numpy/pull/29788): TYP: replace scalar type \_\_init\_\_ with \_\_new\_\_
- [29790](https://github.com/numpy/numpy/pull/29790): BUG: Fix `dtype` refcount in `__array__` (#29715)
- [29791](https://github.com/numpy/numpy/pull/29791): TYP: fix method declarations in floating, timedelta64, and datetime64Backport
- [29792](https://github.com/numpy/numpy/pull/29792): MAINT: delete unused variables in unary logical dispatch
- [29797](https://github.com/numpy/numpy/pull/29797): BUG: Fix pocketfft umath strides for AIX compatibility (#29768)
- [29798](https://github.com/numpy/numpy/pull/29798): BUG: np.setbufsize should raise ValueError for negative input
- [29799](https://github.com/numpy/numpy/pull/29799): BUG: Fix assert in nditer buffer setup
- [29800](https://github.com/numpy/numpy/pull/29800): BUG: Stable ScalarType ordering
- [29838](https://github.com/numpy/numpy/pull/29838): TST: Pin pyparsing to avoid matplotlib errors.
- [29839](https://github.com/numpy/numpy/pull/29839): BUG: linalg: emit a MemoryError on a malloc failure (#29811)
- [29840](https://github.com/numpy/numpy/pull/29840): BLD: change file extension for libnpymath on win-arm64 from .a\...
- [29864](https://github.com/numpy/numpy/pull/29864): CI: Fix loongarch64 CI (#29856)
- [29865](https://github.com/numpy/numpy/pull/29865): TYP: Various typing fixes
- [29910](https://github.com/numpy/numpy/pull/29910): BUG: Fix float16-sort failures on 32-bit x86 MSVC (#29908)
- [29911](https://github.com/numpy/numpy/pull/29911): TYP: add missing `__slots__` (#29901)
- [29913](https://github.com/numpy/numpy/pull/29913): TYP: wrong argument defaults in `testing._private` (#29902)
- [29920](https://github.com/numpy/numpy/pull/29920): BUG: avoid segmentation fault in string_expandtabs_length_promoter
- [29921](https://github.com/numpy/numpy/pull/29921): BUG: Fix INT_MIN % -1 to return 0 for all signed integer types\...
- [29922](https://github.com/numpy/numpy/pull/29922): TYP: minor fixes related to `errstate` (#29914)
- [29923](https://github.com/numpy/numpy/pull/29923): TST: use requirements/test_requirements across CI (#29919)
- [29926](https://github.com/numpy/numpy/pull/29926): BUG: fix negative samples generated by Wald distribution (#29609)
- [29940](https://github.com/numpy/numpy/pull/29940): MAINT: Bump pypa/cibuildwheel from 3.1.4 to 3.2.1
- [29949](https://github.com/numpy/numpy/pull/29949): STY: rename `classmethod` arg to cls
- [29950](https://github.com/numpy/numpy/pull/29950): MAINT: Simplify string arena growth strategy (#29885)

2.3.3

The NumPy 2.3.3 release is a patch release split between a number of maintenance
updates and bug fixes. This release supports Python versions 3.11-3.14. Note
that the 3.14.0 final is currently expected in Oct, 2025. This release is based
on 3.14.0rc2.
Contributors
A total of 13 people contributed to this release. People with a \"+\" by their
names contributed a patch for the first time.
- Aleksandr A. Voyt +
- Bernard Roesler +
- Charles Harris
- Hunter Hogan +
- Joren Hammudoglu
- Maanas Arora
- Matti Picus
- Nathan Goldbaum
- Raghuveer Devulapalli
- Sanjay Kumar Sakamuri Kamalakar +
- Tobias Markus +
- Warren Weckesser
- Zebreus +
Pull requests merged
A total of 23 pull requests were merged for this release.
- [29440](https://github.com/numpy/numpy/pull/29440): MAINT: Prepare 2.3.x for further development.
- [29446](https://github.com/numpy/numpy/pull/29446): BUG: Fix test_configtool_pkgconfigdir to resolve PKG_CONFIG_DIR\...
- [29447](https://github.com/numpy/numpy/pull/29447): BLD: allow targeting webassembly without emscripten
- [29460](https://github.com/numpy/numpy/pull/29460): MAINT: Backport write_release.py
- [29473](https://github.com/numpy/numpy/pull/29473): MAINT: Bump pypa/cibuildwheel from 3.1.0 to 3.1.2
- [29500](https://github.com/numpy/numpy/pull/29500): BUG: Always return a real dtype from linalg.cond (gh-18304) (#29333)
- [29501](https://github.com/numpy/numpy/pull/29501): MAINT: Add .file entry to all .s SVML files
- [29556](https://github.com/numpy/numpy/pull/29556): BUG: Casting from one timedelta64 to another didn\'t handle NAT.
- [29562](https://github.com/numpy/numpy/pull/29562): BLD: update vendored Meson to 1.8.3 \[wheel build\]
- [29563](https://github.com/numpy/numpy/pull/29563): BUG: Fix metadata not roundtripping when pickling datetime (#29555)
- [29587](https://github.com/numpy/numpy/pull/29587): TST: update link and version for Intel SDE download
- [29593](https://github.com/numpy/numpy/pull/29593): TYP: add `sorted` kwarg to `unique`
- [29672](https://github.com/numpy/numpy/pull/29672): MAINT: Update pythoncapi-compat from main.
- [29673](https://github.com/numpy/numpy/pull/29673): MAINT: Update cibuildwheel.
- [29674](https://github.com/numpy/numpy/pull/29674): MAINT: Fix typo in wheels.yml
- [29683](https://github.com/numpy/numpy/pull/29683): BUG, BLD: Correct regex for ppc64 VSX3/VSX4 feature detection
- [29684](https://github.com/numpy/numpy/pull/29684): TYP: ndarray.fill() takes no keyword arguments
- [29685](https://github.com/numpy/numpy/pull/29685): BUG: avoid thread-unsafe refcount check in temp elision
- [29687](https://github.com/numpy/numpy/pull/29687): CI: replace comment-hider action in mypy_primer workflow
- [29689](https://github.com/numpy/numpy/pull/29689): BLD: Add missing \<unordered_map\> include
- [29691](https://github.com/numpy/numpy/pull/29691): BUG: use correct input dtype in flatiter assignment
- [29700](https://github.com/numpy/numpy/pull/29700): TYP: fix np.bool method declarations
- [29701](https://github.com/numpy/numpy/pull/29701): BUG: Correct ambiguous logic for s390x CPU feature detection

2.3.2

The NumPy 2.3.2 release is a patch release with a number of bug fixes
and maintenance updates. The highlights are:
- Wheels for Python 3.14.0rc1
- PyPy updated to the latest stable release
- OpenBLAS updated to 0.3.30
This release supports Python versions 3.11-3.14
Contributors
A total of 9 people contributed to this release. People with a \"+\" by
their names contributed a patch for the first time.
- !DWesl
- Charles Harris
- Joren Hammudoglu
- Maanas Arora
- Marco Edward Gorelli
- Matti Picus
- Nathan Goldbaum
- Sebastian Berg
- kostayScr +
Pull requests merged
A total of 16 pull requests were merged for this release.
- [29256](https://github.com/numpy/numpy/pull/29256): MAINT: Prepare 2.3.x for further development
- [29283](https://github.com/numpy/numpy/pull/29283): TYP: Work around a mypy issue with bool arrays (#29248)
- [29284](https://github.com/numpy/numpy/pull/29284): BUG: fix fencepost error in StringDType internals
- [29287](https://github.com/numpy/numpy/pull/29287): BUG: handle case in mapiter where descriptors might get replaced\...
- [29350](https://github.com/numpy/numpy/pull/29350): BUG: Fix shape error path in array-interface
- [29412](https://github.com/numpy/numpy/pull/29412): BUG: Allow reading non-npy files in npz and add test
- [29413](https://github.com/numpy/numpy/pull/29413): TST: Avoid uninitialized values in test (#29341)
- [29414](https://github.com/numpy/numpy/pull/29414): BUG: Fix reference leakage for output arrays in reduction functions
- [29415](https://github.com/numpy/numpy/pull/29415): BUG: fix casting issue in center, ljust, rjust, and zfill (#29369)
- [29416](https://github.com/numpy/numpy/pull/29416): TYP: Fix overloads in `np.char.array` and `np.char.asarray`\...
- [29417](https://github.com/numpy/numpy/pull/29417): BUG: Any dtype should call `square` on `arr \*\* 2` (#29392)
- [29424](https://github.com/numpy/numpy/pull/29424): MAINT: use a stable pypy release in CI
- [29425](https://github.com/numpy/numpy/pull/29425): MAINT: Support python 314rc1
- [29429](https://github.com/numpy/numpy/pull/29429): MAINT: Update highway to match main.
- [29430](https://github.com/numpy/numpy/pull/29430): BLD: use github to build macos-arm64 wheels with OpenBLAS and\...
- [29437](https://github.com/numpy/numpy/pull/29437): BUG: fix datetime/timedelta hash memory leak (#29411)
Checksums
MD5
e35c637ea9fba77eabfdf70e26eaa16d numpy-2.3.2-cp311-cp311-macosx_10_9_x86_64.whl
3dede42d11c843cfacff422f65a80e47 numpy-2.3.2-cp311-cp311-macosx_11_0_arm64.whl
f5c485a43210eb3541b254c8c9d6ac9e numpy-2.3.2-cp311-cp311-macosx_14_0_arm64.whl
658950eb37e19b42920635ee60830a1d numpy-2.3.2-cp311-cp311-macosx_14_0_x86_64.whl
9a864a280798829cc522521bc5d9c7e2 numpy-2.3.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
085e1ff7746d327a1320672ab86966c3 numpy-2.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
6acefa06c38bc616352b76174d4f19d2 numpy-2.3.2-cp311-cp311-musllinux_1_2_aarch64.whl
4dd3469970dbfba60dad41b9923c5a5a numpy-2.3.2-cp311-cp311-musllinux_1_2_x86_64.whl
ad090139b8b872a9157b92c840566c5e numpy-2.3.2-cp311-cp311-win32.whl
09b023f808432e60633e36a13630dc13 numpy-2.3.2-cp311-cp311-win_amd64.whl
c80f2a1c4c829ccb6745a6d0803b7177 numpy-2.3.2-cp311-cp311-win_arm64.whl
307fc28e0c630dbc5a6ff4051ee9ec6c numpy-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl
4af1ffb81bdec235aef1b9bdf7c1566d numpy-2.3.2-cp312-cp312-macosx_11_0_arm64.whl
8003e8df1badaffee163a603bf05656b numpy-2.3.2-cp312-cp312-macosx_14_0_arm64.whl
e703fab1c371fd27389401caa34a5cbd numpy-2.3.2-cp312-cp312-macosx_14_0_x86_64.whl
5fdc228f15ec5de78b89c7aa4c137019 numpy-2.3.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
f3bc10b89911c09777c4c5d9752f35b0 numpy-2.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
5d0128aa0f6aa3a5122364a727a72eba numpy-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl
ef392070c44709321d7f87ab15bbd674 numpy-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl
909e05dcd1164cc02d5fccc1cc6c9ca6 numpy-2.3.2-cp312-cp312-win32.whl
3ba0b657682fc54d9433b4d7244c9264 numpy-2.3.2-cp312-cp312-win_amd64.whl
05755e8c591b1ac2fff05a06d76ac414 numpy-2.3.2-cp312-cp312-win_arm64.whl
c1e323fa1986bc99ae96c46126a30f93 numpy-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl
9a89327ef3550581017ea6e2a47c1a8e numpy-2.3.2-cp313-cp313-macosx_11_0_arm64.whl
3c7236116911c5c19de0091d7ac81f65 numpy-2.3.2-cp313-cp313-macosx_14_0_arm64.whl
1809c7adafae6492741864cf4dda7d1e numpy-2.3.2-cp313-cp313-macosx_14_0_x86_64.whl
ee68f94ec5f9c0c7f9423d7329bc085e numpy-2.3.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
24c4e95f0a615356787e2920378e5c6f numpy-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
5c53a2c915d177b7c305c0386ba21b43 numpy-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl
c4607ea441320a0078d942ca21ef2411 numpy-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl
09f2fdeb35d952751ba269ca5fa77e7a numpy-2.3.2-cp313-cp313-win32.whl
47a7326544ce192df844b3e9750c7704 numpy-2.3.2-cp313-cp313-win_amd64.whl
9b5adab8ee4eb97ccf90d73d63671db4 numpy-2.3.2-cp313-cp313-win_arm64.whl
7169baf4160b9a75790650cef23a73e1 numpy-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl
0338f2a78981d84d84e5f693ed6112d5 numpy-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl
b0c1c28add9716f7cee433d53fb43067 numpy-2.3.2-cp313-cp313t-macosx_14_0_arm64.whl
d2d8d43c535184095550420169858b90 numpy-2.3.2-cp313-cp313t-macosx_14_0_x86_64.whl
745bb6930958f4d7980cd705621abc25 numpy-2.3.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
96412f8c9687d468e260aacdfb9cca02 numpy-2.3.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
11ce971fe997bf5c0784516db85891ff numpy-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl
e71ba272e9db74bc753ca056e76fdf5b numpy-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl
82feb6822f2cf04a9edf38cf7f7d4806 numpy-2.3.2-cp313-cp313t-win32.whl
c6c8a1a2e94a9fc2dad9d161a6666e54 numpy-2.3.2-cp313-cp313t-win_amd64.whl
29e65f132c4a916214a0e82bca214717 numpy-2.3.2-cp313-cp313t-win_arm64.whl
2b99d343001495b182027843bf2148b2 numpy-2.3.2-cp314-cp314-macosx_10_13_x86_64.whl
40d04ac18cd9db3c380224d3d5607770 numpy-2.3.2-cp314-cp314-macosx_11_0_arm64.whl
871631874c6839719d1c1b3ad81835cd numpy-2.3.2-cp314-cp314-macosx_14_0_arm64.whl
4d4098888f19de85dd18646c2f955cd2 numpy-2.3.2-cp314-cp314-macosx_14_0_x86_64.whl
813e47e3c07cd28bf0458a1e513d6619 numpy-2.3.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
1fe080566baca813e6ac4635011a408a numpy-2.3.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
bd44ab38b53a4b5b6130b6f01ffaf5fa numpy-2.3.2-cp314-cp314-musllinux_1_2_aarch64.whl
f2fda217bec39ede344b42fef2cbd9e5 numpy-2.3.2-cp314-cp314-musllinux_1_2_x86_64.whl
c02218de0d0666769c91513eafaf251f numpy-2.3.2-cp314-cp314-win32.whl
d419eb806a6f5debb366d4bcf0f5bde0 numpy-2.3.2-cp314-cp314-win_amd64.whl
851529ffdf2b0d4b66eb1ac99c24da3e numpy-2.3.2-cp314-cp314-win_arm64.whl
2306e8b73fcd2d46116c6a95034e4d3a numpy-2.3.2-cp314-cp314t-macosx_10_13_x86_64.whl
b4d4ce3339cb9f0b0f2b339db803f39c numpy-2.3.2-cp314-cp314t-macosx_11_0_arm64.whl
6ae336ac461d5d89811c8a236b442842 numpy-2.3.2-cp314-cp314t-macosx_14_0_arm64.whl
351f35dd00bfb35e6cad2447a14c7cdf numpy-2.3.2-cp314-cp314t-macosx_14_0_x86_64.whl
0e0b26b34024f24a5f59809a1778ace0 numpy-2.3.2-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
bc77a7f5826bb0a38154d31d8444abb7 numpy-2.3.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
cd1e335e2a8437339475db12ee30f26d numpy-2.3.2-cp314-cp314t-musllinux_1_2_aarch64.whl
5c8093e713bd7e5f8512458d53fefeed numpy-2.3.2-cp314-cp314t-musllinux_1_2_x86_64.whl
66125a7e4e311fc2dedfa8c25ee577f2 numpy-2.3.2-cp314-cp314t-win32.whl
97713f41a5d4a08e8ed3d629d07678d3 numpy-2.3.2-cp314-cp314t-win_amd64.whl
848c4c409b643c2b42c431f51b310095 numpy-2.3.2-cp314-cp314t-win_arm64.whl
e240eed2fc098f7a0ae9813abead8a05 numpy-2.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
7e46ebe46530596019ae6b5db8a7a564 numpy-2.3.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl
82077182e608a0d366eba700902463b5 numpy-2.3.2-pp311-pypy311_pp73-macosx_14_0_arm64.whl
67db17064907cd22a74676b50de1ab6d numpy-2.3.2-pp311-pypy311_pp73-macosx_14_0_x86_64.whl
6d59903ecd732d53dd230ca59cdc2c34 numpy-2.3.2-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
baae8d6875e1de409ffef875896c4b4f numpy-2.3.2-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
5d92d6c39f2f0b28149ed15437b13cf7 numpy-2.3.2-pp311-pypy311_pp73-win_amd64.whl
f8d3d3b3ecd2b6e98889e88f6bbdc1a3 numpy-2.3.2.tar.gz
SHA256
852ae5bed3478b92f093e30f785c98e0cb62fa0a939ed057c31716e18a7a22b9 numpy-2.3.2-cp311-cp311-macosx_10_9_x86_64.whl
7a0e27186e781a69959d0230dd9909b5e26024f8da10683bd6344baea1885168 numpy-2.3.2-cp311-cp311-macosx_11_0_arm64.whl
f0a1a8476ad77a228e41619af2fa9505cf69df928e9aaa165746584ea17fed2b numpy-2.3.2-cp311-cp311-macosx_14_0_arm64.whl
cbc95b3813920145032412f7e33d12080f11dc776262df1712e1638207dde9e8 numpy-2.3.2-cp311-cp311-macosx_14_0_x86_64.whl
f75018be4980a7324edc5930fe39aa391d5734531b1926968605416ff58c332d numpy-2.3.2-cp311-cp311-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
20b8200721840f5621b7bd03f8dcd78de33ec522fc40dc2641aa09537df010c3 numpy-2.3.2-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
1f91e5c028504660d606340a084db4b216567ded1056ea2b4be4f9d10b67197f numpy-2.3.2-cp311-cp311-musllinux_1_2_aarch64.whl
fb1752a3bb9a3ad2d6b090b88a9a0ae1cd6f004ef95f75825e2f382c183b2097 numpy-2.3.2-cp311-cp311-musllinux_1_2_x86_64.whl
4ae6863868aaee2f57503c7a5052b3a2807cf7a3914475e637a0ecd366ced220 numpy-2.3.2-cp311-cp311-win32.whl
240259d6564f1c65424bcd10f435145a7644a65a6811cfc3201c4a429ba79170 numpy-2.3.2-cp311-cp311-win_amd64.whl
4209f874d45f921bde2cff1ffcd8a3695f545ad2ffbef6d3d3c6768162efab89 numpy-2.3.2-cp311-cp311-win_arm64.whl
bc3186bea41fae9d8e90c2b4fb5f0a1f5a690682da79b92574d63f56b529080b numpy-2.3.2-cp312-cp312-macosx_10_13_x86_64.whl
2f4f0215edb189048a3c03bd5b19345bdfa7b45a7a6f72ae5945d2a28272727f numpy-2.3.2-cp312-cp312-macosx_11_0_arm64.whl
8b1224a734cd509f70816455c3cffe13a4f599b1bf7130f913ba0e2c0b2006c0 numpy-2.3.2-cp312-cp312-macosx_14_0_arm64.whl
3dcf02866b977a38ba3ec10215220609ab9667378a9e2150615673f3ffd6c73b numpy-2.3.2-cp312-cp312-macosx_14_0_x86_64.whl
572d5512df5470f50ada8d1972c5f1082d9a0b7aa5944db8084077570cf98370 numpy-2.3.2-cp312-cp312-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
8145dd6d10df13c559d1e4314df29695613575183fa2e2d11fac4c208c8a1f73 numpy-2.3.2-cp312-cp312-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
103ea7063fa624af04a791c39f97070bf93b96d7af7eb23530cd087dc8dbe9dc numpy-2.3.2-cp312-cp312-musllinux_1_2_aarch64.whl
fc927d7f289d14f5e037be917539620603294454130b6de200091e23d27dc9be numpy-2.3.2-cp312-cp312-musllinux_1_2_x86_64.whl
d95f59afe7f808c103be692175008bab926b59309ade3e6d25009e9a171f7036 numpy-2.3.2-cp312-cp312-win32.whl
9e196ade2400c0c737d93465327d1ae7c06c7cb8a1756121ebf54b06ca183c7f numpy-2.3.2-cp312-cp312-win_amd64.whl
ee807923782faaf60d0d7331f5e86da7d5e3079e28b291973c545476c2b00d07 numpy-2.3.2-cp312-cp312-win_arm64.whl
c8d9727f5316a256425892b043736d63e89ed15bbfe6556c5ff4d9d4448ff3b3 numpy-2.3.2-cp313-cp313-macosx_10_13_x86_64.whl
efc81393f25f14d11c9d161e46e6ee348637c0a1e8a54bf9dedc472a3fae993b numpy-2.3.2-cp313-cp313-macosx_11_0_arm64.whl
dd937f088a2df683cbb79dda9a772b62a3e5a8a7e76690612c2737f38c6ef1b6 numpy-2.3.2-cp313-cp313-macosx_14_0_arm64.whl
11e58218c0c46c80509186e460d79fbdc9ca1eb8d8aee39d8f2dc768eb781089 numpy-2.3.2-cp313-cp313-macosx_14_0_x86_64.whl
5ad4ebcb683a1f99f4f392cc522ee20a18b2bb12a2c1c42c3d48d5a1adc9d3d2 numpy-2.3.2-cp313-cp313-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
938065908d1d869c7d75d8ec45f735a034771c6ea07088867f713d1cd3bbbe4f numpy-2.3.2-cp313-cp313-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
66459dccc65d8ec98cc7df61307b64bf9e08101f9598755d42d8ae65d9a7a6ee numpy-2.3.2-cp313-cp313-musllinux_1_2_aarch64.whl
a7af9ed2aa9ec5950daf05bb11abc4076a108bd3c7db9aa7251d5f107079b6a6 numpy-2.3.2-cp313-cp313-musllinux_1_2_x86_64.whl
906a30249315f9c8e17b085cc5f87d3f369b35fedd0051d4a84686967bdbbd0b numpy-2.3.2-cp313-cp313-win32.whl
c63d95dc9d67b676e9108fe0d2182987ccb0f11933c1e8959f42fa0da8d4fa56 numpy-2.3.2-cp313-cp313-win_amd64.whl
b05a89f2fb84d21235f93de47129dd4f11c16f64c87c33f5e284e6a3a54e43f2 numpy-2.3.2-cp313-cp313-win_arm64.whl
4e6ecfeddfa83b02318f4d84acf15fbdbf9ded18e46989a15a8b6995dfbf85ab numpy-2.3.2-cp313-cp313t-macosx_10_13_x86_64.whl
508b0eada3eded10a3b55725b40806a4b855961040180028f52580c4729916a2 numpy-2.3.2-cp313-cp313t-macosx_11_0_arm64.whl
754d6755d9a7588bdc6ac47dc4ee97867271b17cee39cb87aef079574366db0a numpy-2.3.2-cp313-cp313t-macosx_14_0_arm64.whl
a9f66e7d2b2d7712410d3bc5684149040ef5f19856f20277cd17ea83e5006286 numpy-2.3.2-cp313-cp313t-macosx_14_0_x86_64.whl
de6ea4e5a65d5a90c7d286ddff2b87f3f4ad61faa3db8dabe936b34c2275b6f8 numpy-2.3.2-cp313-cp313t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
a3ef07ec8cbc8fc9e369c8dcd52019510c12da4de81367d8b20bc692aa07573a numpy-2.3.2-cp313-cp313t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
27c9f90e7481275c7800dc9c24b7cc40ace3fdb970ae4d21eaff983a32f70c91 numpy-2.3.2-cp313-cp313t-musllinux_1_2_aarch64.whl
07b62978075b67eee4065b166d000d457c82a1efe726cce608b9db9dd66a73a5 numpy-2.3.2-cp313-cp313t-musllinux_1_2_x86_64.whl
c771cfac34a4f2c0de8e8c97312d07d64fd8f8ed45bc9f5726a7e947270152b5 numpy-2.3.2-cp313-cp313t-win32.whl
72dbebb2dcc8305c431b2836bcc66af967df91be793d63a24e3d9b741374c450 numpy-2.3.2-cp313-cp313t-win_amd64.whl
72c6df2267e926a6d5286b0a6d556ebe49eae261062059317837fda12ddf0c1a numpy-2.3.2-cp313-cp313t-win_arm64.whl
448a66d052d0cf14ce9865d159bfc403282c9bc7bb2a31b03cc18b651eca8b1a numpy-2.3.2-cp314-cp314-macosx_10_13_x86_64.whl
546aaf78e81b4081b2eba1d105c3b34064783027a06b3ab20b6eba21fb64132b numpy-2.3.2-cp314-cp314-macosx_11_0_arm64.whl
87c930d52f45df092f7578889711a0768094debf73cfcde105e2d66954358125 numpy-2.3.2-cp314-cp314-macosx_14_0_arm64.whl
8dc082ea901a62edb8f59713c6a7e28a85daddcb67454c839de57656478f5b19 numpy-2.3.2-cp314-cp314-macosx_14_0_x86_64.whl
af58de8745f7fa9ca1c0c7c943616c6fe28e75d0c81f5c295810e3c83b5be92f numpy-2.3.2-cp314-cp314-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
fed5527c4cf10f16c6d0b6bee1f89958bccb0ad2522c8cadc2efd318bcd545f5 numpy-2.3.2-cp314-cp314-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
095737ed986e00393ec18ec0b21b47c22889ae4b0cd2d5e88342e08b01141f58 numpy-2.3.2-cp314-cp314-musllinux_1_2_aarch64.whl
b5e40e80299607f597e1a8a247ff8d71d79c5b52baa11cc1cce30aa92d2da6e0 numpy-2.3.2-cp314-cp314-musllinux_1_2_x86_64.whl
7d6e390423cc1f76e1b8108c9b6889d20a7a1f59d9a60cac4a050fa734d6c1e2 numpy-2.3.2-cp314-cp314-win32.whl
b9d0878b21e3918d76d2209c924ebb272340da1fb51abc00f986c258cd5e957b numpy-2.3.2-cp314-cp314-win_amd64.whl
2738534837c6a1d0c39340a190177d7d66fdf432894f469728da901f8f6dc910 numpy-2.3.2-cp314-cp314-win_arm64.whl
4d002ecf7c9b53240be3bb69d80f86ddbd34078bae04d87be81c1f58466f264e numpy-2.3.2-cp314-cp314t-macosx_10_13_x86_64.whl
293b2192c6bcce487dbc6326de5853787f870aeb6c43f8f9c6496db5b1781e45 numpy-2.3.2-cp314-cp314t-macosx_11_0_arm64.whl
0a4f2021a6da53a0d580d6ef5db29947025ae8b35b3250141805ea9a32bbe86b numpy-2.3.2-cp314-cp314t-macosx_14_0_arm64.whl
9c144440db4bf3bb6372d2c3e49834cc0ff7bb4c24975ab33e01199e645416f2 numpy-2.3.2-cp314-cp314t-macosx_14_0_x86_64.whl
f92d6c2a8535dc4fe4419562294ff957f83a16ebdec66df0805e473ffaad8bd0 numpy-2.3.2-cp314-cp314t-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
cefc2219baa48e468e3db7e706305fcd0c095534a192a08f31e98d83a7d45fb0 numpy-2.3.2-cp314-cp314t-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
76c3e9501ceb50b2ff3824c3589d5d1ab4ac857b0ee3f8f49629d0de55ecf7c2 numpy-2.3.2-cp314-cp314t-musllinux_1_2_aarch64.whl
122bf5ed9a0221b3419672493878ba4967121514b1d7d4656a7580cd11dddcbf numpy-2.3.2-cp314-cp314t-musllinux_1_2_x86_64.whl
6f1ae3dcb840edccc45af496f312528c15b1f79ac318169d094e85e4bb35fdf1 numpy-2.3.2-cp314-cp314t-win32.whl
087ffc25890d89a43536f75c5fe8770922008758e8eeeef61733957041ed2f9b numpy-2.3.2-cp314-cp314t-win_amd64.whl
092aeb3449833ea9c0bf0089d70c29ae480685dd2377ec9cdbbb620257f84631 numpy-2.3.2-cp314-cp314t-win_arm64.whl
14a91ebac98813a49bc6aa1a0dfc09513dcec1d97eaf31ca21a87221a1cdcb15 numpy-2.3.2-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
71669b5daae692189540cffc4c439468d35a3f84f0c88b078ecd94337f6cb0ec numpy-2.3.2-pp311-pypy311_pp73-macosx_11_0_arm64.whl
69779198d9caee6e547adb933941ed7520f896fd9656834c300bdf4dd8642712 numpy-2.3.2-pp311-pypy311_pp73-macosx_14_0_arm64.whl
2c3271cc4097beb5a60f010bcc1cc204b300bb3eafb4399376418a83a1c6373c numpy-2.3.2-pp311-pypy311_pp73-macosx_14_0_x86_64.whl
8446acd11fe3dc1830568c941d44449fd5cb83068e5c70bd5a470d323d448296 numpy-2.3.2-pp311-pypy311_pp73-manylinux_2_27_aarch64.manylinux_2_28_aarch64.whl
aa098a5ab53fa407fded5870865c6275a5cd4101cfdef8d6fafc48286a96e981 numpy-2.3.2-pp311-pypy311_pp73-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
6936aff90dda378c09bea075af0d9c675fe3a977a9d2402f95a87f440f59f619 numpy-2.3.2-pp311-pypy311_pp73-win_amd64.whl
e0486a11ec30cdecb53f184d496d1c6a20786c81e55e41640270130056f8ee48 numpy-2.3.2.tar.gz

2.3.1

The NumPy 2.3.1 release is a patch release with several bug fixes,
annotation improvements, and better support for OpenBSD. Highlights are:
- Fix bug in `matmul` for non-contiguous out kwarg parameter
- Fix for Accelerate runtime warnings on M4 hardware
- Fix new in NumPy 2.3.0 `np.vectorize` casting errors
- Improved support of cpu features for FreeBSD and OpenBSD
This release supports Python versions 3.11-3.13, Python 3.14 will be
supported when it is released.
Contributors
A total of 9 people contributed to this release. People with a \"+\" by
their names contributed a patch for the first time.
- Brad Smith +
- Charles Harris
- Developer-Ecosystem-Engineering
- François Rozet
- Joren Hammudoglu
- Matti Picus
- Mugundan Selvanayagam
- Nathan Goldbaum
- Sebastian Berg
Pull requests merged
A total of 12 pull requests were merged for this release.
- [29140](https://github.com/numpy/numpy/pull/29140): MAINT: Prepare 2.3.x for further development
- [29191](https://github.com/numpy/numpy/pull/29191): BUG: fix matmul with transposed out arg (#29179)
- [29192](https://github.com/numpy/numpy/pull/29192): TYP: Backport typing fixes and improvements.
- [29205](https://github.com/numpy/numpy/pull/29205): BUG: Revert `np.vectorize` casting to legacy behavior (#29196)
- [29222](https://github.com/numpy/numpy/pull/29222): TYP: Backport typing fixes
- [29233](https://github.com/numpy/numpy/pull/29233): BUG: avoid negating unsigned integers in resize implementation\...
- [29234](https://github.com/numpy/numpy/pull/29234): TST: Fix test that uses uninitialized memory (#29232)
- [29235](https://github.com/numpy/numpy/pull/29235): BUG: Address interaction between SME and FPSR (#29223)
- [29237](https://github.com/numpy/numpy/pull/29237): BUG: Enforce integer limitation in concatenate (#29231)
- [29238](https://github.com/numpy/numpy/pull/29238): CI: Add support for building NumPy with LLVM for Win-ARM64
- [29241](https://github.com/numpy/numpy/pull/29241): ENH: Detect CPU features on OpenBSD ARM and PowerPC64
- [29242](https://github.com/numpy/numpy/pull/29242): ENH: Detect CPU features on FreeBSD / OpenBSD RISC-V64.
Checksums
MD5
c353ac75ea083594a6cb674b5f943d83 numpy-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl
fdb5454e372d399cf570868ea7e2b192 numpy-2.3.1-cp311-cp311-macosx_11_0_arm64.whl
dc0f17823bb1826519d6974c2b95fa90 numpy-2.3.1-cp311-cp311-macosx_14_0_arm64.whl
7e3118fe383af697a8868ba191b9eac0 numpy-2.3.1-cp311-cp311-macosx_14_0_x86_64.whl
705aafad1250aa3e41502c5710a26ed5 numpy-2.3.1-cp311-cp311-manylinux_2_28_aarch64.whl
003d6268344577b804205098e11cdaa0 numpy-2.3.1-cp311-cp311-manylinux_2_28_x86_64.whl
7d0c0fd11c573c510a25dd7513e4ae0a numpy-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl
d99f993ef05966ead99df736df18b521 numpy-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl
96933cac225fb8b60a9cc2c0efa14d36 numpy-2.3.1-cp311-cp311-win32.whl
f777712419f3dd586ac294ddce84b274 numpy-2.3.1-cp311-cp311-win_amd64.whl
1fe2615669de5c271a48b99356fa3528 numpy-2.3.1-cp311-cp311-win_arm64.whl
fccca48846d41d38966cc75395787f79 numpy-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl
fa389e78db43f3c2841ce127c1205422 numpy-2.3.1-cp312-cp312-macosx_11_0_arm64.whl
2554944d786abd284db4a699d4edfe1e numpy-2.3.1-cp312-cp312-macosx_14_0_arm64.whl
7fec491834803a8ffa3765ef3d03cea5 numpy-2.3.1-cp312-cp312-macosx_14_0_x86_64.whl
7c2d8b4412f12b9b02e98349fb5cd760 numpy-2.3.1-cp312-cp312-manylinux_2_28_aarch64.whl
94dcc636a2f2478666d820e21fc91682 numpy-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl
404128939d89d1ea26be105fb03b5028 numpy-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl
e89d8d460060e8315c3ba68b2b649db0 numpy-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl
a767bd10267ad6baef9655fb08db3fd3 numpy-2.3.1-cp312-cp312-win32.whl
f753b957fcb7f06f043cf9c6114f294c numpy-2.3.1-cp312-cp312-win_amd64.whl
58ffa7c69587f9bf8f6025794fec7f63 numpy-2.3.1-cp312-cp312-win_arm64.whl
22a2a9a568dd0866b288ad8bd8bb3e90 numpy-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl
5e1593fcc8bb3447e995622f2dca017b numpy-2.3.1-cp313-cp313-macosx_11_0_arm64.whl
894d56072db9358e0096538710a1a8ce numpy-2.3.1-cp313-cp313-macosx_14_0_arm64.whl
593cb311f5170cbcfcefb587cdcc70bb numpy-2.3.1-cp313-cp313-macosx_14_0_x86_64.whl
22935447e75acda4075c57b332c0236a numpy-2.3.1-cp313-cp313-manylinux_2_28_aarch64.whl
5aa2040f947204e15e95ec87461a7e91 numpy-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl
6516337f0347974fada21a23a818be64 numpy-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl
ec956eb37b874b1ec52d6ffccda6ef65 numpy-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl
0aaed62cb1bae9c1b1a44d1a4eda2db7 numpy-2.3.1-cp313-cp313-win32.whl
57829996fc12f649547f0258443bbb20 numpy-2.3.1-cp313-cp313-win_amd64.whl
a0d0dd68bbf0ab378142b2daff0a8e06 numpy-2.3.1-cp313-cp313-win_arm64.whl
b22dc66970a8017e4d0ce83ef8c938af numpy-2.3.1-cp313-cp313t-macosx_10_13_x86_64.whl
93c17afb38cf8fd876ca2bd9ea7e9612 numpy-2.3.1-cp313-cp313t-macosx_11_0_arm64.whl
283064dabb434f3dbc1a5e2514b9cb29 numpy-2.3.1-cp313-cp313t-macosx_14_0_arm64.whl
5b8c778033c98b4a0ce6e5bfc7625f05 numpy-2.3.1-cp313-cp313t-macosx_14_0_x86_64.whl
2340bd78962f194bcdbee6531d954acc numpy-2.3.1-cp313-cp313t-manylinux_2_28_aarch64.whl
43a92ad37dc68d719bdeeeb65b3f4d2f numpy-2.3.1-cp313-cp313t-manylinux_2_28_x86_64.whl
eb110c4aa0d73558187397ddfba179ad numpy-2.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl
1f7f0076411ed4afa9c4553eb06564cb numpy-2.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl
30f30dde6f806070b2164e48a632a350 numpy-2.3.1-cp313-cp313t-win32.whl
2375e2f2a5b75c5f5c908af6bb85d639 numpy-2.3.1-cp313-cp313t-win_amd64.whl
b421530a87bb8e9e3d4dc34c75d5d953 numpy-2.3.1-cp313-cp313t-win_arm64.whl
b1bc3cbf9cd407964b2bb25dfe86ca3d numpy-2.3.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
4c2e234eb4f346f362d6e6c620fa7a56 numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_arm64.whl
98ec3c19a365d0ae926113bb349e323b numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_x86_64.whl
e0c7bcd526cde46489d5a8f12e06cc77 numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
41f535aa1f1acaf3d8a32a462a4cd4c8 numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
2abf906a6688c98693045cbbc655d5b7 numpy-2.3.1-pp311-pypy311_pp73-win_amd64.whl
886559a4c541298b37245e389ce8bf10 numpy-2.3.1.tar.gz
SHA256
6ea9e48336a402551f52cd8f593343699003d2353daa4b72ce8d34f66b722070 numpy-2.3.1-cp311-cp311-macosx_10_9_x86_64.whl
5ccb7336eaf0e77c1635b232c141846493a588ec9ea777a7c24d7166bb8533ae numpy-2.3.1-cp311-cp311-macosx_11_0_arm64.whl
0bb3a4a61e1d327e035275d2a993c96fa786e4913aa089843e6a2d9dd205c66a numpy-2.3.1-cp311-cp311-macosx_14_0_arm64.whl
e344eb79dab01f1e838ebb67aab09965fb271d6da6b00adda26328ac27d4a66e numpy-2.3.1-cp311-cp311-macosx_14_0_x86_64.whl
467db865b392168ceb1ef1ffa6f5a86e62468c43e0cfb4ab6da667ede10e58db numpy-2.3.1-cp311-cp311-manylinux_2_28_aarch64.whl
afed2ce4a84f6b0fc6c1ce734ff368cbf5a5e24e8954a338f3bdffa0718adffb numpy-2.3.1-cp311-cp311-manylinux_2_28_x86_64.whl
0025048b3c1557a20bc80d06fdeb8cc7fc193721484cca82b2cfa072fec71a93 numpy-2.3.1-cp311-cp311-musllinux_1_2_aarch64.whl
a5ee121b60aa509679b682819c602579e1df14a5b07fe95671c8849aad8f2115 numpy-2.3.1-cp311-cp311-musllinux_1_2_x86_64.whl
a8b740f5579ae4585831b3cf0e3b0425c667274f82a484866d2adf9570539369 numpy-2.3.1-cp311-cp311-win32.whl
d4580adadc53311b163444f877e0789f1c8861e2698f6b2a4ca852fda154f3ff numpy-2.3.1-cp311-cp311-win_amd64.whl
ec0bdafa906f95adc9a0c6f26a4871fa753f25caaa0e032578a30457bff0af6a numpy-2.3.1-cp311-cp311-win_arm64.whl
2959d8f268f3d8ee402b04a9ec4bb7604555aeacf78b360dc4ec27f1d508177d numpy-2.3.1-cp312-cp312-macosx_10_13_x86_64.whl
762e0c0c6b56bdedfef9a8e1d4538556438288c4276901ea008ae44091954e29 numpy-2.3.1-cp312-cp312-macosx_11_0_arm64.whl
867ef172a0976aaa1f1d1b63cf2090de8b636a7674607d514505fb7276ab08fc numpy-2.3.1-cp312-cp312-macosx_14_0_arm64.whl
4e602e1b8682c2b833af89ba641ad4176053aaa50f5cacda1a27004352dde943 numpy-2.3.1-cp312-cp312-macosx_14_0_x86_64.whl
8e333040d069eba1652fb08962ec5b76af7f2c7bce1df7e1418c8055cf776f25 numpy-2.3.1-cp312-cp312-manylinux_2_28_aarch64.whl
e7cbf5a5eafd8d230a3ce356d892512185230e4781a361229bd902ff403bc660 numpy-2.3.1-cp312-cp312-manylinux_2_28_x86_64.whl
5f1b8f26d1086835f442286c1d9b64bb3974b0b1e41bb105358fd07d20872952 numpy-2.3.1-cp312-cp312-musllinux_1_2_aarch64.whl
ee8340cb48c9b7a5899d1149eece41ca535513a9698098edbade2a8e7a84da77 numpy-2.3.1-cp312-cp312-musllinux_1_2_x86_64.whl
e772dda20a6002ef7061713dc1e2585bc1b534e7909b2030b5a46dae8ff077ab numpy-2.3.1-cp312-cp312-win32.whl
cfecc7822543abdea6de08758091da655ea2210b8ffa1faf116b940693d3df76 numpy-2.3.1-cp312-cp312-win_amd64.whl
7be91b2239af2658653c5bb6f1b8bccafaf08226a258caf78ce44710a0160d30 numpy-2.3.1-cp312-cp312-win_arm64.whl
25a1992b0a3fdcdaec9f552ef10d8103186f5397ab45e2d25f8ac51b1a6b97e8 numpy-2.3.1-cp313-cp313-macosx_10_13_x86_64.whl
7dea630156d39b02a63c18f508f85010230409db5b2927ba59c8ba4ab3e8272e numpy-2.3.1-cp313-cp313-macosx_11_0_arm64.whl
bada6058dd886061f10ea15f230ccf7dfff40572e99fef440a4a857c8728c9c0 numpy-2.3.1-cp313-cp313-macosx_14_0_arm64.whl
a894f3816eb17b29e4783e5873f92faf55b710c2519e5c351767c51f79d8526d numpy-2.3.1-cp313-cp313-macosx_14_0_x86_64.whl
18703df6c4a4fee55fd3d6e5a253d01c5d33a295409b03fda0c86b3ca2ff41a1 numpy-2.3.1-cp313-cp313-manylinux_2_28_aarch64.whl
5902660491bd7a48b2ec16c23ccb9124b8abfd9583c

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@pyup-bot