code: def validate_long(datum, **kwargs):
      
      return (
              (isinstance(datum, (int, long, numbers.Integral))
               and LONG_MIN_VALUE <= datum <= LONG_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 long64.
      * Also support for logicalType timestamp validation with datetime.
  
      Int64 = -9223372036854775808 <= datum <= 9223372036854775807
  
      conditional python types
      (int, long, numbers.Integral,
      datetime.time, datetime.datetime, datetime.date)
  
      :Parameters
      ----------
      datum: Any
          Data being validated
      kwargs: Any
          Unused kwargs