Create professional command-line tools in Python with argument parsing, rich output, and interactive features.
Build a Python CLI tool for the following purpose: Tool Purpose: [FILE MANAGEMENT/DATA PROCESSING/DEPLOYMENT/CODE GENERATION/SYSTEM ADMIN] Target Users: [DEVELOPERS/DEVOPS/DATA ANALYSTS/END USERS] Complexity Level: [SIMPLE SINGLE COMMAND/MULTI-COMMAND WITH SUBCOMMANDS] Output Style: [PLAIN TEXT/RICH FORMATTED/JSON/TABLE] Configuration Needs: [NONE/CONFIG FILE/ENV VARS/BOTH] Distribution: [INTERNAL/PYPI/STANDALONE BINARY] Build the CLI tool with: 1. Argument parsing using Click or Typer with type-annotated parameters, help text for every option, sensible defaults, environment variable fallbacks, and command groups for organizing related subcommands logically 2. Rich terminal output using the Rich library for formatted tables, progress bars during long operations, syntax-highlighted code blocks, colored status messages, and spinner animations for async operations 3. Configuration management supporting hierarchical config loading from defaults, config files (TOML or YAML), environment variables, and command-line flags with clear precedence rules and a dedicated config subcommand for viewing and editing settings 4. Error handling with user-friendly error messages that distinguish between user input errors and internal failures, suggest corrections for common mistakes, and provide verbose debug output when a debug flag is enabled 5. Interactive mode with confirmation prompts for destructive operations, multi-select menus for batch operations, password input masking, and a REPL mode for exploratory usage with command history 6. Testing and packaging with Click testing utilities for invoking commands programmatically, snapshot testing for output formatting, entry point configuration in pyproject.toml, and optional PyInstaller bundling for standalone distribution Include shell completion generation, man page output, and version management.
Or press ⌘C to copy