docs: def set_roast_properties(self, settings):
          """Set the properties of the roast.
  
          :param settings: General settings for the roast setup
          :type settings: dict
          :returns: None
          :raises: InvalidInput
          """
          if type(settings) != dict:
              raise InvalidInput("Properties value must be of dict")
          valid = ['name', 'input_weight', 'output_weight', 'operator', 'notes',
                   'coffee']
          for key, value in settings.items():
              if key not in valid:
                  continue
              self._roast[key] = value