Skip to content

Pin Cython version for cython-lint pre-commit hook - #23767

Merged
rapids-bot[bot] merged 2 commits into
NVIDIA:mainfrom
Matt711:ci/bug/style-check
Aug 23, 2026
Merged

Pin Cython version for cython-lint pre-commit hook#23767
rapids-bot[bot] merged 2 commits into
NVIDIA:mainfrom
Matt711:ci/bug/style-check

Conversation

@Matt711

@Matt711 Matt711 commented Aug 22, 2026

Copy link
Copy Markdown
Member

Description

cython-lint job is currently failing CI. Two things going on:

  1. cython-lint is not compatible with the newest cython release. There's an issue: AttributeError: 'DictComprehensionAppendNode' object has no attribute 'value_expr' with Cython 3.3.0 MarcoGorelli/cython-lint#201
  2. Pinning cython in cudf was not applied everywhere. Everywhere else cython is pinned to >=3.2.2,<3.3.0a0, but the cython-lint doesn't have it. Not sure if that was intentional or an oversight.

If the lack of pinning was an oversight, we can merge this PR regardless of when the cython-lint issue gets fixed and a new release is cut. If not, this should be treated as a temporary workaround. And may not be nescessary at all depending on when the issue is fixed upstream.

Checklist

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

@Matt711
Matt711 requested a review from a team as a code owner August 22, 2026 22:02
@Matt711
Matt711 requested a review from msarahan August 22, 2026 22:02
@Matt711 Matt711 added bug Something isn't working non-breaking Non-breaking change labels Aug 22, 2026
@coderabbitai

coderabbitai Bot commented Aug 22, 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: 4004b4d9-40c4-4167-b96c-2b62f8c9de16

📥 Commits

Reviewing files that changed from the base of the PR and between 67b13ef and b55dd25.

📒 Files selected for processing (4)
  • conda/recipes/cudf/recipe.yaml
  • conda/recipes/cudf_kafka/recipe.yaml
  • conda/recipes/cudf_streaming/recipe.yaml
  • conda/recipes/pylibcudf/recipe.yaml

Included review availability: Your plan provides up to 12 included reviews per hour; 11 remain after this review.


📝 Walkthrough

Summary by CodeRabbit

  • Chores
    • Updated Cython compatibility requirements across build and packaging configurations.
    • Restricted supported versions to Cython 3.2.2 through versions before 3.3.0a0.

Walkthrough

Changes

The cython-lint hook and four conda recipes now require Cython >=3.2.2,<3.3.0a0.

Cython constraints

Layer / File(s) Summary
Cython lint constraint
.pre-commit-config.yaml
The cython-lint hook now uses the bounded Cython requirement.
Conda build constraints
conda/recipes/cudf/recipe.yaml, conda/recipes/cudf_kafka/recipe.yaml, conda/recipes/cudf_streaming/recipe.yaml, conda/recipes/pylibcudf/recipe.yaml
The recipes now constrain the host Cython requirement to >=3.2.2,<3.3.0a0.

Estimated code review effort: 1 (Trivial) | ~2 minutes

Merge Risk: ⚪ Minimal · up to b55dd

This localized dependency-pinning change is merge-ready after normal checks and review; no actionable merge-blocking risk remains.

Suggested reviewers: msarahan, jameslamb, vyasr

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Title check ✅ Passed The title accurately describes the Cython pin for the cython-lint hook, although it does not mention the conda recipe updates.
Description check ✅ Passed The description explains the cython-lint CI failure and the related Cython constraints applied across cuDF recipes.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check. Docstring coverage is scoped to functions touched by this diff. Analyzed 0 functions across 0 files. (4 skipped: 4 unsupported.)
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.

@bdice bdice left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

This seems like a proper solution until we want to update our Cython pinning across the board.

@TomAugspurger

TomAugspurger commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

The conda-python-build job got cython 3.3.0 https://github.com/NVIDIA/cudf/actions/runs/32601335885/job/97139678290?pr=23767#step:11:610

 │ │       Error compiling Cython file:
 │ │       ------------------------------------------------------------
 │ │       ...
 │ │               The median aggregation.
 │ │           """
 │ │           return Aggregation.from_libcudf(move(make_median_aggregation[aggregation]()))
 │ │       
 │ │       
 │ │       cpdef Aggregation quantile(list quantiles: list[float], interpolation interp = interpolation.LINEAR):
 │ │                                                  ^
 │ │       ------------------------------------------------------------
 │ │       $SRC_DIR/python/pylibcudf/pylibcudf/aggregation.pyx:431:43: Signature does not agree with previous declaration

I think we're missing a pin here. I'll check for others and will push a commit (done in b55dd25, for all the conda recipes including a host dependency on cython).

@madsbk

madsbk commented Aug 23, 2026

Copy link
Copy Markdown
Contributor

Blocking #23738 as well

@TomAugspurger

Copy link
Copy Markdown
Contributor

/merge

@rapids-bot
rapids-bot Bot merged commit f042ad3 into NVIDIA:main Aug 23, 2026
239 of 243 checks passed
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.

4 participants