import dataclasses from datetime import datetime from typing import Optional @dataclasses.dataclass class Peer: # is the peer a master master: bool = dataclasses.field() # public asymmetric key public_key: bytes = dataclasses.field(repr=False) # secret symmetric key secret_key: Optional[bytes] = dataclasses.field(default=None, repr=False) # is the machine trusted trusted: bool = dataclasses.field(default=False) # when did the peer last communication with us occurred last_interaction: datetime = dataclasses.field(default_factory=datetime.now)