Skip to content

switch from 'cuda-python' to specific components (e.g. 'cuda-bindings')#3068

Merged
rapids-bot[bot] merged 3 commits into
NVIDIA:mainfrom
jameslamb:drop-cuda-python
Jul 6, 2026
Merged

switch from 'cuda-python' to specific components (e.g. 'cuda-bindings')#3068
rapids-bot[bot] merged 3 commits into
NVIDIA:mainfrom
jameslamb:drop-cuda-python

Conversation

@jameslamb

@jameslamb jameslamb commented Jul 1, 2026

Copy link
Copy Markdown
Member

Description

Contributes to rapidsai/build-planning#285

cuda-python is a metapackage and sometimes pulls in components that RAPIDS libraries don't need. This PR is part of a series dropping direct use of cuda-python in favor of depending only on those specific components.

  • drops dependency on cuda-python
  • adds explicit dependencies on components:
    • cuda-bindings >=12.9.2,<13.0 (CUDA 12), cuda-bindings >=13.0.1,<14.0 (CUDA 13)
  • adds explicit testing of oldest cuda-bindings in CI

Notes for Reviewers

Why these specific bounds?

@jameslamb jameslamb added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Jul 1, 2026
@copy-pr-bot

copy-pr-bot Bot commented Jul 1, 2026

Copy link
Copy Markdown

Auto-sync is disabled for draft pull requests in this repository. Workflows must be run manually.

Contributors can view more details about this message here.

@jameslamb jameslamb changed the title WIP: switch from 'cuda-python' to specific components (e.g. 'cuda-bindings') switch from 'cuda-python' to specific components (e.g. 'cuda-bindings') Jul 6, 2026
@jameslamb jameslamb marked this pull request as ready for review July 6, 2026 19:47
@jameslamb jameslamb requested review from a team as code owners July 6, 2026 19:47
@coderabbitai

coderabbitai Bot commented Jul 6, 2026

Copy link
Copy Markdown

Review Change Stack

📝 Walkthrough

Walkthrough

This PR replaces the cuda-python dependency with cuda-bindings across conda environment lockfiles, conda recipes (pylibraft, raft-dask), dependencies.yaml, and pyproject.toml, preserving version constraints for CUDA 12.x and 13.x. It also updates ci/test_python.sh to add a dependencies matrix parameter and broaden the copyright notice.

Changes

cuda-python to cuda-bindings migration

Layer / File(s) Summary
Central dependency specification
dependencies.yaml
Adds an "oldest" dependencies specific matrix pinning cuda-bindings versions by CUDA major, and swaps depends_on_cuda_python's package to cuda-bindings with matching version ranges.
Conda environment lockfiles
conda/environments/all_cuda-129_arch-aarch64.yaml, conda/environments/all_cuda-129_arch-x86_64.yaml, conda/environments/all_cuda-133_arch-aarch64.yaml, conda/environments/all_cuda-133_arch-x86_64.yaml
Replaces cuda-python entries with cuda-bindings at matching version ranges (12.9.2/<13.0 and 13.0.1/<14.0).
Conda recipes conditional dependencies
conda/recipes/pylibraft/recipe.yaml, conda/recipes/raft-dask/recipe.yaml
Changes CUDA-major-conditional build.host and build.run requirements from cuda-python to cuda-bindings, preserving version ranges.
pylibraft pyproject.toml dependency
python/pylibraft/pyproject.toml
Updates [project].dependencies and [tool.rapids-build-backend].requires from cuda-python>=13.0.1,<14.0 to cuda-bindings>=13.0.1,<14.0.
CI test script matrix and header
ci/test_python.sh
Adds a dependencies=${RAPIDS_DEPENDENCIES} parameter to the --matrix argument and broadens the copyright notice.

Estimated code review effort: 2 (Simple) | ~10 minutes

Related PRs: None identified.

Suggested labels: dependencies, conda

Suggested reviewers: None identified.

🐰 A rabbit hops through YAML fields anew,
Swapping python for bindings, tried and true,
Twelve or thirteen, the CUDA major sings,
Recipes, envs, and toml all take their wings,
A tidy hop, and the dependency's through!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.
Title check ✅ Passed The title clearly reflects the main change from cuda-python to cuda-bindings and other explicit components.
Description check ✅ Passed The description matches the change set, explaining the dependency swap and added oldest-version CI.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

Comment @coderabbitai help to get the list of available commands.

@jameslamb

Copy link
Copy Markdown
Member Author

/merge

@rapids-bot rapids-bot Bot merged commit 60c3e94 into NVIDIA:main Jul 6, 2026
80 checks passed
@jameslamb jameslamb deleted the drop-cuda-python branch July 6, 2026 20:49
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

improvement Improvement / enhancement to an existing function non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants