code: def reverse_timezone(self, query, at_time=None, timeout=DEFAULT_SENTINEL):
          
          ensure_pytz_is_installed()
  
          location = self._coerce_point_to_string(query)
  
          timestamp = self._normalize_timezone_at_time(at_time)
  
          params = {
              "location": location,
              "timestamp": timestamp,
          }
          if self.api_key:
              params['key'] = self.api_key
          url = "?".join((self.tz_api, urlencode(params)))
  
          logger.debug("%s.reverse_timezone: %s", self.__class__.__name__, url)
          return self._parse_json_timezone(
              self._call_geocoder(url, timeout=timeout)
          )
docs: Find the timezone a point in `query` was in for a specified `at_time`.
  
          .. versionadded:: 1.18.0
  
          .. versionchanged:: 1.18.1
             Previously a :class:`KeyError` was raised for a point without
             an assigned Olson timezone id (e.g. for Antarctica).
             Now this method returns None for such requests.
  
          :param query: The coordinates for which you want a timezone.
          :type query: :class:`geopy.point.Point`, list or tuple of (latitude,
              longitude), or string as "%(latitude)s, %(longitude)s"
  
          :param at_time: The time at which you want the timezone of this
              location. This is optional, and defaults to the time that the
              function is called in UTC. Timezone-aware datetimes are correctly
              handled and naive datetimes are silently treated as UTC.
          :type at_time: :class:`datetime.datetime` or None
  
          :param int timeout: Time, in seconds, to wait for the geocoding service
              to respond before raising a :class:`geopy.exc.GeocoderTimedOut`
              exception. Set this only if you wish to override, on this call
              only, the value set during the geocoder's initialization.
  
          :rtype: ``None`` or :class:`geopy.timezone.Timezone`