-
Notifications
You must be signed in to change notification settings - Fork 1.5k
Open
Description
Description
When a required function argument is not provided via the command line, Python Fire raises a generic TypeError that doesn't clearly indicate which argument is missing or how to provide it.
Current Behavior
$ python my_script.py greet
TypeError: greet() missing 1 required positional argument: 'name'Expected Behavior
A more user-friendly error message that would guide the user:
$ python my_script.py greet
Error: Missing required argument 'name'
Usage: my_script.py greet <name>
Motivation
This would significantly improve the user experience, especially for new users who are unfamiliar with Python tracebacks. Clear error messages are crucial for CLI tools.
Environment
- Python Fire version: 0.7.1
- Python version: 3.11
- OS: macOS
Possible Solution
Catch TypeError exceptions in the argument parsing logic and check if they're related to missing arguments, then provide a more descriptive message with usage hints.
Metadata
Metadata
Assignees
Labels
No labels