Skip to content

v2.3.0rc1 (May 25, 2025)

Pre-release
Pre-release
Compare
Choose a tag to compare
@charris charris released this 25 May 15:39
· 35 commits to main since this release
v2.3.0rc1
3abd587

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

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

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
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy