Skip to content

pyuow.domain

The Model + Batch toolkit, the exception tree, and domain events.

domain

Model dataclass

Model(
    id: ENTITY_ID = t.cast(ENTITY_ID, MISSING),
    version: Version = Version(0),
    deleted_date: Optional[datetime] = None,
    created_date: datetime = offset_naive_utcnow(),
    updated_date: datetime = t.cast(datetime, MISSING),
    _events: Sequence[ModelEvent[ENTITY_ID]] = list(),
    _is_new: bool = False,
)

Bases: AuditedEntity[ENTITY_ID], SoftDeletableEntity[ENTITY_ID], VersionedEntity[ENTITY_ID]

Batch dataclass

Batch()

Change dataclass

Change(type: ChangeType, entity: Entity[Any])

ChangeType

Bases: Enum

BatchError

Bases: Exception

BatchShutError

Bases: BatchError

CannotAddExistingEntityError

Bases: BatchError

CannotUpdateNewEntityError

Bases: BatchError

CannotDeleteNewEntityError

Bases: BatchError

DuplicateEntityInBatchError

DuplicateEntityInBatchError(
    entity_class: str, entity_id: Any, prior_op: str
)

Bases: BatchError

pyuow.domain.event

event

ModelEvent dataclass

ModelEvent(id: UUID, model_id: ENTITY_ID)

Bases: Generic[ENTITY_ID]

ModelCreatedEvent dataclass

ModelCreatedEvent(
    id: UUID, model_id: ENTITY_ID, created_date: datetime
)

Bases: ModelEvent[ENTITY_ID]

ModelDeletedEvent dataclass

ModelDeletedEvent(
    id: UUID, model_id: ENTITY_ID, deleted_date: datetime
)

Bases: ModelEvent[ENTITY_ID]

EventHandler

Bases: ABC

pyuow.domain.aio.event

event

EventHandler

Bases: ABC