google / google/python-fire

Improve error message when required argument is missing

未關閉
#633 1 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視
主要語言
Python
星號
28.2k
分支
1.5k
PR 合併指標
30 天內沒有已合併 PR

描述

## 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
```bash
$ 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
```

## 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.

貢獻指南

開啟貢獻指南

研究方向

首先定位 Python Fire 的命令列引數解析邏輯,以及對缺少必要位置引數時 TypeError 例外的處理。重現 greet 範例,接著確認如何取得缺少的引數名稱和使用方式資訊;完成的標準是:命令回報友善的缺少引數錯誤並提供使用方式提示,而不是通用的 traceback。

由索引模型根據 Issue 內容生成。

評估

技術堆疊
python
領域
cli
Issue 類型
功能
難度
4/5
預估耗時
3-5 天
活躍度
停滯
描述清晰度
基本清楚
新手友好度
45/100

把新 issue 寄到你的電子郵件信箱

精選適合新手參與的 GitHub issue 摘要。