Numpy

Latest version: v2.2.1

Safety actively analyzes 693883 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 8 of 23

1.23.3

the 1.23.2 release. There is no major theme for this release, the main
improvements are for some downstream builds and some annotation corner
cases. The Python versions supported for this release are 3.8-3.11.

Note that we will move to MacOS 11 for the NumPy 1.23.4 release, the

1.23.2

the 1.23.1 release. Notable features are:

- Typing changes needed for Python 3.11
- Wheels for Python 3.11.0rc1

The Python versions supported for this release are 3.8-3.11.

Contributors

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

- Alexander Grund +
- Bas van Beek
- Charles Harris
- Jon Cusick +
- Matti Picus
- Michael Osthege +
- Pal Barta +
- Ross Barnowski
- Sebastian Berg

Pull requests merged

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

- [22030](https://github.com/numpy/numpy/pull/22030): ENH: Add `__array_ufunc__` typing support to the `nin=1` ufuncs
- [22031](https://github.com/numpy/numpy/pull/22031): MAINT, TYP: Fix `np.angle` dtype-overloads
- [22032](https://github.com/numpy/numpy/pull/22032): MAINT: Do not let `_GenericAlias` wrap the underlying classes\'\...
- [22033](https://github.com/numpy/numpy/pull/22033): TYP,MAINT: Allow `einsum` subscripts to be passed via integer\...
- [22034](https://github.com/numpy/numpy/pull/22034): MAINT,TYP: Add object-overloads for the `np.generic` rich comparisons
- [22035](https://github.com/numpy/numpy/pull/22035): MAINT,TYP: Allow the `squeeze` and `transpose` method to\...
- [22036](https://github.com/numpy/numpy/pull/22036): BUG: Fix subarray to object cast ownership details
- [22037](https://github.com/numpy/numpy/pull/22037): BUG: Use `Popen` to silently invoke f77 -v
- [22038](https://github.com/numpy/numpy/pull/22038): BUG: Avoid errors on NULL during deepcopy
- [22039](https://github.com/numpy/numpy/pull/22039): DOC: Add versionchanged for converter callable behavior.
- [22057](https://github.com/numpy/numpy/pull/22057): MAINT: Quiet the anaconda uploads.
- [22078](https://github.com/numpy/numpy/pull/22078): ENH: reorder includes for testing on top of system installations\...
- [22106](https://github.com/numpy/numpy/pull/22106): TST: fix test_linear_interpolation_formula_symmetric
- [22107](https://github.com/numpy/numpy/pull/22107): BUG: Fix skip condition for test_loss_of_precision\[complex256\]
- [22115](https://github.com/numpy/numpy/pull/22115): BLD: Build python3.11.0rc1 wheels.

Checksums

MD5

fe1e3480ea8c417c8f7b05f543c1448d numpy-1.23.2-cp310-cp310-macosx_10_9_x86_64.whl
0ab14b1afd0a55a374ca69b3b39cab3c numpy-1.23.2-cp310-cp310-macosx_11_0_arm64.whl
df059e5405bfe75c0ac77b01abbdb237 numpy-1.23.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
4ed412c4c078e96edf11ca3b11eef76b numpy-1.23.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
0caad53d9a5e3c5e8cd29f19a9f0c014 numpy-1.23.2-cp310-cp310-win32.whl
01e508b8b4f591daff128da1cfde8e1f numpy-1.23.2-cp310-cp310-win_amd64.whl
8ecdb7e2a87255878b748550d91cfbe0 numpy-1.23.2-cp311-cp311-macosx_10_9_x86_64.whl
e3004aae46cec9e234f78eaf473272e0 numpy-1.23.2-cp311-cp311-macosx_11_0_arm64.whl
ec23c73caf581867d5ca9255b802f144 numpy-1.23.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9b8389f528fe113247954248f0b78ce1 numpy-1.23.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a54b136daa2fbb483909f08eecbfa3c5 numpy-1.23.2-cp311-cp311-win32.whl
ead32e141857c5ef33b1a6cd88aefc0f numpy-1.23.2-cp311-cp311-win_amd64.whl
df1f18e52d0a2840d101fdc9c2c6af84 numpy-1.23.2-cp38-cp38-macosx_10_9_x86_64.whl
04c986880bb24fac2f44face75eab914 numpy-1.23.2-cp38-cp38-macosx_11_0_arm64.whl
edeba58edb214390112810f7ead903a8 numpy-1.23.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c26ea699d94d7f1009c976c66cc4def3 numpy-1.23.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c246a78b09f8893d998d449dcab0fac3 numpy-1.23.2-cp38-cp38-win32.whl
b5c5a2f961402259e301c49b8b05de55 numpy-1.23.2-cp38-cp38-win_amd64.whl
d156dfae94d33eeff7fb9c6e5187e049 numpy-1.23.2-cp39-cp39-macosx_10_9_x86_64.whl
7f2ad7867c577eab925a31de76486765 numpy-1.23.2-cp39-cp39-macosx_11_0_arm64.whl
76262a8e5d7a4d945446467467300a10 numpy-1.23.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8ee105f4574d61a2d494418b55f63fcb numpy-1.23.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
2b7c79cae66023f8e716150223201981 numpy-1.23.2-cp39-cp39-win32.whl
d7af57dd070ccb165f3893412eb602e3 numpy-1.23.2-cp39-cp39-win_amd64.whl
355a231dbd87a0f2125cc23eb8f97075 numpy-1.23.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
4ab13c35056f67981d03f9ceec41db42 numpy-1.23.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3a6f1e1256ee9be10d8cdf6be578fe52 numpy-1.23.2-pp38-pypy38_pp73-win_amd64.whl
9bf2a361509797de14ceee607387fe0f numpy-1.23.2.tar.gz

SHA256

e603ca1fb47b913942f3e660a15e55a9ebca906857edfea476ae5f0fe9b457d5 numpy-1.23.2-cp310-cp310-macosx_10_9_x86_64.whl
633679a472934b1c20a12ed0c9a6c9eb167fbb4cb89031939bfd03dd9dbc62b8 numpy-1.23.2-cp310-cp310-macosx_11_0_arm64.whl
17e5226674f6ea79e14e3b91bfbc153fdf3ac13f5cc54ee7bc8fdbe820a32da0 numpy-1.23.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bdc02c0235b261925102b1bd586579b7158e9d0d07ecb61148a1799214a4afd5 numpy-1.23.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
df28dda02c9328e122661f399f7655cdcbcf22ea42daa3650a26bce08a187450 numpy-1.23.2-cp310-cp310-win32.whl
8ebf7e194b89bc66b78475bd3624d92980fca4e5bb86dda08d677d786fefc414 numpy-1.23.2-cp310-cp310-win_amd64.whl
dc76bca1ca98f4b122114435f83f1fcf3c0fe48e4e6f660e07996abf2f53903c numpy-1.23.2-cp311-cp311-macosx_10_9_x86_64.whl
ecfdd68d334a6b97472ed032b5b37a30d8217c097acfff15e8452c710e775524 numpy-1.23.2-cp311-cp311-macosx_11_0_arm64.whl
5593f67e66dea4e237f5af998d31a43e447786b2154ba1ad833676c788f37cde numpy-1.23.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
ac987b35df8c2a2eab495ee206658117e9ce867acf3ccb376a19e83070e69418 numpy-1.23.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d98addfd3c8728ee8b2c49126f3c44c703e2b005d4a95998e2167af176a9e722 numpy-1.23.2-cp311-cp311-win32.whl
8ecb818231afe5f0f568c81f12ce50f2b828ff2b27487520d85eb44c71313b9e numpy-1.23.2-cp311-cp311-win_amd64.whl
909c56c4d4341ec8315291a105169d8aae732cfb4c250fbc375a1efb7a844f8f numpy-1.23.2-cp38-cp38-macosx_10_9_x86_64.whl
8247f01c4721479e482cc2f9f7d973f3f47810cbc8c65e38fd1bbd3141cc9842 numpy-1.23.2-cp38-cp38-macosx_11_0_arm64.whl
b8b97a8a87cadcd3f94659b4ef6ec056261fa1e1c3317f4193ac231d4df70215 numpy-1.23.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
bd5b7ccae24e3d8501ee5563e82febc1771e73bd268eef82a1e8d2b4d556ae66 numpy-1.23.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
9b83d48e464f393d46e8dd8171687394d39bc5abfe2978896b77dc2604e8635d numpy-1.23.2-cp38-cp38-win32.whl
dec198619b7dbd6db58603cd256e092bcadef22a796f778bf87f8592b468441d numpy-1.23.2-cp38-cp38-win_amd64.whl
4f41f5bf20d9a521f8cab3a34557cd77b6f205ab2116651f12959714494268b0 numpy-1.23.2-cp39-cp39-macosx_10_9_x86_64.whl
806cc25d5c43e240db709875e947076b2826f47c2c340a5a2f36da5bb10c58d6 numpy-1.23.2-cp39-cp39-macosx_11_0_arm64.whl
8f9d84a24889ebb4c641a9b99e54adb8cab50972f0166a3abc14c3b93163f074 numpy-1.23.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
c403c81bb8ffb1c993d0165a11493fd4bf1353d258f6997b3ee288b0a48fce77 numpy-1.23.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
cf8c6aed12a935abf2e290860af8e77b26a042eb7f2582ff83dc7ed5f963340c numpy-1.23.2-cp39-cp39-win32.whl
5e28cd64624dc2354a349152599e55308eb6ca95a13ce6a7d5679ebff2962913 numpy-1.23.2-cp39-cp39-win_amd64.whl
806970e69106556d1dd200e26647e9bee5e2b3f1814f9da104a943e8d548ca38 numpy-1.23.2-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
2bd879d3ca4b6f39b7770829f73278b7c5e248c91d538aab1e506c628353e47f numpy-1.23.2-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
be6b350dfbc7f708d9d853663772a9310783ea58f6035eec649fb9c4371b5389 numpy-1.23.2-pp38-pypy38_pp73-win_amd64.whl
b78d00e48261fbbd04aa0d7427cf78d18401ee0abd89c7559bbf422e5b1c7d01 numpy-1.23.2.tar.gz

1.23.1

The NumPy 1.23.1 is a maintenance release that fixes bugs discovered
after the 1.23.0 release. Notable fixes are:

- Fix searchsorted for float16 NaNs
- Fix compilation on Apple M1
- Fix KeyError in crackfortran operator support (Slycot)

The Python version supported for this release are 3.8-3.10.

Contributors

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

- Charles Harris
- Matthias Koeppe +
- Pranab Das +
- Rohit Goswami
- Sebastian Berg
- Serge Guelton
- Srimukh Sripada +

Pull requests merged

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

- [21866](https://github.com/numpy/numpy/pull/21866): BUG: Fix discovered MachAr (still used within valgrind)
- [21867](https://github.com/numpy/numpy/pull/21867): BUG: Handle NaNs correctly for float16 during sorting
- [21868](https://github.com/numpy/numpy/pull/21868): BUG: Use `keepdims` during normalization in `np.average` and\...
- [21869](https://github.com/numpy/numpy/pull/21869): DOC: mention changes to `max_rows` behaviour in `np.loadtxt`
- [21870](https://github.com/numpy/numpy/pull/21870): BUG: Reject non integer array-likes with size 1 in delete
- [21949](https://github.com/numpy/numpy/pull/21949): BLD: Make can_link_svml return False for 32bit builds on x86_64
- [21951](https://github.com/numpy/numpy/pull/21951): BUG: Reorder extern \"C\" to only apply to function declarations\...
- [21952](https://github.com/numpy/numpy/pull/21952): BUG: Fix KeyError in crackfortran operator support

Checksums

MD5

79f0d8c114f282b834b49209d6955f98 numpy-1.23.1-cp310-cp310-macosx_10_9_x86_64.whl
42a89a88ef26b768e8933ce46b1cc2bd numpy-1.23.1-cp310-cp310-macosx_11_0_arm64.whl
1c1d68b3483eaf99b9a3583c8ac8bf47 numpy-1.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
9d3e9f7f9b3dce6cf15209e4f25f346e numpy-1.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
a9afb7c34b48d08fc50427ae6516b42d numpy-1.23.1-cp310-cp310-win32.whl
a0e02823883bdfcec49309e108f65e13 numpy-1.23.1-cp310-cp310-win_amd64.whl
f40cdf4ec7bb0cf31a90a4fa294323c2 numpy-1.23.1-cp38-cp38-macosx_10_9_x86_64.whl
80115a959f0fe30d6c401b2650a61c70 numpy-1.23.1-cp38-cp38-macosx_11_0_arm64.whl
1cf199b3a93960c4f269853a56a8d8eb numpy-1.23.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
aa6f0f192312c79cd770c2c395e9982a numpy-1.23.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
d07bee0ea3142a96cb5e4e16aca273ca numpy-1.23.1-cp38-cp38-win32.whl
02d0734ae8ad5e18a40c6c6de18486a0 numpy-1.23.1-cp38-cp38-win_amd64.whl
e1ca14acd7d83bc74bdf6ab0bb4bd195 numpy-1.23.1-cp39-cp39-macosx_10_9_x86_64.whl
c9152c62b2f31e742e24bfdc97b28666 numpy-1.23.1-cp39-cp39-macosx_11_0_arm64.whl
05b0b37c92f7a7e7c01afac0a5322b40 numpy-1.23.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
d9810bb71a0ef9837e87ea5c44fcab5e numpy-1.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
4255577f857e838f7a94e3a614ddc5eb numpy-1.23.1-cp39-cp39-win32.whl
787486e3cd87b98024ffe1c969c4db7a numpy-1.23.1-cp39-cp39-win_amd64.whl
5c7b2d1471b1b9ec6ff1cb3fe1f8ac14 numpy-1.23.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
40d5b2ff869707b0d97325ce44631135 numpy-1.23.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
44ce1e07927cc09415df9898857792da numpy-1.23.1-pp38-pypy38_pp73-win_amd64.whl
4f8636a9c1a77ca0fb923ba55378891f numpy-1.23.1.tar.gz

SHA256

b15c3f1ed08df4980e02cc79ee058b788a3d0bef2fb3c9ca90bb8cbd5b8a3a04 numpy-1.23.1-cp310-cp310-macosx_10_9_x86_64.whl
9ce242162015b7e88092dccd0e854548c0926b75c7924a3495e02c6067aba1f5 numpy-1.23.1-cp310-cp310-macosx_11_0_arm64.whl
e0d7447679ae9a7124385ccf0ea990bb85bb869cef217e2ea6c844b6a6855073 numpy-1.23.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3119daed207e9410eaf57dcf9591fdc68045f60483d94956bee0bfdcba790953 numpy-1.23.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
3ab67966c8d45d55a2bdf40701536af6443763907086c0a6d1232688e27e5447 numpy-1.23.1-cp310-cp310-win32.whl
1865fdf51446839ca3fffaab172461f2b781163f6f395f1aed256b1ddc253622 numpy-1.23.1-cp310-cp310-win_amd64.whl
aeba539285dcf0a1ba755945865ec61240ede5432df41d6e29fab305f4384db2 numpy-1.23.1-cp38-cp38-macosx_10_9_x86_64.whl
7e8229f3687cdadba2c4faef39204feb51ef7c1a9b669247d49a24f3e2e1617c numpy-1.23.1-cp38-cp38-macosx_11_0_arm64.whl
68b69f52e6545af010b76516f5daaef6173e73353e3295c5cb9f96c35d755641 numpy-1.23.1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
1408c3527a74a0209c781ac82bde2182b0f0bf54dea6e6a363fe0cc4488a7ce7 numpy-1.23.1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
47f10ab202fe4d8495ff484b5561c65dd59177949ca07975663f4494f7269e3e numpy-1.23.1-cp38-cp38-win32.whl
37e5ebebb0eb54c5b4a9b04e6f3018e16b8ef257d26c8945925ba8105008e645 numpy-1.23.1-cp38-cp38-win_amd64.whl
173f28921b15d341afadf6c3898a34f20a0569e4ad5435297ba262ee8941e77b numpy-1.23.1-cp39-cp39-macosx_10_9_x86_64.whl
876f60de09734fbcb4e27a97c9a286b51284df1326b1ac5f1bf0ad3678236b22 numpy-1.23.1-cp39-cp39-macosx_11_0_arm64.whl
35590b9c33c0f1c9732b3231bb6a72d1e4f77872390c47d50a615686ae7ed3fd numpy-1.23.1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a35c4e64dfca659fe4d0f1421fc0f05b8ed1ca8c46fb73d9e5a7f175f85696bb numpy-1.23.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
c2f91f88230042a130ceb1b496932aa717dcbd665350beb821534c5c7e15881c numpy-1.23.1-cp39-cp39-win32.whl
37ece2bd095e9781a7156852e43d18044fd0d742934833335599c583618181b9 numpy-1.23.1-cp39-cp39-win_amd64.whl
8002574a6b46ac3b5739a003b5233376aeac5163e5dcd43dd7ad062f3e186129 numpy-1.23.1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
5d732d17b8a9061540a10fda5bfeabca5785700ab5469a5e9b93aca5e2d3a5fb numpy-1.23.1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
55df0f7483b822855af67e38fb3a526e787adf189383b4934305565d71c4b148 numpy-1.23.1-pp38-pypy38_pp73-win_amd64.whl
d748ef349bfef2e1194b59da37ed5a29c19ea8d7e6342019921ba2ba4fd8b624 numpy-1.23.1.tar.gz

1.23.0

The NumPy 1.23.0 release continues the ongoing work to improve the
handling and promotion of dtypes, increase the execution speed, clarify
the documentation, and expire old deprecations. The highlights are:

- Implementation of `loadtxt` in C, greatly improving its performance.
- Exposing DLPack at the Python level for easy data exchange.
- Changes to the promotion and comparisons of structured dtypes.
- Improvements to f2py.

See below for the details,

New functions

- A masked array specialization of `ndenumerate` is now available as
`numpy.ma.ndenumerate`. It provides an alternative to
`numpy.ndenumerate` and skips masked values by default.

([gh-20020](https://github.com/numpy/numpy/pull/20020))

- `numpy.from_dlpack` has been added to allow easy exchange of data
using the DLPack protocol. It accepts Python objects that implement
the `__dlpack__` and `__dlpack_device__` methods and returns a
ndarray object which is generally the view of the data of the input
object.

([gh-21145](https://github.com/numpy/numpy/pull/21145))

Deprecations

- Setting `__array_finalize__` to `None` is deprecated. It must now be
a method and may wish to call `super().__array_finalize__(obj)`
after checking for `None` or if the NumPy version is sufficiently
new.

([gh-20766](https://github.com/numpy/numpy/pull/20766))

- Using `axis=32` (`axis=np.MAXDIMS`) in many cases had the same
meaning as `axis=None`. This is deprecated and `axis=None` must be
used instead.

([gh-20920](https://github.com/numpy/numpy/pull/20920))

- The hook function `PyDataMem_SetEventHook` has been deprecated and
the demonstration of its use in tool/allocation_tracking has been
removed. The ability to track allocations is now built-in to python
via `tracemalloc`.

([gh-20394](https://github.com/numpy/numpy/pull/20394))

- `numpy.distutils` has been deprecated, as a result of `distutils`
itself being deprecated. It will not be present in NumPy for
Python >= 3.12, and will be removed completely 2 years after the
release of Python 3.12 For more details, see
`distutils-status-migration`{.interpreted-text role="ref"}.

([gh-20875](https://github.com/numpy/numpy/pull/20875))

Expired deprecations

- The `NpzFile.iteritems()` and `NpzFile.iterkeys()` methods have been
removed as part of the continued removal of Python 2 compatibility.
This concludes the deprecation from 1.15.

([gh-16830](https://github.com/numpy/numpy/pull/16830))

- The `alen` and `asscalar` functions have been removed.

([gh-20414](https://github.com/numpy/numpy/pull/20414))

- The `UPDATEIFCOPY` array flag has been removed together with the
enum `NPY_ARRAY_UPDATEIFCOPY`. The associated (and deprecated)
`PyArray_XDECREF_ERR` was also removed. These were all deprecated in
1.14. They are replaced by `WRITEBACKIFCOPY`, that requires calling
`PyArray_ResoveWritebackIfCopy` before the array is deallocated.

([gh-20589](https://github.com/numpy/numpy/pull/20589))

- Exceptions will be raised during array-like creation. When an object
raised an exception during access of the special attributes
`__array__` or `__array_interface__`, this exception was usually
ignored. This behaviour was deprecated in 1.21, and the exception
will now be raised.

([gh-20835](https://github.com/numpy/numpy/pull/20835))

- Multidimensional indexing with non-tuple values is not allowed.
Previously, code such as `arr[ind]` where `ind = [[0, 1], [0, 1]]`
produced a `FutureWarning` and was interpreted as a multidimensional
index (i.e., `arr[tuple(ind)]`). Now this example is treated like an
array index over a single dimension (`arr[array(ind)]`).
Multidimensional indexing with anything but a tuple was deprecated
in NumPy 1.15.

([gh-21029](https://github.com/numpy/numpy/pull/21029))

- Changing to a dtype of different size in F-contiguous arrays is no
longer permitted. Deprecated since Numpy 1.11.0. See below for an
extended explanation of the effects of this change.

([gh-20722](https://github.com/numpy/numpy/pull/20722))

New Features

crackfortran has support for operator and assignment overloading

`crackfortran` parser now understands operator and assignment
definitions in a module. They are added in the `body` list of the module
which contains a new key `implementedby` listing the names of the
subroutines or functions implementing the operator or assignment.

([gh-15006](https://github.com/numpy/numpy/pull/15006))

f2py supports reading access type attributes from derived type statements

As a result, one does not need to use `public` or `private` statements
to specify derived type access properties.

([gh-15844](https://github.com/numpy/numpy/pull/15844))

New parameter `ndmin` added to `genfromtxt`

This parameter behaves the same as `ndmin` from `numpy.loadtxt`.

([gh-20500](https://github.com/numpy/numpy/pull/20500))

`np.loadtxt` now supports quote character and single converter function

`numpy.loadtxt` now supports an additional `quotechar` keyword argument
which is not set by default. Using `quotechar='"'` will read quoted
fields as used by the Excel CSV dialect.

Further, it is now possible to pass a single callable rather than a
dictionary for the `converters` argument.

([gh-20580](https://github.com/numpy/numpy/pull/20580))

Changing to dtype of a different size now requires contiguity of only the last axis

Previously, viewing an array with a dtype of a different item size
required that the entire array be C-contiguous. This limitation would
unnecessarily force the user to make contiguous copies of non-contiguous
arrays before being able to change the dtype.

This change affects not only `ndarray.view`, but other construction
mechanisms, including the discouraged direct assignment to
`ndarray.dtype`.

This change expires the deprecation regarding the viewing of
F-contiguous arrays, described elsewhere in the release notes.

([gh-20722](https://github.com/numpy/numpy/pull/20722))

Deterministic output files for F2PY

For F77 inputs, `f2py` will generate `modname-f2pywrappers.f`
unconditionally, though these may be empty. For free-form inputs,
`modname-f2pywrappers.f`, `modname-f2pywrappers2.f90` will both be
generated unconditionally, and may be empty. This allows writing generic
output rules in `cmake` or `meson` and other build systems. Older
behavior can be restored by passing `--skip-empty-wrappers` to `f2py`.
`f2py-meson`{.interpreted-text role="ref"} details usage.

([gh-21187](https://github.com/numpy/numpy/pull/21187))

`keepdims` parameter for `average`

The parameter `keepdims` was added to the functions `numpy.average` and
`numpy.ma.average`. The parameter has the same meaning as it does in
reduction functions such as `numpy.sum` or `numpy.mean`.

([gh-21485](https://github.com/numpy/numpy/pull/21485))

Compatibility notes

1D `np.linalg.norm` preserves float input types, even for scalar results

Previously, this would promote to `float64` when the `ord` argument was
not one of the explicitly listed values, e.g. `ord=3`:

>>> f32 = np.float32([1, 2])
>>> np.linalg.norm(f32, 2).dtype
dtype('float32')
>>> np.linalg.norm(f32, 3)
dtype('float64') numpy 1.22
dtype('float32') numpy 1.23

This change affects only `float32` and `float16` vectors with `ord`
other than `-Inf`, `0`, `1`, `2`, and `Inf`.

([gh-17709](https://github.com/numpy/numpy/pull/17709))

Changes to structured (void) dtype promotion and comparisons

In general, NumPy now defines correct, but slightly limited, promotion
for structured dtypes by promoting the subtypes of each field instead of
raising an exception:

>>> np.result_type(np.dtype("i,i"), np.dtype("i,d"))
dtype([('f0', '<i4'), ('f1', '<f8')])

For promotion matching field names, order, and titles are enforced,
however padding is ignored. Promotion involving structured dtypes now
always ensures native byte-order for all fields (which may change the
result of `np.concatenate`) and ensures that the result will be
\"packed\", i.e. all fields are ordered contiguously and padding is
removed. See
`structured_dtype_comparison_and_promotion`{.interpreted-text
role="ref"} for further details.

The `repr` of aligned structures will now never print the long form
including `offsets` and `itemsize` unless the structure includes padding
not guaranteed by `align=True`.

In alignment with the above changes to the promotion logic, the casting
safety has been updated:

- `"equiv"` enforces matching names and titles. The itemsize is
allowed to differ due to padding.
- `"safe"` allows mismatching field names and titles
- The cast safety is limited by the cast safety of each included
field.
- The order of fields is used to decide cast safety of each individual
field. Previously, the field names were used and only unsafe casts
were possible when names mismatched.

The main important change here is that name mismatches are now
considered \"safe\" casts.

([gh-19226](https://github.com/numpy/numpy/pull/19226))

`NPY_RELAXED_STRIDES_CHECKING` has been removed

NumPy cannot be compiled with `NPY_RELAXED_STRIDES_CHECKING=0` anymore.
Relaxed strides have been the default for many years and the option was
initially introduced to allow a smoother transition.

([gh-20220](https://github.com/numpy/numpy/pull/20220))

`np.loadtxt` has recieved several changes

The row counting of `numpy.loadtxt` was fixed. `loadtxt` ignores fully
empty lines in the file, but counted them towards `max_rows`. When
`max_rows` is used and the file contains empty lines, these will now not
be counted. Previously, it was possible that the result contained fewer
than `max_rows` rows even though more data was available to be read. If
the old behaviour is required, `itertools.islice` may be used:

import itertools
lines = itertools.islice(open("file"), 0, max_rows)
result = np.loadtxt(lines, ...)

While generally much faster and improved, `numpy.loadtxt` may now fail
to converter certain strings to numbers that were previously
successfully read. The most important cases for this are:

- Parsing floating point values such as `1.0` into integers will now
fail
- Parsing hexadecimal floats such as `0x3p3` will fail
- An `_` was previously accepted as a thousands delimiter `100_000`.
This will now result in an error.

If you experience these limitations, they can all be worked around by
passing appropriate `converters=`. NumPy now supports passing a single
converter to be used for all columns to make this more convenient. For
example, `converters=float.fromhex` can read hexadecimal float numbers
and `converters=int` will be able to read `100_000`.

Further, the error messages have been generally improved. However, this
means that error types may differ. In particularly, a `ValueError` is
now always raised when parsing of a single entry fails.

([gh-20580](https://github.com/numpy/numpy/pull/20580))

Improvements

`ndarray.__array_finalize__` is now callable

This means subclasses can now use `super().__array_finalize__(obj)`
without worrying whether `ndarray` is their superclass or not. The
actual call remains a no-op.

([gh-20766](https://github.com/numpy/numpy/pull/20766))

Add support for VSX4/Power10

With VSX4/Power10 enablement, the new instructions available in Power
ISA 3.1 can be used to accelerate some NumPy operations, e.g.,
floor_divide, modulo, etc.

([gh-20821](https://github.com/numpy/numpy/pull/20821))

`np.fromiter` now accepts objects and subarrays

The `numpy.fromiter` function now supports object and subarray dtypes.
Please see he function documentation for examples.

([gh-20993](https://github.com/numpy/numpy/pull/20993))

Math C library feature detection now uses correct signatures

Compiling is preceded by a detection phase to determine whether the
underlying libc supports certain math operations. Previously this code
did not respect the proper signatures. Fixing this enables compilation
for the `wasm-ld` backend (compilation for web assembly) and reduces the
number of warnings.

([gh-21154](https://github.com/numpy/numpy/pull/21154))

`np.kron` now maintains subclass information

`np.kron` maintains subclass information now such as masked arrays while
computing the Kronecker product of the inputs

python
>>> x = ma.array([[1, 2], [3, 4]], mask=[[0, 1], [1, 0]])
>>> np.kron(x,x)
masked_array(
data=[[1, --, --, --],
[--, 4, --, --],
[--, --, 4, --],
[--, --, --, 16]],
mask=[[False, True, True, True],
[ True, False, True, True],
[ True, True, False, True],
[ True, True, True, False]],
fill_value=999999)


:warning: Warning, `np.kron` output now follows `ufunc` ordering (`multiply`) to determine
the output class type

python
>>> class myarr(np.ndarray):
>>> __array_priority__ = -1
>>> a = np.ones([2, 2])
>>> ma = myarray(a.shape, a.dtype, a.data)
>>> type(np.kron(a, ma)) == np.ndarray
False Before it was True
>>> type(np.kron(a, ma)) == myarr
True


([gh-21262](https://github.com/numpy/numpy/pull/21262))

Performance improvements and changes

Faster `np.loadtxt`

`numpy.loadtxt` is now generally much faster than previously as most of
it is now implemented in C.

([gh-20580](https://github.com/numpy/numpy/pull/20580))

Faster reduction operators

Reduction operations like `numpy.sum`, `numpy.prod`, `numpy.add.reduce`,
`numpy.logical_and.reduce` on contiguous integer-based arrays are now
much faster.

([gh-21001](https://github.com/numpy/numpy/pull/21001))

Faster `np.where`

`numpy.where` is now much faster than previously on unpredictable/random
input data.

([gh-21130](https://github.com/numpy/numpy/pull/21130))

Faster operations on NumPy scalars

Many operations on NumPy scalars are now significantly faster, although
rare operations (e.g. with 0-D arrays rather than scalars) may be slower
in some cases. However, even with these improvements users who want the
best performance for their scalars, may want to convert a known NumPy
scalar into a Python one using `scalar.item()`.

([gh-21188](https://github.com/numpy/numpy/pull/21188))

Faster `np.kron`

`numpy.kron` is about 80% faster as the product is now computed using
broadcasting.

([gh-21354](https://github.com/numpy/numpy/pull/21354))

Checksums

MD5

c67b4cc1de8a0753bc65765a508aa0e3 numpy-1.23.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
9daceb162c46298986b5fceb13f10e54 numpy-1.23.0rc1-cp310-cp310-macosx_11_0_arm64.whl
ac07046b70001710d8d3243d9b5d0389 numpy-1.23.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
14269d197cd6aac02655d43aa10ba108 numpy-1.23.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
ba5fc5cd776549afc353e0043f6c6f5a numpy-1.23.0rc1-cp310-cp310-win32.whl
0e1b00f156f32aabde1e29607c709a24 numpy-1.23.0rc1-cp310-cp310-win_amd64.whl
34b5a9f3abeb9f6e9c6fbd494305d53d numpy-1.23.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
bb825cf372822daad1e440577e324042 numpy-1.23.0rc1-cp38-cp38-macosx_11_0_arm64.whl
45296e6b41691c4265c90562c94254aa numpy-1.23.0rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
b10b131e5c0576629ab99829301d6fba numpy-1.23.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
bc6210254087b73715d8c6a79dafa3b8 numpy-1.23.0rc1-cp38-cp38-win32.whl
d9b7fb5a539a738309a717051f13e41a numpy-1.23.0rc1-cp38-cp38-win_amd64.whl
d2cec33489c96dfc489bb00353d351fe numpy-1.23.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
e4982f3bf3d4acab67cb61d3d0e2f85b numpy-1.23.0rc1-cp39-cp39-macosx_11_0_arm64.whl
781a79ea9f1683a579a1ef27d809a8e0 numpy-1.23.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
8c03ea50c2baa172e8252d10dea73498 numpy-1.23.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
61829dec0785cf72b8f5bc92dc44d828 numpy-1.23.0rc1-cp39-cp39-win32.whl
94c7c971ed5eedb1b61a09bcfc123617 numpy-1.23.0rc1-cp39-cp39-win_amd64.whl
b5c6f674b468e7fc513882563391efec numpy-1.23.0rc1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
41ab4b757478c8e244018c37bcb52bb3 numpy-1.23.0rc1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
f2082734772a6a7afbe3568e7b2ad458 numpy-1.23.0rc1-pp38-pypy38_pp73-win_amd64.whl
faf6a08cda5696b96acb670c433495e5 numpy-1.23.0rc1.tar.gz

SHA256

a72607e12891615a314a892f8d21301b930f211841f0084d269baa1eb31710b4 numpy-1.23.0rc1-cp310-cp310-macosx_10_9_x86_64.whl
4784a81089c75a941dcc013b09290dfb22768780a1f3525667328d09a3338116 numpy-1.23.0rc1-cp310-cp310-macosx_11_0_arm64.whl
d4ebdeb0e2a57bbd28c3258a562ee011775127427eea833613744af1a66c3e11 numpy-1.23.0rc1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
a2dfb54cb1c6470918a3c02da77706f28977cb7eac4b76cc40b14942c8634615 numpy-1.23.0rc1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
1567c488f9ef97341c5937b4140a45ac37e0592c43ba2c59d3e49ff7d5da90b0 numpy-1.23.0rc1-cp310-cp310-win32.whl
78df1fc2ddf543508b5358dd24ac68ee693599e5df0d136062b9ec21ba7643cf numpy-1.23.0rc1-cp310-cp310-win_amd64.whl
020c6d8476fced48f42629f46996af8a07bc725cb821081205c4422eacaa2283 numpy-1.23.0rc1-cp38-cp38-macosx_10_9_x86_64.whl
efd26eecd1ada0c8dadc5b221c52086ccc72e4cb0707e451889ef3b62c14163c numpy-1.23.0rc1-cp38-cp38-macosx_11_0_arm64.whl
8cf3f61984777a830eef452d8b04338795691949214e6cafc46c5236900cd1f5 numpy-1.23.0rc1-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
96738ae39db010502564325ce2f4aff4f42b75adf64f3ccb2b19214e9be1c01c numpy-1.23.0rc1-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
33b233f59d9430a27c2a58a056f32259eadf9584f41c6ec02c493c3aeb90f844 numpy-1.23.0rc1-cp38-cp38-win32.whl
edf0a82d285e18418e3915fece2cf0f4f31e84fe62271331fbaafbbc7d57e9ee numpy-1.23.0rc1-cp38-cp38-win_amd64.whl
a71f1602bf84d0a2fb5d586a2d8c31f29fbca9253ae1eecf46b7059fa265eb79 numpy-1.23.0rc1-cp39-cp39-macosx_10_9_x86_64.whl
05000d27fd135dd0aab90acaf96652991c070dda688739097ac2dea92189f9f0 numpy-1.23.0rc1-cp39-cp39-macosx_11_0_arm64.whl
ebe07758ac3e7402290f43d379f6d79d81a247488561743490cf2e5b64351ba6 numpy-1.23.0rc1-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
3cd05784cdcd09114c2f6186bb99af7f5ee65ffd720dae9990722a94309b17ea numpy-1.23.0rc1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
6ccb79435d4501b35ed3d807e1bf7345e42f68b25fbf720ade9c74c7196360f9 numpy-1.23.0rc1-cp39-cp39-win32.whl
a8fbe61e09565fa2f7bca076627ea0efbf50ab689c35af5082c5d94fb24b30ee numpy-1.23.0rc1-cp39-cp39-win_amd64.whl
7a45352476e92c1958ce513fa84b508d59dd8e6ffe0e6f6cceebfc0f3c06d086 numpy-1.23.0rc1-pp38-pypy38_pp73-macosx_10_9_x86_64.whl
4f15768493ecf23c5d82e5542642a36764e551c7744781268c7c221f26c7ffd6 numpy-1.23.0rc1-pp38-pypy38_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
edf0b720c8ba3d35b23c71c0cd13df34290be87b42f0e10d0ec2f1639cda2692 numpy-1.23.0rc1-pp38-pypy38_pp73-win_amd64.whl
3a09d0f564f59b6da54f592909d3fdbd50b492ef9fbe6d699043c992538ba0e0 numpy-1.23.0rc1.tar.gz

1.23.0rc3

1.23.0rc2

Page 8 of 23

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.