Skip to content

Command-line Interface

The command-line interface exposes the main grid_doctor workflows for use in scripts and batch processing environments.

Entry point

cli

Command-line helpers for grid-doctor conversion scripts.

get_parser(name, description=None)

Create a parser preloaded with common grid-doctor options.

Parameters:

Name Type Description Default
name str

Program name shown in --help output.

required
description str | None

Optional one-line program description.

None

Returns:

Type Description
ArgumentParser

Parser configured with common S3 and verbosity arguments.

Examples:

parser = get_parser("convert-icon", description="Build a HEALPix pyramid")
args = parser.parse_args()
Source code in .tox/docs/lib/python3.13/site-packages/grid_doctor/cli/parser.py
def get_parser(name: str, description: str | None = None) -> argparse.ArgumentParser:
    """Create a parser preloaded with common grid-doctor options.

    Parameters
    ----------
    name:
        Program name shown in `--help` output.
    description:
        Optional one-line program description.

    Returns
    -------
    argparse.ArgumentParser
        Parser configured with common S3 and verbosity arguments.

    Examples
    --------
    ```python
    parser = get_parser("convert-icon", description="Build a HEALPix pyramid")
    args = parser.parse_args()
    ```
    """
    parser = argparse.ArgumentParser(
        prog=name,
        description=description,
        formatter_class=ArgFormatter,
    )
    parser.add_argument("--s3-bucket", help="S3 target bucket.", required=True)
    parser.add_argument(
        "--s3-endpoint",
        default="https://s3.eu-dkrz-3.dkrz.cloud",
        help="S3 endpoint URL.",
    )
    parser.add_argument(
        "--s3-credentials-file",
        default=Path.home() / ".s3-credentials.json",
        help="Path to a JSON file with accessKey/secretKey.",
    )
    group = parser.add_mutually_exclusive_group()
    group.add_argument(
        "-v",
        "--verbose",
        action="count",
        default=0,
        help="Increase verbosity with repeated flags such as -v or -vv.",
    )
    return parser

setup_logging_from_args(args, **kwargs)

Initialise logging from parsed CLI arguments.

Parameters:

Name Type Description Default
args Namespace

Parsed arguments containing a verbose attribute.

required
**kwargs Any

Extra keyword arguments forwarded to grid_doctor.setup_logging.

{}
Source code in .tox/docs/lib/python3.13/site-packages/grid_doctor/cli/parser.py
def setup_logging_from_args(args: argparse.Namespace, **kwargs: Any) -> None:
    """Initialise logging from parsed CLI arguments.

    Parameters
    ----------
    args:
        Parsed arguments containing a `verbose` attribute.
    **kwargs:
        Extra keyword arguments forwarded to
        [`grid_doctor.setup_logging`][grid_doctor.log.setup_logging].
    """
    import grid_doctor as gd

    gd.setup_logging(verbosity=args.verbose, **kwargs)