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