Skip to content

chore(deps): update numpy requirement from <2.4,>=2 to >=2,<2.5 - #246

Merged
brownjuly2003-code merged 8 commits into
mainfrom
dependabot/pip/numpy-gte-2-and-lt-2.5
Sep 11, 2026
Merged

brownjuly2003-code merged 8 commits into
mainfrom
dependabot/pip/numpy-gte-2-and-lt-2.5

Conversation

@dependabot

@dependabot dependabot Bot commented on behalf of github Aug 23, 2026

Copy link
Copy Markdown
Contributor

Updates the requirements on numpy to permit the latest version.

Release notes

Sourced from numpy's releases.

v2.4.6 (May 18, 2026)

NumPy 2.4.6 Release Notes

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

This release supports Python versions 3.11-3.14

Contributors

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

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

Pull requests merged

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

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

Sourced from numpy's changelog.

This is a walkthrough of the NumPy 2.4.0 release on Linux, which will be the first feature release using the numpy/numpy-release <https://github.com/numpy/numpy-release>__ repository.

The commands can be copied into the command line, but be sure to replace 2.4.0 with the correct version. This should be read together with the :ref:general release guide <prepare_release>.

Facility preparation

Before beginning to make a release, use the requirements/*_requirements.txt files to ensure that you have the needed software. Most software can be installed with pip, but some will require apt-get, dnf, or whatever your system uses for software. You will also need a GitHub personal access token (PAT) to push the documentation. There are a few ways to streamline things:

  • Git can be set up to use a keyring to store your GitHub personal access token. Search online for the details.

Prior to release

Add/drop Python versions

When adding or dropping Python versions, multiple config and CI files need to be edited in addition to changing the minimum version in pyproject.toml. Make these changes in an ordinary PR against main and backport if necessary. We currently release wheels for new Python versions after the first Python RC once manylinux and cibuildwheel support that new Python version.

Backport pull requests

Changes that have been marked for this release must be backported to the maintenance/2.4.x branch.

Update 2.4.0 milestones

Look at the issues/prs with 2.4.0 milestones and either push them off to a later version, or maybe remove the milestone. You may need to add a milestone.

Check the numpy-release repo

... (truncated)

Commits
  • b832a09 Merge pull request #31462 from charris/prepare-2.4.6
  • 57cc147 REL: Prepare for the NumPy 2.4.6 release
  • 0c72b0b Merge pull request #31459 from charris/backport-31347
  • 9778d26 BUG: core: Don't call INCREF/DECREF on descr in NpyStringAcquireAllocator. (#...
  • e0e3876 BUG: core: Don't call INCREF/DECREF on descr in NpyStringAcquireAllocator. (#...
  • d1bffeb BUG: np.linalg.svd(..., hermitian=True) returns non-unitary vh (#31347)
  • 8d8d7e5 Merge pull request #31453 from seberg/issue-31452
  • bddaab7 BUG: Fix regression in arr.conj()
  • 37a1ecc Merge pull request #31444 from charris/begin-2.4.6
  • 3c0e043 MAINT: Prepare 2.4.x for further development
  • Additional commits viewable in compare view

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

Updates the requirements on [numpy](https://github.com/numpy/numpy) to permit the latest version.
- [Release notes](https://github.com/numpy/numpy/releases)
- [Changelog](https://github.com/numpy/numpy/blob/main/doc/RELEASE_WALKTHROUGH.rst)
- [Commits](numpy/numpy@v2.0.0...v2.4.6)

---
updated-dependencies:
- dependency-name: numpy
  dependency-version: 2.4.6
  dependency-type: direct:development
...

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

dependabot Bot commented on behalf of github Aug 23, 2026

Copy link
Copy Markdown
Contributor Author

Labels

The following labels could not be found: python. Please create it before Dependabot can add it to a pull request.

Please fix the above issues or remove invalid values from dependabot.yml.

@dependabot dependabot Bot added the dependencies Pull requests that update a dependency file label Aug 23, 2026
@github-actions

github-actions Bot commented Aug 23, 2026 •

Copy link
Copy Markdown

DORA Metrics

  • Window: last 30 days
  • Branch: main
  • Deployment frequency: 22 total / 5.13 per week
  • Lead time for changes: avg 1.98h / median 0.0h
  • Change failure rate: 77.27% (17/22)
  • MTTR: 79.52h across 11 incident(s)

JuliaEdom and others added 3 commits September 7, 2026 22:49
The `numpy>=2,<2.4` ceiling arrived on 2026-07-23 (71c41c3) explained as
"NumPy 2.4+ bundles PEP 695 syntax in its stubs; mypy targeting the
supported Python 3.11 floor cannot parse those stubs." Dependabot has been
proposing the widening since 2026-08-23; the PR could not merge because
Dependabot edits pyproject.toml without regenerating uv.lock, so the
lock-check gate fails (CONTRIBUTING.md documents the manual step).

Bringing the lock along was the moment to check the reason, and it does
not hold for the released 2.4 line:

  numpy 2.4.0 and 2.4.6 wheels each ship 264 .pyi files, and none of them
  contains a PEP 695 `type` statement or a PEP 695 generic parameter list.

The mypy half is true and worth keeping in view -- mypy 2.2.0 at
--python-version 3.11 still rejects `type Alias = int` with "Type
statement is only supported in Python 3.12 and greater [syntax]" -- so the
comment now says that a stub release using one turns lint red, rather than
naming a version that never did.

What does hold is a harder constraint the old comment did not mention:
numpy 2.5.0 requires Python >=3.12, and 3.11 is a supported floor here
(pyproject `environments` pins the resolution to 3.11-3.13). `<2.5` is
therefore what keeps the lock resolvable, not a preference.

uv.lock moves numpy 2.3.5 -> 2.4.6 rather than only widening the range: a
ceiling raised without moving the pin claims compatibility that nothing
tests. requirements-docker.lock is unchanged -- numpy is in `dev`, which
the cloud/postgres export does not include, and `src/` imports numpy
nowhere.

Verified locally with numpy 2.4.6 installed: `mypy src/
--ignore-missing-imports` (the exact lint-job command) reports "Success:
no issues found in 157 source files", `uv lock --check` passes (256
packages), `uv export` leaves requirements-docker.lock untouched, and
tests/unit/test_windows_shard_thread_pinning.py -- the only test that
imports numpy -- passes (8 passed).

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018ybRVCaL1Lyd9d5kFTndh3
@brownjuly2003-code

Copy link
Copy Markdown
Owner

@dependabot rebase

@dependabot @github

dependabot Bot commented on behalf of github Sep 11, 2026

Copy link
Copy Markdown
Contributor Author

Looks like this PR has been edited by someone other than Dependabot. That means Dependabot can't rebase it - sorry!

If you're happy for Dependabot to recreate it from scratch, overwriting any edits, you can request @dependabot recreate.

@brownjuly2003-code
brownjuly2003-code merged commit 943165e into main Sep 11, 2026
29 checks passed
@brownjuly2003-code
brownjuly2003-code deleted the dependabot/pip/numpy-gte-2-and-lt-2.5 branch September 11, 2026 03:03
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

dependencies Pull requests that update a dependency file

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants