code: def weather_at_coords(self, lat, lon):
          
          geo.assert_is_lon(lon)
          geo.assert_is_lat(lat)
          params = {'lon': lon, 'lat': lat, 'lang': self._language}
          uri = http_client.HttpClient.to_url(OBSERVATION_URL,
                                              self._API_key,
                                              self._subscription_type,
                                              self._use_ssl)
          _, json_data = self._wapi.cacheable_get_json(uri, params=params)
          return self._parsers['observation'].parse_JSON(json_data)
docs: Queries the OWM Weather API for the currently observed weather at the
          specified geographic (eg: 51.503614, -0.107331).
  
          :param lat: the location's latitude, must be between -90.0 and 90.0
          :type lat: int/float
          :param lon: the location's longitude, must be between -180.0 and 180.0
          :type lon: int/float
          :returns: an *Observation* instance or ``None`` if no weather data is
              available
          :raises: *ParseResponseException* when OWM Weather API responses' data
              cannot be parsed or *APICallException* when OWM Weather API can not be
              reached