feat : Add CLI Command for Uploading Resources to OpenML
まだ誰も着手していません。
評価
調査の方向性
Start with openml/cli.py and the existing CLI patterns, then read tests/test_openml/test_cli.py for the upload command coverage. Verify the dataset, flow, and run subcommands handle their documented arguments, mocked API calls, authentication errors, and CLI help text as described.
索引モデルが issue の本文から書いたものです。
説明
Metadata
New Tests Added: Yes
Documentation Updated: No (CLI help text serves as documentation)
Change Log Entry: "Add CLI commands for uploading resources: openml upload dataset, openml upload flow, and openml upload run"
Details
What does this PR implement/fix?
This PR adds new CLI subcommands under openml upload to enable users to upload resources directly from the command line:
openml upload dataset <file_path> - Upload a dataset from ARFF or CSV file
openml upload flow <file_path> - Upload a flow from a serialized model file
openml upload run <run_file> - Upload a run from a run XML file
Why is this change necessary? What is the problem it solves?
Currently, users must write Python code to upload resources to OpenML. This creates friction for users who want to quickly share datasets, models, or experimental results. Adding CLI commands makes it easier to upload resources directly from the command line, especially useful for automation and scripting scenarios.
This directly addresses the ESoC 2025 goal of "Improving user experience in OpenML" by lowering the barrier for contribution.
How can I reproduce the issue this PR is solving and its solution?
Before (requires Python code):
import openml
dataset = openml.datasets.create_dataset(
name="My Dataset",
description="Dataset description",
data_file="data.arff"
)
dataset.publish()
After (CLI commands):
# Upload a dataset
openml upload dataset data.arff --name "My Dataset" --description "Dataset description"
# Upload a flow
openml upload flow model.pkl --name "My Model" --description "Model description"
# Upload a run from file
openml upload run run_results.xml
Implementation Details:
Added upload functions in openml/cli.py: upload_dataset(), upload_flow(), and upload_run()
Integrated into main CLI parser with proper argument handling
Added comprehensive test suite in tests/test_openml/test_cli.py
Uses existing upload functions from respective modules
Requires API key to be configured
All tests use mocked API calls
Any other comments?
All pre-commit hooks pass (ruff, mypy, formatting)
No breaking changes
Follows project code style and patterns
Includes proper error handling for authentication
Ready for review
- 主要言語
- Python
- スター
- 361
- フォーク
- 296
- PR マージ指標
- 30日以内にマージされた PR はありません
コントリビューションガイド
はじめの一歩
- issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
- 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
- リポジトリをフォークし、ブランチを切って変更します。
- issue 番号を参照したプルリクエストを送ります。
openml/openml-python のほかの issue
-
難易度 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 · コメント 6 件 ·
-
Good First Issue module:Run testing
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
openml/openml-python#1646 · コメント 7 件 · リアクション 2 件 ·
-
Good First Issue module:Data testing
難易度 2/5 1〜3時間 初心者へのやさしさ 82/100
openml/openml-python#1644 · コメント 4 件 ·
openml/openml-python の issue をすべて見る
似ている issue
-
essnmx good first issue
難易度 1/5 1時間未満 初心者へのやさしさ 95/100
-
[Feature] 奇物选择添加优先级 オープン
難易度 2/5 1〜3時間 初心者へのやさしさ 65/100
syfoud/Simulated_Scepter#174 ·
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
Giskard-AI/giskard-oss#2840 · コメント 1 件 ·
-
A claim comment carrying the issue number is silently declined while the workflow reports success オープンarea: repo bug perceived difficulty: 2
難易度 2/5 1〜3時間 初心者へのやさしさ 70/100
-
難易度 2/5 1〜3時間 初心者へのやさしさ 75/100
yeti-platform/yeti#1380 ·