docs: def get_quantities(self, quantities, filters=None, native_filters=None, return_iterator=False):
          """
          Fetch quantities from this catalog.
  
          Parameters
          ----------
          quantities : str or list of str or tuple of str
              quantities to fetch
  
          filters : list of tuple, or GCRQuery instance, optional
              filters to apply. Each filter should be in the format of (callable, str, str, ...)
  
          native_filters : list of tuple, optional
              Native filters to apply. Each filter should be in the format of (callable, str, str, ...)
  
          return_iterator : bool, optional
              if True, return an iterator that iterates over the native format, default is False
  
          Returns
          -------
          quantities : dict, or iterator of dict (when `return_iterator` is True)
          """
  
          quantities = self._preprocess_requested_quantities(quantities)
          filters = self._preprocess_filters(filters)
          native_filters = self._preprocess_native_filters(native_filters)
  
          it = self._get_quantities_iter(quantities, filters, native_filters)
  
          if return_iterator:
              return it
  
          data_all = defaultdict(list)
          for data in it:
              for q in quantities:
                  data_all[q].append(data[q])
          return {q: concatenate_1d(data_all[q]) for q in quantities}