obelisk.asynchronous.core.QueryParams

class obelisk.asynchronous.core.QueryParams(*, dataset: str, groupBy: List[str] | None = None, aggregator: Literal['last', 'min', 'mean', 'max', 'count', 'stddev'] | None = None, fields: List[str] | None = None, orderBy: List[str] | None = None, dataType: Literal['number', 'number[]', 'json', 'bool', 'string'] | None = None, filter_: str | Filter | None = None, cursor: str | None = None, limit: int = 1000)[source]

Bases: BaseModel

__init__(**data: Any) None

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Methods

check_datatype_needed() Self[source]
to_dict() Dict[source]

Attributes

model_config: ClassVar[ConfigDict] = {'arbitrary_types_allowed': True}

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

dataset: str
groupBy: List[str] | None
aggregator: Literal['last', 'min', 'mean', 'max', 'count', 'stddev'] | None
fields: List[str] | None
orderBy: List[str] | None
dataType: Literal['number', 'number[]', 'json', 'bool', 'string'] | None
filter_: Annotated[str | Filter | None, FieldInfo(annotation=NoneType, required=True, alias_priority=2, serialization_alias='filter')]

Obelisk CORE handles filtering in RSQL format , to make it easier to also programatically write these filters, we provide the Filter option as well.

Suffix to avoid collisions.

cursor: str | None
limit: int