def generate_argparser():
parser = argparse.ArgumentParser(
description=__doc__,
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
epilog=LICENSE)
parser.add_argument('-d', '--nodedata', required=True, nargs=1,
help=("file containing paths of one or more"
"RESULT.node.score.csv files"))
parser.add_argument('-t', '--tree', required=True, type=open,
nargs=1,
help="tree file in Newick format")
parser.add_argument('-o', '--out', required=True,
nargs=1,
help="new output files prefix")
parser.add_argument("-v", "--verbose", action="store_true")
# These args are hidden to pass through to the treedata object
parser.add_argument("-c", "--clade", nargs=1, help=argparse.SUPPRESS)
parser.add_argument("-s", "--startk", type=int, default=0,
help=argparse.SUPPRESS)
parser.add_argument("-p", "--stopk", type=int, help=argparse.SUPPRESS)
return parser
python类SUPPRESS的实例源码
def _getDiscoveryArgParser(self, parent):
parser = argparse.ArgumentParser(parents=[parent])
parser.prog = '%s discover' % self.progName
parser.epilog = ('For test discovery all test modules must be '
'importable from the top level directory of the '
'project.')
parser.add_argument('-s', '--start-directory', dest='start',
help="Directory to start discovery ('.' default)")
parser.add_argument('-p', '--pattern', dest='pattern',
help="Pattern to match tests ('test*.py' default)")
parser.add_argument('-t', '--top-level-directory', dest='top',
help='Top level directory of project (defaults to '
'start directory)')
for arg in ('start', 'pattern', 'top'):
parser.add_argument(arg, nargs='?',
default=argparse.SUPPRESS,
help=argparse.SUPPRESS)
return parser
def generate_argparser():
"""Generates the argparsr ArgumentParser
"""
parser = argparse.ArgumentParser(
description=__doc__,
formatter_class=argparse.ArgumentDefaultsHelpFormatter,
epilog=LICENSE)
parser.add_argument('-t', '--tree', type=open, nargs=1,
help="input tree in newick format")
parser.add_argument('-d', '--data', type=os.path.abspath, nargs=1,
help=("CSV output from quartet_sampling"
" (RESULT.node.score.csv)"))
parser.add_argument("-c", "--clade", nargs=1, help=argparse.SUPPRESS)
parser.add_argument("-v", "--verbose", action="store_true",
help="verbose screen output")
parser.add_argument("-s", "--startk", type=int, default=0,
help=argparse.SUPPRESS)
parser.add_argument("-p", "--stopk", type=int, help=argparse.SUPPRESS)
return parser
def add_dummy_redirect_argument(self, expected_name):
# type: (argparse.ArgumentParser, str) -> None
"""Adds a dummy redirect argument to the provided parser to catch typos when calling
the specified valid long-form name.
:param parser: Parser to which to add argument
:type parser: argparse.ArgumentParser
:param str expected_name: Valid long-form name for which to add dummy redirect
"""
self.add_argument(
expected_name[1:],
dest='dummy_redirect',
action='store_const',
const=expected_name[1:],
help=argparse.SUPPRESS
)
# ArgumentParser subclass confuses mypy
self.__dummy_arguments.append(expected_name[1:]) # type: ignore
def add_subparser(self, name: str, parser: argparse._SubParsersAction) -> argparse.ArgumentParser:
# pylint: disable=protected-access
description = '''Train the specified model on the specified dataset.'''
subparser = parser.add_parser(
name, description=description, help='Train a model')
subparser.add_argument('param_path',
type=str,
help='path to parameter file describing the model to be trained')
# This is necessary to preserve backward compatibility
serialization = subparser.add_mutually_exclusive_group(required=True)
serialization.add_argument('-s', '--serialization-dir',
type=str,
help='directory in which to save the model and its logs')
serialization.add_argument('--serialization_dir',
type=str,
help=argparse.SUPPRESS)
subparser.set_defaults(func=train_model_from_args)
return subparser
def formatter_factory(show_defaults=True):
"""Formatter factory"""
def get_help_string(self, action):
lhelp = action.help
if isinstance(show_defaults, (list, tuple)):
if "-" + action.dest in show_defaults:
return lhelp
if '%(default)' not in action.help:
if action.default is not argparse.SUPPRESS:
defaulting_nargs = [argparse.OPTIONAL, argparse.ZERO_OR_MORE]
if action.option_strings or action.nargs in defaulting_nargs:
lhelp += ' (default: %(default)s)'
return lhelp
def default_help_string(self, action):
return action.help
if show_defaults is True:
ARPIFormatter._get_help_string = classmethod(get_help_string)
else:
ARPIFormatter._get_help_string = classmethod(default_help_string)
return ARPIFormatter
def _find_actions(self, subparsers, actions_module):
for attr in (a for a in dir(actions_module) if a.startswith('do_')):
# Replace underscores with hyphens in the commands
# displayed to the user
command = attr[3:].replace('_', '-')
callback = getattr(actions_module, attr)
desc = callback.__doc__ or ''
help = desc.strip().split('\n')[0]
arguments = getattr(callback, 'arguments', [])
subparser = subparsers.add_parser(command,
help=help,
description=desc,
add_help=False,
formatter_class=HelpFormatter
)
subparser.add_argument('-h', '--help',
action='help',
help=argparse.SUPPRESS,
)
self.subcommands[command] = subparser
for (args, kwargs) in arguments:
subparser.add_argument(*args, **kwargs)
subparser.set_defaults(func=callback)
def _parser_add_opt(parser, opt):
"""Add an option to parser in two variants.
:param opt: option name (with underscores)
"""
dashed_opt = opt.replace("_", "-")
env_var = "OS_%s" % opt.upper()
arg_default = os.environ.get(env_var, "")
arg_help = "Defaults to env[%s]." % env_var
parser.add_argument(
"--os-%s" % dashed_opt,
metavar="<%s>" % dashed_opt,
default=arg_default,
help=arg_help)
parser.add_argument(
"--os_%s" % opt,
metavar="<%s>" % dashed_opt,
help=argparse.SUPPRESS)
def finalizeOptions(self, availableTargets: list):
targetOption = self._parser.add_argument("targets", metavar="TARGET", nargs=argparse.ZERO_OR_MORE,
help="The targets to build", choices=availableTargets + [[]])
if argcomplete and "_ARGCOMPLETE" in os.environ:
# if IS_FREEBSD: # FIXME: for some reason this won't work
excludes = ["-t", "--skip-dependencies"]
if sys.platform.startswith("freebsd"):
excludes += ["--freebsd-builder-copy-only", "--freebsd-builder-hostname",
"--freebsd-builder-output-path"]
visibleTargets = availableTargets.copy()
visibleTargets.remove("__run_everything__")
targetCompleter = argcomplete.completers.ChoicesCompleter(visibleTargets)
targetOption.completer = targetCompleter
# make sure we get target completion for the unparsed args too by adding another zero_or more options
# not sure why this works but it's a nice hack
unparsed = self._parser.add_argument("targets", metavar="TARGET", type=list, nargs=argparse.ZERO_OR_MORE,
help=argparse.SUPPRESS, choices=availableTargets)
unparsed.completer = targetCompleter
argcomplete.autocomplete(
self._parser,
always_complete_options=None, # don't print -/-- by default
exclude=excludes, # hide these options from the output
print_suppressed=True, # also include target-specific options
)
def add_deprecated_argument(add_argument, argument_name, nargs):
"""Adds a deprecated argument with the name argument_name.
Deprecated arguments are not shown in the help. If they are used on
the command line, a warning is shown stating that the argument is
deprecated and no other action is taken.
:param callable add_argument: Function that adds arguments to an
argument parser/group.
:param str argument_name: Name of deprecated argument.
:param nargs: Value for nargs when adding the argument to argparse.
"""
if _ShowWarning not in configargparse.ACTION_TYPES_THAT_DONT_NEED_A_VALUE:
# In version 0.12.0 ACTION_TYPES_THAT_DONT_NEED_A_VALUE was
# changed from a set to a tuple.
if isinstance(configargparse.ACTION_TYPES_THAT_DONT_NEED_A_VALUE, set):
# pylint: disable=no-member
configargparse.ACTION_TYPES_THAT_DONT_NEED_A_VALUE.add(
_ShowWarning)
else:
configargparse.ACTION_TYPES_THAT_DONT_NEED_A_VALUE += (
_ShowWarning,)
add_argument(argument_name, action=_ShowWarning,
help=argparse.SUPPRESS, nargs=nargs)
def _parser_add_opt(parser, opt):
"""Add an option to parser in two variants.
:param opt: option name (with underscores)
"""
dashed_opt = opt.replace("_", "-")
env_var = "OS_%s" % opt.upper()
arg_default = os.environ.get(env_var, "")
arg_help = "Defaults to env[%s]." % env_var
parser.add_argument(
"--os-%s" % dashed_opt,
metavar="<%s>" % dashed_opt,
default=arg_default,
help=arg_help)
parser.add_argument(
"--os_%s" % opt,
metavar="<%s>" % dashed_opt,
help=argparse.SUPPRESS)
def setup_flex_args(argParser):
"""
Add flex specific arguments to other default args used by ngraph
"""
# use fixed point for flex backend
argParser.add_argument('--fixed_point',
action="store_true",
help=argparse.SUPPRESS)
# turn on flex verbosity for debug
argParser.add_argument('--flex_verbose',
action="store_true",
help=argparse.SUPPRESS)
# collect flex data and save it to h5py File
argParser.add_argument('--collect_flex_data',
action="store_true",
default=argparse.SUPPRESS)
def add_barmap_args(parser):
""" A collection of arguments that are used by BarMap """
ril.argparse_add_arguments(parser,
RNAsubopt=True,
barriers=True,
treekin=True,
noLP=True, temperature=True,
tmpdir=True, name=True, force=True, verbose=True,
start=True, stop=True, k0=True, tX=True, cutoff=True)
parser.add_argument("--plot_title", default='')
parser.add_argument("--pyplot", action="store_true",
help="Plot the simulation using matplotlib. Interpret the legend \
using the *log* output")
parser.add_argument("--xmgrace", action="store_true",
help="Print a plot for xmgrace. " + \
"Interpret the legend using the *log* output")
parser.add_argument("--adaptive", action="store_true",
help="Automatically raise suboptimal energy range if computations fail.")
parser.add_argument("--s_sortdir", default="/tmp", action="store", \
help=argparse.SUPPRESS)
return
def parser(self):
kwargs = {
"usage": self.usage,
"prog": self.prog
}
parser = argparse.ArgumentParser(**kwargs)
parser.add_argument("-v", "--version",
action="version", default=argparse.SUPPRESS,
version="%(prog)s (version " + __version__ + ")\n",
help="show program's version number and exit")
parser.add_argument("args", nargs="*", help=argparse.SUPPRESS)
keys = sorted(self.settings, key=self.settings.__getitem__)
for k in keys:
self.settings[k].add_option(parser)
return parser
def parse_hologram_send_args(parser):
# Create a subparser
parser.add_argument('--devicekey', nargs='?', help='Hologram device key (8 characters long)')
parser.add_argument('message', nargs='?', help='Message that will be sent to the cloud')
parser.add_argument('-v', nargs='?', action=VAction, dest='verbose', required=False)
parser.add_argument('--host', required=False, help=argparse.SUPPRESS)
parser.add_argument('-p', '--port', required=False, help=argparse.SUPPRESS)
parser.add_argument('--authtype', default='totp', nargs='?',
help='The authentication type used if HologramCloud is in use. Choose between \'totp\' and \'csrpsk\'')
# $ hologram send cloud ...
parse_cloud_args(parser)
# $ hologram send sms ...
parse_sms_args(parser)
# EFFECTS: Parses the send cloud options. Sets the default command_selected option
# to send_cloud.
def _make_print_cli_list_spec_action(cli_list_spec_file):
with open(cli_list_spec_file) as f:
str_cli_list_spec = f.read()
class _PrintCLIListSpecAction(argparse.Action):
def __init__(self,
option_strings,
dest=argparse.SUPPRESS,
default=argparse.SUPPRESS,
help=None):
super(_PrintCLIListSpecAction, self).__init__(
option_strings=option_strings,
dest=dest,
default=default,
nargs=0,
help=help)
def __call__(self, parser, namespace, values, option_string=None):
print str_cli_list_spec
parser.exit()
return _PrintCLIListSpecAction
def add_argument(self, action):
if action.help is not argparse.SUPPRESS:
# find all invocations
get_invocation = self._format_action_invocation
invocations = [get_invocation(action)]
current_indent = self._current_indent
for subaction in self._iter_indented_subactions(action):
# compensate for the indent that will be added
indent_chg = self._current_indent - current_indent
added_indent = 'x'*indent_chg
invocations.append(added_indent+get_invocation(subaction))
# print('inv', invocations)
# update the maximum item length
invocation_length = max([len(s) for s in invocations])
action_length = invocation_length + self._current_indent
self._action_max_length = max(self._action_max_length,
action_length)
# add the item to the list
self._add_item(self._format_action, [action])
def init_argparser_source_registry(
self, argparser, default=None, help=(
'comma separated list of registries to use for gathering '
'JavaScript sources from the given Python packages'
)):
"""
For setting up the source registry flag.
"""
argparser.add_argument(
'--source-registry', default=default,
dest=CALMJS_MODULE_REGISTRY_NAMES, action=StoreDelimitedList,
metavar='registry_name[,registry_name[...]]',
help=help,
)
argparser.add_argument(
'--source-registries', default=default,
dest=CALMJS_MODULE_REGISTRY_NAMES, action=StoreDelimitedList,
help=SUPPRESS,
)
def main(argv, environ):
parser = ArgumentParser(
prog='temboard-agent-adduser',
description="Add a new temboard-agent user.",
argument_default=UNDEFINED_ARGUMENT,
)
args = parser.parse_args(argv)
config = load_configuration(
specs=list_options_specs(), args=args, environ=environ,
)
# Load configuration from the configuration file.
username = ask_username(config)
password = ask_password()
hash_ = hash_password(username, password).decode('utf-8')
try:
with open(config.temboard['users'], 'a') as fd:
fd.write("%s:%s\n" % (username, hash_))
except IOError as e:
raise UserError(str(e))
else:
stdout.write("Done.\n")
def _parser_add_opt(parser, opt):
"""Add an option to parser in two variants.
:param opt: option name (with underscores)
"""
dashed_opt = opt.replace("_", "-")
env_var = "OS_%s" % opt.upper()
arg_default = os.environ.get(env_var, "")
arg_help = "Defaults to env[%s]." % env_var
parser.add_argument(
"--os-%s" % dashed_opt,
metavar="<%s>" % dashed_opt,
default=arg_default,
help=arg_help)
parser.add_argument(
"--os_%s" % opt,
metavar="<%s>" % dashed_opt,
help=argparse.SUPPRESS)
def parser(self):
kwargs = {
"usage": self.usage,
"prog": self.prog
}
parser = argparse.ArgumentParser(**kwargs)
parser.add_argument("-v", "--version",
action="version", default=argparse.SUPPRESS,
version="%(prog)s (version " + __version__ + ")\n",
help="show program's version number and exit")
parser.add_argument("args", nargs="*", help=argparse.SUPPRESS)
keys = sorted(self.settings, key=self.settings.__getitem__)
for k in keys:
self.settings[k].add_option(parser)
return parser
def parser(self):
kwargs = {
"usage": self.usage,
"prog": self.prog
}
parser = argparse.ArgumentParser(**kwargs)
parser.add_argument("-v", "--version",
action="version", default=argparse.SUPPRESS,
version="%(prog)s (version " + __version__ + ")\n",
help="show program's version number and exit")
parser.add_argument("args", nargs="*", help=argparse.SUPPRESS)
keys = sorted(self.settings, key=self.settings.__getitem__)
for k in keys:
self.settings[k].add_option(parser)
return parser
def parser_(desc):
parser = parser_def_mgpu(desc)
checkptfile = 'cifar10_cnn_mgpu.weights.best.hdf5'
parser.add_argument(
'--checkpt', action='store', nargs='?',
const=checkptfile, default=SUPPRESS,
help='S|Save (overwrites) and load the model weights if available.'
'\nOptionally specify a file/filepath if the default name is '
'undesired.\n(default: {})'.format(checkptfile))
parser.add_argument('--aug', action='store_true', default=False,
help='S|Perform data augmentation on cifar10 set.\n')
parser.add_argument('--logdevp', action='store_true', default=False,
help='S|Log device placement in Tensorflow.\n')
args = parser.parse_args()
return args
def parser_(desc):
parser = parser_def_mgpu(desc)
remove_options(parser, ['--nccl', '--enqueue', '--syncopt', '--rdma'])
parser.add_argument(
'--checkpt', action='store', nargs='?',
const=checkptfile, default=SUPPRESS,
help='S|Save (overwrites) and load the model weights if available.'
'\nOptionally specify a file/filepath if the default name is '
'undesired.\n(default: {})'.format(checkptfile))
parser.add_argument('--aug', action='store_true', default=False,
help='S|Perform data augmentation on cifar10 set.\n')
parser.add_argument('--logdevp', action='store_true', default=False,
help='S|Log device placement in Tensorflow.\n')
parser.add_argument('--datadir', default=SUPPRESS,
help='Data directory with Cifar10 dataset.')
args = parser.parse_args()
return args
cifar10_cnn_mgpu_tfqueue_var.py 文件源码
项目:keras_experiments
作者: avolkov1
项目源码
文件源码
阅读 22
收藏 0
点赞 0
评论 0
def parser_(desc):
parser = parser_def_mgpu(desc)
remove_options(parser, ['--nccl', '--enqueue', '--syncopt', '--rdma'])
parser.add_argument(
'--checkpt', action='store', nargs='?',
const=checkptfile, default=SUPPRESS,
help='S|Save (overwrites) and load the model weights if available.'
'\nOptionally specify a file/filepath if the default name is '
'undesired.\n(default: {})'.format(checkptfile))
parser.add_argument('--aug', action='store_true', default=False,
help='S|Perform data augmentation on cifar10 set.\n')
parser.add_argument('--logdevp', action='store_true', default=False,
help='S|Log device placement in Tensorflow.\n')
parser.add_argument('--datadir', default=SUPPRESS,
help='Data directory with Cifar10 dataset.')
args = parser.parse_args()
return args
def parser_(desc):
parser = parser_def_mgpu(desc)
remove_options(parser, ['--mgpu', '--nccl'])
checkptfile = 'cifar10_cnn_distrib.weights.best.hdf5'
parser.add_argument(
'--checkpt', action='store', nargs='?',
const=checkptfile, default=SUPPRESS,
help='S|Save (overwrites) and load the model weights if available.'
'\nOptionally specify a file/filepath if the default name is '
'undesired.\n(default: {})'.format(checkptfile))
parser.add_argument('--aug', action='store_true', default=False,
help='S|Perform data augmentation on cifar10 set.\n')
parser.add_argument('--logdevp', action='store_true', default=False,
help='S|Log device placement in Tensorflow.\n')
args = parser.parse_args()
return args
cifar10_cnn_distrib_v2_slurm.py 文件源码
项目:keras_experiments
作者: avolkov1
项目源码
文件源码
阅读 25
收藏 0
点赞 0
评论 0
def parser_(desc):
parser = parser_def_mgpu(desc)
remove_options(parser, ['--mgpu', '--nccl'])
checkptfile = 'cifar10_cnn_distrib_v2.weights.best.hdf5'
parser.add_argument(
'--checkpt', action='store', nargs='?',
const=checkptfile, default=SUPPRESS,
help='S|Save (overwrites) and load the model weights if available.'
'\nOptionally specify a file/filepath if the default name is '
'undesired.\n(default: {})'.format(checkptfile))
parser.add_argument('--aug', action='store_true', default=False,
help='S|Perform data augmentation on cifar10 set.\n')
parser.add_argument('--logdevp', action='store_true', default=False,
help='S|Log device placement in Tensorflow.\n')
args = parser.parse_args()
return args
variational_autoencoder_deconv_mgpu.py 文件源码
项目:keras_experiments
作者: avolkov1
项目源码
文件源码
阅读 30
收藏 0
点赞 0
评论 0
def parser_(desc):
parser = ap.ArgumentParser(description=desc)
parser.add_argument(
'--mgpu', action='store', nargs='?', type=int,
const=-1, # if mgpu is specified but value not provided then -1
# if mgpu is not specified then defaults to 0 - single gpu
# mgpu = 0 if getattr(args, 'mgpu', None) is None else args.mgpu
default=ap.SUPPRESS,
help='Run on multiple-GPUs using all available GPUs on a system.\n'
'If not passed does not use multiple GPU. If passed uses all GPUs.\n'
'Optionally specify a number to use that many GPUs. Another\n'
'approach is to specify CUDA_VISIBLE_DEVICES=0,1,... when calling\n'
'script and specify --mgpu to use this specified device list.\n'
'This option is only supported with TensorFlow backend.\n')
parser.add_argument('--epochs', type=int, default=5,
help='Number of epochs to run training for.')
args = parser.parse_args()
return args
def parse_args():
p = argparse.ArgumentParser()
g = p.add_argument_group('Logging options')
g.add_argument('--verbose', '-v',
action='store_const',
const='INFO',
dest='loglevel')
g.add_argument('--debug',
action='store_const',
const='DEBUG',
dest='loglevel')
p.add_argument('--config', '-f',
default='siggen.yml')
p.add_argument('--nomidi',
action='store_true',
help=argparse.SUPPRESS)
p.add_argument('--list', '-l',
action='store_true',
help='list available devices')
p.set_defaults(loglevel='WARN')
return p.parse_args()
def add(self, topic, *args, **kwargs):
"""Add a new command line argument.
:param str: help topic this should be listed under, can be None for
"always documented"
:param list *args: the names of this argument flag
:param dict **kwargs: various argparse settings for this argument
"""
if self.detect_defaults:
kwargs = self.modify_kwargs_for_default_detection(**kwargs)
if self.visible_topics[topic]:
if topic in self.groups:
group = self.groups[topic]
group.add_argument(*args, **kwargs)
else:
self.parser.add_argument(*args, **kwargs)
else:
kwargs["help"] = argparse.SUPPRESS
self.parser.add_argument(*args, **kwargs)