What problem does it solve?
This Skill addresses the friction of using DataFusion's Python bindings by allowing native Python types for literal-like arguments, reducing boilerplate from lit() and col() wrappers, while preserving backward compatibility and aligning with Pythonic expectations.
Core Features & Use Cases
- Audit and adjust function signatures in python/datafusion/functions.py to accept native Python types for literal arguments (e.g., Expr | int or Expr | float where appropriate), guided by upstream Rust constraints.
- Identify literal-only argument patterns (per Technique 1/2) and implement coercion rules, update aliases, and refresh doctests to reflect the new calling conventions.
- Provide real-world examples that demonstrate calling functions with native literals, such as split_part(col("a"), ",", 2), instead of lit(",") and lit(2).
Quick Start
Audit and refactor the python/datafusion/functions.py to accept native Python literals (e.g., 3, "x") and adjust coercion, aliases, and doctests.