class_docstr: RunProgress breaks up the execution of a slow running command so
  that the level of completion can be displayed during execution.
  
  This class is designed to run commands that take a single numeric
  argument that acts additively. Namely, it is expected that a slow
  running command 'run_hook(X+Y)' can be arbitrarily broken up into
  multiple, faster executing calls 'run_hook(X)' and 'run_hook(Y)'
  without affecting the overall result.
  
  For instance, this is suitable for simulations where the numeric
  argument is the simulated time - typically, advancing 10 simulated
  seconds takes about twice as long as advancing by 5 seconds.
class_docstr_tok: ["RunProgress","breaks","up","the","execution","of","a","slow","running","command","so","that","the","level","of","completion","can","be","displayed","during","execution",".","This","class","is","designed","to","run","commands","that","take","a","single","numeric","argument","that","acts","additively",".","Namely",",","it","is","expected","that","a","slow","running","command","'run_hook","(","X+Y",")","'","can","be","arbitrarily","broken","up","into","multiple",",","faster","executing","calls","'run_hook","(","X",")","'","and","'run_hook","(","Y",")","'","without","affecting","the","overall","result",".","For","instance",",","this","is","suitable","for","simulations","where","the","numeric","argument","is","the","simulated","time","-","typically",",","advancing","10","simulated","seconds","takes","about","twice","as","long","as","advancing","by","5","seconds","."]
docstr: Execute the run_hook to a total of value, breaking up progress
  updates by the value specified by interval.
docstr_tok: ["Execute","the","run_hook","to","a","total","of","value",",","breaking","up","progress","updates","by","the","value","specified","by","interval","."]
code: def __call__(self, value):
      """
      Execute the run_hook to a total of value, breaking up progress
      updates by the value specified by interval.
      """
      completed = 0
      while (value - completed) >= self.interval:
          self.run_hook(self.interval)
          completed += self.interval
          super().__call__(100 * (completed / float(value)))
      remaining = value - completed
      if remaining != 0:
          self.run_hook(remaining)
          super().__call__(100)
  
imports: import math
  import sys
  import time
  import param
  from IPython.core.display import clear_output
  from ..core.util import ProgressIndicator
label_desc: Use image node_id 2 for calling the RunProgress obj's underlying member method code with example usage: obj.__call__(value) without return types