[ 
https://issues.apache.org/jira/browse/ARROW-14058?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Eduardo Ponce updated ARROW-14058:
----------------------------------
    Summary: [Python] Update use of FunctionOptions scoped enums once Cython 3 
is the default  (was: [Python] Update use of FunctionOptions scoped enums once 
Cython 3 is supported)

> [Python] Update use of FunctionOptions scoped enums once Cython 3 is the 
> default
> --------------------------------------------------------------------------------
>
>                 Key: ARROW-14058
>                 URL: https://issues.apache.org/jira/browse/ARROW-14058
>             Project: Apache Arrow
>          Issue Type: Improvement
>          Components: Python
>            Reporter: Eduardo Ponce
>            Priority: Minor
>
> In 
> [_pyarrow/_compute.pyx_|https://github.com/apache/arrow/blob/master/python/pyarrow/_compute.pyx]
>  there are several scoped enums for FunctionOptions (e.g., RoundMode and 
> SortOrder) which are not used in dictionaries but rather with a chain of 
> if-elses because scoped enums are not fully supported in Cython >= 0.29.x 
> since they do not resolve to an underlying integral type. We would like to be 
> consistent with the use of other FunctionOptions and use a dictionary when 
> mapping string input to enum constant.
> In order for the above to work in Cython 3, we also need to update the 
> definition of the scoped enums found in 
> [_pyarrow/includes/libarrow.pxd_|https://github.com/apache/arrow/blob/master/python/pyarrow/includes/libarrow.pxd]
>  to the form of
> {code:c++}
> cpdef enum class CRoundMode(int8_t)
> {code}
> [Reference to Cython 3 soped enum|    # 
> https://cython.readthedocs.io/en/latest/src/userguide/wrapping_CPlusPlus.html#scoped-enumerations]



--
This message was sent by Atlassian Jira
(v8.3.4#803005)

Reply via email to