ArgumentParser¶
- class lsst.pipe.base.ArgumentParser(name, usage='%(prog)s input [options]', **kwargs)¶
Bases:
ArgumentParser
Argument parser for command-line tasks that is based on
argparse.ArgumentParser
.- Parameters:
- name
str
Name of top-level task; used to identify camera-specific override files.
- usage
str
, optional Command-line usage signature.
- **kwargs
Additional keyword arguments for
argparse.ArgumentParser
.
- name
Notes
Users may wish to add additional arguments before calling
parse_args
.Attributes Summary
Require an output directory to be specified (
bool
).Methods Summary
addReuseOption
(choices)Add a "--reuse-outputs-from SUBTASK" option to the argument parser.
add_argument
(add_argument)add_argument_group
(*args, **kwargs)add_id_argument
(name, datasetType, help[, ...])Add a data ID argument.
add_mutually_exclusive_group
(**kwargs)add_subparsers
(**kwargs)convert_arg_line_to_args
(arg_line)Allow files of arguments referenced by
@<path>
to contain multiple values on each line.error
(message)Prints a usage message incorporating the message to stderr and exits.
exit
([status, message])get_default
(dest)handleCamera
(namespace)Perform camera-specific operations before parsing the command-line.
parse_args
(config[, args, log, override])Parse arguments for a command-line task.
parse_intermixed_args
([args, namespace])parse_known_args
([args, namespace])parse_known_intermixed_args
([args, namespace])print_help
([file])print_usage
([file])register
(registry_name, value, object)set_defaults
(**kwargs)Attributes Documentation
Methods Documentation
- addReuseOption(choices)¶
Add a “–reuse-outputs-from SUBTASK” option to the argument parser.
CmdLineTasks that can be restarted at an intermediate step using outputs from earlier (but still internal) steps should use this method to allow the user to control whether that happens when outputs from earlier steps are present.
- Parameters:
- choicessequence
A sequence of string names (by convention, top-level subtasks) that identify the steps that could be skipped when their outputs are already present. The list is ordered, so when the user specifies one step on the command line, all previous steps may be skipped as well. In addition to the choices provided, users may pass “all” to indicate that all steps may be thus skipped.
- When this method is called, the ``namespace`` object returned by
- ``parse_args`` will contain a ``reuse`` attribute containing
- a list of all steps that should be skipped if their outputs
- are already present.
- If no steps should be skipped, the ``reuse`` will be an empty list.
- add_argument(dest, ..., name=value, ...) add_argument(option_string, option_string, ..., name=value, ...)¶
- add_argument(option_string, option_string, ..., name=value, ...) None
- add_argument_group(*args, **kwargs)¶
- add_id_argument(name, datasetType, help, level=None, doMakeDataRefList=True, ContainerClass=<class 'lsst.pipe.base.argumentParser.DataIdContainer'>)¶
Add a data ID argument.
- Parameters:
- name
str
Data ID argument (including leading dashes, if wanted).
- datasetType
str
orDynamicDatasetType
-type Type of dataset. Supply a string for a fixed dataset type. For a dynamically determined dataset type, supply a
DynamicDatasetType
, such aDatasetArgument
.- help
str
Help string for the argument.
- level
str
The lowest hierarchy level to descend to for this dataset type, for example
"amp"
for"raw"
or"ccd"
for"calexp"
. Use""
to use the mapper’s default for the dataset type. Some container classes may also supportNone
, which means the level should not be restricted; however the default class,DataIdContainer
, does not supportNone
.- doMakeDataRefListbool, optional
If
True
(default), construct data references.- ContainerClass
class
, optional - Class to contain data IDs and data references; the default class
- `DataIdContainer` will work for many, but not all, cases.
- For example if the dataset type is specified on the command line
- then use `DynamicDatasetType`.
- name
Notes
If
datasetType
is an instance ofDatasetArgument
, then add a second argument to specify the dataset type.The associated data is put into
namespace.<dataIdArgument.name>
as an instance ofContainerClass
; the container includes fields:idList
: a list of data ID dicts.refList
: a list ofButler
data references (empty if
doMakeDataRefList
isFalse
).
- add_mutually_exclusive_group(**kwargs)¶
- add_subparsers(**kwargs)¶
- convert_arg_line_to_args(arg_line)¶
Allow files of arguments referenced by
@<path>
to contain multiple values on each line.- Parameters:
- arg_line
str
Line of text read from an argument file.
- arg_line
- error(message: string)¶
Prints a usage message incorporating the message to stderr and exits.
If you override this in a subclass, it should not return – it should either exit or raise an exception.
- exit(status=0, message=None)¶
- format_help()¶
- format_usage()¶
- get_default(dest)¶
- handleCamera(namespace)¶
Perform camera-specific operations before parsing the command-line.
- Parameters:
- namespace
argparse.Namespace
Namespace (an ) with the following fields:
camera
: the camera name.config
: the config passed to parse_args, with no overrides applied.obsPkg
: theobs_
package for this camera.log
: alsst.pipe.base.TaskLogAdapter
Log.
- namespace
Notes
The default implementation does nothing.
- parse_args(config, args=None, log=None, override=None)¶
Parse arguments for a command-line task.
- Parameters:
- config
lsst.pex.config.Config
Config for the task being run.
- args
list
, optional Argument list; if
None
thensys.argv[1:]
is used.- log
lsst.log.Log
orlogging.Logger
, optional Logger instance; if
None
use the default log.- overridecallable, optional
A config override function. It must take the root config object as its only argument and must modify the config in place. This function is called after camera-specific overrides files are applied, and before command-line config overrides are applied (thus allowing the user the final word).
- config
- Returns:
- namespace
argparse.Namespace
A
Namespace
instance containing fields:camera
: camera name.config
: the supplied config with all overrides applied,validated and frozen.
butler
: alsst.daf.persistence.Butler
for the data.- An entry for each of the data ID arguments registered by
add_id_argument
, of the type passed to itsContainerClass
keyword (DataIdContainer
by default). It includes public elementsidList
andrefList
.
log
: alsst.pipe.base.TaskLogAdapter
log.- An entry for each command-line argument,
with the following exceptions:
config is the supplied config, suitably updated.
configfile, id and loglevel are all missing.
obsPkg
: name of theobs_
package for this camera.
- namespace
- parse_intermixed_args(args=None, namespace=None)¶
- parse_known_args(args=None, namespace=None)¶
- parse_known_intermixed_args(args=None, namespace=None)¶
- print_help(file=None)¶
- print_usage(file=None)¶
- register(registry_name, value, object)¶
- set_defaults(**kwargs)¶