Skip to content

Conversation

timsaucer
Copy link
Member

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
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