code: def numerator(self, value):
          
          # If ETA is every iteration, don't do anything fancy.
          if self.eta_every <= 1:
              self._eta.numerator = value
              self._eta_string = self._generate_eta(self._eta.eta_seconds)
              return
  
          # If ETA is not every iteration, unstable rate is used. If this bar is undefined, no point in calculating ever.
          if self._eta.undefined:
              self._eta.set_numerator(value, calculate=False)
              return
  
          # Calculate if this iteration is the right one.
          if self._eta_count >= self.eta_every:
              self._eta_count = 1
              self._eta.numerator = value
              self._eta_string = self._generate_eta(self._eta.eta_seconds)
              return
  
          self._eta_count += 1
          self._eta.set_numerator(value, calculate=False)
docs: Sets a new numerator and generates the ETA. Must be greater than or equal to previous numerator.