NavigableDict is a class that should be designed for subclassing. Nevertheless, when using the static method from_dict(...) you would expect this method to return a class of the same type as the subclass. Instead, it returns a NavigableDict.
from egse.setup import Setup
x = Setup.from_dict({})
print(type(x))
<class 'navdict.navdict.NavigableDict'>
The expected behavior would be:
from egse.setup import Setup
x = Setup.from_dict({})
print(type(x))
<class 'egse.setup.Setup'>
NavigableDictis a class that should be designed for subclassing. Nevertheless, when using the static methodfrom_dict(...)you would expect this method to return a class of the same type as the subclass. Instead, it returns aNavigableDict.The expected behavior would be: