datta.serializers module

class datta.serializers.Serializer(*args, **kwds)

Bases: SlottedBase, Generic[T]

Abstract serializer.

abstract serialize(relationship, value)

Serialize value.

Parameters
  • relationship – Relationship.

  • value – Value.

Returns

Serialized value.

Raises

SerializationError – Error while serializing.

abstract deserialize(relationship, serialized)

Deserialize value.

Parameters
  • relationship – Relationship.

  • serialized – Serialized value.

Returns

Value.

Raises

SerializationError – Error while deserializing.

class datta.serializers.TypedSerializer(*args, **kwds)

Bases: Serializer[T]

Serializer that utilizes relationship types to best guess serialization formatting.

serialize(relationship, value)

Serialize value.

Parameters
  • relationship – Relationship.

  • value – Value.

Returns

Serialized value.

Raises

SerializationError – Error while serializing.

deserialize(relationship, serialized)

Deserialize value.

Parameters
  • relationship – Relationship.

  • serialized – Serialized value.

Returns

Value.

Raises

SerializationError – Error while deserializing.

class datta.serializers.EnumSerializer(by_name=False)

Bases: Serializer

Serializer for enum types.

serialize(relationship, value)

Serialize value.

Parameters
  • relationship – Relationship.

  • value – Value.

Returns

Serialized value.

Raises

SerializationError – Error while serializing.

deserialize(relationship, serialized)

Deserialize value.

Parameters
  • relationship – Relationship.

  • serialized – Serialized value.

Returns

Value.

Raises

SerializationError – Error while deserializing.

property by_name

Whether to serialize by name instead of value.