feat: Add CLI Commands for Browsing and Searching OpenML Studies
まだ誰も着手していません。
評価
調査の方向性
Start in openml/cli.py with the existing resource CLI patterns and review tests/test_openml/test_cli.py, including its mocked API calls. Verify the studies list, info, and search commands and their documented filtering, pagination, format, and type options. Done means the command behavior is covered by the test suite and the listed pre-commit checks pass.
索引モデルが issue の本文から書いたものです。
説明
Metadata
New Tests Added: Yes
Documentation Updated: No (CLI help text serves as documentation)
Change Log Entry: "Add CLI commands for browsing and searching OpenML studies: openml studies list, openml studies info, and openml studies search"
Details
What does this PR implement/fix?
This PR adds three new CLI subcommands under openml studies to improve the user experience of the study/benchmark suite catalogue:
openml studies list - List studies with optional filtering (status, uploader, pagination, output format)
openml studies info <study_id> - Display detailed information about a specific study including tasks, datasets, and metadata
openml studies search - Search studies by name/alias with case-insensitive matching
Why is this change necessary? What is the problem it solves?
Currently, users must write Python code to browse or search OpenML studies and benchmark suites, even for simple tasks like listing available studies or finding a specific benchmark. This creates a barrier to entry and makes the study catalogue less accessible. Adding CLI commands allows users to interact with the study catalogue directly from the command line without writing code.
This directly addresses the ESoC 2025 goal of "Improving user experience of the study catalogue in AIoD and OpenML".
How can I reproduce the issue this PR is solving and its solution?
Before (requires Python code):
import openml
studies = openml.study.list_studies(size=10)
for sid in studies:
study = openml.study.get_study(sid)
print(f"{sid}: {study.name}")
After (CLI commands):
# List first 10 studies
openml studies list --size 10
# Search for benchmark suites by name
openml studies search "OpenML-CC18"
# Get detailed info about a study
openml studies info 14
# List studies by a specific uploader
openml studies list --uploader "openml-bot" --format table
# List benchmark suites (studies with main_entity_type='task')
openml studies list --type suite
Implementation Details:
Added three new functions in openml/cli.py: studies_list(), studies_info(), and studies_search()
Integrated into main CLI parser with proper argument handling
Added comprehensive test suite in tests/test_openml/test_cli.py
Uses existing openml.study.list_studies() and openml.study.get_study() functions - no changes to core API
Follows existing CLI patterns (similar to other resource CLI commands)
All tests use mocked API calls to avoid requiring server connections
Any other comments?
All pre-commit hooks pass (ruff, mypy, formatting)
No breaking changes
Follows project code style and patterns
Ready for review
- 主要言語
- Python
- スター
- 361
- フォーク
- 296
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
openml/openml-python のほかの issue
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
openml/openml-python#1750 · コメント 1 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 88/100
openml/openml-python#1749 ·
-
難易度 1/5 1時間未満 初心者へのやさしさ 92/100
openml/openml-python#1746 ·
-
Documentation Good First Issue
難易度 2/5 1〜3時間 初心者へのやさしさ 74/100
openml/openml-python#1708 · コメント 7 件 ·
-
Good First Issue module:Run testing
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
openml/openml-python#1646 · コメント 7 件 · リアクション 2 件 ·
openml/openml-python の issue をすべて見る
似ている issue
-
area: harness bug status: needs-triage
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
Human-Agent-Society/reef#625 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 1/5 1時間未満 初心者へのやさしさ 80/100
learningequality/kolibri#15351 · コメント 2 件 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
-
Name consistency オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
eellak/triplestore#65 · コメント 1 件 ·