Skip to content

remove 'cuda-python' dependency, test against oldest numba and numpy#1520

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

remove 'cuda-python' dependency, test against oldest numba and numpy#1520
rapids-bot[bot] merged 2 commits into
NVIDIA:mainfrom
jameslamb:drop-cuda-python

Conversation

@jameslamb

Copy link
Copy Markdown
Member

Description

Contributes to rapidsai/build-planning#285

Removes this project's cuda-python dependency, which appears to be unnecessary:

$ git grep -E 'from cuda.*import|import cuda'
ci/utils/notebook_list.py:from numba import cuda
python/cuopt/cuopt/distance_engine/waypoint_matrix_wrapper.pyx:from numba import cuda
python/cuopt/cuopt/linear_programming/solver/solver_wrapper.pyx:from numba import cuda
python/cuopt/cuopt/routing/utils_wrapper.pyx:from numba import cuda
python/cuopt/cuopt/routing/vehicle_routing_wrapper.pyx:from numba import cuda

While doing that, also adds some use of the "test against oldest versions of dependencies" stuff originally set up in rapidsai/build-planning#81. That's used in a few RAPIDS repos and has been valuable in detecting when a floor needs to be bumped or compatibility workarounds need to be put in place. Proposing adding numpy and numba-cuda there for now.

Checklist

  • I am familiar with the Contributing Guidelines.
  • Testing
    • New or existing tests cover these changes
    • Added tests
  • Documentation
    • The documentation is up to date with these changes

@copy-pr-bot

copy-pr-bot Bot commented Jul 6, 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

Copy link
Copy Markdown
Member Author

/ok to test

@jameslamb jameslamb added non-breaking Introduces a non-breaking change improvement Improves an existing functionality labels Jul 6, 2026
@github-actions

github-actions Bot commented Jul 6, 2026

Copy link
Copy Markdown

CI Test Summary

✅ All 31 test job(s) passed.

@jameslamb jameslamb changed the title WIP: remove 'cuda-python' dependency, test against oldest numba and numpy remove 'cuda-python' dependency, test against oldest numba and numpy Jul 6, 2026
@jameslamb jameslamb marked this pull request as ready for review July 6, 2026 21:02
@jameslamb jameslamb requested a review from a team as a code owner July 6, 2026 21:02
@jameslamb jameslamb requested a review from msarahan July 6, 2026 21:02
@jameslamb

Copy link
Copy Markdown
Member Author

@ramakrishnap-nv or @tmckayus could you help investigate the CI failures?

@coderabbitai

coderabbitai Bot commented Jul 6, 2026

Copy link
Copy Markdown

Review Change Stack

No actionable comments were generated in the recent review. 🎉

ℹ️ Recent review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Enterprise

Run ID: f83b4afd-7712-4ed8-ac17-7d6c653316d2

📥 Commits

Reviewing files that changed from the base of the PR and between 5d4f999 and 2eaf4da.

📒 Files selected for processing (8)
  • ci/test_python.sh
  • 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
  • conda/recipes/cuopt/recipe.yaml
  • dependencies.yaml
  • python/cuopt/pyproject.toml
💤 Files with no reviewable changes (6)
  • conda/environments/all_cuda-133_arch-x86_64.yaml
  • conda/environments/all_cuda-129_arch-x86_64.yaml
  • python/cuopt/pyproject.toml
  • conda/environments/all_cuda-129_arch-aarch64.yaml
  • conda/environments/all_cuda-133_arch-aarch64.yaml
  • conda/recipes/cuopt/recipe.yaml

📝 Walkthrough

Walkthrough

This PR removes explicit cuda-python version pins from conda environment files, the cuopt conda recipe, and pyproject.toml. It also updates dependencies.yaml to add an "oldest" dependencies selector matrix pinning numba-cuda and numpy while removing CUDA-version-specific cuda-python selectors, and extends the CI test script's matrix generation with a dependencies dimension.

Changes

Dependency Pinning and CI Matrix Updates

Layer / File(s) Summary
Dependency selector updates
dependencies.yaml
Adds a "specific" selector block for test_python_common pinning numba-cuda and numpy under an "oldest" dependencies matrix, and removes prior CUDA-version-based cuda-python selector entries.
Conda environment and recipe cuda-python removal
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, conda/recipes/cuopt/recipe.yaml
Removes cuda-python version pins from generated conda environment YAMLs and removes both cuda_major-conditional cuda-python requirement blocks from the cuopt recipe.
Package dependency and CI matrix updates
python/cuopt/pyproject.toml, ci/test_python.sh
Drops the cuda-python>=13.0.1,<14.0 entry from pyproject.toml dependencies and adds dependencies=${RAPIDS_DEPENDENCIES} to the CI script's dependency-file-generator --matrix argument.

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

Related PRs: None identified.

Suggested labels: dependencies, ci, conda

Suggested reviewers: None identified.

🐰 A pin removed, a matrix grown,
cuda-python's old constraint has flown.
Oldest numbers now hold tight,
while CI's grid gets one more site.
Hop along, the deps align!

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed Clearly summarizes removing cuda-python and adding oldest-version testing.
Description check ✅ Passed The description is directly about removing cuda-python and adding oldest dependency tests.
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.
✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests

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

@ramakrishnap-nv

Copy link
Copy Markdown
Collaborator

@ramakrishnap-nv or @tmckayus could you help investigate the CI failures?

Think this is mostly stemming from xdist that I added recently, I have reverted it in this PR, please merge with main once this PR is merged #1519

@jameslamb

Copy link
Copy Markdown
Member Author

Excellent looks like that fixed it, thanks @ramakrishnap-nv !

@jameslamb

Copy link
Copy Markdown
Member Author

/merge

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

Labels

improvement Improves an existing functionality non-breaking Introduces a non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants