pysdmx query model

Classes and parsers for data queries.

class pysdmx.api.dc.query.BooleanFilter(field: str, operator: Operator, value: bool | None)

A filter on a boolean field.

class pysdmx.api.dc.query.DateTimeFilter(field: str, operator: Operator, value: Sequence[datetime] | datetime)

A filter on a date or datetime field.

class pysdmx.api.dc.query.LogicalOperator(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

The list of logical operators.

class pysdmx.api.dc.query.MultiFilter(filters: Sequence[BooleanFilter | DateTimeFilter | MultiFilter | NotFilter | NullFilter | NumberFilter | TextFilter], operator: LogicalOperator = LogicalOperator.AND)

A combination of data filters.

This is useful to combine several conditions, for example to indicate that the value for a component must start with an A and end with a 10 (e.g. AZB56710).

filters

The list of conditions to be applied.

operator

Whether the conditions are cumulative (AND) or exclusive (OR).

class pysdmx.api.dc.query.NotFilter(filter: BooleanFilter | DateTimeFilter | MultiFilter | NotFilter | NullFilter | NumberFilter | TextFilter)

A filter matching anything but the supplied filter.

class pysdmx.api.dc.query.NullFilter(field: str, operator: Operator, type_hint: Literal['text', 'number', 'datetime', 'boolean'] | None = None)

A filter on null values.

class pysdmx.api.dc.query.NumberFilter(field: str, operator: Operator, value: Sequence[int | float] | int | float)

A filter on a number field (int, long, float, double, etc).

class pysdmx.api.dc.query.Operator(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)

The list of operators.

class pysdmx.api.dc.query.SortBy(component: str, order: Literal['asc', 'desc'] = 'asc')

The desired sort order.

component

The ID of the component to be used for sorting.

order

The sorting order (ascending or descending).

class pysdmx.api.dc.query.TextFilter(field: str, operator: Operator, value: Sequence[str] | str)

A filter on a text field (char, varchar, etc.).