def add_parser(subparsers, parent_parser): from dvc.command.config import parent_config_parser PKG_HELP = "Manage DVC packages." pkg_parser = subparsers.add_parser( "pkg", parents=[parent_parser], description=append_doc_link(PKG_HELP, "pkg"), help=PKG_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, add_help=False, ) pkg_subparsers = pkg_parser.add_subparsers( dest="cmd", help="Use dvc pkg CMD --help for command-specific help.") fix_subparsers(pkg_subparsers) PKG_INSTALL_HELP = "Install package." pkg_install_parser = pkg_subparsers.add_parser( "install", parents=[parent_config_parser, parent_parser], description=append_doc_link(PKG_INSTALL_HELP, "pkg-install"), help=PKG_INSTALL_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) pkg_install_parser.add_argument( "address", nargs="?", default="", help="Package address: git://<url> or https://github.com/...", ) pkg_install_parser.add_argument( "target_dir", metavar="target", nargs="?", default=".", help="Target directory to deploy package outputs. " "Default value is the current dir.", ) pkg_install_parser.add_argument( "-s", "--select", metavar="OUT", action="append", default=[], help="Select and persist only specified outputs from a package. " "The parameter can be used multiple times. " "All outputs will be selected by default.", ) pkg_install_parser.add_argument( "-f", "--file", help="Specify name of the stage file. It should be " "either 'Dvcfile' or have a '.dvc' suffix (e.g. " "'prepare.dvc', 'clean.dvc', etc). " "By default the file has 'mod_' prefix and imported package name " "followed by .dvc", ) pkg_install_parser.set_defaults(func=CmdPkg)
def add_parser(subparsers, parent_parser): DAEMON_HELP = "Service daemon." daemon_parser = subparsers.add_parser( "daemon", parents=[parent_parser], description=DAEMON_HELP, add_help=False, ) daemon_subparsers = daemon_parser.add_subparsers( dest="cmd", help="Use `dvc daemon CMD --help` for command-specific " "help.", ) fix_subparsers(daemon_subparsers) DAEMON_UPDATER_HELP = "Fetch latest available version." daemon_updater_parser = daemon_subparsers.add_parser( "updater", parents=[parent_parser], description=DAEMON_UPDATER_HELP, help=DAEMON_UPDATER_HELP, ) daemon_updater_parser.set_defaults(func=CmdDaemonUpdater) DAEMON_ANALYTICS_HELP = "Send dvc usage analytics." daemon_analytics_parser = daemon_subparsers.add_parser( "analytics", parents=[parent_parser], description=DAEMON_ANALYTICS_HELP, help=DAEMON_ANALYTICS_HELP, ) daemon_analytics_parser.add_argument("target", help="Analytics file.") daemon_analytics_parser.set_defaults(func=CmdDaemonAnalytics)
def add_parser(subparsers, parent_parser): from dvc.command.config import parent_config_parser CACHE_HELP = 'Manage cache settings.' cache_parser = subparsers.add_parser('cache', parents=[parent_parser], description=CACHE_HELP, help=CACHE_HELP) cache_subparsers = cache_parser.add_subparsers( dest='cmd', help='Use dvc cache CMD --help for command-specific help.') fix_subparsers(cache_subparsers) parent_cache_config_parser = argparse.ArgumentParser( add_help=False, parents=[parent_config_parser]) CACHE_DIR_HELP = 'Configure cache directory location.' cache_dir_parser = cache_subparsers.add_parser( 'dir', parents=[parent_cache_config_parser], description=CACHE_DIR_HELP, help=CACHE_DIR_HELP) cache_dir_parser.add_argument('-u', '--unset', default=False, action='store_true', help='Unset option.') cache_dir_parser.add_argument( 'value', nargs='?', default=None, help="Path to cache directory. Relative paths are resolved relative " "to the current directory and saved to config relative to the " "config file location.") cache_dir_parser.set_defaults(func=CmdCacheDir)
def add_parser(subparsers, parent_parser): DAEMON_HELP = 'Service daemon.' daemon_parser = subparsers.add_parser('daemon', parents=[parent_parser], description=DAEMON_HELP, help=DAEMON_HELP) daemon_subparsers = daemon_parser.add_subparsers( dest='cmd', help='Use dvc daemon CMD --help for command-specific help.') fix_subparsers(daemon_subparsers) DAEMON_UPDATER_HELP = 'Fetch latest available version.' daemon_updater_parser = daemon_subparsers.add_parser( 'updater', parents=[parent_parser], description=DAEMON_UPDATER_HELP, help=DAEMON_UPDATER_HELP) daemon_updater_parser.set_defaults(func=CmdDaemonUpdater) DAEMON_ANALYTICS_HELP = 'Send dvc usage analytics.' daemon_analytics_parser = daemon_subparsers.add_parser( 'analytics', parents=[parent_parser], description=DAEMON_ANALYTICS_HELP, help=DAEMON_ANALYTICS_HELP) daemon_analytics_parser.add_argument('target', help="Analytics file.") daemon_analytics_parser.set_defaults(func=CmdDaemonAnalytics)
def parse_args(argv=None): """Parses CLI arguments. Args: argv: optional list of arguments to parse. sys.argv is used by default. Raises: dvc.exceptions.DvcParserError: raised for argument parsing errors. """ parent_parser = get_parent_parser() # Main parser desc = "Data Version Control" parser = DvcParser( prog="dvc", description=desc, parents=[parent_parser], formatter_class=argparse.RawTextHelpFormatter, add_help=False, ) # NOTE: We are doing this to capitalize help message. # Unfortunately, there is no easier and clearer way to do it, # as adding this argument in get_parent_parser() either in # log_level_group or on parent_parser itself will cause unexpected error. parser.add_argument( "-h", "--help", action="help", default=argparse.SUPPRESS, help="Show this help message and exit.", ) # NOTE: On some python versions action='version' prints to stderr # instead of stdout https://bugs.python.org/issue18920 parser.add_argument( "-V", "--version", action=VersionAction, nargs=0, help="Show program's version.", ) # Sub commands subparsers = parser.add_subparsers( title="Available Commands", metavar="COMMAND", dest="cmd", help="Use dvc COMMAND --help for command-specific help.", ) fix_subparsers(subparsers) for cmd in COMMANDS: cmd.add_parser(subparsers, parent_parser) args = parser.parse_args(argv) return args
def add_parser(subparsers, parent_parser): PIPELINE_HELP = "Manage pipeline." pipeline_parser = subparsers.add_parser( "pipeline", parents=[parent_parser], description=PIPELINE_HELP, help=PIPELINE_HELP, ) pipeline_subparsers = pipeline_parser.add_subparsers( dest="cmd", help="Use dvc pipeline CMD --help for command-specific help.", ) fix_subparsers(pipeline_subparsers) PIPELINE_SHOW_HELP = "Show pipeline." pipeline_show_parser = pipeline_subparsers.add_parser( "show", parents=[parent_parser], description=PIPELINE_SHOW_HELP, help=PIPELINE_SHOW_HELP, ) pipeline_show_group = pipeline_show_parser.add_mutually_exclusive_group() pipeline_show_group.add_argument( "-c", "--commands", action="store_true", default=False, help="Print commands instead of paths to DVC files.", ) pipeline_show_group.add_argument( "-o", "--outs", action="store_true", default=False, help="Print output files instead of paths to DVC files.", ) pipeline_show_parser.add_argument( "--ascii", action="store_true", default=False, help="Output DAG as ASCII.", ) pipeline_show_parser.add_argument("--dot", help="Write DAG in .dot format.") pipeline_show_parser.add_argument("targets", nargs="*", help="DVC files. 'Dvcfile' by default.") pipeline_show_parser.set_defaults(func=CmdPipelineShow) PIPELINE_LIST_HELP = "List pipelines." pipeline_list_parser = pipeline_subparsers.add_parser( "list", parents=[parent_parser], description=PIPELINE_LIST_HELP, help=PIPELINE_LIST_HELP, ) pipeline_list_parser.set_defaults(func=CmdPipelineList)
def add_parser(subparsers, parent_parser): GIT_HOOK_HELP = "Run GIT hook." git_hook_parser = subparsers.add_parser( "git-hook", parents=[parent_parser], description=GIT_HOOK_HELP, add_help=False, ) git_hook_subparsers = git_hook_parser.add_subparsers( dest="cmd", help="Use `dvc daemon CMD --help` for command-specific help.", ) fix_subparsers(git_hook_subparsers) PRE_COMMIT_HELP = "Run pre-commit GIT hook." pre_commit_parser = git_hook_subparsers.add_parser( "pre-commit", parents=[parent_parser], description=PRE_COMMIT_HELP, help=PRE_COMMIT_HELP, ) pre_commit_parser.add_argument( "args", nargs="*", help="Arguments passed by GIT or pre-commit tool.", ) pre_commit_parser.set_defaults(func=CmdPreCommit) POST_CHECKOUT_HELP = "Run post-checkout GIT hook." post_checkout_parser = git_hook_subparsers.add_parser( "post-checkout", parents=[parent_parser], description=POST_CHECKOUT_HELP, help=POST_CHECKOUT_HELP, ) post_checkout_parser.add_argument( "args", nargs="*", help="Arguments passed by GIT or pre-commit tool.", ) post_checkout_parser.set_defaults(func=CmdPostCheckout) PRE_PUSH_HELP = "Run pre-push GIT hook." pre_push_parser = git_hook_subparsers.add_parser( "pre-push", parents=[parent_parser], description=PRE_PUSH_HELP, help=PRE_PUSH_HELP, ) pre_push_parser.add_argument( "args", nargs="*", help="Arguments passed by GIT or pre-commit tool.", ) pre_push_parser.set_defaults(func=CmdPrePush)
def parse_args(argv=None): """Parses CLI arguments. Args: argv: optional list of arguments to parse. sys.argv is used by default. Raises: dvc.exceptions.DvcParserError: raised for argument parsing errors. """ # Common args parent_parser = argparse.ArgumentParser(add_help=False) log_level_group = parent_parser.add_mutually_exclusive_group() log_level_group.add_argument("-q", "--quiet", action="store_true", default=False, help="Be quiet.") log_level_group.add_argument("-v", "--verbose", action="store_true", default=False, help="Be verbose.") # Main parser desc = "Data Version Control" parser = DvcParser( prog="dvc", description=desc, parents=[parent_parser], formatter_class=argparse.RawTextHelpFormatter, ) # NOTE: On some python versions action='version' prints to stderr # instead of stdout https://bugs.python.org/issue18920 parser.add_argument("-V", "--version", action=VersionAction, nargs=0, help="Show program's version.") # Sub commands subparsers = parser.add_subparsers( title="Available Commands", metavar="COMMAND", dest="cmd", help="Use dvc COMMAND --help for command-specific help.", ) fix_subparsers(subparsers) for cmd in COMMANDS: cmd.add_parser(subparsers, parent_parser) args = parser.parse_args(argv) return args
def add_parser(subparsers, parent_parser): PARAMS_HELP = "Commands to display params." params_parser = subparsers.add_parser( "params", parents=[parent_parser], description=append_doc_link(PARAMS_HELP, "params"), help=PARAMS_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) params_subparsers = params_parser.add_subparsers( dest="cmd", help="Use `dvc params CMD --help` to display command-specific help.", ) fix_subparsers(params_subparsers) PARAMS_DIFF_HELP = ( "Show changes in params between commits in the DVC repository, or " "between a commit and the workspace.") params_diff_parser = params_subparsers.add_parser( "diff", parents=[parent_parser], description=append_doc_link(PARAMS_DIFF_HELP, "params/diff"), help=PARAMS_DIFF_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) params_diff_parser.add_argument( "a_rev", nargs="?", help="Old Git commit to compare (defaults to HEAD)") params_diff_parser.add_argument( "b_rev", nargs="?", help=("New Git commit to compare (defaults to the current workspace)"), ) params_diff_parser.add_argument( "--all", action="store_true", default=False, help="Show unchanged params as well.", ) params_diff_parser.add_argument( "--show-json", action="store_true", default=False, help="Show output in JSON format.", ) params_diff_parser.add_argument( "--show-md", action="store_true", default=False, help="Show tabulated output in the Markdown format (GFM).", ) params_diff_parser.set_defaults(func=CmdParamsDiff)
def add_parser(subparsers, parent_parser): PIPELINE_HELP = 'Manage pipeline.' pipeline_parser = subparsers.add_parser('pipeline', parents=[parent_parser], description=PIPELINE_HELP, help=PIPELINE_HELP) pipeline_subparsers = pipeline_parser.add_subparsers( dest='cmd', help="Use dvc pipeline CMD --help for command-specific help.") fix_subparsers(pipeline_subparsers) PIPELINE_SHOW_HELP = 'Show pipeline.' pipeline_show_parser = pipeline_subparsers.add_parser( 'show', parents=[parent_parser], description=PIPELINE_SHOW_HELP, help=PIPELINE_SHOW_HELP) pipeline_show_group = pipeline_show_parser.add_mutually_exclusive_group() pipeline_show_group.add_argument( '-c', '--commands', action='store_true', default=False, help='Print commands instead of paths to DVC files.') pipeline_show_group.add_argument( '-o', '--outs', action='store_true', default=False, help='Print output files instead of paths to DVC files.') pipeline_show_parser.add_argument('--ascii', action='store_true', default=False, help='Output DAG as ASCII.') pipeline_show_parser.add_argument('--dot', help='Write DAG in .dot format.') pipeline_show_parser.add_argument('targets', nargs='*', help="DVC files. 'Dvcfile' by default.") pipeline_show_parser.set_defaults(func=CmdPipelineShow) PIPELINE_LIST_HELP = 'List pipelines.' pipeline_list_parser = pipeline_subparsers.add_parser( 'list', parents=[parent_parser], description=PIPELINE_LIST_HELP, help=PIPELINE_LIST_HELP) pipeline_list_parser.set_defaults(func=CmdPipelineList)
def add_parser(subparsers, parent_parser): from dvc.command.config import parent_config_parser CACHE_HELP = "Manage cache settings." cache_parser = subparsers.add_parser( "cache", parents=[parent_parser], description=append_doc_link(CACHE_HELP, "cache"), help=CACHE_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) cache_subparsers = cache_parser.add_subparsers( dest="cmd", help="Use `dvc cache CMD --help` for command-specific " "help.", ) fix_subparsers(cache_subparsers) parent_cache_config_parser = argparse.ArgumentParser( add_help=False, parents=[parent_config_parser] ) CACHE_DIR_HELP = "Configure cache directory location." cache_dir_parser = cache_subparsers.add_parser( "dir", parents=[parent_parser, parent_cache_config_parser], description=append_doc_link(CACHE_HELP, "cache/dir"), help=CACHE_DIR_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) cache_dir_parser.add_argument( "-u", "--unset", default=False, action="store_true", help="Unset option.", ) cache_dir_parser.add_argument( "value", help="Path to cache directory. Relative paths are resolved relative " "to the current directory and saved to config relative to the " "config file location. If no path is provided, it returns the " "current cache directory.", nargs="?", ).complete = completion.DIR cache_dir_parser.set_defaults(func=CmdCacheDir)
def add_parser(subparsers, parent_parser): LIVE_DESCRIPTION = ( "Commands to visualize and compare dvclive-produced logs." ) live_parser = subparsers.add_parser( "live", parents=[parent_parser], formatter_class=argparse.RawDescriptionHelpFormatter, description=LIVE_DESCRIPTION, ) live_subparsers = live_parser.add_subparsers( dest="cmd", help="Use `dvc live CMD --help` to display command-specific help.", ) fix_subparsers(live_subparsers) SHOW_HELP = "Visualize dvclive directory content." live_show_parser = live_subparsers.add_parser( "show", parents=[parent_parser, shared_parent_parser()], help=SHOW_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) live_show_parser.set_defaults(func=CmdLiveShow) DIFF_HELP = ( "Show multiple versions of dvclive data, " "by plotting it in single view." ) live_diff_parser = live_subparsers.add_parser( "diff", parents=[parent_parser, shared_parent_parser()], help=DIFF_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) live_diff_parser.add_argument( "--revs", nargs="*", default=None, help="Git revision (e.g. SHA, branch, tag)", metavar="<commit>", ) live_diff_parser.set_defaults(func=CmdLiveDiff)
def add_parser(subparsers, parent_parser): from dvc.command.config import parent_config_parser CACHE_HELP = ( "Manage cache settings.\ndocumentation: https://man.dvc.org/cache") cache_parser = subparsers.add_parser( "cache", parents=[parent_parser], description=CACHE_HELP, help=CACHE_HELP, ) cache_subparsers = cache_parser.add_subparsers( dest="cmd", help="Use dvc cache CMD --help for command-specific help.") fix_subparsers(cache_subparsers) parent_cache_config_parser = argparse.ArgumentParser( add_help=False, parents=[parent_config_parser]) CACHE_DIR_HELP = "Configure cache directory location." cache_dir_parser = cache_subparsers.add_parser( "dir", parents=[parent_cache_config_parser], description=CACHE_DIR_HELP, help=CACHE_DIR_HELP, ) cache_dir_parser.add_argument( "-u", "--unset", default=False, action="store_true", help="Unset option.", ) cache_dir_parser.add_argument( "value", default=None, help="Path to cache directory. Relative paths are resolved relative " "to the current directory and saved to config relative to the " "config file location.", ) cache_dir_parser.set_defaults(func=CmdCacheDir)
def add_parser(subparsers, parent_parser): EXPERIMENTS_HELP = "Commands to run and compare experiments." experiments_parser = subparsers.add_parser( "experiments", parents=[parent_parser], aliases=["exp"], description=append_doc_link(EXPERIMENTS_HELP, "exp"), formatter_class=argparse.RawDescriptionHelpFormatter, help=EXPERIMENTS_HELP, ) experiments_subparsers = experiments_parser.add_subparsers( dest="cmd", help="Use `dvc experiments CMD --help` to display " "command-specific help.", ) fix_subparsers(experiments_subparsers) for cmd in SUB_COMMANDS: cmd.add_parser(experiments_subparsers, parent_parser)
def add_parser(subparsers, parent_parser): STAGES_HELP = "Commands to list and create stages." stage_parser = subparsers.add_parser( "stage", parents=[parent_parser], description=append_doc_link(STAGES_HELP, "stage"), help=STAGES_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) stage_subparsers = stage_parser.add_subparsers( dest="cmd", help="Use `dvc stage CMD --help` to display command-specific help.", ) fix_subparsers(stage_subparsers) STAGE_ADD_HELP = "Create stage" stage_add_parser = stage_subparsers.add_parser( "add", parents=[parent_parser], description=append_doc_link(STAGE_ADD_HELP, "stage/add"), help=STAGE_ADD_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) stage_add_parser.add_argument("name", help="Name of the stage to add") stage_add_parser.add_argument( "-c", "--command", action="append", default=[], dest="cmd", help="Command to execute.", required=True, ) _add_common_args(stage_add_parser) stage_add_parser.set_defaults(func=CmdStageAdd)
def add_parser(subparsers, parent_parser): METRICS_HELP = "A set of commands to add, manage, collect and display project metrics." metrics_parser = subparsers.add_parser( "metrics", parents=[parent_parser], description=METRICS_HELP, help=METRICS_HELP, ) metrics_subparsers = metrics_parser.add_subparsers( dest="cmd", help="Use dvc metrics CMD --help to display command-specific help.", ) fix_subparsers(metrics_subparsers) METRICS_SHOW_HELP = "Output metric values." metrics_show_parser = metrics_subparsers.add_parser( "show", parents=[parent_parser], description=METRICS_SHOW_HELP, help=METRICS_SHOW_HELP, ) metrics_show_parser.add_argument( "path", nargs="?", help="Path to a metric file or a directory.") metrics_show_parser.add_argument( "-t", "--type", help="Type of metrics (raw/json/tsv/htsv/csv/hcsv).") metrics_show_parser.add_argument("-x", "--xpath", help="json/tsv/htsv/csv/hcsv path.") metrics_show_parser.add_argument( "-a", "--all-branches", action="store_true", default=False, help="Show metrics for all branches.", ) metrics_show_parser.add_argument( "-T", "--all-tags", action="store_true", default=False, help="Show metrics for all tags.", ) metrics_show_parser.add_argument( "-R", "--recursive", action="store_true", default=False, help= "If path is a directory, recursively search and process metric files in path.", ) metrics_show_parser.set_defaults(func=CmdMetricsShow) METRICS_ADD_HELP = "Tag file as a metric file." metrics_add_parser = metrics_subparsers.add_parser( "add", parents=[parent_parser], description=METRICS_ADD_HELP, help=METRICS_ADD_HELP, ) metrics_add_parser.add_argument( "-t", "--type", help="Type of metrics (raw/json/tsv/htsv/csv/hcsv).") metrics_add_parser.add_argument("-x", "--xpath", help="json/tsv/htsv/csv/hcsv path.") metrics_add_parser.add_argument("path", help="Path to a metric file.") metrics_add_parser.set_defaults(func=CmdMetricsAdd) METRICS_MODIFY_HELP = "Modify metric file options." metrics_modify_parser = metrics_subparsers.add_parser( "modify", parents=[parent_parser], description=METRICS_MODIFY_HELP, help=METRICS_MODIFY_HELP, ) metrics_modify_parser.add_argument( "-t", "--type", help="Type of metrics (raw/json/tsv/htsv/csv/hcsv).") metrics_modify_parser.add_argument("-x", "--xpath", help="json/tsv/htsv/csv/hcsv path.") metrics_modify_parser.add_argument("path", help="Path to a metric file.") metrics_modify_parser.set_defaults(func=CmdMetricsModify) METRICS_REMOVE_HELP = "Remove files's metric tag." metrics_remove_parser = metrics_subparsers.add_parser( "remove", parents=[parent_parser], description=METRICS_REMOVE_HELP, help=METRICS_REMOVE_HELP, ) metrics_remove_parser.add_argument("path", help="Path to a metric file.") metrics_remove_parser.set_defaults(func=CmdMetricsRemove)
def add_parser(subparsers, parent_parser): EXPERIMENTS_HELP = "Commands to run and compare experiments." experiments_parser = subparsers.add_parser( "experiments", parents=[parent_parser], aliases=["exp"], description=append_doc_link(EXPERIMENTS_HELP, "experiments"), formatter_class=argparse.RawDescriptionHelpFormatter, help=EXPERIMENTS_HELP, ) experiments_subparsers = experiments_parser.add_subparsers( dest="cmd", help="Use `dvc experiments CMD --help` to display " "command-specific help.", ) fix_subparsers(experiments_subparsers) EXPERIMENTS_SHOW_HELP = "Print experiments." experiments_show_parser = experiments_subparsers.add_parser( "show", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_SHOW_HELP, "experiments/show"), help=EXPERIMENTS_SHOW_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_show_parser.add_argument( "-a", "--all-branches", action="store_true", default=False, help="Show metrics for all branches.", ) experiments_show_parser.add_argument( "-T", "--all-tags", action="store_true", default=False, help="Show metrics for all tags.", ) experiments_show_parser.add_argument( "--all-commits", action="store_true", default=False, help="Show metrics for all commits.", ) experiments_show_parser.add_argument( "--no-pager", action="store_true", default=False, help="Do not pipe output into a pager.", ) experiments_show_parser.add_argument( "--include-metrics", action="append", default=[], help="Include the specified metrics in output table.", metavar="<metrics_list>", ) experiments_show_parser.add_argument( "--exclude-metrics", action="append", default=[], help="Exclude the specified metrics from output table.", metavar="<metrics_list>", ) experiments_show_parser.add_argument( "--include-params", action="append", default=[], help="Include the specified params in output table.", metavar="<params_list>", ) experiments_show_parser.add_argument( "--exclude-params", action="append", default=[], help="Exclude the specified params from output table.", metavar="<params_list>", ) experiments_show_parser.add_argument( "--sort-by", help="Sort related experiments by the specified metric or param.", metavar="<metric/param>", ) experiments_show_parser.add_argument( "--sort-order", help="Sort order to use with --sort-by.", choices=("asc", "desc"), default="asc", ) experiments_show_parser.add_argument( "--no-timestamp", action="store_true", default=False, help="Do not show experiment timestamps.", ) experiments_show_parser.add_argument( "--sha", action="store_true", default=False, help="Always show git commit SHAs instead of branch/tag names.", ) experiments_show_parser.add_argument( "--show-json", action="store_true", default=False, help="Print output in JSON format instead of a human-readable table.", ) experiments_show_parser.add_argument( "--precision", type=int, help=("Round metrics/params to `n` digits precision after the decimal " f"point. Rounds to {DEFAULT_PRECISION} digits by default."), metavar="<n>", ) experiments_show_parser.set_defaults(func=CmdExperimentsShow) EXPERIMENTS_APPLY_HELP = ( "Apply the changes from an experiment to your workspace.") experiments_apply_parser = experiments_subparsers.add_parser( "apply", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_APPLY_HELP, "experiments/apply"), help=EXPERIMENTS_APPLY_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_apply_parser.add_argument( "experiment", help="Experiment to be applied.", ) experiments_apply_parser.set_defaults(func=CmdExperimentsApply) EXPERIMENTS_DIFF_HELP = ( "Show changes between experiments in the DVC repository.") experiments_diff_parser = experiments_subparsers.add_parser( "diff", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_DIFF_HELP, "experiments/diff"), help=EXPERIMENTS_DIFF_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_diff_parser.add_argument( "a_rev", nargs="?", help="Old experiment to compare (defaults to HEAD)") experiments_diff_parser.add_argument( "b_rev", nargs="?", help="New experiment to compare (defaults to the current workspace)", ) experiments_diff_parser.add_argument( "--all", action="store_true", default=False, help="Show unchanged metrics/params as well.", ) experiments_diff_parser.add_argument( "--show-json", action="store_true", default=False, help="Show output in JSON format.", ) experiments_diff_parser.add_argument( "--show-md", action="store_true", default=False, help="Show tabulated output in the Markdown format (GFM).", ) experiments_diff_parser.add_argument( "--old", action="store_true", default=False, help="Show old metric/param value.", ) experiments_diff_parser.add_argument( "--no-path", action="store_true", default=False, help="Don't show metric/param path.", ) experiments_diff_parser.add_argument( "--precision", type=int, help=("Round metrics/params to `n` digits precision after the decimal " f"point. Rounds to {DEFAULT_PRECISION} digits by default."), metavar="<n>", ) experiments_diff_parser.set_defaults(func=CmdExperimentsDiff) EXPERIMENTS_RUN_HELP = ( "Reproduce complete or partial experiment pipelines.") experiments_run_parser = experiments_subparsers.add_parser( "run", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_RUN_HELP, "experiments/run"), help=EXPERIMENTS_RUN_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) _add_run_common(experiments_run_parser) experiments_run_parser.add_argument( "--checkpoint-resume", type=str, default=None, help=argparse.SUPPRESS, ) experiments_run_parser.set_defaults(func=CmdExperimentsRun) EXPERIMENTS_RESUME_HELP = "Resume checkpoint experiments." experiments_resume_parser = experiments_subparsers.add_parser( "resume", parents=[parent_parser], aliases=["res"], description=append_doc_link(EXPERIMENTS_RESUME_HELP, "experiments/resume"), help=EXPERIMENTS_RESUME_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) _add_run_common(experiments_resume_parser) experiments_resume_parser.add_argument( "-r", "--rev", type=str, default=Experiments.LAST_CHECKPOINT, dest="checkpoint_resume", help=("Continue the specified checkpoint experiment. " "If no experiment revision is provided, " "the most recently run checkpoint experiment will be used."), metavar="<experiment_rev>", ) experiments_resume_parser.set_defaults(func=CmdExperimentsRun) EXPERIMENTS_GC_HELP = "Garbage collect unneeded experiments." EXPERIMENTS_GC_DESCRIPTION = ( "Removes all experiments which are not derived from the specified" "Git revisions.") experiments_gc_parser = experiments_subparsers.add_parser( "gc", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_GC_DESCRIPTION, "experiments/gc"), help=EXPERIMENTS_GC_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_gc_parser.add_argument( "-w", "--workspace", action="store_true", default=False, help="Keep experiments derived from the current workspace.", ) experiments_gc_parser.add_argument( "-a", "--all-branches", action="store_true", default=False, help="Keep experiments derived from the tips of all Git branches.", ) experiments_gc_parser.add_argument( "-T", "--all-tags", action="store_true", default=False, help="Keep experiments derived from all Git tags.", ) experiments_gc_parser.add_argument( "--all-commits", action="store_true", default=False, help="Keep experiments derived from all Git commits.", ) experiments_gc_parser.add_argument( "--queued", action="store_true", default=False, help=("Keep queued experiments (experiments run queue will be cleared " "by default)."), ) experiments_gc_parser.add_argument( "-f", "--force", action="store_true", default=False, help="Force garbage collection - automatically agree to all prompts.", ) experiments_gc_parser.set_defaults(func=CmdExperimentsGC) EXPERIMENTS_BRANCH_HELP = "Promote an experiment to a Git branch." experiments_branch_parser = experiments_subparsers.add_parser( "branch", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_BRANCH_HELP, "experiments/branch"), help=EXPERIMENTS_BRANCH_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_branch_parser.add_argument( "experiment", help="Experiment to be promoted.", ) experiments_branch_parser.add_argument( "branch", help="Git branch name to use.", ) experiments_branch_parser.set_defaults(func=CmdExperimentsBranch)
def add_parser(subparsers, parent_parser): METRICS_HELP = "Commands to add, manage, collect, and display metrics." metrics_parser = subparsers.add_parser( "metrics", parents=[parent_parser], description=append_doc_link(METRICS_HELP, "metrics"), help=METRICS_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) metrics_subparsers = metrics_parser.add_subparsers( dest="cmd", help="Use `dvc metrics CMD --help` to display command-specific help.", ) fix_subparsers(metrics_subparsers) METRICS_ADD_HELP = "Mark a DVC-tracked file as a metric." metrics_add_parser = metrics_subparsers.add_parser( "add", parents=[parent_parser], description=append_doc_link(METRICS_ADD_HELP, "metrics/add"), help=METRICS_ADD_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) metrics_add_parser.add_argument("path", help="Path to a metric file.") metrics_add_parser.set_defaults(func=CmdMetricsAdd) METRICS_SHOW_HELP = "Print metrics, with optional formatting." metrics_show_parser = metrics_subparsers.add_parser( "show", parents=[parent_parser], description=append_doc_link(METRICS_SHOW_HELP, "metrics/show"), help=METRICS_SHOW_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) metrics_show_parser.add_argument( "targets", nargs="*", help="Metric files or directories (see -R) to show", ) metrics_show_parser.add_argument( "-a", "--all-branches", action="store_true", default=False, help="Show metrics for all branches.", ) metrics_show_parser.add_argument( "-T", "--all-tags", action="store_true", default=False, help="Show metrics for all tags.", ) metrics_show_parser.add_argument( "--all-commits", action="store_true", default=False, help="Show metrics for all commits.", ) metrics_show_parser.add_argument( "-R", "--recursive", action="store_true", default=False, help=( "If any target is a directory, recursively search and process " "metric files." ), ) metrics_show_parser.add_argument( "--show-json", action="store_true", default=False, help="Show output in JSON format.", ) metrics_show_parser.set_defaults(func=CmdMetricsShow) METRICS_DIFF_HELP = "Show changes in metrics between commits" " in the DVC repository, or between a commit and the workspace." metrics_diff_parser = metrics_subparsers.add_parser( "diff", parents=[parent_parser], description=append_doc_link(METRICS_DIFF_HELP, "metrics/diff"), help=METRICS_DIFF_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) metrics_diff_parser.add_argument( "a_rev", nargs="?", help="Old Git commit to compare (defaults to HEAD)" ) metrics_diff_parser.add_argument( "b_rev", nargs="?", help=("New Git commit to compare (defaults to the current workspace)"), ) metrics_diff_parser.add_argument( "--targets", nargs="*", help=( "Metric files or directories (see -R) to show diff for. " "Shows diff for all metric files by default." ), metavar="<paths>", ) metrics_diff_parser.add_argument( "-R", "--recursive", action="store_true", default=False, help=( "If any target is a directory, recursively search and process " "metric files." ), ) metrics_diff_parser.add_argument( "--all", action="store_true", default=False, help="Show unchanged metrics as well.", ) metrics_diff_parser.add_argument( "--show-json", action="store_true", default=False, help="Show output in JSON format.", ) metrics_diff_parser.add_argument( "--show-md", action="store_true", default=False, help="Show tabulated output in the Markdown format (GFM).", ) metrics_diff_parser.add_argument( "--no-path", action="store_true", default=False, help="Don't show metric path.", ) metrics_diff_parser.add_argument( "--old", action="store_true", default=False, help="Show old metric value.", ) metrics_diff_parser.set_defaults(func=CmdMetricsDiff) METRICS_REMOVE_HELP = "Remove metric mark on a DVC-tracked file." metrics_remove_parser = metrics_subparsers.add_parser( "remove", parents=[parent_parser], description=append_doc_link(METRICS_REMOVE_HELP, "metrics/remove"), help=METRICS_REMOVE_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) metrics_remove_parser.add_argument("path", help="Path to a metric file.") metrics_remove_parser.set_defaults(func=CmdMetricsRemove)
def add_parser(subparsers, parent_parser): PLOTS_HELP = ("Generating plots for metrics stored in structured files " "(JSON, CSV, TSV).") plots_parser = subparsers.add_parser( "plots", parents=[parent_parser], description=append_doc_link(PLOTS_HELP, "plots"), help=PLOTS_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) plots_subparsers = plots_parser.add_subparsers( dest="cmd", help="Use `dvc plots CMD --help` to display command-specific help.", ) fix_subparsers(plots_subparsers) SHOW_HELP = "Generate a plots image file from a metrics file." plots_show_parser = plots_subparsers.add_parser( "show", parents=[parent_parser], description=append_doc_link(SHOW_HELP, "plots/show"), help=SHOW_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) plots_show_parser.add_argument( "-t", "--template", nargs="?", default=None, help=("Special JSON or HTML schema file to inject with the data. " "See {}".format( format_link("https://man.dvc.org/plots#plot-templates"))), ) plots_show_parser.add_argument( "-o", "--out", default=None, help="Destination path to save plots to.", ) plots_show_parser.add_argument("-x", default=None, help="Field name for x axis.") plots_show_parser.add_argument("-y", default=None, help="Field name for y axis.") plots_show_parser.add_argument( "--no-csv-header", action="store_true", default=False, help="Required when CSV or TSV datafile does not have a header.", ) plots_show_parser.add_argument( "--show-json", action="store_true", default=False, help="Show output in JSON format.", ) plots_show_parser.add_argument("--title", default=None, help="Plot title.") plots_show_parser.add_argument("--xlab", default=None, help="X axis title.") plots_show_parser.add_argument("--ylab", default=None, help="Y axis title.") plots_show_parser.add_argument( "targets", nargs="*", help="Metrics files to visualize. Shows all plots by default.", ) plots_show_parser.set_defaults(func=CmdPlotsShow) PLOTS_DIFF_HELP = ( "Plot differences in metrics between commits in the DVC " "repository, or between the last commit and the workspace.") plots_diff_parser = plots_subparsers.add_parser( "diff", parents=[parent_parser], description=append_doc_link(PLOTS_DIFF_HELP, "plots/diff"), help=PLOTS_DIFF_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) plots_diff_parser.add_argument( "-t", "--template", nargs="?", default=None, help=("Special JSON or HTML schema to inject with the data. " "See {}".format( format_link("https://man.dvc.org/plots#plot-templates"))), ) plots_diff_parser.add_argument( "--targets", nargs="*", help="Metrics file to visualize. Shows all plots by default.", ) plots_diff_parser.add_argument( "-o", "--out", default=None, help="Destination path to save plots to.", ) plots_diff_parser.add_argument("-x", default=None, help="Field name for x axis.") plots_diff_parser.add_argument("-y", default=None, help="Field name for y axis.") plots_diff_parser.add_argument( "--no-csv-header", action="store_true", default=False, help="Provided CSV ot TSV datafile does not have a header.", ) plots_diff_parser.add_argument( "--show-json", action="store_true", default=False, help="Show output in JSON format.", ) plots_diff_parser.add_argument("--title", default=None, help="Plot title.") plots_diff_parser.add_argument("--xlab", default=None, help="X axis title.") plots_diff_parser.add_argument("--ylab", default=None, help="Y axis title.") plots_diff_parser.add_argument( "revisions", nargs="*", default=None, help="Git commits to plot from", ) plots_diff_parser.set_defaults(func=CmdPlotsDiff)
def add_parser(subparsers, parent_parser): PIPELINE_HELP = "Manage pipelines." pipeline_parser = subparsers.add_parser( "pipeline", parents=[parent_parser], description=append_doc_link(PIPELINE_HELP, "pipeline"), help=PIPELINE_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) pipeline_subparsers = pipeline_parser.add_subparsers( dest="cmd", help="Use `dvc pipeline CMD --help` for command-specific help.", ) fix_subparsers(pipeline_subparsers) PIPELINE_SHOW_HELP = "Show pipelines." pipeline_show_parser = pipeline_subparsers.add_parser( "show", parents=[parent_parser], description=append_doc_link(PIPELINE_SHOW_HELP, "pipeline/show"), help=PIPELINE_SHOW_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) pipeline_show_group = pipeline_show_parser.add_mutually_exclusive_group() pipeline_show_group.add_argument( "-c", "--commands", action="store_true", default=False, help="Print commands instead of paths to DVC-files.", ) pipeline_show_group.add_argument( "-o", "--outs", action="store_true", default=False, help="Print output files instead of paths to DVC-files.", ) pipeline_show_parser.add_argument( "-l", "--locked", action="store_true", default=False, help="Print locked DVC stages", ) pipeline_show_parser.add_argument( "--ascii", action="store_true", default=False, help="Output DAG as ASCII.", ) pipeline_show_parser.add_argument( "--dot", action="store_true", default=False, help="Print DAG with .dot format.", ) pipeline_show_parser.add_argument( "--tree", action="store_true", default=False, help="Output DAG as Dependencies Tree.", ) pipeline_show_parser.add_argument( "targets", nargs="*", help="DVC-files to show pipeline for. Optional. " "(Finds all DVC-files in the workspace by default.)", ) pipeline_show_parser.set_defaults(func=CmdPipelineShow) PIPELINE_LIST_HELP = "List pipelines." pipeline_list_parser = pipeline_subparsers.add_parser( "list", parents=[parent_parser], description=append_doc_link(PIPELINE_LIST_HELP, "pipeline/list"), help=PIPELINE_LIST_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) pipeline_list_parser.set_defaults(func=CmdPipelineList)
def add_parser(subparsers, parent_parser): PLOTS_HELP = ( "Commands to visualize and compare plot metrics in structured files " "(JSON, YAML, CSV, TSV)") plots_parser = subparsers.add_parser( "plots", parents=[parent_parser], description=append_doc_link(PLOTS_HELP, "plots"), help=PLOTS_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) plots_subparsers = plots_parser.add_subparsers( dest="cmd", help="Use `dvc plots CMD --help` to display command-specific help.", ) fix_subparsers(plots_subparsers) SHOW_HELP = "Generate plots from metrics files." plots_show_parser = plots_subparsers.add_parser( "show", parents=[parent_parser], description=append_doc_link(SHOW_HELP, "plots/show"), help=SHOW_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) plots_show_parser.add_argument( "targets", nargs="*", help="Files to visualize (supports any file, " "even when not found as `plots` in `dvc.yaml`). " "Shows all plots by default.", ).complete = completion.FILE _add_props_arguments(plots_show_parser) _add_output_arguments(plots_show_parser) plots_show_parser.set_defaults(func=CmdPlotsShow) PLOTS_DIFF_HELP = ("Show multiple versions of plot metrics " "by plotting them in a single image.") plots_diff_parser = plots_subparsers.add_parser( "diff", parents=[parent_parser], description=append_doc_link(PLOTS_DIFF_HELP, "plots/diff"), help=PLOTS_DIFF_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) plots_diff_parser.add_argument( "--targets", nargs="*", help=("Specific plots file(s) to visualize " "(even if not found as `plots` in `dvc.yaml`). " "Shows all tracked plots by default."), metavar="<paths>", ).complete = completion.FILE plots_diff_parser.add_argument( "-e", "--experiment", action="store_true", default=False, help=argparse.SUPPRESS, ) plots_diff_parser.add_argument( "revisions", nargs="*", default=None, help="Git commits to plot from", ) _add_props_arguments(plots_diff_parser) _add_output_arguments(plots_diff_parser) plots_diff_parser.set_defaults(func=CmdPlotsDiff) PLOTS_MODIFY_HELP = "Modify display properties of plot metrics files." plots_modify_parser = plots_subparsers.add_parser( "modify", parents=[parent_parser], description=append_doc_link(PLOTS_MODIFY_HELP, "plots/modify"), help=PLOTS_MODIFY_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) plots_modify_parser.add_argument( "target", help="Metric file to set properties to", ).complete = completion.FILE _add_props_arguments(plots_modify_parser) plots_modify_parser.add_argument( "--unset", nargs="*", metavar="<property>", help="Unset one or more display properties.", ) plots_modify_parser.set_defaults(func=CmdPlotsModify)
def add_parser(subparsers, parent_parser): PLOTS_HELP = ( "Commands to visualize and compare plot metrics in structured files " "(JSON, YAML, CSV, TSV)") plots_parser = subparsers.add_parser( "plots", parents=[parent_parser], description=append_doc_link(PLOTS_HELP, "plots"), help=PLOTS_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) plots_subparsers = plots_parser.add_subparsers( dest="cmd", help="Use `dvc plots CMD --help` to display command-specific help.", ) fix_subparsers(plots_subparsers) SHOW_HELP = "Generate plots from metric files." plots_show_parser = plots_subparsers.add_parser( "show", parents=[parent_parser], description=append_doc_link(SHOW_HELP, "plots/show"), help=SHOW_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) plots_show_parser.add_argument( "targets", nargs="*", help="Plots files to visualize. Shows all plots by default.", choices=completion.Optional.FILE, ) _add_props_arguments(plots_show_parser) _add_output_arguments(plots_show_parser) plots_show_parser.set_defaults(func=CmdPlotsShow) PLOTS_DIFF_HELP = ("Show multiple versions of plot metrics " "by plotting them in a single image.") plots_diff_parser = plots_subparsers.add_parser( "diff", parents=[parent_parser], description=append_doc_link(PLOTS_DIFF_HELP, "plots/diff"), help=PLOTS_DIFF_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) plots_diff_parser.add_argument( "--targets", nargs="*", help="Plots file to visualize. Shows all plots by default.", metavar="<path>", choices=completion.Optional.FILE, ) plots_diff_parser.add_argument( "revisions", nargs="*", default=None, help="Git commits to plot from", ) _add_props_arguments(plots_diff_parser) _add_output_arguments(plots_diff_parser) plots_diff_parser.set_defaults(func=CmdPlotsDiff) PLOTS_MODIFY_HELP = "Modify display properties of plot metric files." plots_modify_parser = plots_subparsers.add_parser( "modify", parents=[parent_parser], description=append_doc_link(PLOTS_MODIFY_HELP, "plots/modify"), help=PLOTS_MODIFY_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) plots_modify_parser.add_argument( "target", help="Metric file to set properties to", choices=completion.Required.FILE, ) _add_props_arguments(plots_modify_parser) plots_modify_parser.add_argument( "--unset", nargs="*", metavar="<property>", help="Unset one or more display properties.", ) plots_modify_parser.set_defaults(func=CmdPlotsModify)
def add_parser(subparsers, parent_parser): METRICS_HELP = "Get metrics from all branches." metrics_parser = subparsers.add_parser("metrics", parents=[parent_parser], description=METRICS_HELP, help=METRICS_HELP) metrics_subparsers = metrics_parser.add_subparsers( dest="cmd", help="Use dvc metrics CMD --help for command-specific help.") fix_subparsers(metrics_subparsers) METRICS_SHOW_HELP = "Show metrics." metrics_show_parser = metrics_subparsers.add_parser( "show", parents=[parent_parser], description=METRICS_SHOW_HELP, help=METRICS_SHOW_HELP, ) metrics_show_parser.add_argument("path", nargs="?", help="Path to metrics file or directory") metrics_show_parser.add_argument( "-t", "--type", help="Type of metrics(RAW/JSON/TSV/HTSV/CSV/HCSV).") metrics_show_parser.add_argument("-x", "--xpath", help="JSON/TSV/HTSV/CSV/HCSV path.") metrics_show_group = metrics_show_parser.add_mutually_exclusive_group() metrics_show_group.add_argument("--json-path", help="JSON path.") metrics_show_group.add_argument("--tsv-path", help="TSV path 'row,column' (e.g. '1,2').") metrics_show_group.add_argument( "--htsv-path", help="Headed TSV path 'row,column (e.g. 'Name,3').") metrics_show_group.add_argument("--csv-path", help="CSV path 'row,column' (e.g. '1,2').") metrics_show_group.add_argument( "--hcsv-path", help="Headed CSV path 'row,column' (e.g. 'Name,3').") metrics_show_parser.add_argument( "-a", "--all-branches", action="store_true", default=False, help="Show metrics for all branches.", ) metrics_show_parser.add_argument( "-T", "--all-tags", action="store_true", default=False, help="Show metrics for all tags.", ) metrics_show_parser.add_argument( "-R", "--recursive", action="store_true", default=False, help= "If path is a directory, recursively search and process metric files in path.", ) metrics_show_parser.set_defaults(func=CmdMetricsShow) METRICS_ADD_HELP = "Add metrics." metrics_add_parser = metrics_subparsers.add_parser( "add", parents=[parent_parser], description=METRICS_ADD_HELP, help=METRICS_ADD_HELP, ) metrics_add_parser.add_argument( "-t", "--type", help="Type of metrics(RAW/JSON/TSV/HTSV/CSV/HCSV).") metrics_add_parser.add_argument("-x", "--xpath", help="JSON/TSV/HTSV/CSV/HCSV path.") metrics_add_parser.add_argument("path", help="Path to metrics file.") metrics_add_parser.set_defaults(func=CmdMetricsAdd) METRICS_MODIFY_HELP = "Modify metrics." metrics_modify_parser = metrics_subparsers.add_parser( "modify", parents=[parent_parser], description=METRICS_MODIFY_HELP, help=METRICS_MODIFY_HELP, ) metrics_modify_parser.add_argument( "-t", "--type", help="Type of metrics(RAW/JSON/TSV/HTSV/CSV/HCSV).") metrics_modify_parser.add_argument("-x", "--xpath", help="JSON/TSV/HTSV/CSV/HCSV path.") metrics_modify_parser.add_argument("path", help="Metrics file.") metrics_modify_parser.set_defaults(func=CmdMetricsModify) METRICS_REMOVE_HELP = "Remove metrics." metrics_remove_parser = metrics_subparsers.add_parser( "remove", parents=[parent_parser], description=METRICS_REMOVE_HELP, help=METRICS_REMOVE_HELP, ) metrics_remove_parser.add_argument("path", help="Path to metrics file.") metrics_remove_parser.set_defaults(func=CmdMetricsRemove)
def add_parser(subparsers, parent_parser): from dvc.command.config import parent_config_parser REMOTE_HELP = "Set up and manage data remotes." remote_parser = subparsers.add_parser( "remote", parents=[parent_parser], description=append_doc_link(REMOTE_HELP, "remote"), help=REMOTE_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) remote_subparsers = remote_parser.add_subparsers( dest="cmd", help="Use `dvc remote CMD --help` for " "command-specific help.", ) fix_subparsers(remote_subparsers) REMOTE_ADD_HELP = "Add a new data remote." remote_add_parser = remote_subparsers.add_parser( "add", parents=[parent_config_parser, parent_parser], description=append_doc_link(REMOTE_ADD_HELP, "remote/add"), help=REMOTE_ADD_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) remote_add_parser.add_argument("name", help="Name of the remote") remote_add_parser.add_argument( "url", help="URL. See full list of supported urls at {}".format( format_link("https://man.dvc.org/remote")), ) remote_add_parser.add_argument( "-d", "--default", action="store_true", default=False, help="Set as default remote.", ) remote_add_parser.add_argument( "-f", "--force", action="store_true", default=False, help="Force overwriting existing configs", ) remote_add_parser.set_defaults(func=CmdRemoteAdd) REMOTE_DEFAULT_HELP = "Set/unset the default data remote." remote_default_parser = remote_subparsers.add_parser( "default", parents=[parent_config_parser, parent_parser], description=append_doc_link(REMOTE_DEFAULT_HELP, "remote/default"), help=REMOTE_DEFAULT_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) remote_default_parser.add_argument("name", nargs="?", help="Name of the remote.") remote_default_parser.add_argument( "-u", "--unset", action="store_true", default=False, help="Unset default remote.", ) remote_default_parser.set_defaults(func=CmdRemoteDefault) REMOTE_MODIFY_HELP = "Modify the configuration of a data remote." remote_modify_parser = remote_subparsers.add_parser( "modify", parents=[parent_config_parser, parent_parser], description=append_doc_link(REMOTE_MODIFY_HELP, "remote/modify"), help=REMOTE_MODIFY_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) remote_modify_parser.add_argument("name", help="Name of the remote.") remote_modify_parser.add_argument("option", help="Name of the option to modify.") remote_modify_parser.add_argument("value", nargs="?", help="(optional) Value of the option.") remote_modify_parser.add_argument( "-u", "--unset", default=False, action="store_true", help="Unset option.", ) remote_modify_parser.set_defaults(func=CmdRemoteModify) REMOTE_LIST_HELP = "List all available data remotes." remote_list_parser = remote_subparsers.add_parser( "list", parents=[parent_config_parser, parent_parser], description=append_doc_link(REMOTE_LIST_HELP, "remote/list"), help=REMOTE_LIST_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) remote_list_parser.set_defaults(func=CmdRemoteList) REMOTE_REMOVE_HELP = "Remove a data remote." remote_remove_parser = remote_subparsers.add_parser( "remove", parents=[parent_config_parser, parent_parser], description=append_doc_link(REMOTE_REMOVE_HELP, "remote/remove"), help=REMOTE_REMOVE_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) remote_remove_parser.add_argument("name", help="Name of the remote to remove.") remote_remove_parser.set_defaults(func=CmdRemoteRemove) REMOTE_RENAME_HELP = "Rename a DVC remote" remote_rename_parser = remote_subparsers.add_parser( "rename", parents=[parent_config_parser, parent_parser], description=append_doc_link(REMOTE_RENAME_HELP, "remote/rename"), help=REMOTE_RENAME_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) remote_rename_parser.add_argument("name", help="Remote to be renamed") remote_rename_parser.add_argument("new", help="New name of the remote") remote_rename_parser.set_defaults(func=CmdRemoteRename)
def add_parser(subparsers, parent_parser): METRICS_HELP = "Commands to display and compare metrics." metrics_parser = subparsers.add_parser( "metrics", parents=[parent_parser], description=append_doc_link(METRICS_HELP, "metrics"), help=METRICS_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) metrics_subparsers = metrics_parser.add_subparsers( dest="cmd", help="Use `dvc metrics CMD --help` to display command-specific help.", ) fix_subparsers(metrics_subparsers) METRICS_SHOW_HELP = "Print metrics, with optional formatting." metrics_show_parser = metrics_subparsers.add_parser( "show", parents=[parent_parser], description=append_doc_link(METRICS_SHOW_HELP, "metrics/show"), help=METRICS_SHOW_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) metrics_show_parser.add_argument( "targets", nargs="*", help=("Limit command scope to these metrics files. Using -R, " "directories to search metrics files in can also be given."), ).complete = completion.FILE metrics_show_parser.add_argument( "-a", "--all-branches", action="store_true", default=False, help="Show metrics for all branches.", ) metrics_show_parser.add_argument( "-T", "--all-tags", action="store_true", default=False, help="Show metrics for all tags.", ) metrics_show_parser.add_argument( "--all-commits", action="store_true", default=False, help="Show metrics for all commits.", ) metrics_show_parser.add_argument( "--show-json", action="store_true", default=False, help="Show output in JSON format.", ) metrics_show_parser.add_argument( "-R", "--recursive", action="store_true", default=False, help=("If any target is a directory, recursively search and process " "metrics files."), ) metrics_show_parser.set_defaults(func=CmdMetricsShow) METRICS_DIFF_HELP = ( "Show changes in metrics between commits in the DVC repository, or " "between a commit and the workspace.") metrics_diff_parser = metrics_subparsers.add_parser( "diff", parents=[parent_parser], description=append_doc_link(METRICS_DIFF_HELP, "metrics/diff"), help=METRICS_DIFF_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) metrics_diff_parser.add_argument( "a_rev", nargs="?", help="Old Git commit to compare (defaults to HEAD)") metrics_diff_parser.add_argument( "b_rev", nargs="?", help="New Git commit to compare (defaults to the current workspace)", ) metrics_diff_parser.add_argument( "--targets", nargs="*", help=("Limit command scope to these metrics files. Using -R, " "directories to search metrics files in can also be given."), metavar="<paths>", ).complete = completion.FILE metrics_diff_parser.add_argument( "-R", "--recursive", action="store_true", default=False, help=("If any target is a directory, recursively search and process " "metrics files."), ) metrics_diff_parser.add_argument( "--all", action="store_true", default=False, help="Show unchanged metrics as well.", ) metrics_diff_parser.add_argument( "--show-json", action="store_true", default=False, help="Show output in JSON format.", ) metrics_diff_parser.add_argument( "--show-md", action="store_true", default=False, help="Show tabulated output in the Markdown format (GFM).", ) metrics_diff_parser.add_argument( "--no-path", action="store_true", default=False, help="Don't show metric path.", ) metrics_diff_parser.add_argument( "--precision", type=int, help=("Round metrics to `n` digits precision after the decimal point. " f"Rounds to {DEFAULT_PRECISION} digits by default."), metavar="<n>", ) metrics_diff_parser.set_defaults(func=CmdMetricsDiff)
def add_parser(subparsers, parent_parser): PARAMS_HELP = "Commands to display params." params_parser = subparsers.add_parser( "params", parents=[parent_parser], description=append_doc_link(PARAMS_HELP, "params"), help=PARAMS_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) params_subparsers = params_parser.add_subparsers( dest="cmd", help="Use `dvc params CMD --help` to display command-specific help.", ) fix_subparsers(params_subparsers) PARAMS_DIFF_HELP = ( "Show changes in params between commits in the DVC repository, or " "between a commit and the workspace.") params_diff_parser = params_subparsers.add_parser( "diff", parents=[parent_parser], description=append_doc_link(PARAMS_DIFF_HELP, "params/diff"), help=PARAMS_DIFF_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) params_diff_parser.add_argument( "a_rev", nargs="?", help="Old Git commit to compare (defaults to HEAD)") params_diff_parser.add_argument( "b_rev", nargs="?", help=("New Git commit to compare (defaults to the current workspace)"), ) params_diff_parser.add_argument( "--targets", nargs="*", help=("Specific params file(s) to compare " "(even if not found as `params` in `dvc.yaml`). " "Shows all tracked params by default."), metavar="<paths>", ).complete = completion.FILE params_diff_parser.add_argument( "--all", action="store_true", default=False, help="Show unchanged params as well.", ) params_diff_parser.add_argument( "--deps", action="store_true", default=False, help="Show only params that are stage dependencies.", ) params_diff_parser.add_argument( "--json", "--show-json", action="store_true", default=False, help="Show output in JSON format.", ) params_diff_parser.add_argument( "--md", "--show-md", action="store_true", default=False, dest="markdown", help="Show tabulated output in the Markdown format (GFM).", ) params_diff_parser.add_argument( "--no-path", action="store_true", default=False, help="Don't show params path.", ) params_diff_parser.set_defaults(func=CmdParamsDiff)
def add_parser(subparsers, parent_parser): EXPERIMENTS_HELP = "Commands to run and compare experiments." experiments_parser = subparsers.add_parser( "experiments", parents=[parent_parser], aliases=["exp"], description=append_doc_link(EXPERIMENTS_HELP, "exp"), formatter_class=argparse.RawDescriptionHelpFormatter, help=EXPERIMENTS_HELP, ) experiments_subparsers = experiments_parser.add_subparsers( dest="cmd", help="Use `dvc experiments CMD --help` to display " "command-specific help.", ) fix_subparsers(experiments_subparsers) EXPERIMENTS_SHOW_HELP = "Print experiments." experiments_show_parser = experiments_subparsers.add_parser( "show", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_SHOW_HELP, "exp/show"), help=EXPERIMENTS_SHOW_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_show_parser.add_argument( "-a", "--all-branches", action="store_true", default=False, help="Show experiments derived from the tip of all Git branches.", ) experiments_show_parser.add_argument( "-T", "--all-tags", action="store_true", default=False, help="Show experiments derived from all Git tags.", ) experiments_show_parser.add_argument( "-A", "--all-commits", action="store_true", default=False, help="Show experiments derived from all Git commits.", ) experiments_show_parser.add_argument( "-n", "--num", type=int, default=1, dest="num", metavar="<num>", help="Show the last `num` commits from HEAD.", ) experiments_show_parser.add_argument( "--no-pager", action="store_true", default=False, help="Do not pipe output into a pager.", ) experiments_show_parser.add_argument( "--include-metrics", action="append", default=[], help="Include the specified metrics in output table.", metavar="<metrics_list>", ) experiments_show_parser.add_argument( "--exclude-metrics", action="append", default=[], help="Exclude the specified metrics from output table.", metavar="<metrics_list>", ) experiments_show_parser.add_argument( "--include-params", action="append", default=[], help="Include the specified params in output table.", metavar="<params_list>", ) experiments_show_parser.add_argument( "--exclude-params", action="append", default=[], help="Exclude the specified params from output table.", metavar="<params_list>", ) experiments_show_parser.add_argument( "--param-deps", action="store_true", default=False, help="Show only params that are stage dependencies.", ) experiments_show_parser.add_argument( "--sort-by", help="Sort related experiments by the specified metric or param.", metavar="<metric/param>", ) experiments_show_parser.add_argument( "--sort-order", help="Sort order to use with --sort-by.", choices=("asc", "desc"), default="asc", ) experiments_show_parser.add_argument( "--no-timestamp", action="store_true", default=False, help="Do not show experiment timestamps.", ) experiments_show_parser.add_argument( "--sha", action="store_true", default=False, help="Always show git commit SHAs instead of branch/tag names.", ) experiments_show_parser.add_argument( "--show-json", action="store_true", default=False, help="Print output in JSON format instead of a human-readable table.", ) experiments_show_parser.add_argument( "--precision", type=int, help=("Round metrics/params to `n` digits precision after the decimal " f"point. Rounds to {DEFAULT_PRECISION} digits by default."), metavar="<n>", ) experiments_show_parser.set_defaults(func=CmdExperimentsShow) EXPERIMENTS_APPLY_HELP = ( "Apply the changes from an experiment to your workspace.") experiments_apply_parser = experiments_subparsers.add_parser( "apply", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_APPLY_HELP, "exp/apply"), help=EXPERIMENTS_APPLY_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_apply_parser.add_argument( "--no-force", action="store_false", dest="force", help="Fail if this command would overwrite conflicting changes.", ) experiments_apply_parser.add_argument( "experiment", help="Experiment to be applied.").complete = completion.EXPERIMENT experiments_apply_parser.set_defaults(func=CmdExperimentsApply) EXPERIMENTS_DIFF_HELP = ( "Show changes between experiments in the DVC repository.") experiments_diff_parser = experiments_subparsers.add_parser( "diff", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_DIFF_HELP, "exp/diff"), help=EXPERIMENTS_DIFF_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_diff_parser.add_argument( "a_rev", nargs="?", help="Old experiment to compare (defaults to HEAD)" ).complete = completion.EXPERIMENT experiments_diff_parser.add_argument( "b_rev", nargs="?", help="New experiment to compare (defaults to the current workspace)", ).complete = completion.EXPERIMENT experiments_diff_parser.add_argument( "--all", action="store_true", default=False, help="Show unchanged metrics/params as well.", ) experiments_diff_parser.add_argument( "--param-deps", action="store_true", default=False, help="Show only params that are stage dependencies.", ) experiments_diff_parser.add_argument( "--show-json", action="store_true", default=False, help="Show output in JSON format.", ) experiments_diff_parser.add_argument( "--show-md", action="store_true", default=False, help="Show tabulated output in the Markdown format (GFM).", ) experiments_diff_parser.add_argument( "--old", action="store_true", default=False, help="Show old metric/param value.", ) experiments_diff_parser.add_argument( "--no-path", action="store_true", default=False, help="Don't show metric/param path.", ) experiments_diff_parser.add_argument( "--precision", type=int, help=("Round metrics/params to `n` digits precision after the decimal " f"point. Rounds to {DEFAULT_PRECISION} digits by default."), metavar="<n>", ) experiments_diff_parser.set_defaults(func=CmdExperimentsDiff) EXPERIMENTS_RUN_HELP = ( "Reproduce complete or partial experiment pipelines.") experiments_run_parser = experiments_subparsers.add_parser( "run", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_RUN_HELP, "exp/run"), help=EXPERIMENTS_RUN_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) _add_run_common(experiments_run_parser) experiments_run_parser.add_argument( "-r", "--rev", type=str, dest="checkpoint_resume", help=("Continue the specified checkpoint experiment. Can only be used " "in conjunction with --queue or --temp."), metavar="<experiment_rev>", ).complete = completion.EXPERIMENT experiments_run_parser.add_argument( "--reset", action="store_true", help="Reset existing checkpoints and restart the experiment.", ) experiments_run_parser.set_defaults(func=CmdExperimentsRun) EXPERIMENTS_GC_HELP = "Garbage collect unneeded experiments." EXPERIMENTS_GC_DESCRIPTION = ( "Removes all experiments which are not derived from the specified" "Git revisions.") experiments_gc_parser = experiments_subparsers.add_parser( "gc", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_GC_DESCRIPTION, "exp/gc"), help=EXPERIMENTS_GC_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_gc_parser.add_argument( "-w", "--workspace", action="store_true", default=False, help="Keep experiments derived from the current workspace.", ) experiments_gc_parser.add_argument( "-a", "--all-branches", action="store_true", default=False, help="Keep experiments derived from the tips of all Git branches.", ) experiments_gc_parser.add_argument( "-T", "--all-tags", action="store_true", default=False, help="Keep experiments derived from all Git tags.", ) experiments_gc_parser.add_argument( "-A", "--all-commits", action="store_true", default=False, help="Keep experiments derived from all Git commits.", ) experiments_gc_parser.add_argument( "--queued", action="store_true", default=False, help=("Keep queued experiments (experiments run queue will be cleared " "by default)."), ) experiments_gc_parser.add_argument( "-f", "--force", action="store_true", default=False, help="Force garbage collection - automatically agree to all prompts.", ) experiments_gc_parser.set_defaults(func=CmdExperimentsGC) EXPERIMENTS_BRANCH_HELP = "Promote an experiment to a Git branch." experiments_branch_parser = experiments_subparsers.add_parser( "branch", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_BRANCH_HELP, "exp/branch"), help=EXPERIMENTS_BRANCH_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_branch_parser.add_argument("experiment", help="Experiment to be promoted.") experiments_branch_parser.add_argument("branch", help="Git branch name to use.") experiments_branch_parser.set_defaults(func=CmdExperimentsBranch) EXPERIMENTS_LIST_HELP = "List local and remote experiments." experiments_list_parser = experiments_subparsers.add_parser( "list", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_LIST_HELP, "exp/list"), help=EXPERIMENTS_LIST_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_list_parser.add_argument( "--rev", type=str, default=None, help=( "List experiments derived from the specified revision. " "Defaults to HEAD if neither `--rev` nor `--all` are specified."), metavar="<rev>", ) experiments_list_parser.add_argument("--all", action="store_true", help="List all experiments.") experiments_list_parser.add_argument( "--names-only", action="store_true", help="Only output experiment names (without parent commits).", ) experiments_list_parser.add_argument( "git_remote", nargs="?", default=None, help=("Optional Git remote name or Git URL. If provided, experiments " "from the specified Git repository will be listed instead of " "local experiments."), metavar="[<git_remote>]", ) experiments_list_parser.set_defaults(func=CmdExperimentsList) EXPERIMENTS_PUSH_HELP = "Push a local experiment to a Git remote." experiments_push_parser = experiments_subparsers.add_parser( "push", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_PUSH_HELP, "exp/push"), help=EXPERIMENTS_PUSH_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_push_parser.add_argument( "-f", "--force", action="store_true", help="Replace experiment in the Git remote if it already exists.", ) experiments_push_parser.add_argument( "--no-cache", action="store_false", dest="push_cache", help=("Do not push cached outputs for this experiment to DVC remote " "storage."), ) experiments_push_parser.add_argument( "-r", "--remote", dest="dvc_remote", metavar="<name>", help="Name of the DVC remote to use when pushing cached outputs.", ) experiments_push_parser.add_argument( "-j", "--jobs", type=int, metavar="<number>", help=( "Number of jobs to run simultaneously when pushing to DVC remote " "storage."), ) experiments_push_parser.add_argument( "--run-cache", action="store_true", default=False, help="Push run history for all stages.", ) experiments_push_parser.add_argument( "git_remote", help="Git remote name or Git URL.", metavar="<git_remote>", ) experiments_push_parser.add_argument( "experiment", help="Experiment to push.", metavar="<experiment>").complete = completion.EXPERIMENT experiments_push_parser.set_defaults(func=CmdExperimentsPush) EXPERIMENTS_PULL_HELP = "Pull an experiment from a Git remote." experiments_pull_parser = experiments_subparsers.add_parser( "pull", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_PULL_HELP, "exp/pull"), help=EXPERIMENTS_PULL_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_pull_parser.add_argument( "-f", "--force", action="store_true", help="Replace local experiment already exists.", ) experiments_pull_parser.add_argument( "--no-cache", action="store_false", dest="pull_cache", help=("Do not pull cached outputs for this experiment from DVC remote " "storage."), ) experiments_pull_parser.add_argument( "-r", "--remote", dest="dvc_remote", metavar="<name>", help="Name of the DVC remote to use when pulling cached outputs.", ) experiments_pull_parser.add_argument( "-j", "--jobs", type=int, metavar="<number>", help=("Number of jobs to run simultaneously when pulling from DVC " "remote storage."), ) experiments_pull_parser.add_argument( "--run-cache", action="store_true", default=False, help="Pull run history for all stages.", ) experiments_pull_parser.add_argument( "git_remote", help="Git remote name or Git URL.", metavar="<git_remote>", ) experiments_pull_parser.add_argument("experiment", help="Experiment to pull.", metavar="<experiment>") experiments_pull_parser.set_defaults(func=CmdExperimentsPull) EXPERIMENTS_REMOVE_HELP = "Remove local experiments." experiments_remove_parser = experiments_subparsers.add_parser( "remove", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_REMOVE_HELP, "exp/remove"), help=EXPERIMENTS_REMOVE_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_remove_parser.add_argument( "--queue", action="store_true", help="Remove all queued experiments.") experiments_remove_parser.add_argument( "experiment", nargs="*", help="Experiments to remove.", metavar="<experiment>", ) experiments_remove_parser.set_defaults(func=CmdExperimentsRemove)
def add_parser(subparsers, parent_parser): METRICS_HELP = "Commands to add, manage, collect and display metrics." metrics_parser = subparsers.add_parser( "metrics", parents=[parent_parser], description=append_doc_link(METRICS_HELP, "metrics"), help=METRICS_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) metrics_subparsers = metrics_parser.add_subparsers( dest="cmd", help="Use dvc metrics CMD --help to display command-specific help.", ) fix_subparsers(metrics_subparsers) METRICS_SHOW_HELP = "Output metric values." metrics_show_parser = metrics_subparsers.add_parser( "show", parents=[parent_parser], description=append_doc_link(METRICS_SHOW_HELP, "metrics/show"), help=METRICS_SHOW_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) metrics_show_parser.add_argument( "targets", nargs="*", help="Metric files or directories (see -R) to show " "(leave empty to display all)", ) metrics_show_parser.add_argument( "-t", "--type", help=("Type of metrics (json/tsv/htsv/csv/hcsv). " "It can be detected by the file extension automatically. " "Unsupported types will be treated as raw."), ) metrics_show_parser.add_argument("-x", "--xpath", help="json/tsv/htsv/csv/hcsv path.") metrics_show_parser.add_argument( "-a", "--all-branches", action="store_true", default=False, help="Show metrics for all branches.", ) metrics_show_parser.add_argument( "-T", "--all-tags", action="store_true", default=False, help="Show metrics for all tags.", ) metrics_show_parser.add_argument( "-R", "--recursive", action="store_true", default=False, help=("If any target is a directory, recursively search and process " "metric files."), ) metrics_show_parser.set_defaults(func=CmdMetricsShow) METRICS_ADD_HELP = "Tag file as a metric file." metrics_add_parser = metrics_subparsers.add_parser( "add", parents=[parent_parser], description=append_doc_link(METRICS_ADD_HELP, "metrics/add"), help=METRICS_ADD_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) metrics_add_parser.add_argument( "-t", "--type", help="Type of metrics (raw/json/tsv/htsv/csv/hcsv).") metrics_add_parser.add_argument("-x", "--xpath", help="json/tsv/htsv/csv/hcsv path.") metrics_add_parser.add_argument("path", help="Path to a metric file.") metrics_add_parser.set_defaults(func=CmdMetricsAdd) METRICS_MODIFY_HELP = "Modify metric file options." metrics_modify_parser = metrics_subparsers.add_parser( "modify", parents=[parent_parser], description=append_doc_link(METRICS_MODIFY_HELP, "metrics/modify"), help=METRICS_MODIFY_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) metrics_modify_parser.add_argument( "-t", "--type", help="Type of metrics (raw/json/tsv/htsv/csv/hcsv).") metrics_modify_parser.add_argument("-x", "--xpath", help="json/tsv/htsv/csv/hcsv path.") metrics_modify_parser.add_argument("path", help="Path to a metric file.") metrics_modify_parser.set_defaults(func=CmdMetricsModify) METRICS_REMOVE_HELP = "Remove files's metric tag." metrics_remove_parser = metrics_subparsers.add_parser( "remove", parents=[parent_parser], description=append_doc_link(METRICS_REMOVE_HELP, "metrics/remove"), help=METRICS_REMOVE_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) metrics_remove_parser.add_argument("path", help="Path to a metric file.") metrics_remove_parser.set_defaults(func=CmdMetricsRemove)
def add_parser(subparsers, parent_parser): STAGES_HELP = "Commands to list and create stages." stage_parser = subparsers.add_parser( "stage", parents=[parent_parser], description=append_doc_link(STAGES_HELP, "stage"), help=STAGES_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) stage_subparsers = stage_parser.add_subparsers( dest="cmd", help="Use `dvc stage CMD --help` to display command-specific help.", ) fix_subparsers(stage_subparsers) STAGE_ADD_HELP = "Create stage" stage_add_parser = stage_subparsers.add_parser( "add", parents=[parent_parser], description=append_doc_link(STAGE_ADD_HELP, "stage/add"), help=STAGE_ADD_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) stage_add_parser.add_argument("name", help="Name of the stage to add") stage_add_parser.add_argument( "-c", "--command", action="append", default=[], dest="cmd", help="Command to execute.", required=True, ) _add_common_args(stage_add_parser) stage_add_parser.set_defaults(func=CmdStageAdd) STAGE_LIST_HELP = "List stages." stage_list_parser = stage_subparsers.add_parser( "list", parents=[parent_parser], description=append_doc_link(STAGE_LIST_HELP, "stage/list"), help=STAGE_LIST_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) stage_list_parser.add_argument( "targets", nargs="*", default=["dvc.yaml"], help=("Show stages from a dvc.yaml/.dvc file or a directory. " "'dvc.yaml' by default"), ) stage_list_parser.add_argument( "--all", action="store_true", default=False, help="List all of the stages in the repo.", ) stage_list_parser.add_argument( "--fail", action="store_true", default=False, help="Fail immediately if there's an error.", ) stage_list_parser.add_argument( "-R", "--recursive", action="store_true", default=False, help="List all stages inside the specified directory.", ) stage_list_parser.add_argument( "--names-only", action="store_true", default=False, help="List only the name of the stages.", ) stage_list_parser.set_defaults(func=CmdStageList)
def add_parser(subparsers, parent_parser): EXPERIMENTS_HELP = "Commands to display and compare experiments." experiments_parser = subparsers.add_parser( "experiments", parents=[parent_parser], aliases=["exp"], description=append_doc_link(EXPERIMENTS_HELP, "experiments"), formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_subparsers = experiments_parser.add_subparsers( dest="cmd", help="Use `dvc experiments CMD --help` to display " "command-specific help.", ) fix_subparsers(experiments_subparsers) EXPERIMENTS_SHOW_HELP = "Print experiments." experiments_show_parser = experiments_subparsers.add_parser( "show", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_SHOW_HELP, "experiments/show"), help=EXPERIMENTS_SHOW_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_show_parser.add_argument( "-a", "--all-branches", action="store_true", default=False, help="Show metrics for all branches.", ) experiments_show_parser.add_argument( "-T", "--all-tags", action="store_true", default=False, help="Show metrics for all tags.", ) experiments_show_parser.add_argument( "--all-commits", action="store_true", default=False, help="Show metrics for all commits.", ) experiments_show_parser.add_argument( "--no-pager", action="store_true", default=False, help="Do not pipe output into a pager.", ) experiments_show_parser.add_argument( "--include-metrics", action="append", default=[], help="Include the specified metrics in output table.", metavar="<metrics_list>", ) experiments_show_parser.add_argument( "--exclude-metrics", action="append", default=[], help="Exclude the specified metrics from output table.", metavar="<metrics_list>", ) experiments_show_parser.add_argument( "--include-params", action="append", default=[], help="Include the specified params in output table.", metavar="<params_list>", ) experiments_show_parser.add_argument( "--exclude-params", action="append", default=[], help="Exclude the specified params from output table.", metavar="<params_list>", ) experiments_show_parser.add_argument( "--sort-by", help="Sort related experiments by the specified metric or param.", metavar="<metric/param>", ) experiments_show_parser.add_argument( "--sort-order", help="Sort order to use with --sort-by.", choices=("asc", "desc"), default="asc", ) experiments_show_parser.add_argument( "--no-timestamp", action="store_true", default=False, help="Do not show experiment timestamps.", ) experiments_show_parser.add_argument( "--sha", action="store_true", default=False, help="Always show git commit SHAs instead of branch/tag names.", ) experiments_show_parser.add_argument( "--show-json", action="store_true", default=False, help="Print output in JSON format instead of a human-readable table.", ) experiments_show_parser.set_defaults(func=CmdExperimentsShow) EXPERIMENTS_CHECKOUT_HELP = "Checkout experiments." experiments_checkout_parser = experiments_subparsers.add_parser( "checkout", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_CHECKOUT_HELP, "experiments/checkout"), help=EXPERIMENTS_CHECKOUT_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_checkout_parser.add_argument( "experiment", help="Checkout this experiment.", ) experiments_checkout_parser.set_defaults(func=CmdExperimentsCheckout) EXPERIMENTS_DIFF_HELP = ( "Show changes between experiments in the DVC repository.") experiments_diff_parser = experiments_subparsers.add_parser( "diff", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_DIFF_HELP, "experiments/diff"), help=EXPERIMENTS_DIFF_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) experiments_diff_parser.add_argument( "a_rev", nargs="?", help="Old experiment to compare (defaults to HEAD)") experiments_diff_parser.add_argument( "b_rev", nargs="?", help="New experiment to compare (defaults to the current workspace)", ) experiments_diff_parser.add_argument( "--all", action="store_true", default=False, help="Show unchanged metrics/params as well.", ) experiments_diff_parser.add_argument( "--show-json", action="store_true", default=False, help="Show output in JSON format.", ) experiments_diff_parser.add_argument( "--show-md", action="store_true", default=False, help="Show tabulated output in the Markdown format (GFM).", ) experiments_diff_parser.add_argument( "--old", action="store_true", default=False, help="Show old metric/param value.", ) experiments_diff_parser.add_argument( "--no-path", action="store_true", default=False, help="Don't show metric/param path.", ) experiments_diff_parser.add_argument( "--precision", type=int, help=("Round metrics/params to `n` digits precision after the decimal " f"point. Rounds to {DEFAULT_PRECISION} digits by default."), metavar="<n>", ) experiments_diff_parser.set_defaults(func=CmdExperimentsDiff) EXPERIMENTS_RUN_HELP = ( "Reproduce complete or partial experiment pipelines.") experiments_run_parser = experiments_subparsers.add_parser( "run", parents=[parent_parser], description=append_doc_link(EXPERIMENTS_RUN_HELP, "experiments/run"), help=EXPERIMENTS_RUN_HELP, formatter_class=argparse.RawDescriptionHelpFormatter, ) # inherit arguments from `dvc repro` add_repro_arguments(experiments_run_parser) experiments_run_parser.add_argument( "--params", action="append", default=[], help="Use the specified param values when reproducing pipelines.", metavar="[<filename>:]<params_list>", ) experiments_run_parser.add_argument( "--queue", action="store_true", default=False, help="Stage this experiment in the run queue for future execution.", ) experiments_run_parser.add_argument( "--run-all", action="store_true", default=False, help="Execute all experiments in the run queue.", ) experiments_run_parser.add_argument( "-j", "--jobs", type=int, help="Run the specified number of experiments at a time in parallel.", metavar="<number>", ) experiments_run_parser.add_argument( "--checkpoint", action="store_true", default=False, help="Reproduce pipelines as a checkpoint experiment.", ) experiments_run_parser.add_argument( "--continue", nargs=1, default=None, dest="checkpoint_continue", help=("Continue from the specified checkpoint experiment" "(implies --checkpoint)."), ) experiments_run_parser.set_defaults(func=CmdExperimentsRun)