Skip to content
Open
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Next Next commit
Improve error message for estimation_procedure by showing readable na…
…mes instead of IDs
  • Loading branch information
codejasleen committed Mar 24, 2026
commit 99b42c80ac6cc766f1e0fef0cc49bdb22fd4187c
29 changes: 27 additions & 2 deletions openml/_api_calls.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
# License: BSD 3-Clause
from __future__ import annotations

from openml.tasks.functions import _get_estimation_procedure_list
import re
import contextlib
import hashlib
import logging
Expand Down Expand Up @@ -507,7 +508,31 @@ def __parse_server_exception(
additional_information,
)
else:
full_message = f"{message} - {additional_information}"
full_message = f"{message} - {additional_information}"

# Improve estimation_procedure error message
if additional_information and "acceptable inputs" in additional_information:
try:
import re
from openml.tasks.functions import _get_estimation_procedure_list

# Extract IDs
ids = list(map(int, re.findall(r"\d+", additional_information)))

# Get mapping
procedures = _get_estimation_procedure_list()
mapping = {p["id"]: p["name"] for p in procedures}

# Format
pretty = [f"{i}: {mapping.get(i, 'Unknown')}" for i in ids]

full_message = (
f"{message} - problematic input: [estimation_procedure],\n"
"acceptable inputs:\n" + "\n".join(pretty)
)

except Exception:
pass

if code in [
102, # flow/exists post
Expand Down