code: def python_udtf_date_expander_example(spark: SparkSession) -> None:
      from datetime import datetime, timedelta
      from pyspark.sql.functions import lit, udtf
  
      @udtf(returnType="date: string")
      class DateExpander:
          def eval(self, start_date: str, end_date: str):
              current = datetime.strptime(start_date, "%Y-%m-%d")
              end = datetime.strptime(end_date, "%Y-%m-%d")
              while current <= end:
                  yield (current.strftime("%Y-%m-%d"),)
                  current += timedelta(days=1)
  
      DateExpander(lit("2023-02-25"), lit("2023-03-01")).show()
  
file_path: spark/examples/src/main/python/sql/udtf.py
imports: from pyspark.sql import SparkSession
  from pyspark.sql.pandas.utils import require_minimum_pandas_version, require_minimum_pyarrow_version
label_desc: Use image node_id 5 for calling a global function with example usage: python_udtf_date_expander_example(spark) without return types