As per the paper and the design principle, ExperimentalData, Engines, Params and Monitor must be immutable. However, python doesn't allow this by default. I recommend some refactoring to the base classes to use the python dataclasses library by specifying a decorator @dataclass(frozen=True). This would enforce immutability and also avoid potential bugs and might simplify fixing them in the long-run.
As per the paper and the design principle,
ExperimentalData,Engines,ParamsandMonitormust be immutable. However, python doesn't allow this by default. I recommend some refactoring to the base classes to use the pythondataclasseslibrary by specifying a decorator@dataclass(frozen=True). This would enforce immutability and also avoid potential bugs and might simplify fixing them in the long-run.