from typing import Sequence import argparse def is_list(x): """ From AG: this is usually used in a pattern where it's turned into a list, so can just do that here :param x: :return: """ return isinstance(x, Sequence) and not isinstance(x, str) def str2bool(v): if isinstance(v, bool): return v if v.lower() in ('yes', 'true', 't', 'y', '1'): return True elif v.lower() in ('no', 'false', 'f', 'n', '0'): return False else: raise argparse.ArgumentTypeError('Boolean value expected.')