Hacktoberfest 2026:維護者為十月標記出來的 issue,仍然開放、適合新手。 瀏覽 Hacktoberfest issue

Optional type args are mistyped in help

未關閉
#508 5 則留言 0 個 reaction 已指派 0 人 在 GitHub 檢視

還沒有人認領這個 Issue。

評估

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

研究方向

先透過 fire.Fire(main) 重現這兩個範例,並檢查產生的 --help 輸出。追蹤 Optional 註解如何轉換為顯示的型別,然後驗證兩個預設值都會產生預期的 Optional[str] 文字。

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

描述

bug

Type annotations that use typing.Optional are incorrectly documented when showing help.

Example 1

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 <flags>

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

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 <flags>

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.

主要語言
Python
星號
28.2k
分支
1.5k
PR 合併指標
30 天內沒有已合併 PR

貢獻指南

開啟貢獻指南

從這裡開始

  1. 先讀完整個 Issue,再讀專案的貢獻指南。
  2. 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
  3. Fork 儲存庫,在一個分支上完成修改。
  4. 送出 Pull Request,並在描述裡引用這個 Issue 編號。

google/python-fire 的其他 Issue

查看 google/python-fire 的全部 Issue

相似的 Issue

更多 Python Issue

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

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