"""
Module Description: A robust python starter script.
"""
import argparse
import logging
import sys
logging.basicConfig(
level=logging.INFO,
format="%(asctime)s - %(levelname)s - %(message)s",
handlers=[logging.StreamHandler(sys.stdout)]
)
logger = logging.getLogger(__name__)
def parse_arguments():
"""Handle command-line arguments flags."""
parser = argparse.ArgumentParser(description="Description of your CLI tool.")
parser.add_argument(
"-v", "--verbose",
action="store_true",
help="Increase output verbosity."
)
return parser.parse_args()
def main():
"""Main execution block."""
args = parse_arguments()
if args.verbose:
logger.setLevel(logging.DEBUG)
logger.debug("Verbose logging enabled.")
logger.info("Application started successfully.")
if __name__ == "__main__":
try:
main()
except KeyboardInterrupt:
logger.warning("nExecution interrupted by user. Exiting.")
sys.exit(130)
except Exception as e:
logger.critical(f"Unhandled exception: {e}", exc_info=True)
sys.exit(1)