[eval] DRY: drop repeated "winml.modelkit.eval." prefix in _EVALUATOR_REGISTRY
メンテナーはふだん 1 日以内に返信
まだ誰も着手していません。
評価
- 難易度
- 2/5
- 見積もり時間
- 1〜3時間
- 初心者へのやさしさ
- 84/100
- issue の種類
- リファクタリング
- 明瞭さ
- 明確に書かれている
- 活発さ
- 静か
- 技術スタック
- python
調査の方向性
eval/evaluate.py の _EVALUATOR_REGISTRY と get_evaluator_class から始め、続いて tests/unit/eval/test_eval.py::test_registered_task_returns_class を読みます。繰り返されている package prefix なしで registry のエントリを保存し、import 時に単一の prefix を追加し、module path の assertion を更新して、動作が変わっていないことを確認するために対象の test を実行します。
索引モデルが issue の本文から書いたものです。
説明
Component: eval
Type: cleanup / quality
Context
eval/evaluate.py::_EVALUATOR_REGISTRY maps task -> "module_path:ClassName", e.g.:
"image-feature-extraction":
"winml.modelkit.eval.image_feature_extraction_evaluator:WinMLImageFeatureExtractionEvaluator",
The winml.modelkit.eval. prefix is repeated for all 15 entries. Because the full single-line entries exceed the 100-char limit, the dict is currently wrapped in # fmt: off / # fmt: on to preserve the readable key/value-per-line layout (otherwise ruff-format collapses each entry onto one >100-char line, which trips E501). Introduced/surfaced in #807.
Proposed cleanup
- Store the relative
"<module>:<ClassName>"(drop the repeated package prefix). - Prepend
winml.modelkit.eval.once inget_evaluator_class:importlib.import_module(f"winml.modelkit.eval.{module_path}"). - Most entries then fit on a single line naturally; only the 3 longest (
image-feature-extraction,zero-shot-classification,zero-shot-image-classification) still need# noqa: E501. - This removes the
# fmt: off/# fmt: onblock.
Note
tests/unit/eval/test_eval.py::test_registered_task_returns_class asserts cls.__module__ == module_path; update it to compare against the full prefixed path.
Out of scope
Behavior is unchanged — purely a storage-format/readability cleanup.
- 主要言語
- Python
- スター
- 40
- フォーク
- 11
- 平均マージ
- 19時間 32分
- マージ済み PR(30日)
- 51
環境構築
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
microsoft/winml-cli のほかの issue
-
bug P1
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
メンテナーはふだん 1 日以内に返信
-
bug P1 triaged
難易度 2/5 1〜3時間 初心者へのやさしさ 72/100
microsoft/winml-cli#1097 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
bug P1
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
メンテナーはふだん 1 日以内に返信
-
bug P1
難易度 3/5 1〜2日 初心者へのやさしさ 65/100
メンテナーはふだん 1 日以内に返信
-
bug P1
難易度 4/5 3〜5日 初心者へのやさしさ 45/100
メンテナーはふだん 1 日以内に返信
microsoft/winml-cli の issue をすべて見る
似ている issue
-
customer-reported
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
Azure/azure-cli#34150 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
community-request
難易度 1/5 1時間未満 初心者へのやさしさ 95/100
NVIDIA-NeMo/Curator#2464 · コメント 1 件 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
WeblateOrg/translation-finder#1099 ·
メンテナーはふだん 1 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 68/100
trezor/trezor-firmware#7997 ·
メンテナーはふだん 2 日以内に返信
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
メンテナーはふだん 1 日以内に返信