docs: def parse_config_input_output(args=sys.argv):
      """Parse the args using the config_file, input_dir, output_dir pattern
  
      Args:
          args: sys.argv
  
      Returns:
          The populated namespace object from parser.parse_args().
  
      Raises:
          TBD
      """
      parser = argparse.ArgumentParser(
          description='Process the input files using the given config')
      parser.add_argument(
          'config_file',
          help='Configuration file.',
          metavar='FILE', type=extant_file)
      parser.add_argument(
          'input_dir',
          help='Directory containing the input files.',
          metavar='DIR', type=extant_dir)
      parser.add_argument(
          'output_dir',
          help='Directory where the output files should be saved.',
          metavar='DIR', type=extant_dir)
      return parser.parse_args(args[1:])