augur.argparse_ module

Custom helpers for the argparse standard library.

class augur.argparse_.CustomArgumentParser(*args, **kwargs)

Bases: ArgumentParser

Custom argument parser for ConfigArgParse.

add_argument(*args, **kwargs)

This method supports the same args as ArgumentParser.add_argument(..) as well as the additional args below.

Keyword Arguments:
  • env_var -- If set, the value of this environment variable will override any config file or default values for this arg (but can itself be overridden on the commandline). Also, if auto_env_var_prefix is set in the constructor, this env var name will be used instead of the automatic name.

  • is_config_file_arg -- If True, this arg is treated as a config file path This provides an alternative way to specify config files in place of the ArgumentParser(fromfile_prefix_chars=..) mechanism. Default: False

  • is_write_out_config_file_arg -- If True, this arg will be treated as a config file path, and, when it is specified, will cause configargparse to write all current commandline args to this file as config options and then exit. Default: False

Returns:

the new argparse action

Return type:

argparse.Action

error_only(message)

An alternative to self.error, without the usage message.

format_help()
get_possible_config_keys(action)

This method decides which actions can be set in a config file and what their keys will be. It returns a list of 0 or more config keys that can be used to set the given action’s value in a config file.

Returns:

keys

Return type:

list[str]

parse_known_args(args=None, namespace=None, **kwargs)

Supports all the same args as the argparse.ArgumentParser.parse_args(), as well as the following additional args.

Parameters:
  • args -- a list of args as in argparse, or a string (eg. β€œ-x -y bla”)

  • config_file_contents (str)

  • env_vars (dict)

  • ignore_help_args (bool) -- This flag determines behavior when user specifies --help or -h. If False, it will have the default behavior - printing help and exiting. If True, it won’t do either.

Returns:

tuple namescpace, unknown_args

Return type:

tuple[argparse.Namespace, list[str]]

class augur.argparse_.ExtendOverwriteDefault(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)

Bases: Action

Similar to the core argparse extend action, but overwrites the argument default, if any, instead of appending to it.

Thus, the default value is not included when the option is given and may be a non-list value if desired.

class augur.argparse_.HelpFormatter(prog, indent_increment=2, max_help_position=24, width=None)

Bases: ArgumentDefaultsHelpFormatter

add_arguments(actions)
class augur.argparse_.HideAsFalseAction(option_strings, dest, nargs=None, const=None, default=None, type=None, choices=None, required=False, help=None, metavar=None)

Bases: Action

Custom argparse Action that stores False for arguments passed as --hide* and stores True for all other argument patterns.

augur.argparse_.add_command_subparsers(subparsers, commands, command_attribute='__command__')

Add subparsers for each command module.

Parameters:
  • subparsers (argparse._SubParsersAction) -- The special subparsers action object created by the parent parser via parser.add_subparsers().

  • commands (list[types.ModuleType]) -- A list of modules that are commands that require their own subparser. Each module is required to have a register_parser function to add its own subparser and arguments.

  • command_attribute (str, optional) -- Optional attribute name for the commands. The default is __command__, which allows top level augur to run commands directly via args.__command__.run().

augur.argparse_.add_default_command(parser)

Sets the default command to run when none is provided.

augur.argparse_.add_subparser(parent_subparsers, *args, **kwargs)

Add a subparser to a parent subparser.

Return type:

CustomArgumentParser

augur.argparse_.add_validation_arguments(parser)

Add arguments to configure validation mode of node data JSON files.

augur.argparse_.config_key_to_cli_option(key)
Return type:

str

augur.argparse_.walk_commands(parser, command=None)
Return type:

Iterable[Tuple[Tuple[str, ...], CustomArgumentParser]]