'Set and return default settings (overrides in `defaults` dict).
Set components first (`self.set_reader` & `self.set_writer`).
Explicitly setting `self.settings` disables command line option
processing from `self.publish()`.'

def get_settings(self, usage=None, description=None, settings_spec=None, config_section=None, **defaults):

    option_parser = self.setup_option_parser(usage, description, settings_spec, config_section, **defaults)
    self.settings = option_parser.get_default_values()
    return self.settings
