Skip to content

Module fl_server_ai.notification.serializable

View Source
# SPDX-FileCopyrightText: 2024 Benedikt Franke <benedikt.franke@dlr.de>
# SPDX-FileCopyrightText: 2024 Florian Heinrich <florian.heinrich@dlr.de>
#
# SPDX-License-Identifier: Apache-2.0

from dataclasses import asdict, dataclass
from typing import Any
from uuid import UUID


@dataclass
class Serializable:
    """
    Serializable `dataclass` base class which provides a method to serialize the dataclass instance into a dictionary.
    """

    def serialize(self) -> dict[str, Any]:
        """
        Serialize the dataclass instance into a dictionary.

        UUID fields are converted to strings.

        Returns:
            dict[str, Any]: The serialized dataclass instance.
        """
        return {key: str(value) if isinstance(value, UUID) else value for key, value in asdict(self).items()}

Classes

Serializable

class Serializable()

Serializable dataclass base class which provides a method to serialize the dataclass instance into a dictionary.

View Source
@dataclass
class Serializable:
    """
    Serializable `dataclass` base class which provides a method to serialize the dataclass instance into a dictionary.
    """

    def serialize(self) -> dict[str, Any]:
        """
        Serialize the dataclass instance into a dictionary.

        UUID fields are converted to strings.

        Returns:
            dict[str, Any]: The serialized dataclass instance.
        """
        return {key: str(value) if isinstance(value, UUID) else value for key, value in asdict(self).items()}

Descendants

  • fl_server_ai.notification.notification.Body
  • fl_server_ai.notification.notification.Notification
  • fl_server_ai.notification.training.finished.Body
  • fl_server_ai.notification.training.round_start.Body
  • fl_server_ai.notification.training.start.Body

Methods

serialize

def serialize(
    self
) -> dict[str, typing.Any]

Serialize the dataclass instance into a dictionary.

UUID fields are converted to strings.

Returns:

Type Description
dict[str, Any] The serialized dataclass instance.
View Source
    def serialize(self) -> dict[str, Any]:
        """
        Serialize the dataclass instance into a dictionary.

        UUID fields are converted to strings.

        Returns:
            dict[str, Any]: The serialized dataclass instance.
        """
        return {key: str(value) if isinstance(value, UUID) else value for key, value in asdict(self).items()}