mkt.databases.api_schema

Base API client hierarchy (Swagger, REST, GraphQL) with query and cache provenance stamping.

Defines APIClient and its abstract subclasses (SwaggerAPIClient, RESTAPIClient, GraphQLClient, and their API-key variants), which centralize request execution, query-datetime recording, and requests-cache provenance for all concrete database clients.

Classes

APIClient()

Base class for API clients.

APIKeyRESTAPIClient()

Base class for REST API clients with API key support.

APIKeySwaggerClient()

Base class for Swagger API clients with API key support.

GraphQLClient(url, query_string, variables, ...)

Base class for GraphQL API clients.

RESTAPIClient()

Base class for REST API clients.

SwaggerAPIClient()

Base class for Swagger API clients.

class mkt.databases.api_schema.APIClient[source]

Bases: object

Base class for API clients.

__init__() None
_stamp_from_response(res: Response) None[source]

Record query datetime + cache provenance from a requests-cache response.

Parameters:

resrequests.Response

Response object from a requests-cache CachedSession; falls back to current UTC time if the response lacks requests-cache metadata.

_stamp_now() None[source]

Record current UTC datetime; cache provenance unknown.

For clients that bypass requests-cache (e.g., bravado SwaggerClient), this records when the query ran but cannot determine if a cached layer was hit.

static check_response(res: Response) None[source]

Check the response status code for errors.

from_cache: bool | None = None

Whether the most recent response was served from requests-cache.

query_datetime: datetime | None = None

UTC datetime the underlying network query was made (cache creation time if served from cache).

class mkt.databases.api_schema.APIKeyRESTAPIClient[source]

Bases: RESTAPIClient, ABC

Base class for REST API clients with API key support.

abstract maybe_get_token() str | None[source]

Get API token, if available.

Returns:

API token if available; None otherwise

Return type:

str | None

set_api_key() dict[source]

Set API token for REST API.

Returns:

Dictionary with API token set

Return type:

dict

class mkt.databases.api_schema.APIKeySwaggerClient[source]

Bases: SwaggerAPIClient, ABC

Base class for Swagger API clients with API key support.

abstract maybe_get_token() str | None[source]

Get API token, if available.

Returns:

API token if available; None otherwise

Return type:

str | None

set_api_key() RequestsClient[source]

Set API key for cBioPortal API.

Returns:

RequestsClient object with API key set

Return type:

RequestsClient

class mkt.databases.api_schema.GraphQLClient(url: str | None = None, query_string: str | None = None, variables: dict = <factory>, response: dict | None = None)[source]

Bases: APIClient

Base class for GraphQL API clients.

__init__(url: str | None = None, query_string: str | None = None, variables: dict = <factory>, response: dict | None = None) None
query_api() dict[source]

Query a GraphQL API and return result.

Returns:

API response

Return type:

dict

query_string: str | None = None

GraphQL query string to be executed.

response: dict | None = None

Response from the GraphQL API query, if any.

url: str | None = None

GraphQL API URL.

variables: dict

Variables for the GraphQL query, if any.

class mkt.databases.api_schema.RESTAPIClient[source]

Bases: APIClient, ABC

Base class for REST API clients.

abstract query_api()[source]
class mkt.databases.api_schema.SwaggerAPIClient[source]

Bases: APIClient, ABC

Base class for Swagger API clients.

abstract query_api() SwaggerClient[source]

Query a Swagger API and return result.

Parameters:

url (str) – API URL

Returns:

API response

Return type:

SwaggerClient