faust.tables.wrappers

Wrappers for windowed tables.

class faust.tables.wrappers.WindowedKeysView(mapping: faust.types.tables.WindowWrapperT, event: faust.types.events.EventT = None)[source]
now() → Iterator[Any][source]
Return type:Iterator[Any]
current(event: faust.types.events.EventT = None) → Iterator[Any][source]
Return type:Iterator[Any]
delta(d: Union[datetime.timedelta, float, str], event: faust.types.events.EventT = None) → Iterator[Any][source]
Return type:Iterator[Any]
class faust.tables.wrappers.WindowedItemsView(mapping: faust.types.tables.WindowWrapperT, event: faust.types.events.EventT = None)[source]
now() → Iterator[Tuple[Any, Any]][source]
Return type:Iterator[Tuple[Any, Any]]
current(event: faust.types.events.EventT = None) → Iterator[Tuple[Any, Any]][source]
Return type:Iterator[Tuple[Any, Any]]
delta(d: Union[datetime.timedelta, float, str], event: faust.types.events.EventT = None) → Iterator[Tuple[Any, Any]][source]
Return type:Iterator[Tuple[Any, Any]]
class faust.tables.wrappers.WindowedValuesView(mapping: faust.types.tables.WindowWrapperT, event: faust.types.events.EventT = None)[source]
now() → Iterator[Any][source]
Return type:Iterator[Any]
current(event: faust.types.events.EventT = None) → Iterator[Any][source]
Return type:Iterator[Any]
delta(d: Union[datetime.timedelta, float, str], event: faust.types.events.EventT = None) → Iterator[Any][source]
Return type:Iterator[Any]
class faust.tables.wrappers.WindowSet(key: KT, table: faust.types.tables.TableT, wrapper: faust.types.tables.WindowWrapperT, event: faust.types.events.EventT = None) → None[source]

Represents the windows available for table key.

Table[k] returns WindowSet since k can exist in multiple windows, and to retrieve an actual item we need a timestamp.

The timestamp of the current event (if this is executing in a stream processor), can be used by accessing .current():

Table[k].current()

similarly the most recent value can be accessed using .now():

Table[k].now()

from delta of the time of the current event:

Table[k].delta(timedelta(hours=3))

or delta from time of other event:

Table[k].delta(timedelta(hours=3), other_event)
apply(op: Callable[[VT, VT], VT], value: VT, event: faust.types.events.EventT = None) → faust.types.tables.WindowSetT[KT, VT][source]
Return type:WindowSetT[~KT, ~VT]
value(event: faust.types.events.EventT = None) → VT[source]
Return type:~VT
now() → VT[source]
Return type:~VT
current(event: faust.types.events.EventT = None) → VT[source]
Return type:~VT
delta(d: Union[datetime.timedelta, float, str], event: faust.types.events.EventT = None) → VT[source]
Return type:~VT
class faust.tables.wrappers.WindowWrapper(table: faust.types.tables.TableT, *, relative_to: Union[faust.types.tables.FieldDescriptorT, Callable[Optional[faust.types.events.EventT], Union[float, datetime.datetime]], datetime.datetime, float, None] = None, key_index: bool = False, key_index_table: faust.types.tables.TableT = None) → None[source]

Windowed table wrapper.

A windowed table does not return concrete values when keys are accessed, instead WindowSet is returned so that the values can be further reduced to the wanted time period.

ValueType

alias of WindowSet

key_index = False
key_index_table = None
clone(relative_to: Union[faust.types.tables.FieldDescriptorT, Callable[Optional[faust.types.events.EventT], Union[float, datetime.datetime]], datetime.datetime, float, None]) → faust.types.tables.WindowWrapperT[source]
Return type:WindowWrapperT[]
name
Return type:str
relative_to(ts: Union[faust.types.tables.FieldDescriptorT, Callable[Optional[faust.types.events.EventT], Union[float, datetime.datetime]], datetime.datetime, float, None]) → faust.types.tables.WindowWrapperT[source]
Return type:WindowWrapperT[]
relative_to_now() → faust.types.tables.WindowWrapperT[source]
Return type:WindowWrapperT[]
relative_to_field(field: faust.types.models.FieldDescriptorT) → faust.types.tables.WindowWrapperT[source]
Return type:WindowWrapperT[]
relative_to_stream() → faust.types.tables.WindowWrapperT[source]
Return type:WindowWrapperT[]
get_timestamp(event: faust.types.events.EventT = None) → float[source]
Return type:float
on_recover(fun: Callable[Awaitable[None]]) → Callable[Awaitable[None]][source]
Return type:Callable[[], Awaitable[None]]
on_set_key(key: Any, value: Any) → None[source]
Return type:None
on_del_key(key: Any) → None[source]
Return type:None
keys() → KeysView[source]
Return type:KeysView[~KT]
values(event: faust.types.events.EventT = None) → ValuesView[source]
Return type:ValuesView[+VT_co]
items(event: faust.types.events.EventT = None) → ItemsView[source]
Return type:ItemsView[~KT, +VT_co]
as_ansitable(title: str = '{table.name}', **kwargs) → str[source]
Return type:str
get_relative_timestamp
Return type:Optional[Callable[[Optional[EventT[]]], Union[float, datetime]]]