-
Notifications
You must be signed in to change notification settings - Fork 919
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adapt to polars upstream changes and turn on CI testing #16081
Adapt to polars upstream changes and turn on CI testing #16081
Conversation
0431028
to
80add5e
Compare
80add5e
to
12c212a
Compare
40c67eb
to
dee33d2
Compare
OK, the test aspects are working, but it turns out I have a load of python 3.10isms which need to be fixed... |
946550e
to
e3ddf7a
Compare
Ready for a proper look. |
e3ddf7a
to
6047282
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Python changes LGTM!
Thanks for putting this up!
I have a couple more questions above (maybe more for the CI people than for you) for the CI side of things, but I'll let the CI reviewer handle reviews for those parts of this PR in more detail. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I reviewed this from the CI/packaging perspective and left some recommendations about simplifying how the polars
dependency is managed.
Marking this "Approve" so you can do what you want with them without my review blocking merge... since my recommendations are about simplification and not correctness.
New feature in Python 3.10, so we need the backport while we support 3.9.
This only exists in Python >= 3.10
The short X | Y syntax is Python >= 3.10 only.
Explicitly set dtype when we want nans in our output.
The broadcasting rules are not very clear on the polars side, so let's just defer to them. This should be a niche use case anyway: joining against a literal is better written as a filter.
This is closer to the SQL behaviour and was changed by polars in pola-rs/polars#17061.
Now we don't have literal keys we can simplify the broadcast, but add note referencing polars issue on clarifications.
Duplicate output names need to raised by us.
f12d7be
to
f4c2168
Compare
/merge |
Description
They changed the semantics of join keys when those keys are expressions to more closely match SQL.
Dtype inference is also tighter, so update tests to adapt to those changes, and some other small deprecation warnings.
Finish the final missing coverage piece and turn on testing in CI (failing if we don't hit 100% coverage as well).
Checklist