docs: def validate_positive_float(option, value):
      """Validates that 'value' is a float, or can be converted to one, and is
         positive.
      """
      errmsg = "%s must be an integer or float" % (option,)
      try:
          value = float(value)
      except ValueError:
          raise ValueError(errmsg)
      except TypeError:
          raise TypeError(errmsg)
  
      # float('inf') doesn't work in 2.4 or 2.5 on Windows, so just cap floats at
      # one billion - this is a reasonable approximation for infinity
      if not 0 < value < 1e9:
          raise ValueError("%s must be greater than 0 and "
                           "less than one billion" % (option,))
      return value