base
openml._api.resources.base
#
DatasetAPI
#
DatasetAPI(http: HTTPClient, minio: MinIOClient)
Bases: ResourceAPI
Abstract API interface for dataset resources.
Source code in openml/_api/resources/base/base.py
delete
abstractmethod
#
Delete a resource by its identifier.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Unique identifier of the resource to delete.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
bool
|
|
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
publish
abstractmethod
#
Publish a new resource to the OpenML server.
| PARAMETER | DESCRIPTION |
|---|---|
path
|
API endpoint path used for publishing the resource.
TYPE:
|
files
|
Files or payload data required for publishing. The structure depends on the resource type.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
int
|
Identifier of the newly created resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
tag
abstractmethod
#
Add a tag to a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to tag.
TYPE:
|
tag
|
Tag to associate with the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
untag
abstractmethod
#
Remove a tag from a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to untag.
TYPE:
|
tag
|
Tag to remove from the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
EstimationProcedureAPI
#
EstimationProcedureAPI(http: HTTPClient, minio: MinIOClient)
Bases: ResourceAPI
Abstract API interface for estimation procedure resources.
Source code in openml/_api/resources/base/base.py
delete
abstractmethod
#
Delete a resource by its identifier.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Unique identifier of the resource to delete.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
bool
|
|
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
publish
abstractmethod
#
Publish a new resource to the OpenML server.
| PARAMETER | DESCRIPTION |
|---|---|
path
|
API endpoint path used for publishing the resource.
TYPE:
|
files
|
Files or payload data required for publishing. The structure depends on the resource type.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
int
|
Identifier of the newly created resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
tag
abstractmethod
#
Add a tag to a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to tag.
TYPE:
|
tag
|
Tag to associate with the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
untag
abstractmethod
#
Remove a tag from a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to untag.
TYPE:
|
tag
|
Tag to remove from the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
EvaluationAPI
#
EvaluationAPI(http: HTTPClient, minio: MinIOClient)
Bases: ResourceAPI
Abstract API interface for evaluation resources.
Source code in openml/_api/resources/base/base.py
delete
abstractmethod
#
Delete a resource by its identifier.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Unique identifier of the resource to delete.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
bool
|
|
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
publish
abstractmethod
#
Publish a new resource to the OpenML server.
| PARAMETER | DESCRIPTION |
|---|---|
path
|
API endpoint path used for publishing the resource.
TYPE:
|
files
|
Files or payload data required for publishing. The structure depends on the resource type.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
int
|
Identifier of the newly created resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
tag
abstractmethod
#
Add a tag to a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to tag.
TYPE:
|
tag
|
Tag to associate with the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
untag
abstractmethod
#
Remove a tag from a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to untag.
TYPE:
|
tag
|
Tag to remove from the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
EvaluationMeasureAPI
#
EvaluationMeasureAPI(http: HTTPClient, minio: MinIOClient)
Bases: ResourceAPI
Abstract API interface for evaluation measure resources.
Source code in openml/_api/resources/base/base.py
delete
abstractmethod
#
Delete a resource by its identifier.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Unique identifier of the resource to delete.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
bool
|
|
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
publish
abstractmethod
#
Publish a new resource to the OpenML server.
| PARAMETER | DESCRIPTION |
|---|---|
path
|
API endpoint path used for publishing the resource.
TYPE:
|
files
|
Files or payload data required for publishing. The structure depends on the resource type.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
int
|
Identifier of the newly created resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
tag
abstractmethod
#
Add a tag to a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to tag.
TYPE:
|
tag
|
Tag to associate with the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
untag
abstractmethod
#
Remove a tag from a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to untag.
TYPE:
|
tag
|
Tag to remove from the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
FallbackProxy
#
Proxy object that provides transparent fallback across multiple API versions.
This class delegates attribute access to a sequence of API implementations.
When a callable attribute is invoked and raises OpenMLNotSupportedError,
the proxy automatically attempts the same method on subsequent API instances
until one succeeds.
| PARAMETER | DESCRIPTION |
|---|---|
*api_versions
|
One or more API implementation instances ordered by priority. The first API is treated as the primary implementation, and subsequent APIs are used as fallbacks.
TYPE:
|
| RAISES | DESCRIPTION |
|---|---|
ValueError
|
If no API implementations are provided. |
Notes
Attribute lookup is performed dynamically via __getattr__.
Only methods that raise OpenMLNotSupportedError trigger fallback
behavior. Other exceptions are propagated immediately.
Source code in openml/_api/resources/base/fallback.py
__getattr__
#
Dynamically resolve attribute access across API implementations.
| PARAMETER | DESCRIPTION |
|---|---|
name
|
Name of the attribute being accessed.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
Any
|
The resolved attribute. If it is callable, a wrapped function providing fallback behavior is returned. |
| RAISES | DESCRIPTION |
|---|---|
AttributeError
|
If none of the API implementations define the attribute. |
Source code in openml/_api/resources/base/fallback.py
FlowAPI
#
FlowAPI(http: HTTPClient, minio: MinIOClient)
Bases: ResourceAPI
Abstract API interface for flow resources.
Source code in openml/_api/resources/base/base.py
delete
abstractmethod
#
Delete a resource by its identifier.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Unique identifier of the resource to delete.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
bool
|
|
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
publish
abstractmethod
#
Publish a new resource to the OpenML server.
| PARAMETER | DESCRIPTION |
|---|---|
path
|
API endpoint path used for publishing the resource.
TYPE:
|
files
|
Files or payload data required for publishing. The structure depends on the resource type.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
int
|
Identifier of the newly created resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
tag
abstractmethod
#
Add a tag to a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to tag.
TYPE:
|
tag
|
Tag to associate with the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
untag
abstractmethod
#
Remove a tag from a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to untag.
TYPE:
|
tag
|
Tag to remove from the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
ResourceAPI
#
ResourceAPI(http: HTTPClient, minio: MinIOClient)
Bases: ABC
Abstract base class for OpenML resource APIs.
This class defines the common interface for interacting with OpenML resources (e.g., datasets, flows, runs) across different API versions. Concrete subclasses must implement the resource-specific operations such as publishing, deleting, and tagging.
| PARAMETER | DESCRIPTION |
|---|---|
http
|
Configured HTTP client used for communication with the OpenML API.
TYPE:
|
minio
|
Configured MinIO client used for object storage operations.
TYPE:
|
| ATTRIBUTE | DESCRIPTION |
|---|---|
api_version |
API version implemented by the resource.
TYPE:
|
resource_type |
Type of OpenML resource handled by the implementation.
TYPE:
|
_http |
Internal HTTP client instance.
TYPE:
|
_minio |
Internal MinIO client instance, if provided.
TYPE:
|
Source code in openml/_api/resources/base/base.py
delete
abstractmethod
#
Delete a resource by its identifier.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Unique identifier of the resource to delete.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
bool
|
|
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
publish
abstractmethod
#
Publish a new resource to the OpenML server.
| PARAMETER | DESCRIPTION |
|---|---|
path
|
API endpoint path used for publishing the resource.
TYPE:
|
files
|
Files or payload data required for publishing. The structure depends on the resource type.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
int
|
Identifier of the newly created resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
tag
abstractmethod
#
Add a tag to a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to tag.
TYPE:
|
tag
|
Tag to associate with the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
untag
abstractmethod
#
Remove a tag from a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to untag.
TYPE:
|
tag
|
Tag to remove from the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
ResourceV1API
#
ResourceV1API(http: HTTPClient, minio: MinIOClient)
Bases: ResourceAPI
Version 1 implementation of the OpenML resource API.
This class provides XML-based implementations for publishing,
deleting, tagging, and untagging resources using the V1 API
endpoints. Responses are parsed using xmltodict.
Notes
V1 endpoints expect and return XML. Error handling follows the legacy OpenML server behavior and maps specific error codes to more descriptive exceptions where appropriate.
Source code in openml/_api/resources/base/base.py
delete
#
Delete a resource using the V1 API.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to delete.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
bool
|
|
| RAISES | DESCRIPTION |
|---|---|
ValueError
|
If the resource type is not supported for deletion. |
OpenMLNotAuthorizedError
|
If the user is not permitted to delete the resource. |
OpenMLServerError
|
If deletion fails for an unknown reason. |
OpenMLServerException
|
For other server-side errors. |
Source code in openml/_api/resources/base/versions.py
publish
#
Publish a new resource using the V1 API.
| PARAMETER | DESCRIPTION |
|---|---|
path
|
API endpoint path for the upload.
TYPE:
|
files
|
Files to upload as part of the request payload.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
int
|
Identifier of the newly created resource. |
| RAISES | DESCRIPTION |
|---|---|
ValueError
|
If the server response does not contain a valid resource ID. |
OpenMLServerException
|
If the server returns an error during upload. |
Source code in openml/_api/resources/base/versions.py
tag
#
Add a tag to a resource using the V1 API.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to tag.
TYPE:
|
tag
|
Tag to associate with the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
| RAISES | DESCRIPTION |
|---|---|
ValueError
|
If the resource type does not support tagging. |
OpenMLServerException
|
If the server returns an error. |
Source code in openml/_api/resources/base/versions.py
untag
#
Remove a tag from a resource using the V1 API.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to untag.
TYPE:
|
tag
|
Tag to remove from the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
| RAISES | DESCRIPTION |
|---|---|
ValueError
|
If the resource type does not support tagging. |
OpenMLServerException
|
If the server returns an error. |
Source code in openml/_api/resources/base/versions.py
ResourceV2API
#
ResourceV2API(http: HTTPClient, minio: MinIOClient)
Bases: ResourceAPI
Version 2 implementation of the OpenML resource API.
This class represents the V2 API for resources. Operations such as
publishing, deleting, tagging, and untagging are currently not
supported and will raise OpenMLNotSupportedError.
Source code in openml/_api/resources/base/base.py
RunAPI
#
RunAPI(http: HTTPClient, minio: MinIOClient)
Bases: ResourceAPI
Abstract API interface for run resources.
Source code in openml/_api/resources/base/base.py
delete
abstractmethod
#
Delete a resource by its identifier.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Unique identifier of the resource to delete.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
bool
|
|
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
publish
abstractmethod
#
Publish a new resource to the OpenML server.
| PARAMETER | DESCRIPTION |
|---|---|
path
|
API endpoint path used for publishing the resource.
TYPE:
|
files
|
Files or payload data required for publishing. The structure depends on the resource type.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
int
|
Identifier of the newly created resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
tag
abstractmethod
#
Add a tag to a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to tag.
TYPE:
|
tag
|
Tag to associate with the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
untag
abstractmethod
#
Remove a tag from a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to untag.
TYPE:
|
tag
|
Tag to remove from the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
SetupAPI
#
SetupAPI(http: HTTPClient, minio: MinIOClient)
Bases: ResourceAPI
Abstract API interface for setup resources.
Source code in openml/_api/resources/base/base.py
delete
abstractmethod
#
Delete a resource by its identifier.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Unique identifier of the resource to delete.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
bool
|
|
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
publish
abstractmethod
#
Publish a new resource to the OpenML server.
| PARAMETER | DESCRIPTION |
|---|---|
path
|
API endpoint path used for publishing the resource.
TYPE:
|
files
|
Files or payload data required for publishing. The structure depends on the resource type.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
int
|
Identifier of the newly created resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
tag
abstractmethod
#
Add a tag to a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to tag.
TYPE:
|
tag
|
Tag to associate with the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
untag
abstractmethod
#
Remove a tag from a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to untag.
TYPE:
|
tag
|
Tag to remove from the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
StudyAPI
#
StudyAPI(http: HTTPClient, minio: MinIOClient)
Bases: ResourceAPI
Abstract API interface for study resources.
Source code in openml/_api/resources/base/base.py
delete
abstractmethod
#
Delete a resource by its identifier.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Unique identifier of the resource to delete.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
bool
|
|
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
publish
abstractmethod
#
Publish a new resource to the OpenML server.
| PARAMETER | DESCRIPTION |
|---|---|
path
|
API endpoint path used for publishing the resource.
TYPE:
|
files
|
Files or payload data required for publishing. The structure depends on the resource type.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
int
|
Identifier of the newly created resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
tag
abstractmethod
#
Add a tag to a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to tag.
TYPE:
|
tag
|
Tag to associate with the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
untag
abstractmethod
#
Remove a tag from a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to untag.
TYPE:
|
tag
|
Tag to remove from the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
TaskAPI
#
TaskAPI(http: HTTPClient, minio: MinIOClient)
Bases: ResourceAPI
Abstract API interface for task resources.
Source code in openml/_api/resources/base/base.py
delete
abstractmethod
#
Delete a resource by its identifier.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Unique identifier of the resource to delete.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
bool
|
|
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
publish
abstractmethod
#
Publish a new resource to the OpenML server.
| PARAMETER | DESCRIPTION |
|---|---|
path
|
API endpoint path used for publishing the resource.
TYPE:
|
files
|
Files or payload data required for publishing. The structure depends on the resource type.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
int
|
Identifier of the newly created resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
tag
abstractmethod
#
Add a tag to a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to tag.
TYPE:
|
tag
|
Tag to associate with the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.
Source code in openml/_api/resources/base/base.py
untag
abstractmethod
#
Remove a tag from a resource.
| PARAMETER | DESCRIPTION |
|---|---|
resource_id
|
Identifier of the resource to untag.
TYPE:
|
tag
|
Tag to remove from the resource.
TYPE:
|
| RETURNS | DESCRIPTION |
|---|---|
list of str
|
Updated list of tags assigned to the resource. |
Notes
Concrete subclasses must implement this method.