code: def validate_int(datum, **kwargs):
      
      return (
              (isinstance(datum, (int, long, numbers.Integral))
               and INT_MIN_VALUE <= datum <= INT_MAX_VALUE
               and not isinstance(datum, bool))
              or isinstance(
                  datum, (datetime.time, datetime.datetime, datetime.date)
              )
      )
docs: Check that the data value is a non floating
      point number with size less that Int32.
      Also support for logicalType timestamp validation with datetime.
  
      Int32 = -2147483648<=datum<=2147483647
  
      conditional python types
      (int, long, numbers.Integral,
      datetime.time, datetime.datetime, datetime.date)
  
      Parameters
      ----------
      datum: Any
          Data being validated
      kwargs: Any
          Unused kwargs