v2.3.0rc1 (May 25, 2025)
Pre-releaseNumPy 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 and the number of
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.
There are known test failures in the rc1 release involving MyPy and
PyPy. The cause of both has been determined and fixes will be applied
before the final release. The current Windows on ARM wheels also lack
OpenBLAS, but they should suffice for initial downstream testing.
OpenBLAS will be incorporated in those wheels when it becomes available.
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 theplugins
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
andcomplex128
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 @overload def f(x: np.complex64) -> np.float32: ... @overload def f(x: np.complex128) -> np.float64: ... @overload def f(x: np.clongdouble) -> np.longdouble: ...
(gh-28884)
Expired deprecations
-
Remove deprecated macros like
NPY_OWNDATA
from Cython interfaces
in favor ofNPY_ARRAY_OWNDATA
(deprecated since 1.7)(gh-28254)
-
Remove
numpy/npy_1_7_deprecated_api.h
and C macros like
NPY_OWNDATA
in favor ofNPY_ARRAY_OWNDATA
(deprecated since 1.7)(gh-28254)
-
Remove alias
generate_divbyzero_error
to
npy_set_floatstatus_divbyzero
andgenerate_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
andsearchside
raise (deprecated since
1.20)(gh-28254)
-
Setting
__array_finalize__ = None
errors (deprecated since 1.23)(gh-28254)
-
np.fromfile
andnp.fromstring
error on bad data, previously they
would guess (deprecated since 1.18)(gh-28254)
-
datetime64
andtimedelta64
construction with a tuple no longer
accepts anevent
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 adtype
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, usetobytes
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()
withaxis=None
usessame-kind
casting by
default, notunsafe
(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, usefrombuffer
instead
(deprecated since 1.14)(gh-28254)
-
Converting
np.inexact
ornp.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
orscalar.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 withNone
(deprecated since 1.19)(gh-28254)
-
Special handling of matrix is in np.outer is removed. Convert to a
ndarray viamatrix.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 castingfloat64(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 totyping.Any
. This
way, static type-checkers will inferdtype: 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
anditemsize
.(gh-28250)
-
np.dot
now reports floating point exceptions.(gh-28442)
-
np.dtypes.StringDType
is now a generic
type which
accepts a type argument forna_object
that defaults to
typing.Never
. For example,StringDType(na_object=None)
returns a
StringDType[None]
, andStringDType()
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 methodnp.format_float_positional
has
been fixed.(gh-28569)
-
NumPy's
__array_api_version__
was upgraded from2023.12
to
2024.12
. -
numpy.count_nonzero
foraxis=None
(default) now returns a NumPy
scalar instead of a Python integer. -
The parameter
axis
innumpy.take_along_axis
function has now a
default value of-1
.(gh-28615)
-
Printing of
np.float16
andnp.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)
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 thebuffersize
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
629f59f0a128a7ff1f3fedac6e2c42da numpy-2.3.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
6b69c1f05cb782104bb4063f79bfb804 numpy-2.3.0rc1-cp311-cp311-macosx_11_0_arm64.whl
0a5c651274fcd4912490edf17052302b numpy-2.3.0rc1-cp311-cp311-macosx_14_0_arm64.whl
aac595e422ddf5ab5d87cdce3be66262 numpy-2.3.0rc1-cp311-cp311-macosx_14_0_x86_64.whl
f7d4f749f9e85a50adfbafd1b9c70fe8 numpy-2.3.0rc1-cp311-cp311-manylinux_2_28_aarch64.whl
ec8a0e794ce8fc7e35f90d83b68cd2d6 numpy-2.3.0rc1-cp311-cp311-manylinux_2_28_x86_64.whl
a8800a3c3fc260b02a36fb9dc8a1a399 numpy-2.3.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl
8e96ee3eb6e07e8efdff7754b9d008b6 numpy-2.3.0rc1-cp311-cp311-musllinux_1_2_x86_64.whl
4157e803760012f28317495eec5b3310 numpy-2.3.0rc1-cp311-cp311-win32.whl
1afc4f1a7adb81d9f2705a4c10f2d808 numpy-2.3.0rc1-cp311-cp311-win_amd64.whl
11251ad640d2dd50b2d0a08a1c79e870 numpy-2.3.0rc1-cp311-cp311-win_arm64.whl
f723f2e6b1ed4430b5a5c0c05501b55c numpy-2.3.0rc1-cp312-cp312-macosx_10_13_x86_64.whl
6ca0c0e1c2819a04b6c01559ce2d60dd numpy-2.3.0rc1-cp312-cp312-macosx_11_0_arm64.whl
56af103256eac1edcc34382a9c45a5eb numpy-2.3.0rc1-cp312-cp312-macosx_14_0_arm64.whl
e3acbafb6da1e75c80361e4f3c791d12 numpy-2.3.0rc1-cp312-cp312-macosx_14_0_x86_64.whl
278c4727d8b8d05b6202355cf740cfd4 numpy-2.3.0rc1-cp312-cp312-manylinux_2_28_aarch64.whl
3cd5e204141a450301fdcbda83e044f5 numpy-2.3.0rc1-cp312-cp312-manylinux_2_28_x86_64.whl
c4369a338a9900fc43c6fe46e5113505 numpy-2.3.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl
12c5af8ba96f61d1a5d41f15c1d55721 numpy-2.3.0rc1-cp312-cp312-musllinux_1_2_x86_64.whl
81fae7bcfc52b810c75a3c14bc182f12 numpy-2.3.0rc1-cp312-cp312-win32.whl
1ce23327d02c79b64c16f54d412e32ae numpy-2.3.0rc1-cp312-cp312-win_amd64.whl
9e538dfe7f2051f63422d4e1edcd23bd numpy-2.3.0rc1-cp312-cp312-win_arm64.whl
ca94a64c4ad19bad2fd5baba19bc8578 numpy-2.3.0rc1-cp313-cp313-macosx_10_13_x86_64.whl
d964ed57e7b28365a75210e83c396ea5 numpy-2.3.0rc1-cp313-cp313-macosx_11_0_arm64.whl
03247ffd1c0a63e86382867df6914cd6 numpy-2.3.0rc1-cp313-cp313-macosx_14_0_arm64.whl
65ace2a8b56475a356357091c704a257 numpy-2.3.0rc1-cp313-cp313-macosx_14_0_x86_64.whl
e3283698c1124b6e60b8361d4884792f numpy-2.3.0rc1-cp313-cp313-manylinux_2_28_aarch64.whl
afa8c55affdc96845ee0f904de86e1dc numpy-2.3.0rc1-cp313-cp313-manylinux_2_28_x86_64.whl
fc296e255a2afb62956642355d1830c2 numpy-2.3.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl
32fd94baff245adcd4e12531ec2812be numpy-2.3.0rc1-cp313-cp313-musllinux_1_2_x86_64.whl
8114fe3c90fb01856b089b076a3eaf69 numpy-2.3.0rc1-cp313-cp313-win32.whl
3aae3297bd4d94fd628666da9224b871 numpy-2.3.0rc1-cp313-cp313-win_amd64.whl
76387f5d0a213f13b1352efc5087ebe2 numpy-2.3.0rc1-cp313-cp313-win_arm64.whl
cd6d0165be416093c2229319d9578e22 numpy-2.3.0rc1-cp313-cp313t-macosx_10_13_x86_64.whl
783a19b5db79d0080727dcae4c48ce90 numpy-2.3.0rc1-cp313-cp313t-macosx_11_0_arm64.whl
af327355774245aebd2bc790982190b9 numpy-2.3.0rc1-cp313-cp313t-macosx_14_0_arm64.whl
fe643d848c382e0c97cb85ce993c7ac9 numpy-2.3.0rc1-cp313-cp313t-macosx_14_0_x86_64.whl
d4facf10a4628a67f076e230caa8cd7b numpy-2.3.0rc1-cp313-cp313t-manylinux_2_28_aarch64.whl
a16b6003b0778caddb708d06a8720c2b numpy-2.3.0rc1-cp313-cp313t-manylinux_2_28_x86_64.whl
27732d00b9124f2866f45602d5c46ef5 numpy-2.3.0rc1-cp313-cp313t-musllinux_1_2_aarch64.whl
1c25ee631482975bbeb378d88608b3b5 numpy-2.3.0rc1-cp313-cp313t-musllinux_1_2_x86_64.whl
63974df1b36d9486a0a8a4953a53a418 numpy-2.3.0rc1-cp313-cp313t-win32.whl
1e67187dd5fbc2663a0922e3434e4838 numpy-2.3.0rc1-cp313-cp313t-win_amd64.whl
8ae83e7618c196dfe4e637c5f81692e5 numpy-2.3.0rc1-cp313-cp313t-win_arm64.whl
a96f68abaa4aa674e49eec4add0b2c0b numpy-2.3.0rc1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
fe679f10ad4c9d3fce0db85c632967a7 numpy-2.3.0rc1-pp311-pypy311_pp73-macosx_14_0_arm64.whl
c9f14388eae0b01b5225e0f8f79ba9f6 numpy-2.3.0rc1-pp311-pypy311_pp73-macosx_14_0_x86_64.whl
7cea15ab8d47bc2f3f6377c29a74138f numpy-2.3.0rc1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
46d07cd0f0aacce6d4b5ce949a333abc numpy-2.3.0rc1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
df12654557fe28806bed04e15d1fe1d7 numpy-2.3.0rc1-pp311-pypy311_pp73-win_amd64.whl
5677afac6d3d39fe93a96cab654f38e7 numpy-2.3.0rc1.tar.gz
SHA256
82b035e631187bee40c1d2c1593e40dcad62cfbaf833c5d3e179c1d7bce87e0c numpy-2.3.0rc1-cp311-cp311-macosx_10_9_x86_64.whl
2f2f8a82005073929532ed8e09eda78544140996ef283d007945323d27e3ef84 numpy-2.3.0rc1-cp311-cp311-macosx_11_0_arm64.whl
96af406cf156acb52edfa3b38c1fc8efe0f986bff5f99176657ba09606e78fe7 numpy-2.3.0rc1-cp311-cp311-macosx_14_0_arm64.whl
30f11867a70c96e6628f9b5da5cb426efe4ebe5e1f02bc8932c79f4dfa0c1e02 numpy-2.3.0rc1-cp311-cp311-macosx_14_0_x86_64.whl
c54f93b5c0c210e580fd1d114b76b172190bdefcdee3eab865587d4c860067fa numpy-2.3.0rc1-cp311-cp311-manylinux_2_28_aarch64.whl
6d72740255bcbaa94a66329daffd974e8212eee4b77acc8c3da8dd179adbe7f3 numpy-2.3.0rc1-cp311-cp311-manylinux_2_28_x86_64.whl
44f65efc7f4a62e0624f53cd241761b5a9cdaa302e50dd8f30adc1173e2c1691 numpy-2.3.0rc1-cp311-cp311-musllinux_1_2_aarch64.whl
e9766d1d3b36df82777c7f0a6d248d21e7aceafd40d24b87f9cec6c5916a4908 numpy-2.3.0rc1-cp311-cp311-musllinux_1_2_x86_64.whl
07638479fc90c38168a3dd29a54c750701100dd84622bbaa32783459d2df7c54 numpy-2.3.0rc1-cp311-cp311-win32.whl
7cc39c12551a3b92f9db5dd0faff021043f4f432167f990424a3c9149314f3a3 numpy-2.3.0rc1-cp311-cp311-win_amd64.whl
213b2aa630118690e684a2666c58978a45763fbd4034b9b990d827a25df7b6ae numpy-2.3.0rc1-cp311-cp311-win_arm64.whl
c9d04e6f6bf7fe48eb25af803de3e2ee5dbaba7786d17764d7bacc242d47d96e numpy-2.3.0rc1-cp312-cp312-macosx_10_13_x86_64.whl
8cd953239b23dd0f5363553efb2eab4651c33b3772c7bcfe3bc0e1a84a9149e6 numpy-2.3.0rc1-cp312-cp312-macosx_11_0_arm64.whl
66bff8b92964eb21593d787e55668d1800d5cfeb0ccf75691cce80c15b155839 numpy-2.3.0rc1-cp312-cp312-macosx_14_0_arm64.whl
580ce0f8e9e340571a5b0c32b7f3e1489ea018dbc37b22913788be23e8a50559 numpy-2.3.0rc1-cp312-cp312-macosx_14_0_x86_64.whl
93909bcf08b4aa21a74a687342843eef5479c317add9700a66b0122cc1c9d604 numpy-2.3.0rc1-cp312-cp312-manylinux_2_28_aarch64.whl
9efc27c9b25d4387e6153d01cc93a8ae18a6a37d6598cb4da3876874a3aa1283 numpy-2.3.0rc1-cp312-cp312-manylinux_2_28_x86_64.whl
14e86a57107b03e7b31b4d677ded1af52079f05bde89008b4dfd5a3fd7767769 numpy-2.3.0rc1-cp312-cp312-musllinux_1_2_aarch64.whl
c4ac94252a8dec06d6c55126f83775ec90b0d8ceaed9086d7166175455772155 numpy-2.3.0rc1-cp312-cp312-musllinux_1_2_x86_64.whl
c8047609194df241d20b5d3534319df0f2ef57c7163a9e67ceb8a7ab3d3c7413 numpy-2.3.0rc1-cp312-cp312-win32.whl
ea64b01b0b9ee53fd1c05dad508e1ee05ca888579687a94044cdea8ef47f8efc numpy-2.3.0rc1-cp312-cp312-win_amd64.whl
c0ca78c3c15db1b69b91027c6485291b2ffbdd29dab77bd5d044248569c9ff85 numpy-2.3.0rc1-cp312-cp312-win_arm64.whl
77fc845f90f74b83881330bd3d15c112bdac5e2947e77adec2be141eb5a71aff numpy-2.3.0rc1-cp313-cp313-macosx_10_13_x86_64.whl
fcaf7cfbe003ea5d6e2f470fbb67001dae39dbddc76a608b10623592f4711c78 numpy-2.3.0rc1-cp313-cp313-macosx_11_0_arm64.whl
167c1b4ad39017d5b0bfae7c5b71ced40025ef26ff8b9fc65e39519533b7c416 numpy-2.3.0rc1-cp313-cp313-macosx_14_0_arm64.whl
f4d15d5ad63ea6760b0ff49cc88a635b02838488ebabb41bc2524f67d9d5b74e numpy-2.3.0rc1-cp313-cp313-macosx_14_0_x86_64.whl
eb5a7a5d1c28881b1c9536038d9ea224051464b0a033d8bd87ec75634e8ee2db numpy-2.3.0rc1-cp313-cp313-manylinux_2_28_aarch64.whl
022fa032a8dcabef0771db621a77a9203358e41cb651d8903836783e9708248f numpy-2.3.0rc1-cp313-cp313-manylinux_2_28_x86_64.whl
b6d9d7ad7666f646bbb831a80c668b61a08d4deb00935ef475a1c81ba0b87bdb numpy-2.3.0rc1-cp313-cp313-musllinux_1_2_aarch64.whl
172965a57a44ccfbfc67746c721128647a4df3aecec3d3b91c67e75c575548cc numpy-2.3.0rc1-cp313-cp313-musllinux_1_2_x86_64.whl
b056d511fdb33ee7076586fbb831be0a8030e9565f5ea0ceebe649f29e647ac0 numpy-2.3.0rc1-cp313-cp313-win32.whl
f437b4af30ab36e7fa9fd7856b0482229259fc98aeb5e53a287eda5253e4f1ec numpy-2.3.0rc1-cp313-cp313-win_amd64.whl
ffbda03577e4f401f4465345ca98c9dc95e3a23df2ec16854f4aa37ae6c1fb56 numpy-2.3.0rc1-cp313-cp313-win_arm64.whl
4de6304a0653a76f6418f4c0aa84048953d5891aa8296681d916f95b0a5eddf8 numpy-2.3.0rc1-cp313-cp313t-macosx_10_13_x86_64.whl
17cb57f5c862904d57a1d1eb2d6e3f0e3a0d7ea738d5281638aef7c45b8c4525 numpy-2.3.0rc1-cp313-cp313t-macosx_11_0_arm64.whl
96d8e7e0666836202e9cff63cb16d9c49bd31222303f3b70dc9144c3ae191cdd numpy-2.3.0rc1-cp313-cp313t-macosx_14_0_arm64.whl
e967c553e48c14feb3387248cf089c4f7f8ec66f6800cb184effa2da5494d9e8 numpy-2.3.0rc1-cp313-cp313t-macosx_14_0_x86_64.whl
cb18f1e661c4480e7d40bac0172ab456aececa05aec5855d987d6a1f51d51206 numpy-2.3.0rc1-cp313-cp313t-manylinux_2_28_aarch64.whl
eb0876192b685ed3f96049dbd5aa9a1d871b47c553b3d304692bbbe386fa7441 numpy-2.3.0rc1-cp313-cp313t-manylinux_2_28_x86_64.whl
de2e8223ef8e65963976de817419314d7e791d403a9d6448174e3f490559ba8d numpy-2.3.0rc1-cp313-cp313t-musllinux_1_2_aarch64.whl
b7c0007ae7dd02acaaf198cf1a6b4da805aaa3857a452403c3de1fed29ab158c numpy-2.3.0rc1-cp313-cp313t-musllinux_1_2_x86_64.whl
875ee6c2865523adb78ebcfbcef186fc99201e9931a49132d97101f57f154ff1 numpy-2.3.0rc1-cp313-cp313t-win32.whl
b59de7a3beeca46f189c53609db7794ccb83a90fa5841111d5ca77bbe990ed21 numpy-2.3.0rc1-cp313-cp313t-win_amd64.whl
7f06a256ce74713eae26c19221b305783d4db5f8cad457e82f9a4f8cc55b9632 numpy-2.3.0rc1-cp313-cp313t-win_arm64.whl
3c8681de7c4fc72f5ab29e5a8343b37fe7bdc465e8cc3c99637ac884e26e41fd numpy-2.3.0rc1-pp311-pypy311_pp73-macosx_10_15_x86_64.whl
ec2037b6d700b8491a97efcbfa05dec666d8ae7807f374beb9d3320531d42e9b numpy-2.3.0rc1-pp311-pypy311_pp73-macosx_14_0_arm64.whl
ab6e2b743192e7e9ecef7d22a90c394a6fe3313676e55fcc1c566ee0649b35db numpy-2.3.0rc1-pp311-pypy311_pp73-macosx_14_0_x86_64.whl
fccea8370d46dcb20012a1e8e54bc70dc7e2db8bfc3e20b95f8f871bb408744f numpy-2.3.0rc1-pp311-pypy311_pp73-manylinux_2_28_aarch64.whl
477064e29dfac734cb53269f5a4916e38e11ef9d42f6c475e9c695e25f78e868 numpy-2.3.0rc1-pp311-pypy311_pp73-manylinux_2_28_x86_64.whl
95c190db9870e0dc616da2f267a3fc29544a843601251947eadc0e00a0aa8ad6 numpy-2.3.0rc1-pp311-pypy311_pp73-win_amd64.whl
a28686275bf434b4304408c2711832033e3906c50282eb93fc567b8483922625 numpy-2.3.0rc1.tar.gz