google / google/python-fire

Unexpected Completion Behavior

未关闭
#148 5 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
Python
星标
28.2k
派生
1.5k
PR 合并指标
30 天内没有已合并 PR

描述

Consider the following simple example (from the docs)

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

import fire

def add(x, y):
return x + y

if __name__ == '__main__':
fire.Fire(add, name='./add.py')
```

The first command completion shows `add` and the second immediately `--x --y`.

This is confusing, since I would expect to see `X` and after I entered the first number I would expect `Y` or or even `X Y` at the very beginning so I know I have to enter 2 numbers, especially since the Usage shows

```
Usage: ./add.py X Y
./add.py --x X --y Y
```

As far as I can see it is also not possible to distinguish mandatory from optional arguments. In the case above `X` and `Y`are mandatory and I would not expect to see `--x`and `--y`. An optional argument could e.g. be `--modulo`, which would have a default value if not used, but how to distinguish that in the Python code from the other arguments?

贡献指南

打开贡献指南

评估

这个 Issue 还没有评估数据。

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。