in python/datafusion/expr.py [0:0]
def cast(self, to: pa.DataType[Any] | type[float | int | str | bool]) -> Expr:
"""Cast to a new data type."""
if not isinstance(to, pa.DataType):
try:
to = self._to_pyarrow_types[to]
except KeyError as err:
error_msg = "Expected instance of pyarrow.DataType or builtins.type"
raise TypeError(error_msg) from err
return Expr(self.expr.cast(to))