Hacktoberfest 2026 : les issues que les mainteneurs ont marquées pour octobre, ouvertes et accessibles aux débutants. Parcourir les issues Hacktoberfest

[BUG] create_task() hardcodes task_type="None" instead of inferring type string from TaskType

Ouverte Adaptée aux débutants
#1,766 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub

Les mainteneurs répondent en général sous 1 jour

@shellyco-code y travaille déjà.

Depuis le 6/10/2026.

  • #1767 par @shellyco-code — ouverte

Évaluation

Difficulté
2/5
Temps estimé
1-3 heures
Accessibilité débutants
80/100
Type d'issue
Bug
Clarté
Clairement spécifiée
Activité
Active
Stack technique
python
Domaine
api

Piste de recherche

Commencez dans openml/tasks/functions.py, à create_task(), vers la ligne 575, puis lisez comment les valeurs de TaskType sont mappées aux noms canoniques. Vérifiez la comparaison du type de tâche dans tests/test_runs/test_run.py vers la ligne 290 et ajoutez ou mettez à jour un test de régression. Le travail est terminé lorsqu’une tâche créée localement expose la chaîne canonique attendue pour le type de tâche au lieu de "None".

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Description

Description

When creating an OpenML task locally using openml.tasks.create_task(), the task object is initialized with task_type="None".

In openml/tasks/functions.py:575, the function hardcodes this placeholder string literal:

return task_cls(
    task_id=None,
    task_type_id=task_type,
    task_type="None",  # TODO: refactor to get task type string from ID.
    data_set_id=dataset_id,
    target_name=target_name,
    estimation_procedure_id=estimation_procedure_id,
    evaluation_measure=evaluation_measure,
    **kwargs,
)
Because of this, task.task_type is literally the string "None" rather than the canonical task type name (e.g., "Supervised Classification", "Supervised Regression", "Clustering", "Learning Curve").

This causes:

Equality checks like if task.task_type == "Supervised Classification" (used in client code and in tests/test_runs/test_run.py:290) to evaluate to False.
Error messages and representations to display Task type 'None' (such as in openml/tasks/task.py:315).
Steps/Code to Reproduce
python
import openml
from openml.tasks import TaskType, create_task
task = create_task(
    TaskType.SUPERVISED_CLASSIFICATION,
    dataset_id=1,
    target_name="class",
    estimation_procedure_id=1,
)
print("task.task_type:", repr(task.task_type))
print("Is Supervised Classification?", task.task_type == "Supervised Classification")
Expected Results
task.task_type should be "Supervised Classification", and task.task_type == "Supervised Classification" should evaluate to True.

Actual Results
task.task_type: 'None'
Is Supervised Classification? False
Versions
OpenML: 0.16.0
Python: 3.10+
OS: Windows / Linux / macOS
Langage dominant
Python
Étoiles
366
Forks
306
Merge moyen
2 j 9 h
PR mergées (30 j)
4

Préparer son environnement

Par où commencer

  1. Lisez l'issue en entier, puis le guide de contribution du projet.
  2. Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
  3. Forkez le dépôt et travaillez sur une branche.
  4. Ouvrez une pull request qui référence le numéro de l'issue.

Autres issues de openml/openml-python

Toutes les issues de openml/openml-python

Issues similaires

Plus d'issues Python

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.