multi-line prints in async def main are sometimes mis-indented
評価
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 初心者へのやさしさ
- 35/100
- issue の種類
- バグ
- 明瞭さ
- おおむね明確
- 活発さ
- 停滞
- 技術スタック
- python
- 領域
- testing-qa
調査の方向性
まず、報告にある Python の例で問題を再現し、async def main から生成される複数行の出力に注目します。次に、pytest-examples がキャプチャした例の出力とインデントをどのように処理しているかを追跡します。表示される複数行のプリントが意図したインデントを維持し、周囲の例に影響を与えなければ完了です。
索引モデルが issue の本文から書いたものです。
説明
import asyncio
import time
from pydantic_evals import Case, Dataset
# Create a dataset with multiple test cases
dataset = Dataset(
cases=[
Case(
name=f'case_{i}',
inputs=i,
expected_output=i * 2,
)
for i in range(5)
]
)
async def double_number(input_value: int) -> int:
"""Function that simulates work by sleeping for a second before returning double the input."""
await asyncio.sleep(0.1) # Simulate work
return input_value * 2
async def main():
# Run evaluation with unlimited concurrency
t0 = time.time()
report_default = await dataset.evaluate(double_number)
print(f'Evaluation took less than 0.2s: {time.time() - t0 < 0.2}')
#> Evaluation took less than 0.2s: True
report_default.print()
"""
Evaluation Summary:
double_number
┏━━━━━━━━━━┳━━━━━━━━━━┓
┃ Case ID ┃ Duration ┃
┡━━━━━━━━━━╇━━━━━━━━━━┩
│ case_0 │ 101.0ms │
├──────────┼──────────┤
│ case_1 │ 101.0ms │
├──────────┼──────────┤
│ case_2 │ 101.0ms │
├──────────┼──────────┤
│ case_3 │ 101.0ms │
├──────────┼──────────┤
│ case_4 │ 101.0ms │
├──────────┼──────────┤
│ Averages │ 101.0ms │
└──────────┴──────────┘
"""
# Run evaluation with limited concurrency
t0 = time.time()
report_limited = await dataset.evaluate(double_number, max_concurrency=1)
print(f'Evaluation took more than 0.5s: {time.time() - t0 > 0.5}')
#> Evaluation took more than 0.5s: True
report_limited.print()
"""
Evaluation Summary:
double_number
┏━━━━━━━━━━┳━━━━━━━━━━┓
┃ Case ID ┃ Duration ┃
┡━━━━━━━━━━╇━━━━━━━━━━┩
│ case_0 │ 101.0ms │
├──────────┼──────────┤
│ case_1 │ 101.0ms │
├──────────┼──────────┤
│ case_2 │ 101.0ms │
├──────────┼──────────┤
│ case_3 │ 101.0ms │
├──────────┼──────────┤
│ case_4 │ 101.0ms │
├──────────┼──────────┤
│ Averages │ 101.0ms │
└──────────┴──────────┘
"""
- 主要言語
- Python
- スター
- 181
- フォーク
- 29
- PR マージ指標
- 30日以内にマージされた PR はありません
環境構築
このプロジェクトには開発コンテナ、Dockerfile、コントリビューションガイドがありません。まず README を読み、一般的な手順ははじめてのコントリビューションガイドを参照してください。
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
pydantic/pytest-examples のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 78/100
pydantic/pytest-examples#87 ·
-
Clean up Needed対応中かも @Danipulok が 73 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 84/100
pydantic/pytest-examples#72 · コメント 5 件 ·
-
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
pydantic/pytest-examples#82 ·
-
Feature requrest [I can do it myself if allowed]: Allow configuration of `pytest-examples` from `pyproject.toml`対応中かも @Danipulok が 38 日前に担当しました。 オープン
難易度 3/5 1〜2日 初心者へのやさしさ 64/100
pydantic/pytest-examples#73 · コメント 4 件 ·
-
target_versions are out of date対応中かも @stevenh が 507 日前に担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 45/100
pydantic/pytest-examples#63 · コメント 1 件 ·
pydantic/pytest-examples の issue をすべて見る
似ている issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 62/100
cpp-best-practices/project_validator#267 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
Project-N-E-K-O/N.E.K.O#3725 ·
メンテナーはふだん 1 日以内に返信
-
[Bug] Sending a Telegram message chain twice duplicates mentions対応中かも @123XieC が今日担当しました。 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
AstrBotDevs/AstrBot#11125 ·
メンテナーはふだん 1 日以内に返信
-
backend bug priority: high
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
nooriegarg/ContribIQ#73 ·
メンテナーはふだん 1 日以内に返信
-
bug p3 security
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
メンテナーはふだん 1 日以内に返信