Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Allow to supress output.

オープン
#532 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る

まだ誰も着手していません。

評価

難易度
2/5
見積もり時間
1〜3時間
初心者へのやさしさ
48/100
issue の種類
機能追加
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
python
領域
cli

調査の方向性

issue に示されている Fire のエントリポイントから開始し、pandas.DataFrame の例を再現します。返されたオブジェクトがどこでレンダリングされるかを追跡し、その後、オプトアウトによってその自動説明が抑制される一方で、ラップされた関数内で出力された内容は保持されることを確認します。

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
Python
スター
28.2k
フォーク
1.5k
PR マージ指標
30日以内にマージされた PR はありません

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

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

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

google/python-fire のほかの issue

google/python-fire の issue をすべて見る

似ている issue

Python の issue をもっと見る

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

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