Skip to content

fix(deps): use numpy>=2.0 on Python 3.13+ to restore Windows CI#166

Open
jg-codes wants to merge 1 commit intobundesAPI:mainfrom
jg-codes:fix/win-py313-numpy
Open

fix(deps): use numpy>=2.0 on Python 3.13+ to restore Windows CI#166
jg-codes wants to merge 1 commit intobundesAPI:mainfrom
jg-codes:fix/win-py313-numpy

Conversation

@jg-codes
Copy link
Copy Markdown

Summary

Restores windows-latest + Python 3.13 CI by bumping the numpy lower bound for Python 3.13+ to >=2.0. numpy 1.26.x has no Windows wheels for Python 3.13, which is the root cause of the "Windows fatal exception: access violation" that led to the matrix exclusion in #160.

This is the minimal version of the fix. Total diff is ~7 source lines + a poetry.lock regeneration that only updates the numpy entry (no unrelated dependency drift).

Supersedes #162 with a smaller, focused diff. Credit to @Prakhar0013 for the original diagnosis on Windows.

Changes

  • pyproject.toml: split the numpy constraint — keep ^1.26.2 for python>=3.12,<3.13 (preserves existing behavior on 3.12), require >=2.0 for python>=3.13.
  • .github/workflows/runtests.yml: drop the windows-latest + 3.13 exclusion now that the numpy constraint is fixed.
  • poetry.lock: regenerated; only the numpy entry changes (verified via git diff poetry.lock | grep '^+name' returns only numpy).

Verification

  • poetry check clean (modulo a pre-existing de-luftqualitaet warning unrelated to this change)
  • poetry lock --no-cache succeeds
  • Local pip install . && pip install .[all] on Python 3.13.3 (macOS) resolves numpy to 2.4.4; pytest tests/import_test.py passes 3/3
  • Windows verification deferred to CI (no Windows host available locally; diagnosis backed by fix(deps): Update numpy dependency for Python 3.13 support #162's local Windows testing + PyPI's published wheel matrix for numpy 1.26 vs 2.x)

AI disclosure

Co-authored with Claude (Anthropic). Final review and merge decision remains with maintainers.

Fixes #159

numpy 1.26.x has no Windows wheels for Python 3.13, which caused the
'Windows fatal exception: access violation' that led to excluding
windows-latest+3.13 from the CI matrix in PR bundesAPI#160.

Splits the numpy constraint:
  - keep ^1.26.2 for >=3.12,<3.13 (no behavior change for existing CI)
  - require >=2.0 for >=3.13 (numpy 2.x has Windows wheels for 3.13)

Drops the windows-latest+3.13 exclusion from runtests.yml. poetry.lock
regenerated; only the numpy entry changed (no unrelated dep drift).

Note: Co-authored with Claude (Anthropic). Diagnosis verified locally
on macOS-3.13 (full base + [all]-extras install + import tests pass);
Windows verification deferred to CI.

Fixes bundesAPI#159
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Tests fail for windows-latest and python3.13 in CI pipeline

1 participant