feat : Add CLI Command for Uploading Resources to OpenML
Les mainteneurs répondent en général sous 2 jours
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 3/5
- Temps estimé
- 1-2 jours
- Accessibilité débutants
- 35/100
Piste de recherche
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.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- Python
- Étoiles
- 366
- Forks
- 306
- Merge moyen
- 2 j 9 h
- PR mergées (30 j)
- 4
Préparer son environnement
- Aucun Dockerfile ni fichier Docker Compose
- Propose un modèle de pull request
- Lire le guide de contribution
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de openml/openml-python
-
[BUG] create_task() hardcodes task_type="None" instead of inferring type string from TaskTypePeut-être pris @shellyco-code l’a pris il y a 4 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 80/100
openml/openml-python#1766 ·
Les mainteneurs répondent en général sous 2 jours
-
Enhancement: Add missing **kwargs support to list_setups and list_evaluationsPeut-être pris @shellyco-code l’a pris il y a 11 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 84/100
openml/openml-python#1753 · 1 commentaire ·
Les mainteneurs répondent en général sous 2 jours
-
[ENH] list_estimation_procedures() should include the procedure IDsPeut-être pris @Jayant-kernel l’a pris il y a 15 jours. Ouverte
Difficulté 2/5 1-3 heures Accessibilité débutants 70/100
openml/openml-python#1750 · 3 commentaires · 1 personne assignée ·
Les mainteneurs répondent en général sous 2 jours
-
[DOC] Update documentation for running tests with local servicesPeut-être pris @nishtha-agarwal-211 l’a pris il y a 214 jours. OuverteDocumentation Good First Issue
Difficulté 2/5 1-3 heures Accessibilité débutants 74/100
openml/openml-python#1708 · 8 commentaires ·
Les mainteneurs répondent en général sous 2 jours
-
[MNT] Add Missing Assertions to Run Function TestsPeut-être pris @Akarshkushwaha l’a pris il y a 234 jours. OuverteGood First Issue module:Run testing
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
openml/openml-python#1646 · 9 commentaires · 3 réactions ·
Les mainteneurs répondent en général sous 2 jours
Toutes les issues de openml/openml-python
Issues similaires
-
area: desktop area: website priority: P2 type: feature
Difficulté 2/5 1-3 heures Accessibilité débutants 62/100
appandflow/stim#3411 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 Moins d'une heure Accessibilité débutants 88/100
baptistehamon/lsapy#185 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 82/100
PolicyEngine/policyengine-us#10073 ·
Les mainteneurs répondent en général sous 2 jours
-
Difficulté 2/5 1-3 heures Accessibilité débutants 72/100
syedhamidali/radarx#277 ·
Les mainteneurs répondent en général sous 1 jour
-
bug
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Arekkazu/sgpmp-backend#549 ·
Les mainteneurs répondent en général sous 1 jour