code: def cluster(self, method, **kwargs):
          
          from eqcorrscan.utils import clustering
          tribes = []
          func = getattr(clustering, method)
          if method in ['space_cluster', 'space_time_cluster']:
              cat = Catalog([t.event for t in self.templates])
              groups = func(cat, **kwargs)
              for group in groups:
                  new_tribe = Tribe()
                  for event in group:
                      new_tribe.templates.extend([t for t in self.templates
                                                  if t.event == event])
                  tribes.append(new_tribe)
          return tribes
docs: Cluster the tribe.
  
          Cluster templates within a tribe: returns multiple tribes each of
          which could be stacked.
  
          :type method: str
          :param method:
              Method of stacking, see :mod:`eqcorrscan.utils.clustering`
  
          :return: List of tribes.
  
          .. rubric:: Example