Skip to content

Conversation

@bdice
Copy link
Contributor

@bdice bdice commented Dec 5, 2025

Description

This PR removes pre-release upper bound pinnings from non-RAPIDS dependencies.

The presence of pre-release indicators like <...a0 tells pip "pre-releases are OK, even if --pre was not passed to pip install." RAPIDS projects currently use such constraints in situations where it's not actually desirable to get pre-releases.

xref: rapidsai/build-planning#144

Summary by CodeRabbit

  • Chores
    • Updated dependency bounds across environments and project configurations to use stable release upper limits by removing prerelease/dev suffixes. Affected packages include rapids-build-backend, numpy, and cuda-python. These changes tighten allowed version ranges and align dependency constraints with final release versions across build, host, and runtime settings.

✏️ Tip: You can customize this high-level summary in your review settings.

@bdice bdice requested a review from a team as a code owner December 5, 2025 18:11
@bdice bdice requested a review from gforsyth December 5, 2025 18:11
@bdice bdice added non-breaking Introduces a non-breaking change improvement Improves an existing functionality labels Dec 5, 2025
@coderabbitai
Copy link

coderabbitai bot commented Dec 5, 2025

📝 Walkthrough

Walkthrough

Removed prerelease suffixes (.dev0, a0) from upper-bound version constraints for rapids-build-backend, cuda-python, and numpy across conda environment files, conda recipes, dependency manifests, and Python pyproject/build-system files.

Changes

Cohort / File(s) Summary
Conda environment files
conda/environments/all_cuda-129_arch-aarch64.yaml, conda/environments/all_cuda-129_arch-x86_64.yaml, conda/environments/all_cuda-130_arch-aarch64.yaml, conda/environments/all_cuda-130_arch-x86_64.yaml
Removed prerelease upper-bound qualifiers: cuda-python (<13.0a0 → <13.0, <14.0a0 → <14.0) and numpy (<3.0a0 → <3.0); updated rapids-build-backend upper bound where present.
Conda recipe files
conda/recipes/cuopt-server/recipe.yaml, conda/recipes/cuopt/recipe.yaml, conda/recipes/mps-parser/recipe.yaml
Tightened host/build/run requirements by removing prerelease qualifiers: rapids-build-backend (<0.5.0.dev0 → <0.5.0) and numpy (<3.0a0 → <3.0); adjusted conditional cuda-python upper bounds accordingly.
Python pyproject / build configs
python/cuopt/cuopt/linear_programming/pyproject.toml, python/cuopt/pyproject.toml, python/cuopt_server/pyproject.toml, python/libcuopt/pyproject.toml
Aligned build-system and project dependency bounds to stable releases by removing .dev0 / a0 suffixes for rapids-build-backend, cuda-python, and numpy.
Dependency manifest
dependencies.yaml
Unified dependency pins by removing prerelease qualifiers for rapids-build-backend, cuda-python (12.9/13.0 variants), and numpy (<3.0a0 → <3.0).

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

  • Repetitive, consistent pattern changes across multiple files.
  • Attention points:
    • Verify all CUDA conditional branches and matrix variants were updated consistently.
    • Search repo for any remaining .dev0 or a0 prerelease suffixes.

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The title 'Remove alpha specs from non-RAPIDS dependencies' accurately and specifically describes the main change—removing pre-release suffixes (a0, dev0) from dependency constraints across multiple configuration files.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between e90f1f5 and 82d376e.

📒 Files selected for processing (1)
  • conda/recipes/cuopt/recipe.yaml (3 hunks)
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (9)
  • GitHub Check: wheel-build-cuopt-mps-parser / 13.0.2, 3.12, amd64, rockylinux8
  • GitHub Check: wheel-build-cuopt-mps-parser / 13.0.2, 3.13, arm64, rockylinux8
  • GitHub Check: wheel-build-cuopt-mps-parser / 13.0.2, 3.11, arm64, rockylinux8
  • GitHub Check: wheel-build-cuopt-mps-parser / 13.0.2, 3.13, amd64, rockylinux8
  • GitHub Check: wheel-build-cuopt-mps-parser / 13.0.2, 3.11, amd64, rockylinux8
  • GitHub Check: wheel-build-cuopt-mps-parser / 13.0.2, 3.12, arm64, rockylinux8
  • GitHub Check: wheel-build-cuopt-mps-parser / 13.0.2, 3.10, arm64, rockylinux8
  • GitHub Check: wheel-build-cuopt-mps-parser / 13.0.2, 3.10, amd64, rockylinux8
  • GitHub Check: wheel-build-cuopt-sh-client / 13.0.2, 3.10, amd64, rockylinux8
🔇 Additional comments (3)
conda/recipes/cuopt/recipe.yaml (3)

65-65: LGTM! Prerelease suffix removed correctly.

The removal of .dev0 from the rapids-build-backend upper bound aligns with the PR objectives and prevents pip from treating pre-releases as acceptable.


81-81: LGTM! Prerelease suffix removed correctly.

The removal of a0 from the numpy upper bound aligns with the PR objectives and prevents pip from treating pre-releases as acceptable.


70-71: Conditional logic correctly handles supported CUDA versions.

cuOpt supports CUDA 12.0+ or CUDA 13.0+, so the binary conditional split (CUDA 12 → cuda-python 12.x, else → cuda-python 13.x) is correct. The prerelease suffixes are properly removed from the upper bounds, and the constraints are consistently applied in both host and run requirements.


Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

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

@gforsyth
Copy link
Contributor

gforsyth commented Dec 5, 2025

/merge

@github-actions
Copy link

🔔 Hi @anandhkb, this pull request has had no activity for 7 days. Please update or let us know if it can be closed. Thank you!

If this is an "epic" issue, then please add the "epic" label to this issue.
If it is a PR and not ready for review, then please convert this to draft.
If you just want to switch off this notification, then use the "skip inactivity reminder" label.

@bdice
Copy link
Contributor Author

bdice commented Dec 18, 2025

/merge

Copy link

@coderabbitai coderabbitai bot left a comment

Choose a reason for hiding this comment

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

Actionable comments posted: 0

Caution

Some comments are outside the diff and can’t be posted inline due to platform limitations.

⚠️ Outside diff range comments (1)
conda/recipes/cuopt/recipe.yaml (1)

81-81: Update numpy upper bound constraint to <3.0 for consistency.

Line 81 contains numpy >=1.23,<3.0a0 with a pre-release upper bound indicator. All other recipe files (cuopt-server, mps-parser) and environment files use <3.0 without the a0 suffix. Update this constraint to <3.0 to align with the rest of the codebase.

📜 Review details

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between ac62225 and e90f1f5.

📒 Files selected for processing (7)
  • conda/environments/all_cuda-129_arch-aarch64.yaml (3 hunks)
  • conda/environments/all_cuda-129_arch-x86_64.yaml (3 hunks)
  • conda/environments/all_cuda-130_arch-aarch64.yaml (3 hunks)
  • conda/environments/all_cuda-130_arch-x86_64.yaml (3 hunks)
  • conda/recipes/cuopt/recipe.yaml (2 hunks)
  • dependencies.yaml (3 hunks)
  • python/cuopt/pyproject.toml (3 hunks)
🚧 Files skipped from review as they are similar to previous changes (5)
  • python/cuopt/pyproject.toml
  • conda/environments/all_cuda-129_arch-aarch64.yaml
  • conda/environments/all_cuda-129_arch-x86_64.yaml
  • dependencies.yaml
  • conda/environments/all_cuda-130_arch-aarch64.yaml
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (8)
  • GitHub Check: wheel-build-cuopt-server / compute-matrix
  • GitHub Check: wheel-build-cuopt-sh-client / 13.0.2, 3.10, amd64, rockylinux8
  • GitHub Check: wheel-build-cuopt-mps-parser / 13.0.2, 3.12, arm64, rockylinux8
  • GitHub Check: wheel-build-cuopt-mps-parser / 13.0.2, 3.10, amd64, rockylinux8
  • GitHub Check: wheel-build-cuopt-mps-parser / 13.0.2, 3.13, amd64, rockylinux8
  • GitHub Check: wheel-build-cuopt-mps-parser / 13.0.2, 3.12, amd64, rockylinux8
  • GitHub Check: wheel-build-cuopt-mps-parser / 13.0.2, 3.11, arm64, rockylinux8
  • GitHub Check: wheel-build-cuopt-mps-parser / 13.0.2, 3.11, amd64, rockylinux8
🔇 Additional comments (2)
conda/environments/all_cuda-130_arch-x86_64.yaml (1)

19-19: LGTM! Pre-release suffixes correctly removed.

The removal of pre-release suffixes from cuda-python, numpy, and rapids-build-backend upper bounds is correct and aligns with the PR objectives. These changes prevent pip from treating pre-releases as acceptable when --pre is not specified.

Also applies to: 49-49, 61-61

conda/recipes/cuopt/recipe.yaml (1)

65-65: LGTM! Pre-release suffixes correctly removed.

The removal of pre-release suffixes from rapids-build-backend and cuda-python constraints is correct and aligns with the PR objectives.

Also applies to: 70-71, 93-94

@github-actions
Copy link

🔔 Hi @anandhkb, this pull request has had no activity for 7 days. Please update or let us know if it can be closed. Thank you!

If this is an "epic" issue, then please add the "epic" label to this issue.
If it is a PR and not ready for review, then please convert this to draft.
If you just want to switch off this notification, then use the "skip inactivity reminder" label.

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.

4 participants