chore(deps): update dependency numpy to >=2.4.6,<3.0.0 #3

Merged
apunkt merged 1 commit from renovate/numpy-2.x into main 2026-05-22 09:39:59 +02:00
Collaborator

This PR contains the following updates:

Package Type Update Change
numpy (changelog) project.dependencies minor >=1.26.0,<2.3.0>=2.4.6,<3.0.0

Release Notes

numpy/numpy (numpy)

v2.4.6: (May 18, 2026)

Compare Source

NumPy 2.4.6 Release Notes

NumPy 2.4.6 is a quick release that fixes a regression discovered in the 2.4.5
release.

This release supports Python versions 3.11-3.14

Contributors

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

  • !EarlMilktea
  • Charles Harris
  • Sebastian Berg
  • Warren Weckesser

Pull requests merged

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

  • #​31444: MAINT: Prepare 2.4.x for further development
  • #​31453: BUG: Fix regression in arr.conj()
  • #​31459: BUG: np.linalg.svd(..., hermitian=True) returns non-unitary...
  • #​31460: BUG: Don't call INCREF/DECREF on descr in NpyStringAcquireAllocator...

v2.4.5: (May 15, 2026)

Compare Source

NumPy 2.4.5 Release Notes

NumPy 2.4.5 is a patch release that fixes bugs discovered after the 2.4.4
release, has some typing improvements, and maintains infrastructure.

This release supports Python versions 3.11-3.14

Contributors

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

  • Aleksei Nikiforov
  • Anarion Zuo +
  • Ankit Ahlawat
  • Breno Favaretto +
  • Charles Harris
  • Igor Krivenko +
  • Ijtihed Kilani +
  • Joren Hammudoglu
  • Maarten Baert +
  • Matti Picus
  • Nathan Goldbaum
  • Praneeth Kodumagulla +
  • Ralf Gommers
  • RoomWithOutRoof +
  • Sebastian Berg
  • Warren Weckesser
  • div +

Pull requests merged

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

  • #​31093: MAINT: Prepare 2.4.x for further development
  • #​31182: TYP: fix np.shape assignability issue for python lists (#​31171)
  • #​31197: ENH: Return rank 0 for empty matrices in matrix_rank (#​30422)
  • #​31198: CI/BUG: add native jobs for s390x, fix bug in pack_inner...
  • #​31199: BUG: f2py map complex_long_double to NPY_CLONGDOUBLE
  • #​31205: MAINT: f2py: Stop setting re._MAXCACHE to 50.
  • #​31206: BUG: fix heap buffer overflow in timedelta to string casts
  • #​31207: MAINT: Rename ppc64le and s390x workflow (#​31121)
  • #​31208: BUG: Fix matvec/vecmat in-place aliasing (out=input produces...
  • #​31209: TYP: tile: accept numpy scalars and arrays as second argument...
  • #​31211: DEP: Undo deprecation for np.dtype() signature used by old pickles...
  • #​31212: REV: Manual revert of float16 svml use (#​31178)
  • #​31222: TYP: ix_ fix for boolean and non-1d input (#​31218)
  • #​31329: BUG: incorrect temp elision for new-style (NEP 43) user-defined...
  • #​31330: TYP: fix sliding_window_view axis parameter typing
  • #​31335: BUG: Prevent deadlock due to downstream importing NumPy in dlopen...
  • #​31336: BUG: Fix segfault in nditer.multi_index when __getitem__ raises...
  • #​31338: TYP: Fix ruff lint error
  • #​31357: BUG: fix memory leak in np.zeros when fill-zero loop raises (#​31320)
  • #​31358: BUG: np.einsum() fails with a 0-dimensional out argument and...
  • #​31379: BUG: Fix signed overflow issue in npy_gcd for INT_MIN on s390x...
  • #​31383: CI: remove Cirrus CI FreeBSD job (#​31380)
  • #​31390: BUILD: newer MKL uses so.3
  • #​31391: BLD/MAINT: improve support for Intel LLVM compilers
  • #​31401: BUG: Avoid UB in safe[add,sub,mul] helpers (#​31396)
  • #​31402: BUG: exclude __pycache__ directories from wheels (#​31397)
  • #​31404: TYP: _NestedSequence type parameter default to work around...
  • #​31426: TYP: Fix DTypeLike runtime type-checker support (#​31425)

v2.4.4: 2.4.4 (Mar 29, 2026)

Compare Source

NumPy 2.4.4 Release Notes

The NumPy 2.4.4 is a patch release that fixes bugs discovered after the 2.4.3
release. It should finally close issue #​30816, the OpenBLAS threading problem
on ARM.

This release supports Python versions 3.11-3.14

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
  • Daniel Haag +
  • Denis Prokopenko +
  • Harshith J +
  • Koki Watanabe
  • Marten van Kerkwijk
  • Matti Picus
  • Nathan Goldbaum

Pull requests merged

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

v2.4.3: 2.4.3 (Mar 9, 2026)

Compare Source

NumPy 2.4.3 Release Notes

The NumPy 2.4.3 is a patch release that fixes bugs discovered after the
2.4.2 release. The most user visible fix may be a threading fix for
OpenBLAS on ARM, closing issue #​30816.

This release supports Python versions 3.11-3.14

Contributors

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

  • Antareep Sarkar +
  • Charles Harris
  • Joren Hammudoglu
  • Matthieu Darbois
  • Matti Picus
  • Nathan Goldbaum
  • Peter Hawkins
  • Pieter Eendebak
  • Sebastian Berg
  • Warren Weckesser
  • stratakis +

Pull requests merged

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

  • #​30759: MAINT: Prepare 2.4.x for further development
  • #​30827: BUG: Fix some leaks found via LeakSanitizer (#​30756)
  • #​30841: MAINT: Synchronize 2.4.x submodules with main
  • #​30849: TYP: matlib: missing extended precision imports
  • #​30850: BUG: Fix weak hash function in np.isin(). (#​30840)
  • #​30921: BUG: fix infinite recursion in np.ma.flatten_structured_array...
  • #​30922: BUG: Fix buffer overrun in CPU baseline validation (#​30877)
  • #​30923: BUG: Fix busdaycalendar's handling of a bool array weekmask....
  • #​30924: BUG: Fix reference leaks and NULL pointer dereferences (#​30908)
  • #​30925: MAINT: fix two minor issues noticed when touching the C API setup
  • #​30955: ENH: Test .kind not .char in np.testing.assert_equal (#​30879)
  • #​30957: BUG: fix type issues in uses if PyDataType macros
  • #​30958: MAINT: Don't use vulture 2.15, it has false positives
  • #​30973: MAINT: update openblas (#​30961)

v2.4.2: 2.4.2 (Feb 1, 2026)

Compare Source

NumPy 2.4.2 Release Notes

The NumPy 2.4.2 is a patch release that fixes bugs discovered after the
2.4.1 release. Highlights are:

  • Fixes memory leaks
  • Updates OpenBLAS to fix hangs

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.

  • Charles Harris
  • Daniel Tang +
  • Joren Hammudoglu
  • Kumar Aditya
  • Matti Picus
  • Nathan Goldbaum
  • Ralf Gommers
  • Sebastian Berg
  • Vikram Kumar +

Pull requests merged

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

  • #​30629: MAINT: Prepare 2.4.x for further development
  • #​30636: TYP: arange: accept datetime strings
  • #​30657: MAINT: avoid possible race condition by not touching os.environ...
  • #​30700: BUG: validate contraction axes in tensordot (#​30521)
  • #​30701: DOC: __array_namespace__info__: set_module not __module__ (#​30679)
  • #​30702: BUG: fix free-threaded PyObject layout in replace_scalar_type_names...
  • #​30703: TST: fix limited API example in tests for latest Cython
  • #​30709: BUG: Fix some bugs found via valgrind (#​30680)
  • #​30712: MAINT: replace ob_type access with Py_TYPE in PyArray_CheckExact
  • #​30713: BUG: Fixup the quantile promotion fixup
  • #​30736: BUG: fix thread safety of array_getbuffer (#​30667)
  • #​30737: backport scipy-openblas version change

v2.4.1: 2.4.1 (Jan 10, 2026)

Compare Source

NumPy 2.4.1 Release Notes

The NumPy 2.4.1 is a patch release that fixes bugs discoved after the
2.4.0 release. In particular, the typo SeedlessSequence is preserved to
enable wheels using the random Cython API and built against NumPy < 2.4.0
to run without errors.

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.

  • Alexander Shadchin
  • Bill Tompkins +
  • Charles Harris
  • Joren Hammudoglu
  • Marten van Kerkwijk
  • Nathan Goldbaum
  • Raghuveer Devulapalli
  • Ralf Gommers
  • Sebastian Berg

Pull requests merged

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

  • #​30490: MAINT: Prepare 2.4.x for further development
  • #​30503: DOC: numpy.select: fix default parameter docstring...
  • #​30504: REV: Revert part of #​30164 (#​30500)
  • #​30506: TYP: numpy.select: allow passing array-like default...
  • #​30507: MNT: use if constexpr for compile-time branch selection
  • #​30513: BUG: Fix leak in flat assignment iterator
  • #​30516: BUG: fix heap overflow in fixed-width string multiply (#​30511)
  • #​30523: BUG: Ensure summed weights returned by np.average always are...
  • #​30527: TYP: Fix return type of histogram2d
  • #​30594: MAINT: avoid passing ints to random functions that take double...
  • #​30595: BLD: Avoiding conflict with pygit2 for static build
  • #​30596: MAINT: Fix msvccompiler missing error on FreeBSD
  • #​30608: BLD: update vendored Meson to 1.9.2
  • #​30620: ENH: use more fine-grained critical sections in array coercion...
  • #​30623: BUG: Undo result type change of quantile/percentile but keep...

v2.4.0: 2.4.0 (Dec 20, 2025)

Compare Source

NumPy 2.4.0 Release Notes

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)

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)

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)

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)

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)

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)

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)

Expired deprecations

Removed deprecated MachAr runtime discovery mechanism.

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

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)

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)

Removed numpy.in1d

numpy.in1d has been deprecated since NumPy 2.0 and is now removed in favor of numpy.isin.

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

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)

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)

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)

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)

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)

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)

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)

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

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

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

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)

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)

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)

New Features

  • Let np.size accept multiple axes.

    (gh-29240)

  • Extend numpy.pad to accept a dictionary for the pad_width argument.

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

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
and was implemented in pull request gh‑29423.

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


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

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)

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)

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)

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)

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)

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)

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)

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)

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)

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 and was implemented
in pull request gh‑29947.

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

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)

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)

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)

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)

  • The accuracy of np.quantile and np.percentile for 16- and 32-bit
    floating point input data has been improved.

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

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)

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)

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

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)

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)

numpy.typing.DTypeLike no longer accepts None

The type alias numpy.typing.DTypeLike no longer accepts None. Instead of

dtype: DTypeLike = None

it should now be

dtype: DTypeLike | None = None

instead.

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

v2.3.5: 2.3.5 (Nov 16, 2025)

Compare Source

NumPy 2.3.5 Release Notes

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: MAINT: Prepare 2.3.x for further development
  • #​30026: SIMD, BLD: Backport FPMATH mode on x86-32 and filter successor...
  • #​30029: MAINT: Backport write_release.py
  • #​30041: TYP: Various typing updates
  • #​30059: BUG: Fix np.strings.slice if stop=None or start and stop >= len...
  • #​30063: BUG: Fix np.strings.slice if start > stop
  • #​30076: BUG: avoid negating INT_MIN in PyArray_Round implementation (#​30071)
  • #​30090: BUG: Fix resize when it contains references (#​29970)
  • #​30129: BLD: update scipy-openblas, use -Dpkg_config_path (#​30049)
  • #​30130: BUG: Avoid compilation error of wrapper file generated with SWIG...
  • #​30157: BLD: use scipy-openblas 0.3.30.7 (#​30132)
  • #​30158: DOC: Remove nonexistent order parameter docs of ma.asanyarray...
  • #​30185: BUG: Fix check of PyMem_Calloc return value. (#​30176)
  • #​30217: DOC: fix links for newly rebuilt numpy-tutorials site
  • #​30218: BUG: Fix build on s390x with clang (#​30214)
  • #​30237: ENH: Make FPE blas check a runtime check for all apple arm systems

v2.3.4: (Oct 15, 2025)

Compare Source

NumPy 2.3.4 Release Notes

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)

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.

v2.3.3: 2.3.3 (Sep 9, 2025)

Compare Source

NumPy 2.3.3 Release Notes

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: MAINT: Prepare 2.3.x for further development.
  • #​29446: BUG: Fix test_configtool_pkgconfigdir to resolve PKG_CONFIG_DIR...
  • #​29447: BLD: allow targeting webassembly without emscripten
  • #​29460: MAINT: Backport write_release.py
  • #​29473: MAINT: Bump pypa/cibuildwheel from 3.1.0 to 3.1.2
  • #​29500: BUG: Always return a real dtype from linalg.cond (gh-18304) (#​29333)
  • #​29501: MAINT: Add .file entry to all .s SVML files
  • #​29556: BUG: Casting from one timedelta64 to another didn't handle NAT.
  • #​29562: BLD: update vendored Meson to 1.8.3 [wheel build]
  • #​29563: BUG: Fix metadata not roundtripping when pickling datetime (#​29555)
  • #​29587: TST: update link and version for Intel SDE download
  • #​29593: TYP: add sorted kwarg to unique
  • #​29672: MAINT: Update pythoncapi-compat from main.
  • #​29673: MAINT: Update cibuildwheel.
  • #​29674: MAINT: Fix typo in wheels.yml
  • #​29683: BUG, BLD: Correct regex for ppc64 VSX3/VSX4 feature detection
  • #​29684: TYP: ndarray.fill() takes no keyword arguments
  • #​29685: BUG: avoid thread-unsafe refcount check in temp elision
  • #​29687: CI: replace comment-hider action in mypy_primer workflow
  • #​29689: BLD: Add missing <unordered_map> include
  • #​29691: BUG: use correct input dtype in flatiter assignment
  • #​29700: TYP: fix np.bool method declarations
  • #​29701: BUG: Correct ambiguous logic for s390x CPU feature detection

v2.3.2: (Jul 24, 2025)

Compare Source

NumPy 2.3.2 Release Notes

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: MAINT: Prepare 2.3.x for further development
  • #​29283: TYP: Work around a mypy issue with bool arrays (#​29248)
  • #​29284: BUG: fix fencepost error in StringDType internals
  • #​29287: BUG: handle case in mapiter where descriptors might get replaced...
  • #​29350: BUG: Fix shape error path in array-interface
  • #​29412: BUG: Allow reading non-npy files in npz and add test
  • #​29413: TST: Avoid uninitialized values in test (#​29341)
  • #​29414: BUG: Fix reference leakage for output arrays in reduction functions
  • #​29415: BUG: fix casting issue in center, ljust, rjust, and zfill (#​29369)
  • #​29416: TYP: Fix overloads in np.char.array and np.char.asarray...
  • #​29417: BUG: Any dtype should call square on arr \*\* 2 (#​29392)
  • #​29424: MAINT: use a stable pypy release in CI
  • #​29425: MAINT: Support python 314rc1
  • #​29429: MAINT: Update highway to match main.
  • #​29430: BLD: use github to build macos-arm64 wheels with OpenBLAS and...
  • #​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

v2.3.1: (Jun 21, 2025)

Compare Source

NumPy 2.3.1 Release Notes

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: MAINT: Prepare 2.3.x for further development
  • #​29191: BUG: fix matmul with transposed out arg (#​29179)
  • #​29192: TYP: Backport typing fixes and improvements.
  • #​29205: BUG: Revert np.vectorize casting to legacy behavior (#​29196)
  • #​29222: TYP: Backport typing fixes
  • #​29233: BUG: avoid negating unsigned integers in resize implementation...
  • #​29234: TST: Fix test that uses uninitialized memory (#​29232)
  • #​29235: BUG: Address interaction between SME and FPSR (#​29223)
  • #​29237: BUG: Enforce integer limitation in concatenate (#​29231)
  • #​29238: CI: Add support for building NumPy with LLVM for Win-ARM64
  • #​29241: ENH: Detect CPU features on OpenBSD ARM and PowerPC64
  • #​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
5902660491bd7a48b2ec16c23ccb9124b8abfd9583c5fdfa123fe6b421e03de1  numpy-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl
36890eb9e9d2081137bd78d29050ba63b8dab95dff7912eadf1185e80074b2a0  numpy-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl
a780033466159c2270531e2b8ac063704592a0bc62ec4a1b991c7c40705eb0e8  numpy-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl
39bff12c076812595c3a306f22bfe49919c5513aa1e0e70fac756a0be7c2a2b8  numpy-2.3.1-cp313-cp313-win32.whl
8d5ee6eec45f08ce507a6570e06f2f879b374a552087a4179ea7838edbcbfa42  numpy-2.3.1-cp313-cp313-win_amd64.whl
0c4d9e0a8368db90f93bd192bfa771ace63137c3488d198ee21dfb8e7771916e  numpy-2.3.1-cp313-cp313-win_arm64.whl
b0b5397374f32ec0649dd98c652a1798192042e715df918c20672c62fb52d4b8  numpy-2.3.1-cp313-cp313t-macosx_10_13_x86_64.whl
c5bdf2015ccfcee8253fb8be695516ac4457c743473a43290fd36eba6a1777eb  numpy-2.3.1-cp313-cp313t-macosx_11_0_arm64.whl
d70f20df7f08b90a2062c1f07737dd340adccf2068d0f1b9b3d56e2038979fee  numpy-2.3.1-cp313-cp313t-macosx_14_0_arm64.whl
2fb86b7e58f9ac50e1e9dd1290154107e47d1eef23a0ae9145ded06ea606f992  numpy-2.3.1-cp313-cp313t-macosx_14_0_x86_64.whl
23ab05b2d241f76cb883ce8b9a93a680752fbfcbd51c50eff0b88b979e471d8c  numpy-2.3.1-cp313-cp313t-manylinux_2_28_aarch64.whl
ce2ce9e5de4703a673e705183f64fd5da5bf36e7beddcb63a25ee2286e71ca48  numpy-2.3.1-cp313-cp313t-manylinux_2_28_x86_64.whl
c4913079974eeb5c16ccfd2b1f09354b8fed7e0d6f2cab933104a09a6419b1ee  numpy-2.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl
010ce9b4f00d5c036053ca684c77441f2f2c934fd23bee058b4d6f196efd8280  numpy-2.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl
6269b9edfe32912584ec496d91b00b6d34282ca1d07eb10e82dfc780907d6c2e  numpy-2.3.1-cp313-cp313t-win32.whl
2a809637460e88a113e186e87f228d74ae2852a2e0c44de275263376f17b5bdc  numpy-2.3.1-cp313-cp313t-win_amd64.whl
eccb9a159db9aed60800187bc47a6d3451553f0e1b08b068d8b277ddfbb9b244  numpy-2.3.1-cp313-cp313t-win_arm64.whl
ad506d4b09e684394c42c966ec1527f6ebc25da7f4da4b1b056606ffe446b8a3  numpy-2.3.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
ebb8603d45bc86bbd5edb0d63e52c5fd9e7945d3a503b77e486bd88dde67a19b  numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_arm64.whl
15aa4c392ac396e2ad3d0a2680c0f0dee420f9fed14eef09bdb9450ee6dcb7b7  numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_x86_64.whl
c6e0bf9d1a2f50d2b65a7cf56db37c095af17b59f6c132396f7c6d5dd76484df  numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
eabd7e8740d494ce2b4ea0ff05afa1b7b291e978c0ae075487c51e8bd93c0c68  numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
e610832418a2bc09d974cc9fecebfa51e9532d6190223bc5ef6a7402ebf3b5cb  numpy-2.3.1-pp311-pypy311_pp73-win_amd64.whl
1ec9ae20a4226da374362cca3c62cd753faf2f951440b0e3b98e93c235441d2b  numpy-2.3.1.tar.gz

v2.3.0: (June 7, 2025)

Compare Source

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)

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)

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

    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:

    import numpy as np
    from typing import overload
    
    @&#8203;overload
    def f(x: np.complex64) -> np.float32: ...
    @&#8203;overload
    def f(x: np.complex128) -> np.float64: ...
    @&#8203;overload
    def f(x: np.clongdouble) -> np.longdouble: ...
    

    (gh-28884)

Expired deprecations

  • Remove deprecated macros like NPY_OWNDATA from Cython interfaces
    in favor of NPY_ARRAY_OWNDATA (deprecated since 1.7)

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

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

  • Remove np.tostring (deprecated since 1.19)

    (gh-28254)

  • Raise on np.conjugate of non-numeric types (deprecated since 1.13)

    (gh-28254)

  • Raise when using np.bincount(...minlength=None), use 0 instead
    (deprecated since 1.14)

    (gh-28254)

  • Passing shape=None to functions with a non-optional shape argument
    errors, use () instead (deprecated since 1.20)

    (gh-28254)

  • Inexact matches for mode and searchside raise (deprecated since
    1.20)

    (gh-28254)

  • Setting __array_finalize__ = None errors (deprecated since 1.23)

    (gh-28254)

  • np.fromfile and np.fromstring error on bad data, previously they
    would guess (deprecated since 1.18)

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

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

    (gh-28254)

  • Passing booleans as partition index errors (deprecated since 1.23)

    (gh-28254)

  • Out-of-bounds indexes error even on empty arrays (deprecated since
    1.20)

    (gh-28254)

  • np.tostring has been removed, use tobytes instead (deprecated
    since 1.19)

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

  • concatenate() with axis=None uses same-kind casting by
    default, not unsafe (deprecated since 1.20)

    (gh-28254)

  • Unpickling a scalar with object dtype errors (deprecated since 1.20)

    (gh-28254)

  • The binary mode of fromstring now errors, use frombuffer instead
    (deprecated since 1.14)

    (gh-28254)

  • Converting np.inexact or np.floating to a dtype errors
    (deprecated since 1.19)

    (gh-28254)

  • Converting np.complex, np.integer, np.signedinteger,
    np.unsignedinteger, np.generic to a dtype errors (deprecated
    since 1.19)

    (gh-28254)

  • The Python built-in round errors for complex scalars. Use
    np.round or scalar.round instead (deprecated since 1.19)

    (gh-28254)

  • 'np.bool' scalars can no longer be interpreted as an index
    (deprecated since 1.19)

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

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

  • Special handling of matrix is in np.outer is removed. Convert to a
    ndarray via matrix.A (deprecated since 1.20)

    (gh-28254)

  • Removed the np.compat package source code (removed in 2.0)

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

  • NpyIter now has no limit on the number of operands it supports.

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

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)

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

NumPy now registers its pkg-config paths with the pkgconf PyPI package

The pkgconf 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
from PyPI, NumPy will be discoverable without needing for any custom
environment configuration.

[!NOTE]
This only applies when using the pkgconf package from PyPI,
or put another way, this only applies when installing pkgconf 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
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)

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)

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)

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)

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)

  • np.nditer now has no limit on the number of supported operands
    (C-integer).

    (gh-28080)

  • No-copy pickling is now supported for any array that can be
    transposed to a C-contiguous array.

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

  • np.dot now reports floating point exceptions.

    (gh-28442)

  • np.dtypes.StringDType is now a generic
    type
    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)

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)

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)

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)

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)

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)

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

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

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

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

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)

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)

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)

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)

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
.

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

Re-enable overriding functions in the numpy.strings

Re-enable overriding functions in the numpy.strings module.

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

Configuration

📅 Schedule: (UTC)

  • Branch creation
    • At any time (no schedule defined)
  • Automerge
    • At any time (no schedule defined)

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

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

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


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

This PR has been generated by Mend Renovate.

This PR contains the following updates: | Package | Type | Update | Change | |---|---|---|---| | [numpy](https://github.com/numpy/numpy) ([changelog](https://numpy.org/doc/stable/release)) | project.dependencies | minor | `>=1.26.0,<2.3.0` → `>=2.4.6,<3.0.0` | --- ### Release Notes <details> <summary>numpy/numpy (numpy)</summary> ### [`v2.4.6`](https://github.com/numpy/numpy/releases/tag/v2.4.6): (May 18, 2026) [Compare Source](https://github.com/numpy/numpy/compare/v2.4.5...v2.4.6) ### NumPy 2.4.6 Release Notes NumPy 2.4.6 is a quick release that fixes a regression discovered in the 2.4.5 release. This release supports Python versions 3.11-3.14 #### Contributors A total of 4 people contributed to this release. People with a "+" by their names contributed a patch for the first time. - !EarlMilktea - Charles Harris - Sebastian Berg - Warren Weckesser #### Pull requests merged A total of 4 pull requests were merged for this release. - [#&#8203;31444](https://github.com/numpy/numpy/pull/31444): MAINT: Prepare 2.4.x for further development - [#&#8203;31453](https://github.com/numpy/numpy/pull/31453): BUG: Fix regression in `arr.conj()` - [#&#8203;31459](https://github.com/numpy/numpy/pull/31459): BUG: `np.linalg.svd(..., hermitian=True)` returns non-unitary... - [#&#8203;31460](https://github.com/numpy/numpy/pull/31460): BUG: Don't call INCREF/DECREF on descr in NpyStringAcquireAllocator... ### [`v2.4.5`](https://github.com/numpy/numpy/releases/tag/v2.4.5): (May 15, 2026) [Compare Source](https://github.com/numpy/numpy/compare/v2.4.4...v2.4.5) ### NumPy 2.4.5 Release Notes NumPy 2.4.5 is a patch release that fixes bugs discovered after the 2.4.4 release, has some typing improvements, and maintains infrastructure. This release supports Python versions 3.11-3.14 #### Contributors A total of 17 people contributed to this release. People with a "+" by their names contributed a patch for the first time. - Aleksei Nikiforov - Anarion Zuo + - Ankit Ahlawat - Breno Favaretto + - Charles Harris - Igor Krivenko + - Ijtihed Kilani + - Joren Hammudoglu - Maarten Baert + - Matti Picus - Nathan Goldbaum - Praneeth Kodumagulla + - Ralf Gommers - RoomWithOutRoof + - Sebastian Berg - Warren Weckesser - div + #### Pull requests merged A total of 28 pull requests were merged for this release. - [#&#8203;31093](https://github.com/numpy/numpy/pull/31093): MAINT: Prepare 2.4.x for further development - [#&#8203;31182](https://github.com/numpy/numpy/pull/31182): TYP: fix `np.shape` assignability issue for python lists ([#&#8203;31171](https://github.com/numpy/numpy/issues/31171)) - [#&#8203;31197](https://github.com/numpy/numpy/pull/31197): ENH: Return rank 0 for empty matrices in matrix\_rank ([#&#8203;30422](https://github.com/numpy/numpy/issues/30422)) - [#&#8203;31198](https://github.com/numpy/numpy/pull/31198): CI/BUG: add native jobs for s390x, fix bug in `pack_inner`... - [#&#8203;31199](https://github.com/numpy/numpy/pull/31199): BUG: f2py map complex\_long\_double to NPY\_CLONGDOUBLE - [#&#8203;31205](https://github.com/numpy/numpy/pull/31205): MAINT: f2py: Stop setting re.\_MAXCACHE to 50. - [#&#8203;31206](https://github.com/numpy/numpy/pull/31206): BUG: fix heap buffer overflow in timedelta to string casts - [#&#8203;31207](https://github.com/numpy/numpy/pull/31207): MAINT: Rename ppc64le and s390x workflow ([#&#8203;31121](https://github.com/numpy/numpy/issues/31121)) - [#&#8203;31208](https://github.com/numpy/numpy/pull/31208): BUG: Fix matvec/vecmat in-place aliasing (out=input produces... - [#&#8203;31209](https://github.com/numpy/numpy/pull/31209): TYP: `tile`: accept numpy scalars and arrays as second argument... - [#&#8203;31211](https://github.com/numpy/numpy/pull/31211): DEP: Undo deprecation for np.dtype() signature used by old pickles... - [#&#8203;31212](https://github.com/numpy/numpy/pull/31212): REV: Manual revert of float16 svml use ([#&#8203;31178](https://github.com/numpy/numpy/issues/31178)) - [#&#8203;31222](https://github.com/numpy/numpy/pull/31222): TYP: `ix_` fix for boolean and non-1d input ([#&#8203;31218](https://github.com/numpy/numpy/issues/31218)) - [#&#8203;31329](https://github.com/numpy/numpy/pull/31329): BUG: incorrect temp elision for new-style (NEP 43) user-defined... - [#&#8203;31330](https://github.com/numpy/numpy/pull/31330): TYP: fix sliding\_window\_view axis parameter typing - [#&#8203;31335](https://github.com/numpy/numpy/pull/31335): BUG: Prevent deadlock due to downstream importing NumPy in dlopen... - [#&#8203;31336](https://github.com/numpy/numpy/pull/31336): BUG: Fix segfault in nditer.multi\_index when \_\_getitem\_\_ raises... - [#&#8203;31338](https://github.com/numpy/numpy/pull/31338): TYP: Fix ruff lint error - [#&#8203;31357](https://github.com/numpy/numpy/pull/31357): BUG: fix memory leak in np.zeros when fill-zero loop raises ([#&#8203;31320](https://github.com/numpy/numpy/issues/31320)) - [#&#8203;31358](https://github.com/numpy/numpy/pull/31358): BUG: np.einsum() fails with a 0-dimensional out argument and... - [#&#8203;31379](https://github.com/numpy/numpy/pull/31379): BUG: Fix signed overflow issue in npy\_gcd for INT\_MIN on s390x... - [#&#8203;31383](https://github.com/numpy/numpy/pull/31383): CI: remove Cirrus CI FreeBSD job ([#&#8203;31380](https://github.com/numpy/numpy/issues/31380)) - [#&#8203;31390](https://github.com/numpy/numpy/pull/31390): BUILD: newer MKL uses so.3 - [#&#8203;31391](https://github.com/numpy/numpy/pull/31391): BLD/MAINT: improve support for Intel LLVM compilers - [#&#8203;31401](https://github.com/numpy/numpy/pull/31401): BUG: Avoid UB in [safe]()\[add,sub,mul] helpers ([#&#8203;31396](https://github.com/numpy/numpy/issues/31396)) - [#&#8203;31402](https://github.com/numpy/numpy/pull/31402): BUG: exclude \_\_pycache\_\_ directories from wheels ([#&#8203;31397](https://github.com/numpy/numpy/issues/31397)) - [#&#8203;31404](https://github.com/numpy/numpy/pull/31404): TYP: `_NestedSequence` type parameter default to work around... - [#&#8203;31426](https://github.com/numpy/numpy/pull/31426): TYP: Fix `DTypeLike` runtime type-checker support ([#&#8203;31425](https://github.com/numpy/numpy/issues/31425)) ### [`v2.4.4`](https://github.com/numpy/numpy/releases/tag/v2.4.4): 2.4.4 (Mar 29, 2026) [Compare Source](https://github.com/numpy/numpy/compare/v2.4.3...v2.4.4) ### NumPy 2.4.4 Release Notes The NumPy 2.4.4 is a patch release that fixes bugs discovered after the 2.4.3 release. It should finally close issue [#&#8203;30816](https://github.com/numpy/numpy/issues/30816), the OpenBLAS threading problem on ARM. This release supports Python versions 3.11-3.14 #### 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 - Daniel Haag + - Denis Prokopenko + - Harshith J + - Koki Watanabe - Marten van Kerkwijk - Matti Picus - Nathan Goldbaum #### Pull requests merged A total of 7 pull requests were merged for this release. - [#&#8203;30978](https://github.com/numpy/numpy/pull/30978): MAINT: Prepare 2.4.x for further development - [#&#8203;31049](https://github.com/numpy/numpy/pull/31049): BUG: Add test to reproduce problem described in [#&#8203;30816](https://github.com/numpy/numpy/issues/30816) ([#&#8203;30818](https://github.com/numpy/numpy/issues/30818)) - [#&#8203;31052](https://github.com/numpy/numpy/pull/31052): BUG: fix FNV-1a 64-bit selection by using NPY\_SIZEOF\_UINTP ([#&#8203;31035](https://github.com/numpy/numpy/issues/31035)) - [#&#8203;31053](https://github.com/numpy/numpy/pull/31053): BUG: avoid warning on ufunc with where=True and no output - [#&#8203;31058](https://github.com/numpy/numpy/pull/31058): DOC: document caveats of ndarray.resize on 3.14 and newer - [#&#8203;31079](https://github.com/numpy/numpy/pull/31079): TST: fix POWER VSX feature mapping ([#&#8203;30801](https://github.com/numpy/numpy/issues/30801)) - [#&#8203;31084](https://github.com/numpy/numpy/pull/31084): MAINT: numpy.i: Replace deprecated `sprintf` with `snprintf`... ### [`v2.4.3`](https://github.com/numpy/numpy/releases/tag/v2.4.3): 2.4.3 (Mar 9, 2026) [Compare Source](https://github.com/numpy/numpy/compare/v2.4.2...v2.4.3) ### NumPy 2.4.3 Release Notes The NumPy 2.4.3 is a patch release that fixes bugs discovered after the 2.4.2 release. The most user visible fix may be a threading fix for OpenBLAS on ARM, closing issue [#&#8203;30816](https://github.com/numpy/numpy/issues/30816). This release supports Python versions 3.11-3.14 #### Contributors A total of 11 people contributed to this release. People with a "+" by their names contributed a patch for the first time. - Antareep Sarkar + - Charles Harris - Joren Hammudoglu - Matthieu Darbois - Matti Picus - Nathan Goldbaum - Peter Hawkins - Pieter Eendebak - Sebastian Berg - Warren Weckesser - stratakis + #### Pull requests merged A total of 14 pull requests were merged for this release. - [#&#8203;30759](https://github.com/numpy/numpy/pull/30759): MAINT: Prepare 2.4.x for further development - [#&#8203;30827](https://github.com/numpy/numpy/pull/30827): BUG: Fix some leaks found via LeakSanitizer ([#&#8203;30756](https://github.com/numpy/numpy/issues/30756)) - [#&#8203;30841](https://github.com/numpy/numpy/pull/30841): MAINT: Synchronize 2.4.x submodules with main - [#&#8203;30849](https://github.com/numpy/numpy/pull/30849): TYP: `matlib`: missing extended precision imports - [#&#8203;30850](https://github.com/numpy/numpy/pull/30850): BUG: Fix weak hash function in np.isin(). ([#&#8203;30840](https://github.com/numpy/numpy/issues/30840)) - [#&#8203;30921](https://github.com/numpy/numpy/pull/30921): BUG: fix infinite recursion in np.ma.flatten\_structured\_array... - [#&#8203;30922](https://github.com/numpy/numpy/pull/30922): BUG: Fix buffer overrun in CPU baseline validation ([#&#8203;30877](https://github.com/numpy/numpy/issues/30877)) - [#&#8203;30923](https://github.com/numpy/numpy/pull/30923): BUG: Fix busdaycalendar's handling of a bool array weekmask.... - [#&#8203;30924](https://github.com/numpy/numpy/pull/30924): BUG: Fix reference leaks and NULL pointer dereferences ([#&#8203;30908](https://github.com/numpy/numpy/issues/30908)) - [#&#8203;30925](https://github.com/numpy/numpy/pull/30925): MAINT: fix two minor issues noticed when touching the C API setup - [#&#8203;30955](https://github.com/numpy/numpy/pull/30955): ENH: Test .kind not .char in np.testing.assert\_equal ([#&#8203;30879](https://github.com/numpy/numpy/issues/30879)) - [#&#8203;30957](https://github.com/numpy/numpy/pull/30957): BUG: fix type issues in uses if PyDataType macros - [#&#8203;30958](https://github.com/numpy/numpy/pull/30958): MAINT: Don't use vulture 2.15, it has false positives - [#&#8203;30973](https://github.com/numpy/numpy/pull/30973): MAINT: update openblas ([#&#8203;30961](https://github.com/numpy/numpy/issues/30961)) ### [`v2.4.2`](https://github.com/numpy/numpy/releases/tag/v2.4.2): 2.4.2 (Feb 1, 2026) [Compare Source](https://github.com/numpy/numpy/compare/v2.4.1...v2.4.2) ### NumPy 2.4.2 Release Notes The NumPy 2.4.2 is a patch release that fixes bugs discovered after the 2.4.1 release. Highlights are: - Fixes memory leaks - Updates OpenBLAS to fix hangs 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. - Charles Harris - Daniel Tang + - Joren Hammudoglu - Kumar Aditya - Matti Picus - Nathan Goldbaum - Ralf Gommers - Sebastian Berg - Vikram Kumar + #### Pull requests merged A total of 12 pull requests were merged for this release. - [#&#8203;30629](https://github.com/numpy/numpy/pull/30629): MAINT: Prepare 2.4.x for further development - [#&#8203;30636](https://github.com/numpy/numpy/pull/30636): TYP: `arange`: accept datetime strings - [#&#8203;30657](https://github.com/numpy/numpy/pull/30657): MAINT: avoid possible race condition by not touching `os.environ`... - [#&#8203;30700](https://github.com/numpy/numpy/pull/30700): BUG: validate contraction axes in tensordot ([#&#8203;30521](https://github.com/numpy/numpy/issues/30521)) - [#&#8203;30701](https://github.com/numpy/numpy/pull/30701): DOC: \_\_array\_namespace\_\_info\_\_: set\_module not \_\_module\_\_ ([#&#8203;30679](https://github.com/numpy/numpy/issues/30679)) - [#&#8203;30702](https://github.com/numpy/numpy/pull/30702): BUG: fix free-threaded PyObject layout in replace\_scalar\_type\_names... - [#&#8203;30703](https://github.com/numpy/numpy/pull/30703): TST: fix limited API example in tests for latest Cython - [#&#8203;30709](https://github.com/numpy/numpy/pull/30709): BUG: Fix some bugs found via valgrind ([#&#8203;30680](https://github.com/numpy/numpy/issues/30680)) - [#&#8203;30712](https://github.com/numpy/numpy/pull/30712): MAINT: replace ob\_type access with Py\_TYPE in PyArray\_CheckExact - [#&#8203;30713](https://github.com/numpy/numpy/pull/30713): BUG: Fixup the quantile promotion fixup - [#&#8203;30736](https://github.com/numpy/numpy/pull/30736): BUG: fix thread safety of `array_getbuffer` ([#&#8203;30667](https://github.com/numpy/numpy/issues/30667)) - [#&#8203;30737](https://github.com/numpy/numpy/pull/30737): backport scipy-openblas version change ### [`v2.4.1`](https://github.com/numpy/numpy/releases/tag/v2.4.1): 2.4.1 (Jan 10, 2026) [Compare Source](https://github.com/numpy/numpy/compare/v2.4.0...v2.4.1) ### NumPy 2.4.1 Release Notes The NumPy 2.4.1 is a patch release that fixes bugs discoved after the 2.4.0 release. In particular, the typo `SeedlessSequence` is preserved to enable wheels using the random Cython API and built against NumPy < 2.4.0 to run without errors. 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. - Alexander Shadchin - Bill Tompkins + - Charles Harris - Joren Hammudoglu - Marten van Kerkwijk - Nathan Goldbaum - Raghuveer Devulapalli - Ralf Gommers - Sebastian Berg #### Pull requests merged A total of 15 pull requests were merged for this release. - [#&#8203;30490](https://github.com/numpy/numpy/pull/30490): MAINT: Prepare 2.4.x for further development - [#&#8203;30503](https://github.com/numpy/numpy/pull/30503): DOC: `numpy.select`: fix `default` parameter docstring... - [#&#8203;30504](https://github.com/numpy/numpy/pull/30504): REV: Revert part of [#&#8203;30164](https://github.com/numpy/numpy/issues/30164) ([#&#8203;30500](https://github.com/numpy/numpy/issues/30500)) - [#&#8203;30506](https://github.com/numpy/numpy/pull/30506): TYP: `numpy.select`: allow passing array-like `default`... - [#&#8203;30507](https://github.com/numpy/numpy/pull/30507): MNT: use if constexpr for compile-time branch selection - [#&#8203;30513](https://github.com/numpy/numpy/pull/30513): BUG: Fix leak in flat assignment iterator - [#&#8203;30516](https://github.com/numpy/numpy/pull/30516): BUG: fix heap overflow in fixed-width string multiply ([#&#8203;30511](https://github.com/numpy/numpy/issues/30511)) - [#&#8203;30523](https://github.com/numpy/numpy/pull/30523): BUG: Ensure summed weights returned by np.average always are... - [#&#8203;30527](https://github.com/numpy/numpy/pull/30527): TYP: Fix return type of histogram2d - [#&#8203;30594](https://github.com/numpy/numpy/pull/30594): MAINT: avoid passing ints to random functions that take double... - [#&#8203;30595](https://github.com/numpy/numpy/pull/30595): BLD: Avoiding conflict with pygit2 for static build - [#&#8203;30596](https://github.com/numpy/numpy/pull/30596): MAINT: Fix msvccompiler missing error on FreeBSD - [#&#8203;30608](https://github.com/numpy/numpy/pull/30608): BLD: update vendored Meson to 1.9.2 - [#&#8203;30620](https://github.com/numpy/numpy/pull/30620): ENH: use more fine-grained critical sections in array coercion... - [#&#8203;30623](https://github.com/numpy/numpy/pull/30623): BUG: Undo result type change of quantile/percentile but keep... ### [`v2.4.0`](https://github.com/numpy/numpy/releases/tag/v2.4.0): 2.4.0 (Dec 20, 2025) [Compare Source](https://github.com/numpy/numpy/compare/v2.3.5...v2.4.0) ### NumPy 2.4.0 Release Notes 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)) ### [`v2.3.5`](https://github.com/numpy/numpy/releases/tag/v2.3.5): 2.3.5 (Nov 16, 2025) [Compare Source](https://github.com/numpy/numpy/compare/v2.3.4...v2.3.5) ### NumPy 2.3.5 Release Notes 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. - [#&#8203;29979](https://github.com/numpy/numpy/pull/29979): MAINT: Prepare 2.3.x for further development - [#&#8203;30026](https://github.com/numpy/numpy/pull/30026): SIMD, BLD: Backport FPMATH mode on x86-32 and filter successor... - [#&#8203;30029](https://github.com/numpy/numpy/pull/30029): MAINT: Backport write\_release.py - [#&#8203;30041](https://github.com/numpy/numpy/pull/30041): TYP: Various typing updates - [#&#8203;30059](https://github.com/numpy/numpy/pull/30059): BUG: Fix np.strings.slice if stop=None or start and stop >= len... - [#&#8203;30063](https://github.com/numpy/numpy/pull/30063): BUG: Fix np.strings.slice if start > stop - [#&#8203;30076](https://github.com/numpy/numpy/pull/30076): BUG: avoid negating INT\_MIN in PyArray\_Round implementation ([#&#8203;30071](https://github.com/numpy/numpy/issues/30071)) - [#&#8203;30090](https://github.com/numpy/numpy/pull/30090): BUG: Fix resize when it contains references ([#&#8203;29970](https://github.com/numpy/numpy/issues/29970)) - [#&#8203;30129](https://github.com/numpy/numpy/pull/30129): BLD: update scipy-openblas, use -Dpkg\_config\_path ([#&#8203;30049](https://github.com/numpy/numpy/issues/30049)) - [#&#8203;30130](https://github.com/numpy/numpy/pull/30130): BUG: Avoid compilation error of wrapper file generated with SWIG... - [#&#8203;30157](https://github.com/numpy/numpy/pull/30157): BLD: use scipy-openblas 0.3.30.7 ([#&#8203;30132](https://github.com/numpy/numpy/issues/30132)) - [#&#8203;30158](https://github.com/numpy/numpy/pull/30158): DOC: Remove nonexistent `order` parameter docs of `ma.asanyarray`... - [#&#8203;30185](https://github.com/numpy/numpy/pull/30185): BUG: Fix check of PyMem\_Calloc return value. ([#&#8203;30176](https://github.com/numpy/numpy/issues/30176)) - [#&#8203;30217](https://github.com/numpy/numpy/pull/30217): DOC: fix links for newly rebuilt numpy-tutorials site - [#&#8203;30218](https://github.com/numpy/numpy/pull/30218): BUG: Fix build on s390x with clang ([#&#8203;30214](https://github.com/numpy/numpy/issues/30214)) - [#&#8203;30237](https://github.com/numpy/numpy/pull/30237): ENH: Make FPE blas check a runtime check for all apple arm systems ### [`v2.3.4`](https://github.com/numpy/numpy/releases/tag/v2.3.4): (Oct 15, 2025) [Compare Source](https://github.com/numpy/numpy/compare/v2.3.3...v2.3.4) ### NumPy 2.3.4 Release Notes 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. - [#&#8203;29725](https://github.com/numpy/numpy/pull/29725): MAINT: Prepare 2.3.x for further development - [#&#8203;29781](https://github.com/numpy/numpy/pull/29781): MAINT: Pin some upstream dependences - [#&#8203;29782](https://github.com/numpy/numpy/pull/29782): BLD: enable x86-simd-sort to build on KNL with -mavx512f - [#&#8203;29783](https://github.com/numpy/numpy/pull/29783): BUG: Include python-including headers first ([#&#8203;29281](https://github.com/numpy/numpy/issues/29281)) - [#&#8203;29784](https://github.com/numpy/numpy/pull/29784): TYP: fix np.number and np.\*integer method declaration - [#&#8203;29785](https://github.com/numpy/numpy/pull/29785): TYP: mypy 1.18.1 - [#&#8203;29788](https://github.com/numpy/numpy/pull/29788): TYP: replace scalar type \_\_init\_\_ with \_\_new\_\_ - [#&#8203;29790](https://github.com/numpy/numpy/pull/29790): BUG: Fix `dtype` refcount in `__array__` ([#&#8203;29715](https://github.com/numpy/numpy/issues/29715)) - [#&#8203;29791](https://github.com/numpy/numpy/pull/29791): TYP: fix method declarations in floating, timedelta64, and datetime64Backport - [#&#8203;29792](https://github.com/numpy/numpy/pull/29792): MAINT: delete unused variables in unary logical dispatch - [#&#8203;29797](https://github.com/numpy/numpy/pull/29797): BUG: Fix pocketfft umath strides for AIX compatibility ([#&#8203;29768](https://github.com/numpy/numpy/issues/29768)) - [#&#8203;29798](https://github.com/numpy/numpy/pull/29798): BUG: np.setbufsize should raise ValueError for negative input - [#&#8203;29799](https://github.com/numpy/numpy/pull/29799): BUG: Fix assert in nditer buffer setup - [#&#8203;29800](https://github.com/numpy/numpy/pull/29800): BUG: Stable ScalarType ordering - [#&#8203;29838](https://github.com/numpy/numpy/pull/29838): TST: Pin pyparsing to avoid matplotlib errors. - [#&#8203;29839](https://github.com/numpy/numpy/pull/29839): BUG: linalg: emit a MemoryError on a malloc failure ([#&#8203;29811](https://github.com/numpy/numpy/issues/29811)) - [#&#8203;29840](https://github.com/numpy/numpy/pull/29840): BLD: change file extension for libnpymath on win-arm64 from .a... - [#&#8203;29864](https://github.com/numpy/numpy/pull/29864): CI: Fix loongarch64 CI ([#&#8203;29856](https://github.com/numpy/numpy/issues/29856)) - [#&#8203;29865](https://github.com/numpy/numpy/pull/29865): TYP: Various typing fixes - [#&#8203;29910](https://github.com/numpy/numpy/pull/29910): BUG: Fix float16-sort failures on 32-bit x86 MSVC ([#&#8203;29908](https://github.com/numpy/numpy/issues/29908)) - [#&#8203;29911](https://github.com/numpy/numpy/pull/29911): TYP: add missing `__slots__` ([#&#8203;29901](https://github.com/numpy/numpy/issues/29901)) - [#&#8203;29913](https://github.com/numpy/numpy/pull/29913): TYP: wrong argument defaults in `testing._private` ([#&#8203;29902](https://github.com/numpy/numpy/issues/29902)) - [#&#8203;29920](https://github.com/numpy/numpy/pull/29920): BUG: avoid segmentation fault in string\_expandtabs\_length\_promoter - [#&#8203;29921](https://github.com/numpy/numpy/pull/29921): BUG: Fix INT\_MIN % -1 to return 0 for all signed integer types... - [#&#8203;29922](https://github.com/numpy/numpy/pull/29922): TYP: minor fixes related to `errstate` ([#&#8203;29914](https://github.com/numpy/numpy/issues/29914)) - [#&#8203;29923](https://github.com/numpy/numpy/pull/29923): TST: use requirements/test\_requirements across CI ([#&#8203;29919](https://github.com/numpy/numpy/issues/29919)) - [#&#8203;29926](https://github.com/numpy/numpy/pull/29926): BUG: fix negative samples generated by Wald distribution ([#&#8203;29609](https://github.com/numpy/numpy/issues/29609)) - [#&#8203;29940](https://github.com/numpy/numpy/pull/29940): MAINT: Bump pypa/cibuildwheel from 3.1.4 to 3.2.1 - [#&#8203;29949](https://github.com/numpy/numpy/pull/29949): STY: rename `@classmethod` arg to cls - [#&#8203;29950](https://github.com/numpy/numpy/pull/29950): MAINT: Simplify string arena growth strategy ([#&#8203;29885](https://github.com/numpy/numpy/issues/29885)) ### [`v2.3.3`](https://github.com/numpy/numpy/releases/tag/v2.3.3): 2.3.3 (Sep 9, 2025) [Compare Source](https://github.com/numpy/numpy/compare/v2.3.2...v2.3.3) ### NumPy 2.3.3 Release Notes 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. - [#&#8203;29440](https://github.com/numpy/numpy/pull/29440): MAINT: Prepare 2.3.x for further development. - [#&#8203;29446](https://github.com/numpy/numpy/pull/29446): BUG: Fix test\_configtool\_pkgconfigdir to resolve PKG\_CONFIG\_DIR... - [#&#8203;29447](https://github.com/numpy/numpy/pull/29447): BLD: allow targeting webassembly without emscripten - [#&#8203;29460](https://github.com/numpy/numpy/pull/29460): MAINT: Backport write\_release.py - [#&#8203;29473](https://github.com/numpy/numpy/pull/29473): MAINT: Bump pypa/cibuildwheel from 3.1.0 to 3.1.2 - [#&#8203;29500](https://github.com/numpy/numpy/pull/29500): BUG: Always return a real dtype from linalg.cond ([gh-18304](https://github.com/numpy/numpy/issues/18304)) ([#&#8203;29333](https://github.com/numpy/numpy/issues/29333)) - [#&#8203;29501](https://github.com/numpy/numpy/pull/29501): MAINT: Add .file entry to all .s SVML files - [#&#8203;29556](https://github.com/numpy/numpy/pull/29556): BUG: Casting from one timedelta64 to another didn't handle NAT. - [#&#8203;29562](https://github.com/numpy/numpy/pull/29562): BLD: update vendored Meson to 1.8.3 \[wheel build] - [#&#8203;29563](https://github.com/numpy/numpy/pull/29563): BUG: Fix metadata not roundtripping when pickling datetime ([#&#8203;29555](https://github.com/numpy/numpy/issues/29555)) - [#&#8203;29587](https://github.com/numpy/numpy/pull/29587): TST: update link and version for Intel SDE download - [#&#8203;29593](https://github.com/numpy/numpy/pull/29593): TYP: add `sorted` kwarg to `unique` - [#&#8203;29672](https://github.com/numpy/numpy/pull/29672): MAINT: Update pythoncapi-compat from main. - [#&#8203;29673](https://github.com/numpy/numpy/pull/29673): MAINT: Update cibuildwheel. - [#&#8203;29674](https://github.com/numpy/numpy/pull/29674): MAINT: Fix typo in wheels.yml - [#&#8203;29683](https://github.com/numpy/numpy/pull/29683): BUG, BLD: Correct regex for ppc64 VSX3/VSX4 feature detection - [#&#8203;29684](https://github.com/numpy/numpy/pull/29684): TYP: ndarray.fill() takes no keyword arguments - [#&#8203;29685](https://github.com/numpy/numpy/pull/29685): BUG: avoid thread-unsafe refcount check in temp elision - [#&#8203;29687](https://github.com/numpy/numpy/pull/29687): CI: replace comment-hider action in mypy\_primer workflow - [#&#8203;29689](https://github.com/numpy/numpy/pull/29689): BLD: Add missing \<unordered\_map> include - [#&#8203;29691](https://github.com/numpy/numpy/pull/29691): BUG: use correct input dtype in flatiter assignment - [#&#8203;29700](https://github.com/numpy/numpy/pull/29700): TYP: fix np.bool method declarations - [#&#8203;29701](https://github.com/numpy/numpy/pull/29701): BUG: Correct ambiguous logic for s390x CPU feature detection ### [`v2.3.2`](https://github.com/numpy/numpy/releases/tag/v2.3.2): (Jul 24, 2025) [Compare Source](https://github.com/numpy/numpy/compare/v2.3.1...v2.3.2) ### NumPy 2.3.2 Release Notes 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. - [#&#8203;29256](https://github.com/numpy/numpy/pull/29256): MAINT: Prepare 2.3.x for further development - [#&#8203;29283](https://github.com/numpy/numpy/pull/29283): TYP: Work around a mypy issue with bool arrays ([#&#8203;29248](https://github.com/numpy/numpy/issues/29248)) - [#&#8203;29284](https://github.com/numpy/numpy/pull/29284): BUG: fix fencepost error in StringDType internals - [#&#8203;29287](https://github.com/numpy/numpy/pull/29287): BUG: handle case in mapiter where descriptors might get replaced... - [#&#8203;29350](https://github.com/numpy/numpy/pull/29350): BUG: Fix shape error path in array-interface - [#&#8203;29412](https://github.com/numpy/numpy/pull/29412): BUG: Allow reading non-npy files in npz and add test - [#&#8203;29413](https://github.com/numpy/numpy/pull/29413): TST: Avoid uninitialized values in test ([#&#8203;29341](https://github.com/numpy/numpy/issues/29341)) - [#&#8203;29414](https://github.com/numpy/numpy/pull/29414): BUG: Fix reference leakage for output arrays in reduction functions - [#&#8203;29415](https://github.com/numpy/numpy/pull/29415): BUG: fix casting issue in center, ljust, rjust, and zfill ([#&#8203;29369](https://github.com/numpy/numpy/issues/29369)) - [#&#8203;29416](https://github.com/numpy/numpy/pull/29416): TYP: Fix overloads in `np.char.array` and `np.char.asarray`... - [#&#8203;29417](https://github.com/numpy/numpy/pull/29417): BUG: Any dtype should call `square` on `arr \*\* 2` ([#&#8203;29392](https://github.com/numpy/numpy/issues/29392)) - [#&#8203;29424](https://github.com/numpy/numpy/pull/29424): MAINT: use a stable pypy release in CI - [#&#8203;29425](https://github.com/numpy/numpy/pull/29425): MAINT: Support python 314rc1 - [#&#8203;29429](https://github.com/numpy/numpy/pull/29429): MAINT: Update highway to match main. - [#&#8203;29430](https://github.com/numpy/numpy/pull/29430): BLD: use github to build macos-arm64 wheels with OpenBLAS and... - [#&#8203;29437](https://github.com/numpy/numpy/pull/29437): BUG: fix datetime/timedelta hash memory leak ([#&#8203;29411](https://github.com/numpy/numpy/issues/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 ``` ### [`v2.3.1`](https://github.com/numpy/numpy/releases/tag/v2.3.1): (Jun 21, 2025) [Compare Source](https://github.com/numpy/numpy/compare/v2.3.0...v2.3.1) ### NumPy 2.3.1 Release Notes 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. - [#&#8203;29140](https://github.com/numpy/numpy/pull/29140): MAINT: Prepare 2.3.x for further development - [#&#8203;29191](https://github.com/numpy/numpy/pull/29191): BUG: fix matmul with transposed out arg ([#&#8203;29179](https://github.com/numpy/numpy/issues/29179)) - [#&#8203;29192](https://github.com/numpy/numpy/pull/29192): TYP: Backport typing fixes and improvements. - [#&#8203;29205](https://github.com/numpy/numpy/pull/29205): BUG: Revert `np.vectorize` casting to legacy behavior ([#&#8203;29196](https://github.com/numpy/numpy/issues/29196)) - [#&#8203;29222](https://github.com/numpy/numpy/pull/29222): TYP: Backport typing fixes - [#&#8203;29233](https://github.com/numpy/numpy/pull/29233): BUG: avoid negating unsigned integers in resize implementation... - [#&#8203;29234](https://github.com/numpy/numpy/pull/29234): TST: Fix test that uses uninitialized memory ([#&#8203;29232](https://github.com/numpy/numpy/issues/29232)) - [#&#8203;29235](https://github.com/numpy/numpy/pull/29235): BUG: Address interaction between SME and FPSR ([#&#8203;29223](https://github.com/numpy/numpy/issues/29223)) - [#&#8203;29237](https://github.com/numpy/numpy/pull/29237): BUG: Enforce integer limitation in concatenate ([#&#8203;29231](https://github.com/numpy/numpy/issues/29231)) - [#&#8203;29238](https://github.com/numpy/numpy/pull/29238): CI: Add support for building NumPy with LLVM for Win-ARM64 - [#&#8203;29241](https://github.com/numpy/numpy/pull/29241): ENH: Detect CPU features on OpenBSD ARM and PowerPC64 - [#&#8203;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 5902660491bd7a48b2ec16c23ccb9124b8abfd9583c5fdfa123fe6b421e03de1 numpy-2.3.1-cp313-cp313-manylinux_2_28_x86_64.whl 36890eb9e9d2081137bd78d29050ba63b8dab95dff7912eadf1185e80074b2a0 numpy-2.3.1-cp313-cp313-musllinux_1_2_aarch64.whl a780033466159c2270531e2b8ac063704592a0bc62ec4a1b991c7c40705eb0e8 numpy-2.3.1-cp313-cp313-musllinux_1_2_x86_64.whl 39bff12c076812595c3a306f22bfe49919c5513aa1e0e70fac756a0be7c2a2b8 numpy-2.3.1-cp313-cp313-win32.whl 8d5ee6eec45f08ce507a6570e06f2f879b374a552087a4179ea7838edbcbfa42 numpy-2.3.1-cp313-cp313-win_amd64.whl 0c4d9e0a8368db90f93bd192bfa771ace63137c3488d198ee21dfb8e7771916e numpy-2.3.1-cp313-cp313-win_arm64.whl b0b5397374f32ec0649dd98c652a1798192042e715df918c20672c62fb52d4b8 numpy-2.3.1-cp313-cp313t-macosx_10_13_x86_64.whl c5bdf2015ccfcee8253fb8be695516ac4457c743473a43290fd36eba6a1777eb numpy-2.3.1-cp313-cp313t-macosx_11_0_arm64.whl d70f20df7f08b90a2062c1f07737dd340adccf2068d0f1b9b3d56e2038979fee numpy-2.3.1-cp313-cp313t-macosx_14_0_arm64.whl 2fb86b7e58f9ac50e1e9dd1290154107e47d1eef23a0ae9145ded06ea606f992 numpy-2.3.1-cp313-cp313t-macosx_14_0_x86_64.whl 23ab05b2d241f76cb883ce8b9a93a680752fbfcbd51c50eff0b88b979e471d8c numpy-2.3.1-cp313-cp313t-manylinux_2_28_aarch64.whl ce2ce9e5de4703a673e705183f64fd5da5bf36e7beddcb63a25ee2286e71ca48 numpy-2.3.1-cp313-cp313t-manylinux_2_28_x86_64.whl c4913079974eeb5c16ccfd2b1f09354b8fed7e0d6f2cab933104a09a6419b1ee numpy-2.3.1-cp313-cp313t-musllinux_1_2_aarch64.whl 010ce9b4f00d5c036053ca684c77441f2f2c934fd23bee058b4d6f196efd8280 numpy-2.3.1-cp313-cp313t-musllinux_1_2_x86_64.whl 6269b9edfe32912584ec496d91b00b6d34282ca1d07eb10e82dfc780907d6c2e numpy-2.3.1-cp313-cp313t-win32.whl 2a809637460e88a113e186e87f228d74ae2852a2e0c44de275263376f17b5bdc numpy-2.3.1-cp313-cp313t-win_amd64.whl eccb9a159db9aed60800187bc47a6d3451553f0e1b08b068d8b277ddfbb9b244 numpy-2.3.1-cp313-cp313t-win_arm64.whl ad506d4b09e684394c42c966ec1527f6ebc25da7f4da4b1b056606ffe446b8a3 numpy-2.3.1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl ebb8603d45bc86bbd5edb0d63e52c5fd9e7945d3a503b77e486bd88dde67a19b numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_arm64.whl 15aa4c392ac396e2ad3d0a2680c0f0dee420f9fed14eef09bdb9450ee6dcb7b7 numpy-2.3.1-pp311-pypy311_pp73-macosx_14_0_x86_64.whl c6e0bf9d1a2f50d2b65a7cf56db37c095af17b59f6c132396f7c6d5dd76484df numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl eabd7e8740d494ce2b4ea0ff05afa1b7b291e978c0ae075487c51e8bd93c0c68 numpy-2.3.1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl e610832418a2bc09d974cc9fecebfa51e9532d6190223bc5ef6a7402ebf3b5cb numpy-2.3.1-pp311-pypy311_pp73-win_amd64.whl 1ec9ae20a4226da374362cca3c62cd753faf2f951440b0e3b98e93c235441d2b numpy-2.3.1.tar.gz ``` ### [`v2.3.0`](https://github.com/numpy/numpy/releases/tag/v2.3.0): (June 7, 2025) [Compare Source](https://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://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://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 @&#8203;overload def f(x: np.complex64) -> np.float32: ... @&#8203;overload def f(x: np.complex128) -> np.float64: ... @&#8203;overload def f(x: np.clongdouble) -> np.longdouble: ... ``` ([gh-28884](https://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://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://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://github.com/numpy/numpy/pull/28254)) - Remove `np.tostring` (deprecated since 1.19) ([gh-28254](https://github.com/numpy/numpy/pull/28254)) - Raise on `np.conjugate` of non-numeric types (deprecated since 1.13) ([gh-28254](https://github.com/numpy/numpy/pull/28254)) - Raise when using `np.bincount(...minlength=None)`, use 0 instead (deprecated since 1.14) ([gh-28254](https://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://github.com/numpy/numpy/pull/28254)) - Inexact matches for `mode` and `searchside` raise (deprecated since 1.20) ([gh-28254](https://github.com/numpy/numpy/pull/28254)) - Setting `__array_finalize__ = None` errors (deprecated since 1.23) ([gh-28254](https://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://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://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 [#&#8203;25306](https://github.com/numpy/numpy/issues/25306)) ([gh-28254](https://github.com/numpy/numpy/pull/28254)) - Passing booleans as partition index errors (deprecated since 1.23) ([gh-28254](https://github.com/numpy/numpy/pull/28254)) - Out-of-bounds indexes error even on empty arrays (deprecated since 1.20) ([gh-28254](https://github.com/numpy/numpy/pull/28254)) - `np.tostring` has been removed, use `tobytes` instead (deprecated since 1.19) ([gh-28254](https://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://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://github.com/numpy/numpy/pull/28254)) - Unpickling a scalar with object dtype errors (deprecated since 1.20) ([gh-28254](https://github.com/numpy/numpy/pull/28254)) - The binary mode of `fromstring` now errors, use `frombuffer` instead (deprecated since 1.14) ([gh-28254](https://github.com/numpy/numpy/pull/28254)) - Converting `np.inexact` or `np.floating` to a dtype errors (deprecated since 1.19) ([gh-28254](https://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://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://github.com/numpy/numpy/pull/28254)) - 'np.bool' scalars can no longer be interpreted as an index (deprecated since 1.19) ([gh-28254](https://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://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://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://github.com/numpy/numpy/pull/28254)) - Removed the `np.compat` package source code (removed in 2.0) ([gh-28961](https://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://github.com/numpy/numpy/pull/27883)) - `NpyIter` now has no limit on the number of operands it supports. ([gh-28080](https://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://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://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://github.com/numpy/numpy/pull/28940)) ##### NumPy now registers its pkg-config paths with the [pkgconf](https://github.com/pypackaging-native/pkgconf-pypi) PyPI package The [pkgconf](https://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://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://github.com/pypackaging-native/pkgconf-pypi) package from [PyPI](https://pypi.org/), > or put another way, this only applies when installing [pkgconf](https://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://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://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://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://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://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://github.com/numpy/numpy/pull/27288)) - `np.nditer` now has no limit on the number of supported operands (C-integer). ([gh-28080](https://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://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://github.com/numpy/numpy/pull/28250)) - `np.dot` now reports floating point exceptions. ([gh-28442](https://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://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://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://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://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://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://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://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://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://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://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://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://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://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://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://github.com/mayeut/pep600_compliance?tab=readme-ov-file#pep600-compliance-check). ([gh-28436](https://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://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://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 ``` </details> --- ### Configuration 📅 **Schedule**: (UTC) - Branch creation - At any time (no schedule defined) - Automerge - At any time (no schedule defined) 🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied. ♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox. 🔕 **Ignore**: Close this PR and you won't be reminded about this update again. --- - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box --- This PR has been generated by [Mend Renovate](https://github.com/renovatebot/renovate). <!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0My4xNjguNSIsInVwZGF0ZWRJblZlciI6IjQzLjE2OC41IiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6W119-->
renovate-bot added 1 commit 2026-05-22 08:11:43 +02:00
apunkt merged commit ff6196421d into main 2026-05-22 09:39:59 +02:00
Sign in to join this conversation.
No reviewers
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference: apunkt/iai-mcp-opencode#3
No description provided.