feat(python)!: Improve consistency of parsing expression input #9512
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
!! BREAKING !!
These are some improvements aimed at better handling inputs for
select
/with_columns
and other methods that take expression inputs. These have already been deprecated - this is the PR that actually changes the behaviour.Changes:
None
as the first input is now parsed aslit(None)
rather than be ignored.select(["a", "b"])
) is still supported, but can no longer be combined with other positional parameters. If multiple positional parameters are supplied, the first argument is always assumed to be an expression input, rather than a list of expression inputs.select
,with_columns
,agg
,struct
) no longer have a separate argument for the first expression input. This means thatselect(exprs="a")
now renames the column "a" to "exprs".