Skip to content
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 8 commits into from
Aug 1, 2024

Conversation

timsaucer
Copy link
Contributor

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.

@timsaucer timsaucer mentioned this pull request Jul 27, 2024
missing_exports(internal_attr, wrapped_attr)


def test_datafusion_missing_exports() -> None:
Copy link
Contributor

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 timsaucer mentioned this pull request Jul 29, 2024
10 tasks
@andygrove andygrove merged commit 9a6805e into apache:main Aug 1, 2024
14 checks passed
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
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants