Skip to content

Fix usage of dask-cuda in pip constraints - #23516

Merged
rapids-bot[bot] merged 3 commits into
NVIDIA:mainfrom
KyleFromNVIDIA:fix-constraints
Aug 3, 2026
Merged

Fix usage of dask-cuda in pip constraints#23516
rapids-bot[bot] merged 3 commits into
NVIDIA:mainfrom
KyleFromNVIDIA:fix-constraints

Conversation

@KyleFromNVIDIA

@KyleFromNVIDIA KyleFromNVIDIA commented Aug 3, 2026

Copy link
Copy Markdown
Member

Description

Pip does not allow constraints to have extras. depends_on_dask_cuda previously had extras depending on the CUDA version, and as a result, the constraint file contained dask-cuda[cu12]. As a result, we saw the following error:

DEPRECATION: Constraints are only allowed to take the form of a package name and a version specifier. Other forms were originally permitted as an accident of the implementation, but were undocumented. The new implementation of the resolver no longer supports these forms. A possible replacement is replacing the constraint with a requirement. Discussion can be found at https://github.com/pypa/pip/issues/8210
ERROR: Constraints cannot have extras

Remove the extras in the constraints and allow the other dependencies to install the CUDA libraries instead.

This bug happened at least partly as a result of #21671.

Context:
https://github.com/rapidsai/cudf/actions/runs/30818064363/job/91710572211?pr=23472#step:13:86
https://github.com/rapidsai/cudf/actions/runs/30671159887/job/91293198335#step:13:95

Checklist

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

Pip does not allow constraints to have extras. `depends_on_dask_cuda`
previously had extras depending on the CUDA version. Remove the
extras and allow the `cuda_version` dependency set to install the
CUDA libraries instead.
@KyleFromNVIDIA
KyleFromNVIDIA requested a review from a team as a code owner August 3, 2026 15:23
@KyleFromNVIDIA
KyleFromNVIDIA requested a review from msarahan August 3, 2026 15:23
@KyleFromNVIDIA KyleFromNVIDIA added bug Something isn't working non-breaking Non-breaking change labels Aug 3, 2026
@coderabbitai

coderabbitai Bot commented Aug 3, 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: 129d538c-ea00-4048-ba75-b5a0d83f9f49

📥 Commits

Reviewing files that changed from the base of the PR and between 4f4d9bb and 56a398c.

📒 Files selected for processing (1)
  • dependencies.yaml
🚧 Files skipped from review as they are similar to previous changes (1)
  • dependencies.yaml

📝 Walkthrough

Summary by CodeRabbit

  • Changes
    • Requirements output now uses the standard dask-cuda package name without CUDA-specific extras.
    • PyProject output continues to include CUDA-specific extras where applicable.
    • Conda package behavior remains unchanged.

Walkthrough

The depends_on_dask_cuda declaration now emits unsuffixed dask-cuda for requirements output. CUDA-specific matrix handling remains limited to PyProject output. Conda behavior is unchanged.

Changes

Dask-CUDA dependency outputs

Layer / File(s) Summary
Update Dask-CUDA dependency outputs
dependencies.yaml
Requirements output includes unsuffixed dask-cuda. CUDA-specific matrix configuration applies only to PyProject output, while Conda behavior remains unchanged.

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

Suggested reviewers: msarahan

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title clearly identifies the fix for using dask-cuda in pip constraints.
Description check ✅ Passed The description directly explains the pip constraint issue and the removal of CUDA-specific extras.
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.

@jameslamb jameslamb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I don't understand this at all. What is the "bug" you're referring to here?

Including the relevant context (as a link or text) would help. I don't understand the problem this PR is trying to solve.

Comment thread dependencies.yaml

@jameslamb jameslamb left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

These changes look fine and I understand how they solve the core problem. If this passes CI, go ahead and merge it.

@jameslamb
jameslamb removed the request for review from msarahan August 3, 2026 16:07
@KyleFromNVIDIA

Copy link
Copy Markdown
Member Author

/merge

@KyleFromNVIDIA

Copy link
Copy Markdown
Member Author

/merge

@rapids-bot
rapids-bot Bot merged commit 01772eb into NVIDIA:main Aug 3, 2026
138 of 139 checks passed
@coderabbitai coderabbitai Bot mentioned this pull request Aug 5, 2026
3 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working non-breaking Non-breaking change

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants