Skip to content

misc

argument_description(description, default=MISSING)

Append default value to argument description.

Parameters:

Name Type Description Default
description str

argument description.

required
default Any | None

Argument's default value.

MISSING

Returns:

Type Description
str

The description of the argument.

Source code in m/cli/engine/misc.py
def argument_description(
    description: str,
    default: Any | None = MISSING,
) -> str:
    """Append default value to argument description.

    Args:
        description: argument description.
        default: Argument's default value.

    Returns:
        The description of the argument.
    """
    default = f'(default: {default})' if default is not MISSING else ''
    return f'{description} {default}'.strip()

argument_name(name)

Normalize an argument name.

Parameters:

Name Type Description Default
name str

Name of the argument.

required

Returns:

Type Description
str

Normalized name of the argument.

Source code in m/cli/engine/misc.py
def argument_name(name: str) -> str:
    """Normalize an argument name.

    Args:
        name: Name of the argument.

    Returns:
        Normalized name of the argument.
    """
    cli_arg_name = name.replace('_', '-')
    dashes = '-' if len(cli_arg_name) == 1 else '--'
    return f'{dashes}{cli_arg_name}'

params_count(func)

Compute the number of parameters in a function.

Parameters:

Name Type Description Default
func Callable

The function in question.

required

Returns:

Type Description
int

the number of parameters.

Source code in m/cli/engine/misc.py
def params_count(func: Callable) -> int:
    """Compute the number of parameters in a function.

    Args:
        func: The function in question.

    Returns:
        the number of parameters.
    """
    sig = signature(func)
    return len(sig.parameters)