python-fire icon indicating copy to clipboard operation
python-fire copied to clipboard

Improve error message when required argument is missing

Open markrahimi opened this issue 3 months ago • 0 comments

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.

markrahimi avatar Nov 14 '25 11:11 markrahimi