httk.optimade.model.request

Classes

RawRequest

An incoming OPTIMADE request, as handed over by the web layer.

RequestedSlice

A slice requested via the dimension_slices query parameter.

ValidatedParameters

Validated URL query parameters of an OPTIMADE request.

ValidatedRequest

The result of validating a RawRequest.

EndpointResponse

A response produced by an endpoint, to be serialized by the web layer.

Module Contents

class httk.optimade.model.request.RawRequest[source]

An incoming OPTIMADE request, as handed over by the web layer.

Only baseurl and representation are mandatory; missing information is derived from representation during validation.

baseurl: str[source]
representation: str[source]
relurl: str | None = None[source]
querystr: str | None = None[source]
query: dict[str, str] | None = None[source]
endpoint: str | None = None[source]
request_id: str | None = None[source]
version: str | None = None[source]
class httk.optimade.model.request.RequestedSlice[source]

A slice requested via the dimension_slices query parameter.

The values are stored exactly as given (a None component means the client omitted it and the default applies). Per the OPTIMADE specification, stop is inclusive.

start: int | None = None[source]
stop: int | None = None[source]
step: int | None = None[source]
class httk.optimade.model.request.ValidatedParameters[source]

Validated URL query parameters of an OPTIMADE request.

response_format: str = 'json'[source]
page_limit: int = 50[source]
page_offset: int = 0[source]
response_fields: str | None = None[source]
filter: str | None = None[source]
sort: str | None = None[source]
include: str | None = None[source]
dimension_slices: dict[str, RequestedSlice][source]
as_query_dict() dict[str, str][source]

Return the parameters as a URL query dict, omitting unset values.

class httk.optimade.model.request.ValidatedRequest[source]

The result of validating a RawRequest.

baseurl: str[source]
representation: str[source]
endpoint: str[source]
version: str[source]
query: ValidatedParameters[source]
url_version: str | None = None[source]
request_id: str | None = None[source]
recognized_response_fields: list[str] = [][source]
unrecognized_response_fields: list[str] = [][source]
sort_fields: list[tuple[str, bool]] = [][source]
include_paths: list[str] = [][source]
property_metadata_requested: bool = False[source]
partial_data_parts: tuple[str, str, str] | None = None[source]
partial_data_offset: int = 0[source]
warnings: list[dict[str, Any]] = [][source]
class httk.optimade.model.request.EndpointResponse[source]

A response produced by an endpoint, to be serialized by the web layer.

Either json_response (a JSON:API document) or content (a raw body) is set.

response_code: int = 200[source]
response_msg: str = 'OK'[source]
content_type: str = 'application/vnd.api+json'[source]
encoding: str = 'utf-8'[source]
content: str | None = None[source]
json_response: dict[str, Any] | None = None[source]