Skip to main content

luna.serialization

Provides serialization and deserialization functionality for Luna, handling complex data structures including models. Utilizes pickle for efficient serialization and supports Pydantic BaseModel for model serialization. Offers a flexible mechanism to encode and decode various data types to and from JSON format, integrating pickle encoding for non-native types and model handling for LunaModel instances.

LunaSerdes Objects

class LunaSerdes()

Provides serialization and deserialization capabilities for handling complex data structures within Luna.

Utilizes Python's pickle for efficient serialization and supports Pydantic's BaseModel for model serialization. It offers a flexible mechanism to encode and decode various data types to and from JSON format, integrating pickle encoding for non-native types and model handling for instances of LunaModel.

The class provides methods to serialize data into a string format and deserialize string data back into the corresponding Python data structures or Luna models.

deserialise

@classmethod
def deserialise(cls,
data,
models: dict[str, Type["LunaModel"]] | None = None) -> Any

Deserializes the given JSON-formatted string into the corresponding Python data structures or Luna models.

:param data: The string data to be deserialized. :param models: A dictionary mapping model names to their corresponding LunaModel types. :return: The deserialized data as Python data structures or Luna models.