google / google/python-fire

Type information should be visible in help screen

未关闭
#239 1 条评论 4 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
28.2k
派生
1.5k
PR 合并指标
30 天内没有已合并 PR

描述

Function signatures containing typing information should also show this in the help screen. For instance, I would expect the `--help` screen for `def main(arg1: str, arg2=False):` to indicate arg1 is a string type and arg2 is a bool type with default false.

I think the easiest way to make this happen is to:
- _Always_ use type information when available (even if it contradicts the default argument, since this is a developer issue -- not worth hashing out in `fire`).

However, a common programming paradigm is to write something like the following:
```python
def main(arg1: List[str] = None):
if arg1 is None:
arg1 = ['hi', 'there']
```
You can probably follow Pycharm's flow, where they redefine arg1 as Optional[List[str]]. I think this is the only valid case where the provided default doesn't match the type hint.

- Use the type of the default argument if no type information is given
- Provide no type information if both the above are missing.

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。