py4ai.data.layer.common.serialiazer module

Module containing implementations and abstractions for data serializers.

class py4ai.data.layer.common.serialiazer.DataSerializer(*args, **kwds)

Bases: Generic[KE, KD, E, D], WithLogging, ABC

Base DataSerializer.

abstract get_key(entity: E) KE

Extract key for given entity.

Parameters

entity – provided entity

Returns

entity key

abstract to_entity(document: D) E

Deserialize raw content into domain object entity.

Parameters

document – raw content

Returns

domain object entity

abstract to_object(entity: E) D

Serialize domain object entity into raw content.

Parameters

entity – domain object entity

Returns

raw content

abstract to_object_key(key: KE) KD

Transform entity key into raw key, to be used for indexing in the persistence layer.

Parameters

key – entity key

Returns

raw key