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.