httk.optimade.model

Submodules

Attributes

Exceptions

OptimadeError

Common base class for all non-exit exceptions.

TranslatorError

Common base class for all non-exit exceptions.

Classes

OptimadeConfig

Configuration of a served OPTIMADE database.

EndpointResponse

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

RawRequest

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

ValidatedParameters

Validated URL query parameters of an OPTIMADE request.

ValidatedRequest

The result of validating a RawRequest.

QueryFunction

The callback seam through which the request engine runs queries on a backend.

QueryResults

The results of a query against a backend, as consumed by the entry endpoints.

ResultRow

One entry result: its attribute values plus per-entry envelope data.

Package Contents

class httk.optimade.model.OptimadeConfig[source]

Configuration of a served OPTIMADE database.

implementation extends/overrides the fields of the meta -> implementation dictionary (e.g. issue_tracker, source_url, maintainer). database, schema_url, and request_delay populate the corresponding optional meta fields (OPTIMADE v1.2+) when set. license, available_licenses, and available_licenses_for_entries populate the corresponding optional base-info attributes when set. data_available is filled in by process_init with the number of available entries per entry endpoint.

provider: dict[str, Any]
implementation: dict[str, Any]
database: dict[str, Any] | None = None
schema_url: str | None = None
request_delay: float | None = None
license: dict[str, Any] | str | None = None
available_licenses: list[str] | None = None
available_licenses_for_entries: list[str] | None = None
data_available: dict[str, int]
partial_data_chunk_size: int = 1000
exception httk.optimade.model.OptimadeError(message: str, response_code: int, response_message: str, longmsg: str | None = None)[source]

Bases: Exception

Common base class for all non-exit exceptions.

response_code
response_msg
content
exception httk.optimade.model.TranslatorError(message: str, response_code: int, response_message: str, longmsg: str | None = None)[source]

Bases: OptimadeError

Common base class for all non-exit exceptions.

class httk.optimade.model.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
response_msg: str = 'OK'
content_type: str = 'application/vnd.api+json'
encoding: str = 'utf-8'
content: str | None = None
json_response: dict[str, Any] | None = None
class httk.optimade.model.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
representation: str
relurl: str | None = None
querystr: str | None = None
query: dict[str, str] | None = None
endpoint: str | None = None
request_id: str | None = None
version: str | None = None
class httk.optimade.model.ValidatedParameters[source]

Validated URL query parameters of an OPTIMADE request.

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

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

class httk.optimade.model.ValidatedRequest[source]

The result of validating a RawRequest.

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

Bases: Protocol

The callback seam through which the request engine runs queries on a backend.

class httk.optimade.model.QueryResults[source]

Bases: Protocol

The results of a query against a backend, as consumed by the entry endpoints.

Iteration yields one ResultRow per entry; its values map OPTIMADE response-field names to values, and the id and type keys are always present.

more_data_available: bool
count() int[source]
class httk.optimade.model.ResultRow[source]

One entry result: its attribute values plus per-entry envelope data.

values: dict[str, Any]
relationships: dict[str, list[dict[str, Any]]]
property_metadata: dict[str, Any]
httk.optimade.model.optimade_default_version: Final[str] = '1.3.0'[source]
httk.optimade.model.optimade_supported_versions: Final[dict[str, str]][source]