google / google/python-fire

Optional type args are mistyped in help

Đang mở
#508 5 bình luận 0 reaction 0 người được giao Xem trên GitHub
bug
Ngôn ngữ chính
Python
Star
28.2k
Fork
1.5k
Chỉ số merge pull request
Không có pull request nào được merge trong 30 ngày

Mô tả

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.

Hướng dẫn đóng góp

Mở hướng dẫn đóng góp

Đánh giá

Issue này chưa được đánh giá.

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.