Base Models#
- validate_list_to_single(v)[source]#
Converts a list to a single value (the last element of the list)
Query parameters (in a URI) can be specified multiple times. Therefore, we will always convert them to a list in flask. But that means we have to convert them to single values here
- class RestModelBase[source]#
Bases:
BaseModelCreate a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
- class CommonBulkGetBody(*, ids, include=None, exclude=None, missing_ok=False)[source]#
Bases:
RestModelBaseCommon URL parameters for “get_*” functions
These functions typically take a list for ids, and a bool for missing_ok
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
- Parameters:
ids (List[int])
include (List[str] | None)
exclude (List[str] | None)
missing_ok (bool)
- ids: List[int]#
- include: List[str] | None#
- exclude: List[str] | None#
- missing_ok: bool#
- class CommonBulkGetNamesBody(*, names, include=None, exclude=None, missing_ok=False)[source]#
Bases:
RestModelBaseCommon URL parameters for “get_*” functions
These functions typically take a list for ids, and a bool for missing_ok
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
- Parameters:
names (List[str])
include (List[str] | None)
exclude (List[str] | None)
missing_ok (bool)
- names: List[str]#
- include: List[str] | None#
- exclude: List[str] | None#
- missing_ok: bool#
- class ProjURLParameters(*, include=None, exclude=None)[source]#
Bases:
RestModelBaseCreate a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
- Parameters:
include (List[str] | None)
exclude (List[str] | None)
- include: List[str] | None#
- exclude: List[str] | None#
- class QueryModelBase(*, limit=None, cursor=None)[source]#
Bases:
RestModelBaseCommon parameters for query_* functions, without include/exclude
These can be either URL parameters or part of a POST body
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
- Parameters:
limit (int | None)
cursor (int | None)
- limit: int | None#
- cursor: int | None#
- class QueryProjModelBase(*, include=None, exclude=None, limit=None, cursor=None)[source]#
Bases:
QueryModelBase,ProjURLParametersCommon parameters for query_* functions, with include/exclude (projection)
These can be either URL parameters or part of a POST body
Create a new model by parsing and validating input data from keyword arguments.
Raises ValidationError if the input data cannot be parsed to form a valid model.
- Parameters:
include (List[str] | None)
exclude (List[str] | None)
limit (int | None)
cursor (int | None)
- classmethod validate_lists(v)#
- limit: int | None#
- cursor: int | None#
- include: List[str] | None#
- exclude: List[str] | None#
- class QueryIteratorBase(client, query_filters, batch_limit)[source]#
Bases:
Generic[T]Base class for all query result iterators
Query iterators are used to iterate intelligently over the result of a query. This handles pagination, where only batches are downloaded from the server.
- Parameters:
query_filters (QueryModelBase)
batch_limit (int)