class KafkaIngestionParams(BaseModel):
    """Dictate how ingestions from Kafka should behave."""

    batch_size: int = Field(
        description="Number of rows to insert at once.",
        default=10_000
    )

    batch_timeout: int = Field(
        description="The maximum amount of time (in mins) to spend polling the Kafka topic for new messages.",
        default=5.0,
    )

    commit_offsets: bool = Field(
        description="Whether to commit Kafka offsets after a successful ingestion or not. Turning this off can be "
        "useful when testing in staging, but should almost always be avoided in Production.",
        default=True,
    )