apache / apache/arrow

[Python] Clean up ExtensionType.__reduce__

Open
#39,094 6 comments 0 reactions 0 assignees View on GitHub
Component: Python Status: needs champion Type: enhancement
Dominant language
C++
Stars
17.1k
Forks
4.3k
Avg merge
3d 13h
Merged PRs (30d)
88

Description

### Describe the enhancement requested

Currently `__reduce__` method is defined on the `ExtensionType` class so that each subclass can be pickled and doesn't need a separate `__reduce__` method (see https://github.com/apache/arrow/pull/36170).

But this can be cleaned up. Instead of defining `__reduce__` for `ExtensionType` we can define `__reduce__` on `BaseExtensionType` and make use of the C++-level (de)serialization. See https://github.com/apache/arrow/pull/35933#issuecomment-1841014923.

### Component(s)

Python

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.