def get_outputs(self):
        """
        Returns ``Piper`` instances, which are outputs to the pipeline i.e. have
        no outgoing pipes (incoming dependency edges). 
        
        """
        end_p = [p for p in self.postorder() if not self.incoming_edges(p)]
        self.log.debug('%s got output pipers %s' % (repr(self), end_p))
        return end_p