          if not isinstance(choices, (list, tuple)):
              raise ValueError("'choices' must be a list or tuple")
          self.defaults[section][title] = {"default": default,
                                           "helptext": info,
                                           "type": datatype,
                                           "rounding": rounding,
 
</s> remove                      "info: '%s', rounding: '%s', min_max: %s, choices: %s)",
                     section, title, datatype, default, info, rounding, min_max, choices)
 </s> add                      "info: '%s', rounding: '%s', min_max: %s, choices: %s, fixed: %s)",
                     section, title, datatype, default, info, rounding, min_max, choices, fixed) </s> remove                                          "choices": choices}
 </s> add                                          "choices": choices,
                                         "fixed": fixed}

    @staticmethod
    def expand_helptext(helptext, choices, default, datatype, min_max, fixed):
        """ Add extra helptext info from parameters """
        if not fixed:
            helptext += "\nThis option can be updated for existing models."
        if choices:
            helptext += "\nChoose from: {}".format(choices)
        elif datatype == bool:
            helptext += "\nChoose from: True, False"
        elif datatype == int:
            cmin, cmax = min_max
            helptext += "\nSelect an integer between {} and {}".format(cmin, cmax)
        elif datatype == float:
            cmin, cmax = min_max
            helptext += "\nSelect a decimal number between {} and {}".format(cmin, cmax)
        helptext += "\n[Default: {}]".format(default)
        return helptext </s> remove     def add_item(self, section=None, title=None, datatype=str,
                 default=None, info=None, rounding=None, min_max=None, choices=None):
 </s> add     def add_item(self, section=None, title=None, datatype=str, default=None, info=None,
                 rounding=None, min_max=None, choices=None, fixed=True):
        info = self.expand_helptext(info, choices, default, datatype, min_max, fixed)
          if not isinstance(choices, (list, tuple)):
              raise ValueError("'choices' must be a list or tuple")
        info = self.expand_helptext(info, choices, default, datatype, min_max, fixed)
          self.defaults[section][title] = {"default": default,
                                           "helptext": info,
                                           "type": datatype,
                                           "rounding": rounding,
keep add keep keep keep keep
 Allow 'unfixed' parameters for model config 
lib/config.py