code: def stop_by_num_features_parallel(
      logs: ListLogListType,
      extractor: ExtractorFnType,
      metric_name: str,
      min_num_features: int = 50,
  ) -> bool:
      """
      Selects the best log out of a list to see if feature selection should stop
  
      Parameters
      ----------
      logs : list of list of list of dict
          A list of log-like lists of dictionaries evaluations.
  
      extractor: function str -> float
          A extractor that take a string and returns the value of that string on a dict
  
      metric_name: str
          String with the name of the column that refers to the metric column to be extracted
  
      min_num_features: int (default 50)
          The minimun number of features the model can have before stopping
  
      Returns
      ----------
      stop: bool
          A boolean whether to stop recursion or not
      """
  
      best_log = get_best_performing_log(
          first(logs), extractor, metric_name
      )
  
      return stop_by_num_features([best_log], min_num_features)
  
file_path: fklearn/src/fklearn/tuning/stoppers.py
imports: from typing import Callable
  from toolz.curried import curry, take, first
  from fklearn.tuning.utils import get_best_performing_log, get_avg_metric_from_extractor, get_used_features
  from fklearn.types import ExtractorFnType, ListLogListType
label_desc: Use image node_id 6 for calling a global function with example usage: stop_by_num_features_parallel(logs, extractor, metric_name, min_num_features) and returns: stop_by_num_features