gaps.cli.cli.make_cli#

make_cli(commands, info=None)[source]#

Create a pipeline CLI to split execution across HPC nodes.

This function generates a CLI for a package based on the input command configurations. Each command configuration is based around a function that is to be executed on one or more nodes.

Parameters:
  • commands (list of command configurations) – List of command configs to convert to click commands. See the CLICommandFromClass or CLICommandFromFunction documentation for a description of the input options. Each command configuration is converted into a subcommand. Any command configuration with project_points in the split_keys argument will get a corresponding collect-{command name} command that collects the outputs of the spatially-distributed command.

  • info (dict, optional) – A dictionary that contains optional info about the calling program to include in the CLI. Allowed keys include:

    namestr

    Name of program to display at the top of the CLI help. This input is optional, but specifying it yields richer documentation for the main CLI command.

    versionstr

    Include program version with a --version CLI option.

    By default, None.

Returns:

click.Group – A group containing the requested subcommands. This can be used as the entrypoint to the package CLI.