-
Notifications
You must be signed in to change notification settings - Fork 94
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
Add missing exports for wrapper modules #782
Merged
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
… wrappers so we don't miss any functions or classes
Merged
Michael-J-Ward
approved these changes
Jul 27, 2024
missing_exports(internal_attr, wrapped_attr) | ||
|
||
|
||
def test_datafusion_missing_exports() -> None: |
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.
Love this test
timsaucer
added a commit
to timsaucer/datafusion-python
that referenced
this pull request
Jul 29, 2024
timsaucer
added a commit
to timsaucer/datafusion-python
that referenced
this pull request
Aug 5, 2024
andygrove
pushed a commit
that referenced
this pull request
Aug 6, 2024
* Update docstrings so that cross references work in online docs. Also switch from autosummary to autoapi in sphinx for building API reference documents * Update documentation to cross reference * Correct class names and internal attr * Revert changes that will end up coming in via PR #782 * Add autoapi to requirements file * Add git ignore for files retrieved during local site building * Remove unused portions of doc config * Reset substrait capitalization that was reverted during rebase * Small example changes
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Which issue does this PR close?
This addresses part of #767 but does not close the issue. We still should add wrapper classes for some functions.
Rationale for this change
Since we have a large change to the python interface, this PR ensures that every exposed class, function, and attribute in the internal module also exists in the corresponding location in the wrapper module. Additionally it adds a python unit test to guarantee that anything in the future exposed in the rust code must have a corresponding entry in the python wrappers.
What changes are included in this PR?
This PR exports the internal classes that were missing after the python wrapper PR #750 . I do not believe any of these were strictly necessary through all of my testing, but with this PR we have greater confidence that we will not introduce a breaking change to existing customers. For example, if a user is currently importing one of the classes in object store, this PR ensures that import will still work the same.
Also included is a correction on the rust side for the class naming capitalization.
Lastly, added a unit test to check to see if all of the exports exist. This will help future proof the repository so that when we do expose a new feature we must add they corresponding python wrappers.
Are there any user-facing changes?
This PR should be opaque to the users.