-
Notifications
You must be signed in to change notification settings - Fork 116
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
SNOW-1119855: Push base unimplemented methods to query compiler when possible (1/?) #2059
Conversation
ea5bb70
to
649610f
Compare
You can move base.py out of the code coverage check given it will be removed soon. |
If I modify tox.ini (which seems to be where files get excluded) it'll trigger a review request on the Python team, so I'll just add manual |
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.
LGTM, great work Jonathan!
598bd9c
to
18dfe8a
Compare
Which Jira issue is this PR addressing? Make sure that there is an accompanying issue to your PR.
Fixes SNOW-1119855 (first of several PRs)
Fill out the following pre-review checklist:
Please describe how your code solves the related issue.
This PR prepares for the imminent removal of base.py from the Snowpark pandas codebase by pushing as many unimplemented methods down to the query compiler as possible. Some unimplemented methods must still be overridden because Modin uses other implemented query compiler/frontend methods in their implementation; these methods have been moved to
src/snowflake/snowpark/modin/plugin/extensions/base_overrides.py
.The following methods are affected:
The below BasePandasDataset methods either have existing corresponding query compiler stubs that can be used directly, or default to pandas at the query compiler layer, which Snowpark pandas specifies to raise a NotImplementedError.
Pushed to the query compiler
The below methods do not have corresponding query compiler methods, and either (1) would work in Snowpark pandas but haven't been tested/need too many queries, (2) use frontend/other query compiler methods that we cannot override, or (3) manipulates index/columns in ways that we may not support.
Moved to base_overrides.py
These methods are also moved to base_overrides.py.
I/O methods that default on the frontend and would materialize data
Other