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
Base class for API clients. |
|
Base class for REST API clients with API key support. |
|
Base class for Swagger API clients with API key support. |
|
|
Base class for GraphQL API clients. |
Base class for REST API clients. |
|
Base class for Swagger API clients. |
- class mkt.databases.api_schema.APIClient[source]
Bases:
objectBase 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.
- 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,ABCBase class for REST API clients with API key support.
- class mkt.databases.api_schema.APIKeySwaggerClient[source]
Bases:
SwaggerAPIClient,ABCBase class for Swagger API clients with API key support.
- class mkt.databases.api_schema.GraphQLClient(url: str | None = None, query_string: str | None = None, variables: dict = <factory>, response: dict | None = None)[source]
Bases:
APIClientBase 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.