Basic Usage Example¶
This example demonstrates basic serialization and deserialization.
1"""
2Basic usage example for Serilux.
3
4This example demonstrates basic serialization and deserialization.
5"""
6
7from serilux import Serializable, register_serializable
8
9
10@register_serializable
11class Person(Serializable):
12 """A simple Person class."""
13
14 def __init__(self):
15 super().__init__()
16 self.name = ""
17 self.age = 0
18 self.email = ""
19 # Register fields to serialize
20 self.add_serializable_fields(["name", "age", "email"])
21
22
23def main():
24 """Run the basic usage example."""
25 print("=== Serilux Basic Usage Example ===\n")
26
27 # Create a person object
28 person = Person()
29 person.name = "Alice"
30 person.age = 30
31 person.email = "alice@example.com"
32
33 print("Original object:")
34 print(f" Name: {person.name}")
35 print(f" Age: {person.age}")
36 print(f" Email: {person.email}\n")
37
38 # Serialize to dictionary
39 data = person.serialize()
40 print("Serialized data:")
41 print(f" {data}\n")
42
43 # Deserialize from dictionary
44 new_person = Person()
45 new_person.deserialize(data)
46
47 print("Deserialized object:")
48 print(f" Name: {new_person.name}")
49 print(f" Age: {new_person.age}")
50 print(f" Email: {new_person.email}\n")
51
52 # Verify they match
53 assert person.name == new_person.name
54 assert person.age == new_person.age
55 assert person.email == new_person.email
56 print("✓ Serialization and deserialization successful!")
57
58
59if __name__ == "__main__":
60 main()