Preserve Backward compatibility in 0.8.0 for #1144#1151
Merged
sungwy merged 1 commit intoapache:mainfrom Sep 13, 2024
Merged
Conversation
kevinjqliu
approved these changes
Sep 9, 2024
Contributor
kevinjqliu
left a comment
There was a problem hiding this comment.
Thanks for adding this! It's a bit tedious but is helpful to transition the code to deprecation path.
sungwy
added a commit
to sungwy/iceberg-python
that referenced
this pull request
Dec 7, 2024
sungwy
added a commit
to sungwy/iceberg-python
that referenced
this pull request
Dec 7, 2024
This file contains hidden or 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
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.
In #1144, we moved 'public' classes and functions to submodules.
Although 'public' by naming convention, these classes and functions are meant for internal use. The current lack of explicit external API declarations makes it difficult to communicate with our end-users, which classes and functions we are intending to support for external use. (#1099)
The classes that were moved and are not referenced as an import in
pyiceberg.tablemodule are as follows:UpdateTableMetadata is an abstract base class, and hence cannot be used directly.
This PR proposed to rename these as 'private' classes with single underscore prefix, and introduces functions that return these classes with a deprecation warning. This will allow users who are for some reason using these classes to see the warnings and update their code to not use these classes anymore.
Thanks @kevinjqliu for flagging this as a potential issue for backward compatibility.