def _list_components(self):
        comps = list(set([c for l in self.container.layers
                          for c in l.data.components if not c._hidden]))
        comps = sorted(comps, key=lambda x: x.label)
        return comps
takes an input stream (pandas data frame) and perform a group-by + aggregation.
dataset/ETHPy150Open glue-viz/glue/glue/viewers/custom/qt/custom_viewer.py/ComponenentElement._list_components--crossover with--dataset/ETHPy150Open Convertro/Hydro/src/hydro/transformers.py/Transformers.aggregate