class_docstr: Wraps population of step methods to step them in parallel with single or multiprocessing.
class_docstr_tok: ["Wraps","population","of","step","methods","to","step","them","in","parallel","with","single","or","multiprocessing","."]
docstr: Step the entire population of chains.
  
  Parameters
  ----------
  tune_stop : bool
      Indicates if the condition (i == tune) is fulfilled
  population : list
      Current Points of all chains
  
  Returns
  -------
  update : list
      List of (Point, stats) tuples for all chains
docstr_tok: ["Step","the","entire","population","of","chains",".","Parameters","--","--","--","--","--","tune_stop",":","bool","Indicates","if","the","condition","(","i","==","tune",")","is","fulfilled","population",":","list","Current","Points","of","all","chains","Returns","--","--","--","-","update",":","list","List","of","(","Point",",","stats",")","tuples","for","all","chains"]
code: def step(
      self, tune_stop: bool, population
  ) -> List[Tuple[PointType, StatsType]]:
      """Step the entire population of chains.
  
      Parameters
      ----------
      tune_stop : bool
          Indicates if the condition (i == tune) is fulfilled
      population : list
          Current Points of all chains
  
      Returns
      -------
      update : list
          List of (Point, stats) tuples for all chains
      """
      updates: List[Tuple[PointType, StatsType]] = []
      if self.is_parallelized:
          for c in range(self.nchains):
              self._primary_ends[c].send((tune_stop, population))
          # Blockingly get the step outcomes
          for c in range(self.nchains):
              updates.append(self._primary_ends[c].recv())
      else:
          for c in range(self.nchains):
              if tune_stop:
                  self._steppers[c].stop_tuning()
              updates.append(self._steppers[c].step(population[c]))
      return updates
  
imports: import logging
  import warnings
  from copy import copy
  from typing import Iterator, List, Sequence, Tuple, Union
  import cloudpickle
  import numpy
  from fastprogress.fastprogress import progress_bar
  from typing_extensions import TypeAlias
  from pymc.backends.base import BaseTrace
  from pymc.initial_point import PointType
  from pymc.model import Model, modelcontext
  from pymc.stats.convergence import log_warning_stats
  from pymc.step_methods import CompoundStep
  from pymc.step_methods.arraystep import BlockedStep, PopulationArrayStepShared, StatsType
  from pymc.step_methods.metropolis import DEMetropolis
  from pymc.util import RandomSeed
label_desc: Use image node_id 5 for calling the PopulationStepper obj's underlying member method code with example usage: obj.step(tune_stop, population) and returns: updates