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.