Skip to content

RawEvent

Bases: BaseModel

Data Transfer Object representing a raw event that will be stored.

Contains all event metadata and payload in a flat structure. Used for low-level event store operations, serialization, and transport.

Attributes:

Name Type Description
uuid UUID

Unique identifier of the event.

stream_id StreamId

Identifier of the stream to which the event belongs.

created_at datetime

Timestamp when the event was created.

name str

Name/type of the event.

data dict[str, Any]

Event payload (fields and values).

context dict[str, Any]

Event custom metadata.

version int | None

Version of the event in the stream (if applicable).

Source code in event_sourcery/_event_store/event/dto.py
@dataclasses.dataclass(frozen=True)
class RawEvent(BaseModel):
    """
    Data Transfer Object representing a raw event that will be stored.

    Contains all event metadata and payload in a flat structure.
    Used for low-level event store operations, serialization, and transport.

    Attributes:
        uuid (UUID): Unique identifier of the event.
        stream_id (StreamId): Identifier of the stream to which the event belongs.
        created_at (datetime): Timestamp when the event was created.
        name (str): Name/type of the event.
        data (dict[str, Any]): Event payload (fields and values).
        context (dict[str, Any]): Event custom metadata.
        version (int | None): Version of the event in the stream (if applicable).
    """

    uuid: UUID
    stream_id: StreamId
    created_at: datetime
    name: str
    data: dict[str, Any]
    context: dict[str, Any]
    version: int | None = None