google / google/python-fire

Docs don't mention when a class method is considered private v.s public / --help behavior is confusing

オープン
#531 コメント 2 件 リアクション 1 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
28.2k
フォーク
1.5k
PR マージ指標
30日以内にマージされた PR はありません

説明

Here's a MWE:

```python
#!/usr/bin/env python

from fire import Fire

class Example:
def version(self):
return "bla"
def start(self):
print("starting")
def stop(self):
print("stopping")

Fire(Example)
```

Running this script without arguments shows the available commands - OK:

```
NAME
fire-bug.py

SYNOPSIS
fire-bug.py COMMAND

COMMANDS
COMMAND is one of the following:

start

stop

version
```

But the more common (and usually safe) thing to do when a user is being introduced a new command, is to run it with a `--help`. However, `Fire` doesn't behave the same for this argument:

```
INFO: Showing help with the command 'fire-bug.py -- --help'.

NAME
fire-bug.py

SYNOPSIS
fire-bug.py -
```

Unless you use `--verbose` as well. Why is that? This is not trivial for a user to guess, and only reading the docs here led me to this conclusion. Plus, the docs don't mention how to make a class method a "public" method...

コントリビューションガイド

コントリビューションガイドを開く

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。