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.