@classmethod
def configure(cls, profile_name, config_items=None):
    """
        When given a profile name and dict of config items will write the
        config file to disk.  If a `profile_name` is given that already exists
        on the profile then the `profile_name` on the profile will be
        completely replaced with the values from config_items
        :param profile_name: The name of the profile to write
        :param config_items: A dict of items that should be written to the
        config
        """
    if config_items is None:
        config_items = {}
    with open(cls.config_path(), 'a') as cfg:
        config_string = f'[{profile_name}]\n'
        for config_key, config_value in config_items.items():
            config_string += f'{config_key}={config_value}\n'
        cfg.write(config_string)
