Pydantic Model
I realized that Pydantic models are only validated upon creation. In order to have runtime checks, one would have to add
model_config: dict = {"validate_assignment": True}
see also https://stackoverflow.com/questions/67025733/why-doesnt-pydantic-validate-field-assignments
To reproduce
from bec_widgets.utils.bec_connector import ConnectionConfig
config=ConnectionConfig()
config # take a look at config, gui_id was created automatically
config.gui_id=None
config # gui_id is None.
To change this behaviour one would have to add model_config: dict = {"validate_assignment": True}