Skip to content

Commit e913fb3

Browse files
committed
implement the suggestions
1 parent 4912d57 commit e913fb3

2 files changed

Lines changed: 16 additions & 59 deletions

File tree

openml/_api/resources/run.py

Lines changed: 1 addition & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,7 @@
11
from __future__ import annotations
22

33
import builtins
4-
from collections.abc import Mapping
5-
from typing import TYPE_CHECKING, Any
4+
from typing import TYPE_CHECKING
65

76
import pandas as pd
87
import xmltodict
@@ -195,23 +194,6 @@ def _parse_list_xml(self, xml_string: str) -> pd.DataFrame:
195194
}
196195
return pd.DataFrame.from_dict(runs, orient="index")
197196

198-
def publish(self, path: str, files: Mapping[str, Any] | None = None) -> int:
199-
"""Publish a run on the OpenML server.
200-
201-
Parameters
202-
----------
203-
path : str
204-
The endpoint path to publish to (e.g., "run").
205-
files : Mapping[str, Any], optional
206-
The files to publish.
207-
208-
Returns
209-
-------
210-
int
211-
The ID of the published run.
212-
"""
213-
return super().publish(path=path, files=files)
214-
215197

216198
class RunV2API(ResourceV2API, RunAPI):
217199
"""V2 API resource for runs. Currently read-only until V2 server supports POST."""
@@ -266,26 +248,3 @@ def list( # type: ignore[valid-type] # noqa: PLR0913
266248
V2 server API not yet available for this operation.
267249
"""
268250
self._not_supported(method="list")
269-
270-
def publish(self, path: str, files: Mapping[str, Any] | None = None) -> int: # noqa: ARG002
271-
"""Publish a run on the V2 server.
272-
273-
Parameters
274-
----------
275-
path : str
276-
The endpoint path to publish to.
277-
files : Mapping[str, Any], optional
278-
The files to publish.
279-
280-
Returns
281-
-------
282-
int
283-
The ID of the published run.
284-
285-
Raises
286-
------
287-
OpenMLNotSupportedError
288-
V2 server does not yet support POST /runs/ endpoint.
289-
Expected availability: Q2 2025
290-
"""
291-
self._not_supported(method="publish")

tests/test_runs/test_run_functions.py

Lines changed: 15 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,6 @@
77
import time
88
import unittest
99
import warnings
10-
from urllib.parse import urljoin
1110

1211
from openml_sklearn import SklearnExtension, cat, cont
1312
from packaging.version import Version
@@ -41,7 +40,6 @@
4140
OpenMLNotAuthorizedError,
4241
OpenMLServerException,
4342
)
44-
#from openml.extensions.sklearn import cat, cont
4543
from openml.runs.functions import (
4644
_run_task_get_arffcontent,
4745
delete_run,
@@ -1806,9 +1804,9 @@ def test_initialize_model_from_run_nonstrict(self):
18061804

18071805

18081806
@mock.patch.object(requests.Session, "request")
1809-
def test_delete_run_not_owned(mock_delete, test_files_directory, test_server_v1, test_apikey_v1):
1807+
def test_delete_run_not_owned(mock_request, test_files_directory, test_server_v1, test_apikey_v1):
18101808
content_file = test_files_directory / "mock_responses" / "runs" / "run_delete_not_owned.xml"
1811-
mock_delete.return_value = create_request_response(
1809+
mock_request.return_value = create_request_response(
18121810
status_code=412,
18131811
content_filepath=content_file,
18141812
)
@@ -1820,15 +1818,15 @@ def test_delete_run_not_owned(mock_delete, test_files_directory, test_server_v1,
18201818
openml.runs.delete_run(40_000)
18211819

18221820
run_url = test_server_v1 + "run/40000"
1823-
assert run_url == mock_delete.call_args.kwargs.get("url")
1824-
assert "DELETE" == mock_delete.call_args.kwargs.get("method")
1825-
assert test_apikey_v1 == mock_delete.call_args.kwargs.get("params", {}).get("api_key")
1821+
assert run_url == mock_request.call_args.kwargs.get("url")
1822+
assert "DELETE" == mock_request.call_args.kwargs.get("method")
1823+
assert test_apikey_v1 == mock_request.call_args.kwargs.get("params", {}).get("api_key")
18261824

18271825

18281826
@mock.patch.object(requests.Session, "request")
1829-
def test_delete_run_success(mock_delete, test_files_directory, test_server_v1, test_apikey_v1):
1827+
def test_delete_run_success(mock_request, test_files_directory, test_server_v1, test_apikey_v1):
18301828
content_file = test_files_directory / "mock_responses" / "runs" / "run_delete_successful.xml"
1831-
mock_delete.return_value = create_request_response(
1829+
mock_request.return_value = create_request_response(
18321830
status_code=200,
18331831
content_filepath=content_file,
18341832
)
@@ -1837,15 +1835,15 @@ def test_delete_run_success(mock_delete, test_files_directory, test_server_v1, t
18371835
assert success
18381836

18391837
run_url = test_server_v1 + "run/10591880"
1840-
assert run_url == mock_delete.call_args.kwargs.get("url")
1841-
assert "DELETE" == mock_delete.call_args.kwargs.get("method")
1842-
assert test_apikey_v1 == mock_delete.call_args.kwargs.get("params", {}).get("api_key")
1838+
assert run_url == mock_request.call_args.kwargs.get("url")
1839+
assert "DELETE" == mock_request.call_args.kwargs.get("method")
1840+
assert test_apikey_v1 == mock_request.call_args.kwargs.get("params", {}).get("api_key")
18431841

18441842

18451843
@mock.patch.object(requests.Session, "request")
1846-
def test_delete_unknown_run(mock_delete, test_files_directory, test_server_v1, test_apikey_v1):
1844+
def test_delete_unknown_run(mock_request, test_files_directory, test_server_v1, test_apikey_v1):
18471845
content_file = test_files_directory / "mock_responses" / "runs" / "run_delete_not_exist.xml"
1848-
mock_delete.return_value = create_request_response(
1846+
mock_request.return_value = create_request_response(
18491847
status_code=412,
18501848
content_filepath=content_file,
18511849
)
@@ -1857,9 +1855,9 @@ def test_delete_unknown_run(mock_delete, test_files_directory, test_server_v1, t
18571855
openml.runs.delete_run(9_999_999)
18581856

18591857
run_url = test_server_v1 + "run/9999999"
1860-
assert run_url == mock_delete.call_args.kwargs.get("url")
1861-
assert "DELETE" == mock_delete.call_args.kwargs.get("method")
1862-
assert test_apikey_v1 == mock_delete.call_args.kwargs.get("params", {}).get("api_key")
1858+
assert run_url == mock_request.call_args.kwargs.get("url")
1859+
assert "DELETE" == mock_request.call_args.kwargs.get("method")
1860+
assert test_apikey_v1 == mock_request.call_args.kwargs.get("params", {}).get("api_key")
18631861

18641862

18651863
@pytest.mark.sklearn()

0 commit comments

Comments
 (0)