Skip to content

Conversation

@TomAugspurger
Copy link
Contributor

@TomAugspurger TomAugspurger commented Nov 18, 2025

Description

This updates the signature of our IR.do_evaluate nodes to follow our convention of being a classmethod with *non_child_args, *children, *, context

It also adds a new pre-commit hook to validate that our subclasses meet this requirement, by parsing the AST of our files defining IR nodes. Doing it incorrectly will result in errors like

❯ pre-commit run cudf-polars-ir-signatures --all-files                                                                                                                                                                                                                                                                           (base) 
cudf-polars-ir-signatures................................................Failed
- hook id: cudf-polars-ir-signatures
- duration: 0.09s
- exit code: 1

Found errors in IR node signatures:

  python/cudf_polars/cudf_polars/dsl/ir.py:1534: Rolling: Mismatch between 'self._non_child_args' and 'cls._non_child' argument '_non_child_args'

Closes #20481

@copy-pr-bot
Copy link

copy-pr-bot bot commented Nov 18, 2025

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.

@github-actions github-actions bot added Python Affects Python cuDF API. cudf-polars Issues specific to cudf-polars labels Nov 18, 2025
@GPUtester GPUtester moved this to In Progress in cuDF Python Nov 18, 2025
@TomAugspurger TomAugspurger force-pushed the tom/do-evaluate-signature branch from aca4e15 to 23b09ed Compare November 18, 2025 16:46
@TomAugspurger TomAugspurger added bug Something isn't working non-breaking Non-breaking change labels Nov 19, 2025
@TomAugspurger TomAugspurger force-pushed the tom/do-evaluate-signature branch 2 times, most recently from dafbd04 to 6735598 Compare November 19, 2025 19:36
@TomAugspurger
Copy link
Contributor Author

/ok to test fb31b44

@TomAugspurger
Copy link
Contributor Author

/ok to test 1c66ed3

@TomAugspurger TomAugspurger marked this pull request as ready for review November 24, 2025 15:47
@TomAugspurger TomAugspurger requested review from a team as code owners November 24, 2025 15:47
@TomAugspurger TomAugspurger requested review from a team as code owners November 26, 2025 13:30
@github-actions github-actions bot added libcudf Affects libcudf (C++/CUDA) code. Java Affects Java cuDF API. cudf.pandas Issues specific to cudf.pandas labels Nov 26, 2025
@TomAugspurger TomAugspurger force-pushed the tom/do-evaluate-signature branch from 89cd12f to fadafed Compare November 26, 2025 13:33
@TomAugspurger TomAugspurger removed request for a team and mythrocks November 26, 2025 13:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bug Something isn't working cudf.pandas Issues specific to cudf.pandas cudf-polars Issues specific to cudf-polars Java Affects Java cuDF API. libcudf Affects libcudf (C++/CUDA) code. non-breaking Non-breaking change Python Affects Python cuDF API.

Projects

Status: In Progress

Development

Successfully merging this pull request may close these issues.

[BUG]: Mismatch between IR.do_evaluate and IR._non_child_args for some cudf-polars IR nodes.

2 participants