httk.serve.optimade.remote_query

Neutral synchronous query/result protocols over a remote OPTIMADE service.

Exceptions

OptimadeResponseError

A successful HTTP response was not a usable OPTIMADE entry document.

OptimadePaginationError

A remote continuation was unsafe, malformed, or non-terminating.

CountUnavailableError

The service omitted a valid filtered meta.data_available count.

Classes

RemoteSearcher

One portable single-root OPTIMADE query under construction.

RemoteResultColumn

One named scalar projection from a lazy remote result set.

RemoteResultSet

A frozen, lazy and re-iterable remote OPTIMADE result plan.

Module Contents

exception httk.serve.optimade.remote_query.OptimadeResponseError[source]

Bases: httk.serve.optimade.client.OptimadeClientError

A successful HTTP response was not a usable OPTIMADE entry document.

exception httk.serve.optimade.remote_query.OptimadePaginationError[source]

Bases: OptimadeResponseError

A remote continuation was unsafe, malformed, or non-terminating.

exception httk.serve.optimade.remote_query.CountUnavailableError[source]

Bases: OptimadeResponseError, httk.data.CountUnavailableError

The service omitted a valid filtered meta.data_available count.

class httk.serve.optimade.remote_query.RemoteSearcher(store: httk.serve.optimade.client.OptimadeStore, *, response_fields: object = None)[source]

One portable single-root OPTIMADE query under construction.

offset = 0[source]
variable(target: object) _RemoteVariable[source]
add(expression: object) None[source]
output(variable: object, name: str) None[source]
add_sort(field: object, descending: bool = False) None[source]
set_limit(limit: int) None[source]
add_offset(offset: int) None[source]
count() int[source]
results(**outputs: object) RemoteResultSet[source]
class httk.serve.optimade.remote_query.RemoteResultColumn(result: RemoteResultSet, index: int)[source]

One named scalar projection from a lazy remote result set.

name[source]
class httk.serve.optimade.remote_query.RemoteResultSet(searcher: RemoteSearcher, outputs: collections.abc.Mapping[str, object] | None = None)[source]

A frozen, lazy and re-iterable remote OPTIMADE result plan.

names[source]
first() httk.data.ResultRow | None[source]
one() httk.data.ResultRow[source]
scalars(name: str | None = None) collections.abc.Iterator[object][source]
column(name: str) RemoteResultColumn[source]
abstractmethod cursor() collections.abc.Iterator[httk.data.ResultRow][source]