Skip to content

fix: pin numpy<2 in rdkit-base and dmpk images#19

Merged
tdudgeon merged 1 commit into
mainfrom
fix/numpy2-abi-pin
Jul 21, 2026
Merged

fix: pin numpy<2 in rdkit-base and dmpk images#19
tdudgeon merged 1 commit into
mainfrom
fix/numpy2-abi-pin

Conversation

@tdudgeon

Copy link
Copy Markdown
Collaborator

Summary

  • Dockerfile-rdkit-base (rdkit==2023.3.2) and Dockerfile-dmpk (matplotlib==3.7.1) both predate NumPy 2.0 (released June 2024) and ship compiled extensions built against NumPy's 1.x C-API.
  • Neither Dockerfile pins numpy, so a rebuild today silently resolves the latest NumPy (2.2.6) as a transitive dependency, breaking those older compiled extensions at import time with AttributeError: _ARRAY_API not found.
  • This was hitting pk-tmax-cmax-sim (via matplotlib) and both descriptor-generator tests in manifest-im-mordred.yaml (via rdkit/mordred, which inherits from vs-rdkit-base).
  • Fix: explicitly pin numpy<2 alongside the affected packages in both Dockerfiles.

Found while running a full (non-dry-run) jote pre-refactor health check across all job submodules in squonk2-jobs.

Note: informaticsmatters/vs-rdkit-base is built and pushed to Docker Hub manually, outside CI (per the repo README), so this fix needs someone with push access to rebuild and republish vs-rdkit-base:latest after merge — CI alone won't propagate it to jobs that build FROM that base image.

Test plan

  • Rebuilt vs-rdkit-base, vs-dmpk:stable, and mordred:stable locally with the pin in place — confirmed numpy==1.26.4 resolves in both images.
  • jote --manifest manifest-dmpk.yaml --allow-no-tests (real execution) — pk-tmax-cmax-sim/simple-execution now passes.
  • jote --manifest manifest-im-mordred.yaml --allow-no-tests (real execution) — both descriptor-generator tests (execution-2d, execution-3d) now pass.

🤖 Generated with Claude Code

rdkit==2023.3.2 and matplotlib==3.7.1 both predate NumPy 2.0 and ship
compiled extensions built against NumPy's 1.x C-API. With numpy left
unpinned, a rebuild resolves the latest NumPy (currently 2.2.6) and
those extensions fail at import with "AttributeError: _ARRAY_API not
found" - hit by pk-tmax-cmax-sim (via matplotlib) and both
descriptor-generator tests (via rdkit/mordred, inherited from
vs-rdkit-base).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
@tdudgeon
tdudgeon merged commit 5a537d1 into main Jul 21, 2026
12 checks passed
@tdudgeon
tdudgeon deleted the fix/numpy2-abi-pin branch July 21, 2026 10:18
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.

1 participant