Skip to main content

Cli Utilities

CLI Utilities - focused on CLI decorators and output utilities.

Overview​

This helper handles: - CLI output formatting (echo functions) - JSON mode support - Error handling decorators - Typer integration utilities

Classes​

CliUtilities​

Helper for CLI operations and output formatting.

Methods​

confirm_action​
confirm_action(message: str, default: bool = False, auto_confirm: bool = False) -> bool

Confirm an action with the user.

Parameters:

  • message (str, required) - Confirmation message
  • default (bool, optional) - Default response if user just presses Enter - Default: False
  • auto_confirm (bool, optional) - If True, automatically confirm without prompting - Default: False

Returns: bool

create_progress_callback​
create_progress_callback(description: str = 'Processing')

Create a progress callback for long-running operations.

Parameters:

  • description (str, optional) - Description of the operation - Default: Processing
echo_debug​
echo_debug(message: str, debug: bool = False) -> None

Echo debug message if debug mode is enabled.

Parameters:

  • message (str, required)
  • debug (bool, optional) - Default: False
echo_error​
echo_error(message: str, json_mode: bool = False, quiet: bool = False) -> None

Echo error message.

Parameters:

  • message (str, required)
  • json_mode (bool, optional) - Default: False
  • quiet (bool, optional) - Default: False
echo_info​
echo_info(message: str, quiet: bool = False, json_mode: bool = False) -> None

Echo informational message.

Parameters:

  • message (str, required)
  • quiet (bool, optional) - Default: False
  • json_mode (bool, optional) - Default: False
echo_success​
echo_success(message: str, quiet: bool = False, json_mode: bool = False) -> None

Echo success message.

Parameters:

  • message (str, required)
  • quiet (bool, optional) - Default: False
  • json_mode (bool, optional) - Default: False
echo_warning​
echo_warning(message: str, quiet: bool = False, json_mode: bool = False) -> None

Echo warning message.

Parameters:

  • message (str, required)
  • quiet (bool, optional) - Default: False
  • json_mode (bool, optional) - Default: False
format_key_value_pairs​
format_key_value_pairs(data: Dict[str, Any], title: Optional[str] = None) -> None

Format and display key-value pairs.

Parameters:

  • data (Dict, required) - Dictionary to display
  • title (Optional, optional) - Optional title
format_table​
format_table(data: list[typing.Dict[str, typing.Any]], columns: Optional[list[str]] = None, title: Optional[str] = None) -> None

Format and display data as a table.

Parameters:

  • data (list, required) - List of dictionaries to display
  • columns (Optional, optional) - Optional list of columns to include
  • title (Optional, optional) - Optional table title
handle_typer_exceptions​
handle_typer_exceptions(func: Callable) -> Callable

Decorator to handle common Typer exceptions gracefully.

Parameters:

  • func (Callable, required) - Function to wrap

Returns: Callable

output_result​
output_result(result: Dict[str, Any], success_message: Optional[str] = None, error_message: Optional[str] = None, json_mode: bool = False, quiet: bool = False) -> None

Output result in appropriate format.

Parameters:

  • result (Dict, required) - Result dictionary
  • success_message (Optional, optional) - Message to show on success
  • error_message (Optional, optional) - Message to show on error
  • json_mode (bool, optional) - Whether to output in JSON format - Default: False
  • quiet (bool, optional) - Whether to suppress output - Default: False
prompt_for_input​
prompt_for_input(message: str, default: Optional[str] = None, hide_input: bool = False, validate_func: Optional[Callable[[str], bool]] = None) -> str

Prompt user for input with validation.

Parameters:

  • message (str, required) - Prompt message
  • default (Optional, optional) - Default value
  • hide_input (bool, optional) - Whether to hide input (for passwords) - Default: False
  • validate_func (Optional, optional) - Optional validation function

Returns: str

Functions​

echo_debug​

echo_debug(message: str, debug: bool = False) -> None

Echo debug message if debug mode is enabled.

Parameters:

  • message (str, required)
  • debug (bool, optional) - Default: False

echo_error​

echo_error(message: str, json_mode: bool = False, quiet: bool = False) -> None

Echo error message.

Parameters:

  • message (str, required)
  • json_mode (bool, optional) - Default: False
  • quiet (bool, optional) - Default: False

echo_info​

echo_info(message: str, quiet: bool = False, json_mode: bool = False) -> None

Echo informational message.

Parameters:

  • message (str, required)
  • quiet (bool, optional) - Default: False
  • json_mode (bool, optional) - Default: False

echo_success​

echo_success(message: str, quiet: bool = False, json_mode: bool = False) -> None

Echo success message.

Parameters:

  • message (str, required)
  • quiet (bool, optional) - Default: False
  • json_mode (bool, optional) - Default: False