Skip to main content

filtering

Pagination

from dara.core.interactivity.filtering import Pagination

class Pagination(BaseModel)

Model representing pagination to be applied to a dataset.

Retrieves results [offset:offset+limit] If index is defined, retrieves only the row of the specified index

Attributes

  • offset: Optional[int]
  • limit: Optional[int]
  • orderBy: Optional[str]
  • index: Optional[str]

ClauseQuery

from dara.core.interactivity.filtering import ClauseQuery

class ClauseQuery(BaseModel)

Represents a clause in a query, i.e. query1 AND query2.

Attributes

  • combinator: QueryCombinator
  • clauses: List[FilterQuery]

ValueQuery

from dara.core.interactivity.filtering import ValueQuery

class ValueQuery(BaseModel)

Represents a singular filter to be applied to a dataset column.

Attributes

  • column: str
  • operator: QueryOperator
  • value: Any

FilterQuery

Filter query to be applied

coerce_to_filter_query

def coerce_to_filter_query(
filters: Union[ClauseQuery, ValueQuery, dict,
None]) -> Optional[FilterQuery]

Coerce a filter query to a FilterQuery object. Converts dict representation to the correct query type.

parseISO

def parseISO(date: str) -> numpy.datetime64

Parse an ISO datestring to numpy.datetime64.

Deals with 'Z' being used instead of +0000 as a timezone which is common in JavaScript but the Python APIs doesn't accept that.

Arguments:

  • date: ISO datetime string created on the frontend

infer_column_type

def infer_column_type(series: Series) -> ColumnType

Get ColumnType for a given column of a dataframe.

Returns None for datetime columns if treat_datetime_as_numerical is True. Otherwise treats datatime as numerical.

Arguments:

  • series: series to infer

apply_filters

def apply_filters(
data: Optional[DataFrame],
filters: Optional[FilterQuery] = None,
pagination: Optional[Pagination] = None
) -> Tuple[Optional[DataFrame], int]

Apply filtering and pagination to a DataFrame.