betty.serialize module#

The (de)serialization API.

exception betty.serialize.SerializationError#

Bases: HumanFacingException

Raised when an error occurs during (de)serialization.

class betty.serialize.Serializer#

Bases: ABC, Plugin[SerializerDefinition]

A serializer.

abstractmethod dump(portable: PortableData, /) str#

Serialize data.

abstractmethod load(serialized: str, /) PortableData#

Deserialize data.

Raises:

SerializationError – Raised when the dump could not be loaded.

abstractmethod classmethod media_type() MediaType#

The media type this serializer can serialize.

final class betty.serialize.SerializerDefinition#

Bases: HumanFacingDefinition, PluginClsDefinition[Serializer]

The serializer plugin type.

Plugin type ID

serializer

Definition

@SerializerDefinition(...)

Built-in serializers:

json (Json)
JSON
yaml (Yaml)
YAML
__init__(plugin_id: ResolvableMachineName, *, label: ResolvableLocalizable, auto: bool = True, description: ResolvableLocalizable | None = None, requires: Requires = ())#
static type() PluginTypeDefinition[Self]#

The plugin type definition.

betty.serialize.serializer_for(available_serializers: Iterable[Serializer], extension: str, /) Serializer#

Get the serializer for the given file extension.