Optional type args are mistyped in help
- 主要语言
- Python
- 星标
- 28.2k
- 派生
- 1.5k
- PR 合并指标
- 30 天内没有已合并 PR
描述
Type annotations that use `typing.Optional` are incorrectly documented when showing help.
## Example 1
```python
from typing import Optional
import fire
def main(arg: Optional[str] = 'something'):
"""Do something with arg."""
if __name__ == '__main__':
fire.Fire(main)
```
The corresponding help output is:
```
INFO: Showing help with the command 'firetest.py -- --help'.
NAME
firetest.py - Do something with arg.
SYNOPSIS
firetest.py
DESCRIPTION
Do something with arg.
FLAGS
-a, --arg=ARG
Type: Optional
Default: 'something'
```
**Here, `Type: Optional` is totally incorrect. It should be `Optional[str]`.** My use of `str` is just an example and it can be anything.
## Example 2
```python
from typing import Optional
import fire
def main(arg: Optional[str] = None):
"""Do something with arg."""
if __name__ == '__main__':
fire.Fire(main)
```
The corresponding help output is:
```
INFO: Showing help with the command 'firetest.py -- --help'.
NAME
firetest.py - Do something with arg.
SYNOPSIS
firetest.py
DESCRIPTION
Do something with arg.
FLAGS
-a, --arg=ARG
Type: Optional[Optional]
Default: None
```
**Here, `Type: Optional[Optional]` is even more incorrect. It should be `Optional[str]`.** My use of `str` is just an example and it can be anything.
贡献指南
评估
这个 Issue 还没有评估数据。