vibhatha commented on PR #12590: URL: https://github.com/apache/arrow/pull/12590#issuecomment-1090401060
> Maybe this isn't a discussion for here but I would love to eventually be able to do something like this: > > ```python > import pyarrow as pa > import pyarrow.compute as pc > > @pc.udf > def my_udf(ints: pa.array[pa.int32]) -> pa.int32: > """UDF summary. > > UDF description. > """ > pass # ... > > @my_udf.register > def my_udf(ints: pa.scalar[pa.int32]) -> pa.int32: > pass # ... > > @pc.udf > def my_varargs_udf(required: pa.int32, *rest: List[pa.int32]) -> pa.int64: > # no annotation -> function can handle either array or scalar > pass # ... > > @pc.udf > def my_other_udf(ints: pa.array[pa.int32]) -> pa.int32: > # no scalar case registered -> UDF framework will expand scalars into arrays > pass # ... > ``` > > though, figuring out how to handle things like being generic over types and such will require more thought (and it will be hard to dynamically register UDFs like this! though we could require calling `my_udf.register()` or something) @lidavidm This is where we want to go in the end. I have already raised an issue and started a discussion here. I already mentioned this when addressing a comment in this PR. This is the JIRA: https://issues.apache.org/jira/browse/ARROW-15765 -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
