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 messagedefault(bool, optional) - Default response if user just presses Enter - Default:Falseauto_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:Falsequiet(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:Falsejson_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:Falsejson_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:Falsejson_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 displaytitle(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 displaycolumns(Optional, optional) - Optional list of columns to includetitle(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 dictionarysuccess_message(Optional, optional) - Message to show on successerror_message(Optional, optional) - Message to show on errorjson_mode(bool, optional) - Whether to output in JSON format - Default:Falsequiet(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 messagedefault(Optional, optional) - Default valuehide_input(bool, optional) - Whether to hide input (for passwords) - Default:Falsevalidate_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:Falsequiet(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:Falsejson_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:Falsejson_mode(bool, optional) - Default:False