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()