Argparse xor - mutual exlucise - only one - exactly one

import argparse

parser = argparse.ArgumentParser()

action = parser.add_mutually_exclusive_group(required=True)
action.add_argument('--add', action='store_true')
action.add_argument('--remove', action='store_true')

args = parser.parse_args()

$ python
usage: [-h] [--name NAME] (--add | --remove) error: one of the arguments --add --remove is required

$ python --add
$ python --remove

$ python --add --remove
usage: [-h] [--name NAME] (--add | --remove) error: argument --remove: not allowed with argument --add

$ python --help
usage: [-h] [--name NAME] (--add | --remove)

optional arguments:
  -h, --help   show this help message and exit
  --name NAME