code: def _parse_args():
      
      parser = argparse.ArgumentParser(description='rain - a new sort of automated builder.')
      
      parser.add_argument('action', help='what shall we do?', default='build', nargs='?',
                          choices=['build',
                                   'ls',
                                   'keep'] + removal_cmds)
  
      parser.add_argument('-c', '--count', type=int, default=1,
                          help='a count of items on which to operate. [default: %(default)s]')
  
      parser.add_argument('--keep', type=int, default=-1,
                          help='how many builds should we keep around? [default: %(default)s]')
  
      parser.add_argument('-v', '--verbose', action='count', default=0, help='Be more verbose. (can be repeated)')
  
      parser.add_argument('--version', default=False, action='store_true',
                          help='print version number and exit. [default: %(default)s]')
  
      return parser.parse_args()
docs: Parses the command line arguments.
  
      :return: Namespace with arguments.
      :rtype: Namespace