docs: def scale(input_value, input_min, input_max, out_min, out_max):
      """ scale a value from one range to another
      """
      # Figure out how 'wide' each range is
      input_span = input_max - input_min
      output_span = out_max - out_min
      # Convert the left range into a 0-1 range (float)
      valuescaled = float(input_value - input_min) / float(input_span)
      # Convert the 0-1 range into a value in the right range.
      return out_min + (valuescaled * output_span)