Querying data sources

Objects related to data queries.

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

A filter on a boolean field.

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

A filter on a date or datetime field.

class pysdmx.api.dc.query._model.LogicalOperator(*values)

The list of logical operators.

class pysdmx.api.dc.query._model.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._model.NotFilter(filter: BooleanFilter | DateTimeFilter | MultiFilter | NotFilter | NullFilter | NumberFilter | TextFilter)

A filter matching anything but the supplied filter.

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

A filter on null values.

class pysdmx.api.dc.query._model.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._model.Operator(*values)

The list of operators.

class pysdmx.api.dc.query._model.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._model.TextFilter(field: str, operator: Operator, value: Sequence[str] | str)

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