Skip to content

setup

openml._api.setup #

APIBackend #

Central backend for accessing all OpenML API resource interfaces.

This class provides a singleton interface to dataset, task, flow, evaluation, run, setup, study, and other resource APIs. It also manages configuration through a nested Config object and allows dynamic retrieval and updating of configuration values.

PARAMETER DESCRIPTION
config

Optional configuration object. If not provided, a default Config instance is created.

TYPE: Config

ATTRIBUTE DESCRIPTION
dataset

Interface for dataset-related API operations.

TYPE: DatasetAPI

task

Interface for task-related API operations.

TYPE: TaskAPI

evaluation_measure

Interface for evaluation measure-related API operations.

TYPE: EvaluationMeasureAPI

estimation_procedure

Interface for estimation procedure-related API operations.

TYPE: EstimationProcedureAPI

evaluation

Interface for evaluation-related API operations.

TYPE: EvaluationAPI

flow

Interface for flow-related API operations.

TYPE: FlowAPI

study

Interface for study-related API operations.

TYPE: StudyAPI

run

Interface for run-related API operations.

TYPE: RunAPI

setup

Interface for setup-related API operations.

TYPE: SetupAPI

get_instance classmethod #

get_instance() -> APIBackend

Get the singleton instance of the APIBackend.

RETURNS DESCRIPTION
APIBackend

Singleton instance of the backend.

Source code in openml/_api/setup/backend.py
@classmethod
def get_instance(cls) -> APIBackend:
    """
    Get the singleton instance of the APIBackend.

    Returns
    -------
    APIBackend
        Singleton instance of the backend.
    """
    if cls._instance is None:
        cls._instance = cls()
    return cls._instance

APIBackendBuilder #

APIBackendBuilder(api_version: APIVersion, fallback_api_version: APIVersion | None = None)

Builder for constructing API backend instances with all resource-specific APIs.

This class organizes resource-specific API objects (datasets, tasks, flows, evaluations, runs, setups, studies, etc.) and provides a centralized access point for both the primary API version and an optional fallback API version.

The constructor automatically initializes:

  • HTTPClient for the primary API version
  • Optional HTTPClient for a fallback API version
  • MinIOClient for file storage operations
  • Resource-specific API instances, optionally wrapped with fallback proxies
PARAMETER DESCRIPTION
api_version

The primary API version to use for all resource APIs and HTTP communication.

TYPE: APIVersion

fallback_api_version

Optional fallback API version to wrap resource APIs with a FallbackProxy.

TYPE: APIVersion | None DEFAULT: None

ATTRIBUTE DESCRIPTION
dataset

API interface for dataset resources.

TYPE: ResourceAPI | FallbackProxy

task

API interface for task resources.

TYPE: ResourceAPI | FallbackProxy

evaluation_measure

API interface for evaluation measure resources.

TYPE: ResourceAPI | FallbackProxy

estimation_procedure

API interface for estimation procedure resources.

TYPE: ResourceAPI | FallbackProxy

evaluation

API interface for evaluation resources.

TYPE: ResourceAPI | FallbackProxy

flow

API interface for flow resources.

TYPE: ResourceAPI | FallbackProxy

study

API interface for study resources.

TYPE: ResourceAPI | FallbackProxy

run

API interface for run resources.

TYPE: ResourceAPI | FallbackProxy

setup

API interface for setup resources.

TYPE: ResourceAPI | FallbackProxy

http_client

Client for HTTP communication using the primary API version.

TYPE: HTTPClient

fallback_http_client

Client for HTTP communication using the fallback API version, if provided.

TYPE: HTTPClient | None

minio_client

Client for file storage operations (MinIO/S3).

TYPE: MinIOClient

Source code in openml/_api/setup/builder.py
def __init__(self, api_version: APIVersion, fallback_api_version: APIVersion | None = None):
    # initialize clients and resource APIs in-place
    self._build(api_version, fallback_api_version)