code: def minimum_needs(self, input_layer):
          
          # Create a new layer for output layer
          output_layer = self.prepare_new_layer(input_layer)
  
          # count each minimum needs for every features
          for needs in minimum_needs_post_processors:
              is_success, message = run_single_post_processor(
                  output_layer, needs)
              # check if post processor not running successfully
              if not is_success:
                  LOGGER.debug(message)
                  display_critical_message_box(
                      title=self.tr('Error while running post processor'),
                      message=message)
  
                  return False, None
  
          return True, output_layer
docs: Compute minimum needs given a layer and a column containing pop.
  
          :param input_layer: Vector layer assumed to contain
              population counts.
          :type input_layer: QgsVectorLayer
  
          :returns: A tuple containing True and the vector layer if
                    post processor success. Or False and an error message
                    if something went wrong.
          :rtype: tuple(bool,QgsVectorLayer or basetring)