Skip to content

Forward merge from release/26.04 - #7910

Merged
gforsyth merged 4 commits into
NVIDIA:mainfrom
jcrist:main-merge-release/26.04
Mar 18, 2026
Merged

Forward merge from release/26.04#7910
gforsyth merged 4 commits into
NVIDIA:mainfrom
jcrist:main-merge-release/26.04

Conversation

@jcrist

@jcrist jcrist commented Mar 18, 2026

Copy link
Copy Markdown
Member

Fixes merge conflicts in #7905.

@jcrist jcrist self-assigned this Mar 18, 2026
@jcrist
jcrist requested review from a team as code owners March 18, 2026 19:25
@jcrist
jcrist requested review from jameslamb and viclafargue March 18, 2026 19:25
@github-actions github-actions Bot added conda conda issue Cython / Python Cython or Python issue labels Mar 18, 2026
@jcrist jcrist added improvement Improvement / enhancement to an existing function non-breaking Non-breaking change labels Mar 18, 2026
@gforsyth
gforsyth removed the request for review from jameslamb March 18, 2026 19:37
@coderabbitai

coderabbitai Bot commented Mar 18, 2026

Copy link
Copy Markdown
📝 Walkthrough

Summary by CodeRabbit

  • Chores

    • Updated minimum dependency versions: SciPy (1.14.0), scikit-learn (1.5), and treelite (4.6.1+).
    • Set upper bound constraint for numba-cuda to <0.29.0.
    • Removed deprecated test marker.
  • Documentation

    • Updated supported versions documentation to reflect new minimum library requirements.

Walkthrough

This PR updates dependency version constraints across conda environments, recipes, and Python project configurations. Key changes include adding an upper bound to numba-cuda (<0.29.0), bumping scipy minimum from >=1.13.0 to >=1.14.0, and updating scikit-learn and treelite versions in documentation. Additionally, the pytest marker no_bad_cuml_array_check is removed.

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-131_arch-aarch64.yaml, conda/environments/all_cuda-131_arch-x86_64.yaml
Updated numba-cuda constraint to add upper bound <0.29.0 and bumped scipy minimum to >=1.14.0 across all environment specifications.
Conda recipe
conda/recipes/cuml/recipe.yaml
Added upper bound <0.29.0 to numba-cuda in run requirements and increased scipy minimum from >=1.11.0 to >=1.14.0.
Root dependency configuration
dependencies.yaml
Narrowed numba-cuda ranges across all CUDA variants (cu12, cu13) by adding <0.29.0 upper bound and raised scipy minimum to >=1.14.0.
Documentation
docs/source/supported_versions.rst
Updated runtime dependency versions: scikit-learn >=1.4→>=1.5, scipy >=1.8.0→>=1.14.0, and treelite ==4.4.1→>=4.6.1,<5.0.0.
Python project configuration
python/cuml/pyproject.toml
Removed pytest marker no_bad_cuml_array_check and tightened numba-cuda with <0.29.0 upper bound; updated scipy to >=1.14.0 in project dependencies.
Test configuration
python/cuml/tests/test_incremental_pca.py
Removed @pytest.mark.no_bad_cuml_array_check decorators from test_fit and test_partial_fit methods.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~8 minutes

Possibly related PRs

Suggested reviewers

  • jameslamb
  • viclafargue
🚥 Pre-merge checks | ✅ 3
✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The title 'Forward merge from release/26.04' accurately describes the primary purpose of the pull request as a forward merge from a release branch.
Description check ✅ Passed The description 'Fixes merge conflicts in #7905' is directly related to the changeset, which updates dependencies and removes test markers as part of resolving merge conflicts.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
📝 Coding Plan
  • Generate coding plan for human review comments

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

Tip

You can make CodeRabbit's review stricter and more nitpicky using the `assertive` profile, if that's what you prefer.

Change the reviews.profile setting to assertive to make CodeRabbit's nitpick more issues in your PRs.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

Actionable comments posted: 2

🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.

Inline comments:
In `@conda/recipes/cuml/recipe.yaml`:
- Around line 102-105: Update the scikit-learn minimum version in the conda
recipe by changing the dependency string "scikit-learn >=1.4" to match the
documented constraint "scikit-learn >=1.5"; locate the dependency list in the
recipe.yaml where the dependencies include "numba-cuda", "numpy",
"scikit-learn", and "scipy" and replace the scikit-learn version specifier so it
aligns with pyproject.toml, dependencies.yaml, and supported_versions.rst.

In `@docs/source/supported_versions.rst`:
- Line 18: Update the documented treelite minimum version string that currently
reads "treelite: >=4.6.1,<5.0.0" to match the actual package constraints
"treelite: >=4.7.0,<5.0.0"; verify against the authoritative constraints in
pyproject.toml and dependencies.yaml and ensure the entry in
supported_versions.rst (the treelite line) is edited accordingly so docs and
package constraints are consistent.

ℹ️ Review info
⚙️ Run configuration

Configuration used: Path: .coderabbit.yaml

Review profile: CHILL

Plan: Pro

Run ID: 5ea02902-6d45-43f5-84fc-f0c8c7cff7b8

📥 Commits

Reviewing files that changed from the base of the PR and between 95b7be3 and bf7692a.

📒 Files selected for processing (9)
  • conda/environments/all_cuda-129_arch-aarch64.yaml
  • conda/environments/all_cuda-129_arch-x86_64.yaml
  • conda/environments/all_cuda-131_arch-aarch64.yaml
  • conda/environments/all_cuda-131_arch-x86_64.yaml
  • conda/recipes/cuml/recipe.yaml
  • dependencies.yaml
  • docs/source/supported_versions.rst
  • python/cuml/pyproject.toml
  • python/cuml/tests/test_incremental_pca.py
💤 Files with no reviewable changes (1)
  • python/cuml/tests/test_incremental_pca.py

Comment on lines +102 to +105
- numba-cuda >=0.22.2,<0.29.0
- numpy >=1.23,<3.0
- scikit-learn >=1.4
- scipy >=1.11.0
- scipy >=1.14.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Compare sklearn minimum constraints across the files provided in this PR context
rg -n 'scikit-learn' \
  conda/recipes/cuml/recipe.yaml \
  dependencies.yaml \
  python/cuml/pyproject.toml \
  docs/source/supported_versions.rst

Repository: rapidsai/cuml

Length of output: 533


Update scikit-learn minimum to match documented constraint.

Line 104 specifies scikit-learn >=1.4 while the documentation and all other dependency definitions (pyproject.toml, dependencies.yaml, supported_versions.rst) require scikit-learn >=1.5. This inconsistency allows conda environments below the tested minimum.

Proposed fix
-    - scikit-learn >=1.4
+    - scikit-learn >=1.5
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
- numba-cuda >=0.22.2,<0.29.0
- numpy >=1.23,<3.0
- scikit-learn >=1.4
- scipy >=1.11.0
- scipy >=1.14.0
- numba-cuda >=0.22.2,<0.29.0
- numpy >=1.23,<3.0
- scikit-learn >=1.5
- scipy >=1.14.0
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@conda/recipes/cuml/recipe.yaml` around lines 102 - 105, Update the
scikit-learn minimum version in the conda recipe by changing the dependency
string "scikit-learn >=1.4" to match the documented constraint "scikit-learn
>=1.5"; locate the dependency list in the recipe.yaml where the dependencies
include "numba-cuda", "numpy", "scikit-learn", and "scipy" and replace the
scikit-learn version specifier so it aligns with pyproject.toml,
dependencies.yaml, and supported_versions.rst.

* **numba**: >=0.60.0,<0.62.0a0
* **cupy**: cupy-cuda12x>=13.6.0 (CUDA 12), cupy-cuda13x>=13.6.0 (CUDA 13)
* **treelite**: ==4.4.1
* **treelite**: >=4.6.1,<5.0.0

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

⚠️ Potential issue | 🟠 Major

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
set -euo pipefail

# Verify treelite constraints in docs vs packaging metadata/source-of-truth
rg -n 'treelite' docs/source/supported_versions.rst \
  dependencies.yaml \
  python/cuml/pyproject.toml \
  conda/recipes/cuml/recipe.yaml

Repository: rapidsai/cuml

Length of output: 504


Align treelite minimum in docs with the actual package floor.

Line 18 documents treelite>=4.6.1,<5.0.0, but the actual package constraints are >=4.7.0,<5.0.0 (per pyproject.toml and dependencies.yaml). This mismatch can direct users to unsupported versions.

Proposed fix
-* **treelite**: >=4.6.1,<5.0.0
+* **treelite**: >=4.7.0,<5.0.0
📝 Committable suggestion

‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.

Suggested change
* **treelite**: >=4.6.1,<5.0.0
* **treelite**: >=4.7.0,<5.0.0
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@docs/source/supported_versions.rst` at line 18, Update the documented
treelite minimum version string that currently reads "treelite: >=4.6.1,<5.0.0"
to match the actual package constraints "treelite: >=4.7.0,<5.0.0"; verify
against the authoritative constraints in pyproject.toml and dependencies.yaml
and ensure the entry in supported_versions.rst (the treelite line) is edited
accordingly so docs and package constraints are consistent.

@gforsyth

Copy link
Copy Markdown
Contributor

Admin merging this to get main up-to-date while upstream packages are broken / not building

@gforsyth
gforsyth merged commit 69261e4 into NVIDIA:main Mar 18, 2026
54 of 79 checks passed
@jcrist
jcrist deleted the main-merge-release/26.04 branch March 18, 2026 19:58
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

conda conda issue Cython / Python Cython or Python issue 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.

6 participants