Types

kafkastreamer.types.ObjectID: TypeAlias = int | str

Type alias for object ID.

class kafkastreamer.types.MessageContext(source: str, user_id: int | str, extra: dict[str, Any] | None)[source]

Message context.

source: str

Source of data modification as string.

user_id: int | str

Author of data modification as user ID.

extra: dict[str, Any] | None

Extra context data as dict.

class kafkastreamer.types.MessageMeta(timestamp: datetime, msg_type: str, context: MessageContext)[source]

Message meta data.

timestamp: datetime

Message time as datetime object.

msg_type: str

Message type as string.

context: MessageContext

Message context.

class kafkastreamer.types.Message(meta: MessageMeta, obj_id: int | str | None, data: dict[str, Any])[source]

Represents message.

meta: MessageMeta

Meta data.

obj_id: int | str | None

Object ID (primary key).

data: dict[str, Any]

Message data as dict.

kafkastreamer.types.MessageSerializer

Type alias for message serializer function.

alias of Callable[[…], bytes]

kafkastreamer.types.PartitionKeySerializer

Type alias for partition key serializer function.

alias of Callable[[…], bytes]

kafkastreamer.types.Partitioner

Type alias for partitioner function.

alias of Callable[[bytes, list[int], list[int]], int]

class kafkastreamer.RefreshFinalizeType(value, names=<not given>, *values, module=None, qualname=None, type=None, start=1, boundary=None)[source]
ENUMERATE = 'enumerate'

Send enumerate IDs message.

EOS = 'eos'

Send end of stream message.