code: def weather_at_ids(self, ids_list):
          
          assert type(ids_list) is list, "'ids_list' must be a list of integers"
          for id in ids_list:
              assert type(id) is int, "'ids_list' must be a list of integers"
              if id < 0:
                  raise ValueError("id values in 'ids_list' must be greater "
                                   "than 0")
          params = {'id': ','.join(list(map(str, ids_list))), 'lang': self._language}
          uri = http_client.HttpClient.to_url(GROUP_OBSERVATIONS_URL,
                                              self._API_key,
                                              self._subscription_type,
                                              self._use_ssl)
          _, json_data = self._wapi.cacheable_get_json(uri, params=params)
          return self._parsers['observation_list'].parse_JSON(json_data)
docs: Queries the OWM Weather API for the currently observed weathers at the
          specified city IDs (eg: [5128581,87182])
  
          :param ids_list: the list of city IDs
          :type ids_list: list of int
          :returns: a list of *Observation* instances or an empty list 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