Allow to supress output.
- 主要語言
- Python
- 星號
- 28.2k
- 分支
- 1.5k
- PR 合併指標
- 30 天內沒有已合併 PR
描述
I propose we allow to supress output.
```
def Fire(component=None, command=None, name=None, serialize=None, supress_output=False):
...
if not supress_output:
_PrintResult(
component_trace, verbose=component_trace.verbose, serialize=serialize)
```
Why?
Let's try to wrap a function that returns a ```pd.DataFrame``` with ```Fire```:
```
import pandas as pd
from os import PathLike
from fire import Fire
from functools import wraps
def do_stuff_with_df(path: PathLike) -> pd.DataFrame:
df = pd.read_csv(path)
print("***Print inside func***")
# Do stuff here, save .csv and such.
...
# return for usage in other funcs
return df
if __name__ == "__main__":
Fire(do_stuff_with_df)
```
And this is the output.
```
python .\test.py --path dummy.csv
***Print inside func***
NAME
test.py --path dummy.csv - Two-dimensional, size-mutable, potentially heterogeneous tabular data.
SYNOPSIS
test.py --path dummy.csv GROUP | COMMAND | VALUE
DESCRIPTION
Data structure also contains labeled axes (rows and columns).
Arithmetic operations align on both row and column labels. Can be
thought of as a dict-like container for Series objects. The primary
pandas data structure.
(We can scroll down for more!)
...
```
We get a description of pd.DataFrame. And we have to press ```Q``` enter normal terminal again.
That's quite inconvenient. A user would have to create and apply wrapper to not get this description.
貢獻指南
研究方向
從 issue 中所示的 Fire 進入點開始,並重現 pandas.DataFrame 範例。追蹤傳回的物件在哪裡被呈現,然後確認 opt-out 會抑制該自動描述,同時保留包裝函式內列印的輸出。
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- python
- 領域
- cli
- Issue 類型
- 功能
- 難度
- 2/5
- 預估耗時
- 1-3 小時
- 活躍度
- 停滯
- 描述清晰度
- 基本清楚
- 新手友好度
- 48/100