code: def parse_datetime(timestamp: Union[float, int, str]) -> datetime:
      """Parse a datetime from a string or a numeric timestamp.
  
      Args:
          timestamp: A datetime string or numeric timestamp.
  
      Returns:
          A datetime representation of `timestamp`.
      """
      try:
          dt = parse(timestamp)
      except (OverflowError, ParserError, TypeError):
          dt = convert_number_to_datetime(timestamp)
  
      return dt
  
file_path: ludwig/ludwig/utils/date_utils.py
imports: import time
  from datetime import date, datetime
  from typing import Union
  import numpy
  from dateutil.parser import parse, ParserError
  from ludwig.api_annotations import DeveloperAPI
label_desc: Use image node_id 2 for calling a global function with example usage: parse_datetime(timestamp) and returns: dt