Skip to content

MAINT: Bump pypa/cibuildwheel from 3.0.0b4 to 3.0.0 #29180

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 11, 2025

Conversation

dependabot[bot]
Copy link
Contributor

@dependabot dependabot bot commented on behalf of github Jun 11, 2025

Bumps pypa/cibuildwheel from 3.0.0b4 to 3.0.0.

Release notes

Sourced from pypa/cibuildwheel's releases.

v3.0.0

See @​henryiii's release post for more info on new features!

  • 🌟 Adds the ability to build wheels for iOS! Set the platform option to ios on a Mac with the iOS toolchain to try it out! (#2286, #2363, #2432)

  • 🌟 Adds support for the GraalPy interpreter! Enable for your project using the enable option. (#1538, #2411, #2414)

  • ✨ Adds CPython 3.14 support, under the enable option cpython-prerelease. This version of cibuildwheel uses 3.14.0b2. (#2390)

    While CPython is in beta, the ABI can change, so your wheels might not be compatible with the final release. For this reason, we don't recommend distributing wheels until RC1, at which point 3.14 will be available in cibuildwheel without the flag. (#2390)

  • ✨ Adds the test-sources option, and changes the working directory for tests. (#2062, #2284, #2437)

    • If this option is set, cibuildwheel will copy the files and folders specified in test-sources into the temporary directory we run from. This is required for iOS builds, but also useful for other platforms, as it allows you to avoid placeholders.
    • If this option is not set, behaviour matches v2.x - cibuildwheel will run the tests from a temporary directory, and you can use the {project} placeholder in the test-command to refer to the project directory. (#2420)
  • ✨ Adds dependency-versions inline syntax (#2122)

  • ✨ Improves support for Pyodide builds and adds the experimental pyodide-version option, which allows you to specify the version of Pyodide to use for builds. (#2002)

  • ✨ Add pyodide-prerelease enable option, with an early build of 0.28 (Python 3.13). (#2431)

  • ✨ Adds the test-environment option, which allows you to set environment variables for the test command. (#2388)

  • ✨ Adds the xbuild-tools option, which allows you to specify tools safe for cross-compilation. Currently only used on iOS; will be useful for Android in the future. (#2317)

  • 🛠 The default manylinux image has changed from manylinux2014 to manylinux_2_28. (#2330)

  • 🛠 EOL images manylinux1, manylinux2010, manylinux_2_24 and musllinux_1_1 can no longer be specified by their shortname. The full OCI name can still be used for these images, if you wish. (#2316)

  • 🛠 Invokes build rather than pip wheel to build wheels by default. You can control this via the build-frontend option. You might notice that you can see your build log output now! (#2321)

  • 🛠 Build verbosity settings have been reworked to have consistent meanings between build backends when non-zero. (#2339)

  • 🛠 Removed the CIBW_PRERELEASE_PYTHONS and CIBW_FREE_THREADED_SUPPORT options - these have been folded into the enable option instead. (#2095)

  • 🛠 Build environments no longer have setuptools and wheel preinstalled. (#2329)

  • 🛠 Use the standard Schema line for the integrated JSONSchema. (#2433)

  • ⚠️ Dropped support for building Python 3.6 and 3.7 wheels. If you need to build wheels for these versions, use cibuildwheel v2.23.3 or earlier. (#2282)

  • ⚠️ The minimum Python version required to run cibuildwheel is now Python 3.11. You can still build wheels for Python 3.8 and newer. (#1912)

  • ⚠️ 32-bit Linux wheels no longer built by default - the arch was removed from "auto". It now requires explicit "auto32". Note that modern manylinux images (like the new default, manylinux_2_28) do not have 32-bit versions. (#2458)

  • ⚠️ PyPy wheels no longer built by default, due to a change to our options system. To continue building PyPy wheels, you'll now need to set the enable option to pypy or pypy-eol. (#2095)

  • ⚠️ Dropped official support for Appveyor. If it was working for you before, it will probably continue to do so, but we can't be sure, because our CI doesn't run there anymore. (#2386)

  • 📚 A reorganisation of the docs, and numerous updates. (#2280)

  • 📚 Use Python 3.14 color output in docs CLI output. (#2407)

  • 📚 Docs now primarily use the pyproject.toml name of options, rather than the environment variable name. (#2389)

  • 📚 README table now matches docs and auto-updates. (#2427, #2428)

v3.0.0rc3

Not yet released, but available for testing.

Note - when using a beta version, be sure to check the latest docs, rather than the stable version, which is still on v2.X.

If you've used previous versions of the beta:

  • ⚠️ Previous betas of v3.0 changed the working directory for tests. This has been rolled back to the v2.x behaviour, so you might need to change configs if you adapted to the beta 1 or 2 behaviour. See [issue #2406](pypa/cibuildwheel#2406) for more information.
  • ⚠️ GraalPy shipped with the identifier gp242-* in previous betas, this has been changed to gp311_242-* to be consistent with other interpreters, and to fix a bug with GraalPy and project requires-python detection. If you were using GraalPy, you might need to update your config to use the new identifier.
  • ⚠️ test-sources now uses project directory instead of the package directory (matching the docs).
  • ⚠️ 32-bit linux builds were removed from "auto" (the default), now require "auto32" or explicit archs, as modern manylinux images (including our new default) do not support them.

... (truncated)

Changelog

Sourced from pypa/cibuildwheel's changelog.


title: Changelog

Changelog

v3.0.0

11 June 2025

See @​henryiii's release post for more info on new features!

  • 🌟 Adds the ability to build wheels for iOS! Set the platform option to ios on a Mac with the iOS toolchain to try it out! (#2286, #2363, #2432)

  • 🌟 Adds support for the GraalPy interpreter! Enable for your project using the enable option. (#1538, #2411, #2414)

  • ✨ Adds CPython 3.14 support, under the enable option cpython-prerelease. This version of cibuildwheel uses 3.14.0b2. (#2390)

    While CPython is in beta, the ABI can change, so your wheels might not be compatible with the final release. For this reason, we don't recommend distributing wheels until RC1, at which point 3.14 will be available in cibuildwheel without the flag. (#2390)

  • ✨ Adds the test-sources option, and changes the working directory for tests. (#2062, #2284, #2437)

    • If this option is set, cibuildwheel will copy the files and folders specified in test-sources into the temporary directory we run from. This is required for iOS builds, but also useful for other platforms, as it allows you to avoid placeholders.
    • If this option is not set, behaviour matches v2.x - cibuildwheel will run the tests from a temporary directory, and you can use the {project} placeholder in the test-command to refer to the project directory. (#2420)
  • ✨ Adds dependency-versions inline syntax (#2122)

  • ✨ Improves support for Pyodide builds and adds the experimental pyodide-version option, which allows you to specify the version of Pyodide to use for builds. (#2002)

  • ✨ Add pyodide-prerelease enable option, with an early build of 0.28 (Python 3.13). (#2431)

  • ✨ Adds the test-environment option, which allows you to set environment variables for the test command. (#2388)

  • ✨ Adds the xbuild-tools option, which allows you to specify tools safe for cross-compilation. Currently only used on iOS; will be useful for Android in the future. (#2317)

  • 🛠 The default manylinux image has changed from manylinux2014 to manylinux_2_28. (#2330)

  • 🛠 EOL images manylinux1, manylinux2010, manylinux_2_24 and musllinux_1_1 can no longer be specified by their shortname. The full OCI name can still be used for these images, if you wish. (#2316)

  • 🛠 Invokes build rather than pip wheel to build wheels by default. You can control this via the build-frontend option. You might notice that you can see your build log output now! (#2321)

  • 🛠 Build verbosity settings have been reworked to have consistent meanings between build backends when non-zero. (#2339)

  • 🛠 Removed the CIBW_PRERELEASE_PYTHONS and CIBW_FREE_THREADED_SUPPORT options - these have been folded into the enable option instead. (#2095)

  • 🛠 Build environments no longer have setuptools and wheel preinstalled. (#2329)

  • 🛠 Use the standard Schema line for the integrated JSONSchema. (#2433)

  • ⚠️ Dropped support for building Python 3.6 and 3.7 wheels. If you need to build wheels for these versions, use cibuildwheel v2.23.3 or earlier. (#2282)

  • ⚠️ The minimum Python version required to run cibuildwheel is now Python 3.11. You can still build wheels for Python 3.8 and newer. (#1912)

  • ⚠️ 32-bit Linux wheels no longer built by default - the arch was removed from "auto". It now requires explicit "auto32". Note that modern manylinux images (like the new default, manylinux_2_28) do not have 32-bit versions. (#2458)

  • ⚠️ PyPy wheels no longer built by default, due to a change to our options system. To continue building PyPy wheels, you'll now need to set the enable option to pypy or pypy-eol. (#2095)

  • ⚠️ Dropped official support for Appveyor. If it was working for you before, it will probably continue to do so, but we can't be sure, because our CI doesn't run there anymore. (#2386)

  • 📚 A reorganisation of the docs, and numerous updates. (#2280)

  • 📚 Use Python 3.14 color output in docs CLI output. (#2407)

  • 📚 Docs now primarily use the pyproject.toml name of options, rather than the environment variable name. (#2389)

  • 📚 README table now matches docs and auto-updates. (#2427, #2428)

v2.23.3

26 April 2025

  • 🛠 Dependency updates, including Python 3.13.3 (#2371)

... (truncated)

Commits

Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options

You can trigger Dependabot actions by commenting on this PR:

  • @dependabot rebase will rebase this PR
  • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
  • @dependabot merge will merge this PR after your CI passes on it
  • @dependabot squash and merge will squash and merge this PR after your CI passes on it
  • @dependabot cancel merge will cancel a previously requested merge and block automerging
  • @dependabot reopen will reopen this PR if it is closed
  • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
  • @dependabot show <dependency name> ignore conditions will show all of the ignore conditions of the specified dependency
  • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
  • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)

Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 3.0.0b4 to 3.0.0.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](pypa/cibuildwheel@cf078b0...5f22145)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
@charris charris merged commit 8ce860f into main Jun 11, 2025
75 checks passed
@dependabot dependabot bot deleted the dependabot/github_actions/pypa/cibuildwheel-3.0.0 branch June 11, 2025 19:56
joy2myself pushed a commit to plctlab/numpy that referenced this pull request Jul 21, 2025
)

* MAINT: Update download-wheels for multiple pages

The anaconda staging repositories have changed layout and now only
25 files are showing per page. This update uses a different URL to
grab all of the names, thus avoiding the need for paging.

There are also some cleanups and added comments to make future
maintenance easier.

[skip azp] [skip cirrus] [skip actions]

* ENH: Disable the alloc cache under address and memory sanitizers

We've been carrying a variant of this patch in our local copy of NumPy
for some time. The alloc cache reduces the effectiveness of
use-after-free or use-of-uninitialized memory warnings because caching
of allocations means they may be reused for a different allocation,
potentially hiding real problems.

* ENH, SIMD: Initial implementation of Highway wrapper

A thin wrapper over Google's Highway SIMD library to simplify its interface.
This commit provides the implementation of that wrapper, consisting of:

- simd.hpp: Main header defining the SIMD namespaces and configuration
- simd.inc.hpp: Template header included multiple times with different namespaces

The wrapper eliminates Highway's class tags by:
- Using lane types directly which can be deduced from arguments
- Leveraging namespaces (np::simd and np::simd128) for different register widths

A README is included to guide usage and document design decisions.

* SIMD: Update wrapper with improved docs and type support

  - Fix hardware/platform terminology in documentation for clarity
  - Add support for long double in template specializations
  - Add kMaxLanes constant to expose maximum vector width information
  - Follows clang formatting style for consistency with NumPy codebase.

* SIMD: Improve isolation and constexpr handling in wrapper

  - Add anonymous namespace around implementation to ensure each
    translation unit gets its own constants based on local flags
  - Use HWY_LANES_CONSTEXPR for Lanes function to ensure proper
    constexpr evaluation across platforms

* Update Highway submodule to latest master

* SIMD: Fix compile error by using MaxLanes instead of Lanes for array size

  Replace hn::Lanes(f64) with hn::MaxLanes(f64) when defining the index array
  size to fix error C2131: "expression did not evaluate to a constant". This error
  occurs because Lanes() isn't always constexpr compatible, especially with
  scalable vector extensions. MaxLanes() provides a compile-time constant value
  suitable for static array allocation and should be used with non-scalable SIMD
  extensions when defining fixed-size arrays.

* SIMD: Rename NPY_SIMDX to NPY_HWY

Rename Highway wrapper macros for clarity:
- NPY_SIMDX → NPY_HWY
- NPY_SIMDX_F16 → NPY_HWY_F16
- NPY_SIMDX_F64 → NPY_HWY_F64
- NPY_SIMDX_FMA → NPY_HWY_FMA

To avoids confusion with legacy SIMD macros.

* Disable Highway EMU128 scalar emulation

Skip Highway's EMU128 in favor of NumPy's scalar implementations for
due to strict IEEE 754 floating-point compliance requirements

* TYP: Type ``MaskedArray.__{iadd,isub,imul,itruediv,ifloordiv,ipow}__`` (numpy#28986)

* MNT: fix linter issues on main

* MNT: switch back to setup-python in CI

* CI: update cibuildwheel to 3.0.0b1 and enable cp314 [wheel build]

* MNT: respond to code review [wheel build]

* MNT: move back to 'cd tools' hack [wheel build]

* DOC: Fixes line numbers on classes decorated with set_module (numpy#28629) (numpy#28918)

* MAINT: Bump larsoner/circleci-artifacts-redirector-action

Bumps [larsoner/circleci-artifacts-redirector-action](https://github.com/larsoner/circleci-artifacts-redirector-action) from 1.0.0 to 1.1.0.
- [Release notes](https://github.com/larsoner/circleci-artifacts-redirector-action/releases)
- [Commits](scientific-python/circleci-artifacts-redirector-action@4e13a10...7eafdb6)

---
updated-dependencies:
- dependency-name: larsoner/circleci-artifacts-redirector-action
  dependency-version: 1.1.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* BEG, MAINT: Begin NumPy 2.4.0 development.

- Create 2.4.0-notes.rst
- Update release.rst
- Update pavement.py
- Update pyproject.toml
- Update cversions.txt
- Update numpyconfig.h
- Delete release fragments

* Fix workflow error

* BUG: Avoid compile errors in f2py modules

Some of the casts from cfuncs pass PyObject* to PyArrayObject*, which
causes compile errors due to incompatible pointer types on at least
GCC 14.

* DOC: Expand/clean up extension module import error

We get a lot of these reports and it is never us... But unfortunately,
Python (currently) doesn't report *why* the module wasn't found.
(I have  opened an issue asking for that.)

Until Python does, try to figure it out ourselves, i.e. list C modules
(I guess its always one, but OK).
If anything it'll give *us* an immediate thing to point out if an
issue is reported...

I also hid the "source import" thing to only occur if __config__
doesn't exist.  Not sure that catches this fully, but I also feel
like this isn't an actual problem anymore (i.e. we could just delete
it also).

Tested locally by renaming or deleting `_multiarray_umath`.

* appease linter

* Revert enable/CIBW_ENABLE changes [wheel build]

* explicitly re-raise again (worked before because the next line raises...)

* Update numpy/_core/__init__.py

Co-authored-by: Melissa Weber Mendonça <melissawm@gmail.com>

* BUG: handle the case of modules with derived types

* TST: tests for modules with derived types

* fix W291

* BUG: Fix cache use regression

numpygh-29006 got the branching wrong leaving the cache undefined on most
GCC/clang, which means we wouldn't use it.

Also move it up so that we can just remove the unused globals entirely.

* ok, don't attempt to remove the statics (too ingrained)

* ENH: add __array_function__ protocol in polynomial (numpy#28996)

* TYP: annotate strings.slice

* TYP: remove expired ``tostring`` methods

* use pypy 3.11 nightly which has a fix for ctypeslib [skip azp][skip circleci]

* BLD: allow targeting webassembly without emscripten

* TYP: fix invalid overload definition in ``_core.defchararray.add``

* TYP: annotate the ``*args`` and ``**kwargs``  of the ``ufunc`` methods

* TYP: annotate the return type of ``numpy.typing.__getattr__``

* TYP: annotate ``numpy.lib._format_impl``

* BLD: use sonoma image on Cirrus for [wheel build][skip actions][skip azp]

* DOC: fix typo in documentation of vecmat

The body of the summary uses the symbol v to reference the `x1`
parameter, however in the displayed math, b is used instead. This commit
changes b to v in the displayed math for concistency.

* MAINT: Enforce ruff E501

* enforce more files

* more enforcement

* DOC: fix typo in documentation of matvec

Same as for commit fba2e60, the vector was referred to as v in the
body of the summary but b in the displayed math. This commit fixes the
inconsistency.

* Merge pull request numpy#29063 from MarcoGorelli/align-maskedarray-with-ndarray

* BUG: add bounds-checking to in-place string multiply (numpy#29060)

* BUG: add bounds-checking to in-place string multiply

* MNT: check for overflow and raise OverflowError

* MNT: respond to review suggestion

* MNT: handle overflow in one more spot

* MNT: make test behave the same on all architectures

* MNT: reorder to avoid work in some cases

* MAINT: Convert umath_linalg to multi-phase init (PEP 489)

* MAINT: Convert dummymodule to multi-phase init (PEP 489)

* MAINT: Convert lapack_lite to multi-phase init (PEP 489)

* TYP: Type ``MaskedArray.__{add,radd,sub,rsub}__`` (numpy#29012)

* review comments

* Convert pocketfft_umath to multi-phase init (PEP 489) (numpy#29028)

* MAINT: Convert multiarray to multi-phase init (PEP 489) (numpy#29022)

* BLD: bump OpenBLAS version, use OpenBLAS for win-arm64 (numpy#29039)

* BLD: bump OpenBLAS version, use OpenBLAS for win-arm64 [wheel build]

* Update requirements/ci_requirements.txt

Co-authored-by: Sebastian Berg <sebastian@sipsolutions.net>

* use pip to install anaconda-client on win-arm64 [wheel build]

* allow noblas in win32 wheels, use scipy-openblas32 on win-arm64 [wheel build]

* improve runner arch detection logic [wheel build]

* remove win_arm64 cibuildwheel override

* remove 'strip' before calling delvewheel [wheel build]

* use openblas 0.3.29.265 only on win-arm64 [wheel build]

* add comment about lack of win-arm64 openblas64 wheels [wheel build]

---------

Co-authored-by: Sebastian Berg <sebastian@sipsolutions.net>
Co-authored-by: Joe Rickerby <joerick@mac.com>

* CI: bump to cibuildwheel 3.0.0b4 [wheel build]

This bumps to cibuildwheel 3.0.0b4, which contains CPython 3.14.0b2, and removes the directory changing workaround.

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* CI: clean up cibuildwheel config a bit [wheel build]

This simplifies the configuration a bit:

* Combine pyodide blocks
* Use tables/lists for config-settings and skip
* Remove a few repeated lines
* Use a list for select

Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>

* MNT: Avoid use of deprecated _PyDict_GetItemStringWithError in f2py

* Ignore all build-* directories

* TYP: fix `NDArray[integer]` inplace operator mypy issue

* TYP: regression tests for `NDArray[integer]` inplace ops

* MAINT: Bump ossf/scorecard-action from 2.4.1 to 2.4.2

Bumps [ossf/scorecard-action](https://github.com/ossf/scorecard-action) from 2.4.1 to 2.4.2.
- [Release notes](https://github.com/ossf/scorecard-action/releases)
- [Changelog](https://github.com/ossf/scorecard-action/blob/main/RELEASE.md)
- [Commits](ossf/scorecard-action@f49aabe...05b42c6)

---
updated-dependencies:
- dependency-name: ossf/scorecard-action
  dependency-version: 2.4.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* MAINT: bump `mypy` to `1.16.0`

* TYP: run mypy in strict mode

* TYP: disable mypy's `no-untyped-call` errors in the `MaskedArray` type-tests

* TYP: remove problematic runtime code from a `.pyi` test module

* BUG: f2py: thread-safe forcomb (numpy#29091)

* PERF: Use dict instead of list to make NpzFile member existence checks constant time (numpy#29098)

Use dict instead of list to convert the passed key to the name used in the archive.

* BENCH: Increase array sizes for ufunc and sort benchmarks (numpy#29084)

* Fix some incorrect reST markups

* MAINT: fix SPDX license expressions for LAPACK, GCC runtime libs

See scipy/scipy#23061 for details.

[skip ci]

* MAINT: cleanup from finalized concatenate deprecation (numpy#29115)

* TYP: minor ufunc alias fixes in ``__init__.pyi`` (numpy#29120)

* update windows-2019 to windows-2022 and meson flag[wheel build]

Co-authored-by: Charles Harris <charlesr.harris@gmail.com>

* MAINT: Bump github/codeql-action from 3.28.18 to 3.28.19

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.18 to 3.28.19.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@ff0a06e...fca7ace)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.28.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* DOC: remove very outdated info on ATLAS (numpy#29119)

* DOC: remove very outdated info on ATLAS

ATLAS hasn't been developed for years, there is no reason to ever
use it instead of OpenBLAS, BLIS, or MKL. So remove mentions of it.
The troubleshooting instructions haven't been relevant in quite a
while either.

Addresses a comment on numpygh-29108

[skip cirrus] [skip github] [skip azp]

* accept review suggestion

[skip ci]

Co-authored-by: Matti Picus <matti.picus@gmail.com>

---------

Co-authored-by: Matti Picus <matti.picus@gmail.com>

* DOC: fix typo in Numpy's module structure

* update according to review

* MAINT: Bump conda-incubator/setup-miniconda from 3.1.1 to 3.2.0

Bumps [conda-incubator/setup-miniconda](https://github.com/conda-incubator/setup-miniconda) from 3.1.1 to 3.2.0.
- [Release notes](https://github.com/conda-incubator/setup-miniconda/releases)
- [Changelog](https://github.com/conda-incubator/setup-miniconda/blob/main/CHANGELOG.md)
- [Commits](conda-incubator/setup-miniconda@505e639...8352349)

---
updated-dependencies:
- dependency-name: conda-incubator/setup-miniconda
  dependency-version: 3.2.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* MAINT: Bump ``scipy-doctest`` to 1.8 (numpy#29085)

* MAINT: check-docs: require scipy-doctest >= 1.8.0

See for the discussion https://discuss.scientific-python.org/t/scipy-doctest-select-only-doctests-or-both-doctests-and-unit-tests/1950

[docs only]

* CI: bump scipy-doctest version on CI

[skip azp] [skip actions] [skip cirrus]

* MAINT: tweak doctests to not fail

* MAINT: Bump mamba-org/setup-micromamba from 2.0.4 to 2.0.5

Bumps [mamba-org/setup-micromamba](https://github.com/mamba-org/setup-micromamba) from 2.0.4 to 2.0.5.
- [Release notes](https://github.com/mamba-org/setup-micromamba/releases)
- [Commits](mamba-org/setup-micromamba@0dea637...b09ef9b)

---
updated-dependencies:
- dependency-name: mamba-org/setup-micromamba
  dependency-version: 2.0.5
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* MAINT: Update main after 2.3.0 release.

- Forwardport 2.3.0-changelog.rst
- Forwardport 2.3.0-notes.rst
- Forwardport .mailmap

[skip azp] [skip cirrus] [skip actions]

* TYP: update typing stubs for ``_pyinstaller/hook-numpy.py``

* DOC: Document assertion comparison behavior between scalar and empty array

Noted in numpy#27457. The minimal thing we should do is document this behavior.

While at it, I slightly homogenized the notes.

* TYP: add missing ``numpy.lib`` exports

* TYP: add ``containsderivedtypes`` to ``f2py.auxfuncs.__all__``

* TYP: remove ``run_command`` annotations in ``f2py.diagnose``

* BUG: Missing array-api ``capabilities()`` key

* TST: migrating from pytz to zoneinfo + tzdata (where needed)

For migration from pytz to zoneinfo function get_tzoffset_from_pytzinfo from numpy/_core/src/multiarray/datetime.c is modified to use astimezone instead of fromutc.
As the object ZoneInfo is not directly compatible to be used with datetime object.
Hence, something like this would result in an exception.

from datetime import datetime
from zoneinfo import ZoneInfo

a = datetime(2025, 6, 7, 10, 0, 0)
zoneInfo = ZoneInfo("US/Central")
b = zoneInfo.fromutc(a)

ValueError: fromutc: dt.tzinfo is not self

The function astimezone can be used with both pytz.timezone object and zoneinfo.ZoneInfo object
But, if we want to use the datetime object consistently we cannot let it be a naive type i.e. without a timezone.
As the default behaviour of astimezone would take the system timezone if the datetime object is not timezone aware.

Hence, I had to also change the call to create datetime object to take UTC timezone.

See numpy#29064

* BUG: remove `NPY_ALIGNMENT_REQUIRED`

* This machinery requires strict-aliasing UB and isn't needed
  anymore with any GCC from the last 15 years. This might also
  fix numpy#25004.

Fixes: numpy#28991

* DOC: Document the removal of the NPY_ALIGNMENT_REQUIRED macro.

* DOC: Remove version switcher colors

[skip actions][skip azp][skip cirrus]

* MAINT: Update comment for clarity

* CI: Run mypy with Python 3.13

* DOC: tweak release walkthrough for numpy.org news blurb [skip actions][skip azp][skip cirrus]

* Adding refactored tests

.

.

* Removing additional references to pytz

.

.

* TYP: Accept dispatcher function with optional returns in ``_core.overrides`` (numpy#29171)



Co-authored-by: Sebastian Berg <sebastianb@nvidia.com>

* TYP: ``lib._iotools`` annotation improvements (numpy#29177)

* TYP: ``any(None)`` and ``all(None)`` (numpy#29176)

* TYP: Fix invalid inline annotations in ``lib._function_base_impl`` (numpy#29175)

* TYP: Fix invalid inline annotations in ``lib._function_base_impl``

* TYP: ``ruff check --fix``

* TYP: prevent inline annotation from causing a circular import error

* TYP: ``numpy._NoValue`` (numpy#29170)

* TYP: ``out=...`` in ufuncs (numpy#29169)

* TYP: Simplified ``dtype.__new__`` overloads (numpy#29168)

* TYP: fix and improve ``numpy.lib._utils_impl`` (numpy#29181)

* TYP: ``double = float64`` and ``cdouble = complex128`` (numpy#29155)

* TYP: Fix missing ``_core.numeric`` (re-)exports (numpy#29166)

* TYP: Sync `_core/numerictypes.pyi` with NumType's `numpy-stubs`

* TYP: Fix missing ``_core.numeric`` (re-)exports

* TYP: appease ``ruff``

* MAINT: Bump pypa/cibuildwheel from 3.0.0b4 to 3.0.0 (numpy#29180)

Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 3.0.0b4 to 3.0.0.
- [Release notes](https://github.com/pypa/cibuildwheel/releases)
- [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md)
- [Commits](pypa/cibuildwheel@cf078b0...5f22145)

---
updated-dependencies:
- dependency-name: pypa/cibuildwheel
  dependency-version: 3.0.0
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* CI: Bump `array-api-tests` to `v2025.05.23` (numpy#29149)

* CI: Bump `array-api-tests` to `v2025.05.23`

* TST: xfail new array-api test failures

* TST: increase ``--max-examples`` from 100 to 500 for ``array-api-tests``

* CI: apply review suggestions

Co-authored-by: Evgeni Burovski <evgeny.burovskiy@gmail.com>

---------

Co-authored-by: Evgeni Burovski <evgeny.burovskiy@gmail.com>

* TYP: fix ``ravel_multi_index`` false rejections (numpy#29184)

* STY: ruff/isort config tweaks (numpy#29183)

* DEV: import-related ruff config tweaks

* STY: run ``ruff check --fix`` to fix the new ``I001`` errors

* MAINT: bump ``ruff`` to ``0.11.13`` (numpy#29186)

* BUG: fix matmul with transposed out arg (numpy#29179)

* BUG: fix matmul with transposed out arg

* DOC: add release note

* fixes from review

* TYP: add ``__all__`` in ``numpy._core.__init__`` (numpy#29187)

Ported from numpy/numtype#156

* MAINT: Bump github/codeql-action from 3.28.19 to 3.29.0

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.28.19 to 3.29.0.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@fca7ace...ce28f5b)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* BUG: Revert `np.vectorize` casting to legacy behavior (numpy#29196)

Revert use of no `dtype=object` to ensure correct cast behavior when the output dtype is discovered.

Co-authored-by: Sebastian Berg <sebastian@sipsolutions.net>

* DOC: Suppress distutils doc build warnings for python 3.12+ (numpy#29160)

Enables an error free build of the docs for python 3.12+.
Excludes related files, supresses all warnings for excluded files,
and ignores case-by-case individual references. Closes numpy#29131.

[skip azp][skip cirrus][skip actions]

* TYP: fix ``ndarray.__array__`` annotation for ``copy`` (numpy#29204)

* TST: additional tests for matmul with non-contiguous input and output (numpy#29197)

* BUG: fix linting (numpy#29210)

* CI: Add WoA validation setup to windows.yml

* CI: Create action.yml for LLVM Win-ARM64 as reusable blocks

* CI: Modify wheel.yml to use clang-cl for Win-ARM64

* CI: fix action.yml naming

* CI: Fix reusable LLVM block

* MAINT: Fix some undef warnings (numpy#29216)

As noted by Chuck in numpygh-29138, there are some undef warnings that seem not nice
this should fix them.

The fact that `NPY_LONG`, etc. are not defined at macro expansion time is a bit
of a trap, maybe it would be nice to have CI fail for this...

* MAINT: bump `mypy` to `1.16.1` (numpy#29219)

* TYP: Workaround for a mypy issue in ``ndarray.__iter__`` (numpy#29218)

* ENH: improve Timsort with powersort merge-policy (numpy#29208)

Implement the improved merge policy for Timsort,
as developed by Munro and Wild.
Benchmarks show a significant improvement in performance.

* ENH: Detect CPU features on OpenBSD ARM and PowerPC64

Also while looking at this I noticed due to a compiler warning that
npy__cpu_init_features_linux() was not enabled on FreeBSD with the
original commit c47e962 thus the
code was doing nothing on FreeBSD ARM.

* CI: Add conditions to check hash of LLVM package

* strides comparison performance fix, compare discussion numpy#29179 (numpy#29188)

* TYP: Support iteration of ``StringDType`` arrays

* BUG: Address interaction between SME and FPSR (numpy#29223)

* BUG: Address interaction between SME and FPSR

This is intended to resolve numpy#28687

The root cause is an interaction between Arm Scalable Matrix Extension (SME) and the floating point status register (FPSR).

 As noted in Arm docs for FPSR, "On entry to or exit from Streaming SVE mode, FPSR.{IOC, DZC, OFC, UFC, IXC, IDC, QC} are set to 1 and the remaining bits are set to 0".  This means that floating point status flags are all raised when SME is used, regardless of values or operations performed.

These are manifesting now because Apple Silicon M4 supports SME and macOS 15.4 enables SME codepaths for Accelerate BLAS / LAPACK.  However, SME / FPSR behavior is not specific to Apple Silicon M4 and will occur on non-Apple chips using SME as well.

Changes add compile and runtime checks to determine whether BLAS / LAPACK might use SME (macOS / Accelerate only at the moment).  If so, special handling of floating-point error (FPE) is added, which includes:
- clearing FPE after some BLAS calls
- short-circuiting FPE read after some BLAS calls

All tests pass
Performance is similar

Another approach would have been to wrap all BLAS / LAPACK calls with save / restore FPE.  However, it added a lot of overhead for the inner loops that utilize BLAS / LAPACK.  Some benchmarks were 8x slower.

* add blas_supports_fpe and ifdef check

Address the linker & linter failures

* ENH: Detect CPU features on FreeBSD / OpenBSD RISC-V64.

* BUG: avoid negating unsigned integers in resize implementation (numpy#29230)

The negation of an unsigned int underflows and creates a large positive repeats, which leads to allocations failures and/or swapping.

* TST: Fix test that uses unininitialized memory (numpy#29232)

Tests should avoid this generally, this one is worse, since it can
even fail due to warnings.

* MAINT: bump ``ruff`` to ``0.12.0`` (numpy#29220)

* BUG: Enforce integer limitation in concatenate (numpy#29231)

* BUG: Enforce integer limitation in concatenate

Concatenate internals only deal with integer many arrays, that
should be fine in practice, but a SystemError (or in principle
maybe also a harder crash?) is not really.

* skip 32bit systems

* DEP: Deprecate setting the strides attribute of a numpy array (numpy#28925)

Deprecate setting strides (mutating) on an array.

---------

Co-authored-by: Charles Harris <charlesr.harris@gmail.com>
Co-authored-by: Sebastian Berg <sebastian@sipsolutions.net>
Co-authored-by: Joren Hammudoglu <jhammudoglu@gmail.com>

* ENH: np.unique: support hash based unique for string dtype (numpy#28767)

* Support NPY_STRING, NPY_UNICODE

* unique for NPY_STRING and NPY_UNICODE

* fix construct array

* remove unneccessary include

* refactor

* refactoring

* comment

* feature: unique for NPY_VSTRING

* refactoring

* remove unneccessary include

* add test

* add error message

* linter

* linter

* reserve bucket

* remove emoji from testcase

* fix testcase

* remove error

* fix testcase

* fix testcase name

* use basic_string

* fix testcase

* add ValueError

* fix testcase

* fix memory error

* remove multibyte char

* refactoring

* add multibyte char

* refactoring

* fix memory error

* fix GIL

* fix strlen

* remove PyArray_GETPTR1

* refactoring

* refactoring

* use optional

* refactoring

* refactoring

* refactoring

* refactoring

* fix comment

* linter

* add doc

* DOC: fix

* DOC: fix format

* MNT: refactoring

* MNT: refactoring

* ENH: Store pointers to strings in the set instead of the strings themselves.

* FIX: length in memcmp

* ENH: refactoring

* DOC: 49sec -> 34sec

* Update numpy/lib/_arraysetops_impl.py

Co-authored-by: Nathan Goldbaum <nathan.goldbaum@gmail.com>

* DOC: Mention that hash-based np.unique returns unsorted strings

* ENH: support medium and long vstrings

* FIX: comment

* ENH: use RAII wrapper

* FIX: error handling of string packing

* FIX: error handling of string packing

* FIX: change default bucket size

* FIX: include

* FIX: cast

* ENH: support equal_nan=False

* FIX: function equal

* FIX: check the case if pack_status douesn't return NULL

* FIX: check the case if pack_status douesn't return NULL

* FIX: stderr

* ENH: METH_VARARGS -> METH_FASTCALL

* FIX: log

* FIX: release allocator

* FIX: comment

* FIX: delete log

* ENH: implemented FNV-1a as hash function

* bool -> npy_bool

* FIX: cast

* 34sec -> 35.1sec

* fix: lint

* fix: cast using const void *

* fix: fix fnv1a hash

* fix: lint

* 35.1sec -> 33.5sec

* enh: define macro HASH_TABLE_INITIAL_BUCKETS

* enh: error handling of NpyString_load

* enh: delete comments on GIL

* fix: PyErr_SetString when NpyString_load failed

* fix: PyErr_SetString -> npy_gil_error

---------

Co-authored-by: Nathan Goldbaum <nathan.goldbaum@gmail.com>

* DOC: Update CONTRIBUTING.rst (numpy#28158)

* Update CONTRIBUTING.rst

fixes numpy#19778
Updating the contibution section so that contributors avoid doing mkstakes while asking questions, instead they focus on doing contribution and work on project right after.

* Update CONTRIBUTING.rst

Shortened the length of the sentence.

* Update CONTRIBUTING.rst

* MAIN: Enable linting with E501

* MAIN: Enable linting with E501

* MAIN: Enable linting with E501

* DOC: Fix some markup errors

* MAINT: Update main after 2.1.0 release.

- Add 2.3.1-notes.rst
- Add 2.3.1-changelog.rst
- Update release.rst

[skip cirrus] [skip azp] [skip actions]

* DOC: Clarify dtype argument for __array__ in custom container guide (numpy#29254)

* DOC: Clarify dtype argument for __array__ in custom container guide

* Apply suggestions from code review

Co-authored-by: Joren Hammudoglu <jhammudoglu@gmail.com>

* TYP: Type ``MaskedArray.__{mul,rmul}__`` (numpy#29265)

* BUG: fix fencepost error in StringDType internals (numpy#29269)

This makes all the comparisons with NPY_MEDIUM_STRING_MAX_SIZE use <= consistently:

* STY: ruff/isort config tweaks - episode 2 (numpy#29185)

* DEV: enable ruff/isort ``combine-as-imports`` and ``split-on-trailing-comma``

* STY: run ``ruff check --fix`` to fix the new ``I001`` errors

* MAINT: Fix ``I001`` ruff error on main (numpy#29272)

* TYP: Work around a mypy issue with bool arrays (numpy#29248)

* TYP: Add overloads for `MaskedArray.__{div,rdiv,floordiv,rfloordiv}__` (numpy#29271)

* TYP: fix overloads where `out: _ArrayT` was typed as being the default (numpy#29278)

* MAINT: Bump github/codeql-action from 3.29.0 to 3.29.1 (numpy#29285)

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.0 to 3.29.1.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@ce28f5b...39edc49)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* BUG: handle case in mapiter where descriptors might get replaced (numpy#29286)

Need to use the actual dtype, not the one passed to the array creation (because it can get replaced).

Fixes numpy#29279.

* BUG: Fix macro redefinition (numpy#29289)

Also update .clang-format to indent preprocessor conditional blocks.

* DOC: avoid searching some directories for doxygen-commented source code (numpy#29275)

* DOC: avoid searching some directories for doxygen-commented source code

* lint [skip azp][skip actions][skip cirrus]

* use known paths [skip azp][skip actions][skip cirrus]

* MAIN: Enforce ruff E501 rule

* More linting

* BUG: Fix version check in blas_utils.c

Co-Authored-By: Daniel Bertalan <dani@danielbertalan.dev>

* MAINT: Bump github/codeql-action from 3.29.1 to 3.29.2 (numpy#29296)

Bumps [github/codeql-action](https://github.com/github/codeql-action) from 3.29.1 to 3.29.2.
- [Release notes](https://github.com/github/codeql-action/releases)
- [Changelog](https://github.com/github/codeql-action/blob/main/CHANGELOG.md)
- [Commits](github/codeql-action@39edc49...181d5ee)

---
updated-dependencies:
- dependency-name: github/codeql-action
  dependency-version: 3.29.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>

* DOCS: Remove incorrect "Returns" section from `MaskedArray.sort`

* DEP: Give a visible warning when `align=` to dtype is a non-bool

This seems generally confusing. I would like to make it keyword only,
but this already gives a warning when loading _very_ old pickles, meaning
I am not quite sure we should change away from a warning quickly.

We should fix things around pickling and start pickling in a way that
makes it easier to move to keyword only arguments.  (I suppose one could
detect the case of `np.dtype(obj, False, True)` and assume it is via
unpickling, but...

I am assuming that it is OK to (eventually) break unpickling these 10+ year
old files, but I am not in a rush to actually do so and go through with
the deprecation.

Signed-off-by: Sebastian Berg <sebastianb@nvidia.com>

* MAINT: Enable linting with ruff E501 (numpy#29300)

* MAINT: Enforce ruff E501

* fix merge

* TYP: Add shape typing to return values of `np.nonzero` and `ndarray.nonzero`, simplify `MaskedArray.nonzero` return type (numpy#29303)

* chore: remove redundant words in comment (numpy#29306)

* TYP: Add type annotations for `MaskedArray.__{pow,rpow}__` (numpy#29277)

* test: add regression test for grammar in ufunc TypeError message

* fix: correct singular/plural grammar in ufunc TypeError message

* Update numpy/_core/tests/test_deprecations.py

Co-authored-by: Matti Picus <matti.picus@gmail.com>

* TYP: Type ``MaskedArray.{trace,round,cumsum,cumprod}`` (numpy#29307)

* TYP: add explicit types for np.quantile (numpy#29305)

* DOCS: Fix rendering of ``MaskedArray.anom`` ``dtype`` (numpy#29311)

* BLD: remove unused github workflow (numpy#29312)

* TYP: rename `_T` to `_ScalarT` in `matlib.pyi` for consistency (numpy#29310)

* TYP: Type ``MaskedArray.dot`` and ``MaskedArray.anom`` (numpy#29309)

* Convert unary into highway.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: Henry Schreiner <henryschreineriii@gmail.com>
Signed-off-by: Sebastian Berg <sebastianb@nvidia.com>
Co-authored-by: Ralf Gommers <ralf.gommers@gmail.com>
Co-authored-by: Charles Harris <charlesr.harris@gmail.com>
Co-authored-by: Andrew Nelson <andyfaff@gmail.com>
Co-authored-by: Peter Hawkins <phawkins@google.com>
Co-authored-by: Sayed Adel <seiko@imavr.com>
Co-authored-by: Marco Edward Gorelli <marcogorelli@protonmail.com>
Co-authored-by: Nathan Goldbaum <nathan.goldbaum@gmail.com>
Co-authored-by: Marco Barbosa <aureliobarbosa@gmail.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Stan Ulbrych <89152624+StanFromIreland@users.noreply.github.com>
Co-authored-by: Angus Gibson <github@angus.agibson.me>
Co-authored-by: Sebastian Berg <sebastianb@nvidia.com>
Co-authored-by: Sebastian Berg <sebastian@sipsolutions.net>
Co-authored-by: Melissa Weber Mendonça <melissawm@gmail.com>
Co-authored-by: Abdu Zoghbi <a.zoghbi@nasa.gov>
Co-authored-by: lvllvl <24905907+lvllvl@users.noreply.github.com>
Co-authored-by: jorenham <jhammudoglu@gmail.com>
Co-authored-by: mattip <matti.picus@gmail.com>
Co-authored-by: Zebreus <zebreus@zebre.us>
Co-authored-by: Hamza Meel <hmeel@physik.uni-bielefeld.de>
Co-authored-by: Pieter Eendebak <pieter.eendebak@gmail.com>
Co-authored-by: Adam Turner <9087854+AA-Turner@users.noreply.github.com>
Co-authored-by: Joe Rickerby <joerick@mac.com>
Co-authored-by: Henry Schreiner <henryschreineriii@gmail.com>
Co-authored-by: crusaderky <crusaderky@gmail.com>
Co-authored-by: DWesl <22566757+DWesl@users.noreply.github.com>
Co-authored-by: Raghuveer Devulapalli <raghuveer.devulapalli@intel.com>
Co-authored-by: Yuki Kobayashi <drsuaimqjgar@gmail.com>
Co-authored-by: Danis <96629796+DanisNone@users.noreply.github.com>
Co-authored-by: abhishek-fujitsu <abhishek.r.kumar@fujitsu.com>
Co-authored-by: Marc Redemske <mgred@users.noreply.github.com>
Co-authored-by: Evgeni Burovski <evgeny.burovskiy@gmail.com>
Co-authored-by: Christopher Sidebottom <chris.sidebottom@arm.com>
Co-authored-by: Tim Hoffmann <2836374+timhoffm@users.noreply.github.com>
Co-authored-by: V-R-S <varadrajsingh@outlook.com>
Co-authored-by: David Seifert <soap@gentoo.org>
Co-authored-by: François Rozet <francois.rozet@outlook.com>
Co-authored-by: Ben Woodruff <bmwoodruff@gmail.com>
Co-authored-by: Michael <michael.siebert2k@gmail.com>
Co-authored-by: Mugundanmcw <mugunthan.selvanayagam@multicorewareinc.com>
Co-authored-by: Moritz Groß <mgross321@gmail.com>
Co-authored-by: Brad Smith <brad@comstyle.com>
Co-authored-by: Developer-Ecosystem-Engineering <65677710+Developer-Ecosystem-Engineering@users.noreply.github.com>
Co-authored-by: Koki Watanabe <56009584+math-hiyoko@users.noreply.github.com>
Co-authored-by: specsy <sdiya5556@gmail.com>
Co-authored-by: Mohammed Abdul Rahman <130785777+that-ar-guy@users.noreply.github.com>
Co-authored-by: Marco Edward Gorelli <33491632+MarcoGorelli@users.noreply.github.com>
Co-authored-by: Daniel Bertalan <dani@danielbertalan.dev>
Co-authored-by: ianlv <168640168+ianlv@users.noreply.github.com>
Co-authored-by: Shyok Mutsuddi <shyokmutsuddi21@gmail.com>
Co-authored-by: Sachin Shah <39803835+inventshah@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant
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