Files
Raúl CumplidoandAntoine Pitrou 05569054ed GH-45380: [Python] Expose RankQuantileOptions to Python (#45392)
### Rationale for this change

`RankQuantileOptions` are currently not exposed on Pyarrow and CI job breaks when `-W error` is used.

### What changes are included in this PR?

Expose `RankQuantileOptions` and test options and kernel from pyarrow.

It also includes some minor refactor for the unwrap sort keys logic to move it into a common function.

### Are these changes tested?

Yes

### Are there any user-facing changes?

The options for the new kernel are exposed on pyarrow.
* GitHub Issue: #45380

Lead-authored-by: Raúl Cumplido <raulcumplido@gmail.com>
Co-authored-by: Antoine Pitrou <antoine@python.org>
Signed-off-by: Antoine Pitrou <antoine@python.org>
2025-02-05 16:03:18 +01:00

73 lines
2.0 KiB
Cython

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements. See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership. The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied. See the License for the
# specific language governing permissions and limitations
# under the License.
# cython: language_level = 3
from pyarrow.lib cimport *
from pyarrow.includes.common cimport *
from pyarrow.includes.libarrow cimport *
cdef class UdfContext(_Weakrefable):
cdef:
CUdfContext c_context
cdef void init(self, const CUdfContext& c_context)
cdef class FunctionOptions(_Weakrefable):
cdef:
shared_ptr[CFunctionOptions] wrapped
cdef const CFunctionOptions* get_options(self) except NULL
cdef void init(self, const shared_ptr[CFunctionOptions]& sp)
cdef inline shared_ptr[CFunctionOptions] unwrap(self)
cdef class _SortOptions(FunctionOptions):
pass
cdef CExpression _bind(Expression filter, Schema schema) except *
cdef class Expression(_Weakrefable):
cdef:
CExpression expr
cdef void init(self, const CExpression& sp)
@staticmethod
cdef wrap(const CExpression& sp)
cdef inline CExpression unwrap(self)
@staticmethod
cdef Expression _expr_or_scalar(object expr)
cdef CExpression _true
cdef CFieldRef _ensure_field_ref(value) except *
cdef vector[CSortKey] unwrap_sort_keys(sort_keys, allow_str=*) except *
cdef CSortOrder unwrap_sort_order(order) except *
cdef CNullPlacement unwrap_null_placement(null_placement) except *