GH-38607: [Python] Disable PyExtensionType autoload#38608
GH-38607: [Python] Disable PyExtensionType autoload#38608raulcd merged 2 commits intoapache:mainfrom
Conversation
PyExtensionType autoload is really a misfeature. Disable it and deprecate PyExtensionType instantiation.
|
@raulcd You may want to pick this up once CI is green. |
|
@github-actions crossbow submit -g python -g wheel |
|
Revision: 1990150 Submitted crossbow builds: ursacomputing/crossbow @ actions-58962cba56 |
|
The dask, pandas, substrait, hdfs failures are existing nightly failures on main. |
raulcd
left a comment
There was a problem hiding this comment.
CI looks good to me and the change also looks good to me.
### Rationale for this change PyExtensionType autoload is really a misfeature. It creates PyArrow-specific extension types, though using ExtensionType is almost the same complexity while allowing deserialization from non-PyArrow software. ### What changes are included in this PR? * Disable PyExtensionType autoloading and deprecate PyExtensionType instantiation. * Update the docs to emphasize ExtensionType. ### Are these changes tested? Yes. ### Are there any user-facing changes? Yes. * Closes: #38607 Authored-by: Antoine Pitrou <antoine@python.org> Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
|
After merging your PR, Conbench analyzed the 5 benchmarking runs that have been run so far on merge-commit c73cb13. There were no benchmark performance regressions. 🎉 The full Conbench report has more details. It also includes information about 4 possible false positives for unstable benchmarks that are known to sometimes produce them. |
### Rationale for this change PyExtensionType autoload is really a misfeature. It creates PyArrow-specific extension types, though using ExtensionType is almost the same complexity while allowing deserialization from non-PyArrow software. ### What changes are included in this PR? * Disable PyExtensionType autoloading and deprecate PyExtensionType instantiation. * Update the docs to emphasize ExtensionType. ### Are these changes tested? Yes. ### Are there any user-facing changes? Yes. * Closes: apache#38607 Authored-by: Antoine Pitrou <antoine@python.org> Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
|
Would it also be possible to patch this into version 12.0.1 or other versions that are compatible with python 3.7? I am stuck on a particular version and cannot patch. |
|
@milovanderlinden We have published a hotfix specifically for this: |
Arrow nightly tests are failing because our custom tensor extension uses pyarrow.PyExtensionType, and apache/arrow#38608 deprecated pyarrow.PyExtensionType in favor of pyarrow.ExtensionType. This PR updates our tensor extension to use the now-recommended APIs. --------- Signed-off-by: Balaji Veeramani <balaji@anyscale.com>
Arrow nightly tests are failing because our custom tensor extension uses pyarrow.PyExtensionType, and apache/arrow#38608 deprecated pyarrow.PyExtensionType in favor of pyarrow.ExtensionType. This PR updates our tensor extension to use the now-recommended APIs. --------- Signed-off-by: Balaji Veeramani <balaji@anyscale.com>
### Rationale for this change PyExtensionType autoload is really a misfeature. It creates PyArrow-specific extension types, though using ExtensionType is almost the same complexity while allowing deserialization from non-PyArrow software. ### What changes are included in this PR? * Disable PyExtensionType autoloading and deprecate PyExtensionType instantiation. * Update the docs to emphasize ExtensionType. ### Are these changes tested? Yes. ### Are there any user-facing changes? Yes. * Closes: apache#38607 Authored-by: Antoine Pitrou <antoine@python.org> Signed-off-by: Raúl Cumplido <raulcumplido@gmail.com>
### Rationale for this change `PyExtensionType` has been deprecated in #38608 and can now be removed. ### What changes are included in this PR? `PyExtensionType` functionality is removed from PyArrow code. ### Are these changes tested? Existing tests should pass. ### Are there any user-facing changes? Deprecated classes are removed. * GitHub Issue: #46198 Authored-by: AlenkaF <frim.alenka@gmail.com> Signed-off-by: Antoine Pitrou <antoine@python.org>
Rationale for this change
PyExtensionType autoload is really a misfeature. It creates PyArrow-specific extension types, though using ExtensionType is almost the same complexity while allowing deserialization from non-PyArrow software.
What changes are included in this PR?
Are these changes tested?
Yes.
Are there any user-facing changes?
Yes.