Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion template/requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -20,8 +20,8 @@
joblib==1.5.3
librosa==0.11.0
nltk==3.9.4
numpy==2.3.5
numpy==2.4.6
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

P1 Badge Keep NumPy within Numba's supported range

This template still installs numba==0.63.1 on the next line, and Numba's official install matrix for 0.63.1 supports NumPy 2.0 <= version < 2.4; pinning numpy==2.4.6 makes the pip install --no-cache-dir -r requirements.txt step in template/template.py unsatisfiable, so template builds that install this requirements file will fail unless Numba is upgraded to a release with NumPy 2.4 support.

Useful? React with 👍 / 👎.

numba==0.63.1

Check failure on line 24 in template/requirements.txt

View check run for this annotation

Claude / Claude Code Review

numpy 2.4.6 conflicts with numba 0.63.1 pin

numpy is bumped to 2.4.6 while numba remains pinned at 0.63.1, whose published metadata declares `numpy<2.4,>=1.22` — pip's resolver cannot satisfy both pins, so `pip install -r requirements.txt` will fail with ResolutionImpossible during the template build (build_test.py / build_docker.py / build_prod.py). Fix by also bumping numba to a release that supports numpy 2.4 (numba >=0.64, e.g. 0.65.x) in the same PR, or hold this PR until that pairing is available.
Comment on lines +23 to 24
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔴 numpy is bumped to 2.4.6 while numba remains pinned at 0.63.1, whose published metadata declares numpy<2.4,>=1.22 — pip's resolver cannot satisfy both pins, so pip install -r requirements.txt will fail with ResolutionImpossible during the template build (build_test.py / build_docker.py / build_prod.py). Fix by also bumping numba to a release that supports numpy 2.4 (numba >=0.64, e.g. 0.65.x) in the same PR, or hold this PR until that pairing is available.

Extended reasoning...

What's wrong

template/requirements.txt now pins numpy==2.4.6 (line 23) alongside numba==0.63.1 (line 24). According to PyPI metadata for numba 0.63.1 (https://pypi.org/pypi/numba/0.63.1/json), its requires_dist is:

llvmlite<0.47,>=0.46.0dev0
numpy<2.4,>=1.22

The upper bound numpy<2.4 explicitly excludes numpy 2.4.6, so the two exact pins are mutually unsatisfiable.

How it manifests

template/template.py runs pip install --no-cache-dir -r requirements.txt inside the sandbox image as part of template/build_test.py, template/build_docker.py, and template/build_prod.py. With both packages exact-pinned, pip's resolver has no slack to backtrack on either side and aborts with a ResolutionImpossible error before any code runs. The template image build therefore fails outright on this PR, and any downstream CI that builds the template will go red.

Step-by-step proof

  1. Renovate bumps line 23 to numpy==2.4.6 (exact pin).
  2. Line 24 still says numba==0.63.1 (exact pin, untouched).
  3. build_prod.py (or build_test.py / build_docker.py) invokes the docker build, which runs pip install --no-cache-dir -r requirements.txt.
  4. pip downloads numba 0.63.1's metadata and sees Requires-Dist: numpy<2.4,>=1.22.
  5. pip tries to find a numpy that satisfies both ==2.4.6 (from requirements.txt) and <2.4,>=1.22 (from numba). The intersection is empty.
  6. pip emits ERROR: ResolutionImpossible: ... and exits non-zero. The template image build fails.

Why existing code doesn't catch this

Renovate updated numpy in isolation; nothing in the repo cross-checks compatible numpy/numba pairings before opening the PR. The conflict only surfaces at install time, which is precisely when the template build runs.

Fix

Bump numba in the same PR to a release that allows numpy 2.4 — for reference, numba 0.65.1 declares numpy<2.5,>=1.22 and would resolve cleanly with numpy 2.4.6. The coordinated bump (numpy==2.4.6 + numba>=0.65,<0.66) is the standard fix for this class of renovate breakage. Alternatively, hold this PR until a numba/numpy pairing is available.

opencv-python==4.11.0.86
openpyxl==3.1.5
plotly==6.0.1
Expand Down
Loading