Skip to content

[feat] bump graphlearn to 1.3.8, drop numpy<2 pin#557

Closed
tiankongdeguiji wants to merge 2 commits into
alibaba:masterfrom
tiankongdeguiji:feat/graphlearn-1.3.8-numpy2
Closed

[feat] bump graphlearn to 1.3.8, drop numpy<2 pin#557
tiankongdeguiji wants to merge 2 commits into
alibaba:masterfrom
tiankongdeguiji:feat/graphlearn-1.3.8-numpy2

Conversation

@tiankongdeguiji

Copy link
Copy Markdown
Collaborator

What

  • Bump graphlearn 1.3.7 → 1.3.8 (new wheels under third_party/graphlearn/).
  • Drop the long-standing numpy<2 pin.

Why

graphlearn 1.3.7 was the only dependency forcing numpy<2. graphlearn 1.3.8
adds numpy>=2 support, so the pin is no longer needed.

Verification

Staged so CI proves numpy 2.x compatibility before the pin is relaxed:

  1. First push pins numpy>2 to force the numpy 2.x path through the full CI
    matrix (GPU / CPU / build / codestyle / pytyping).
  2. Once green, the pin is relaxed to unconstrained numpy.

🤖 Generated with Claude Code

…post1)

graphlearn 1.3.7 and faiss-gpu-cu12 1.11.0 were the deps pinning numpy<2.

- graphlearn 1.3.7 -> 1.3.8 (declares no numpy bound).
- faiss-gpu-cu12 1.11.0 -> 1.14.1.post1: 1.11.0 requires numpy<2; faiss became
  numpy-2 ready at 1.13.2 (numpy>=2,<3). Source moves from the OSS-mirrored
  wheel to PyPI (matching how faiss-cpu is already sourced); its
  nvidia-cuda-runtime/cublas constraints are unchanged (>=12.1), so the CUDA
  stack is unaffected.

Require numpy>2 first to exercise the numpy 2.x path through CI before relaxing
the pin entirely.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NPSTfsBJfgwD1Y6afhyVzg
@tiankongdeguiji tiankongdeguiji force-pushed the feat/graphlearn-1.3.8-numpy2 branch from 8417db8 to 6250267 Compare June 30, 2026 15:59
…faiss via [gpu]

- tzrec/datasets/sampler.py: numpy 2.0 removed np.string_; use np.bytes_ (same
  'S' dtype, np.char.decode unchanged) when parsing graphlearn string node
  attrs. Fixes AttributeError crashing the negative/hard-negative/TDM sampler
  DataLoader workers under numpy 2.

- .github/workflows/buildtest_ci.yml: install the built wheel's [gpu] extra so
  faiss-gpu-cu12 upgrades to the numpy-2 build. Plain `pip install <wheel>` only
  pulls install_requires (numpy>2, no faiss), bumping numpy to 2.x while leaving
  the image's numpy-1.x faiss 1.11.0 -> `import tzrec` crashed with
  "numpy.core.multiarray failed to import".

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

Copy link
Copy Markdown
Collaborator Author

Superseded by #551 (the 1.3.0 bump), which already includes these changes: numpy 2, faiss upgraded to a numpy-2 build (1.14.3+cu12), graphlearn 1.3.8, sampler.py np.string_np.bytes_, and the build-test install fix. Closing as redundant.

@tiankongdeguiji tiankongdeguiji deleted the feat/graphlearn-1.3.8-numpy2 branch July 2, 2026 01:08
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