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 个 reaction 已指派 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 摘要。