Summary
Several array/list functions from upstream DataFusion are not yet exposed in datafusion-python. This includes new functions and missing list_* aliases for existing array_* functions.
Missing Functions (new)
Missing list_* Aliases
The following list_* aliases exist upstream but are not in __all__:
Upstream Reference
Implementation
- Rust bindings:
crates/core/src/functions.rs
- Python wrappers:
python/datafusion/functions.py
Note: This gap analysis was performed using an AI agent comparing upstream DataFusion v53 documentation against the current datafusion-python codebase.
Summary
Several array/list functions from upstream DataFusion are not yet exposed in datafusion-python. This includes new functions and missing
list_*aliases for existingarray_*functions.Missing Functions (new)
array_any_value/list_any_value— returns any non-null element from the arrayarray_contains/list_contains— alias forarray_hasarray_distance/list_distance— computes distance between two arraysarray_max/list_max— returns the maximum elementarray_min/list_min— returns the minimum elementarray_reverse/list_reverse— reverses elements in the arrayarrays_overlap— checks if two arrays share any elementsarrays_zip/list_zip— zips multiple arrays into an array of structsgenerate_series— generates a series of valuesstring_to_array/string_to_list— splits a string into an array by delimiterMissing
list_*AliasesThe following
list_*aliases exist upstream but are not in__all__:list_emptylist_pop_backlist_pop_frontlist_haslist_has_alllist_has_anyUpstream Reference
Implementation
crates/core/src/functions.rspython/datafusion/functions.py