I'm wondering about the purpose of Element so I only make as small changes as possible when removing the ConfigModels, is it supposed to be an abstract class or not?
At the moment it isn't an abstract class since it doesn't inherit from ABC and none of the methods are abstract but at the same time it seems to me like the users aren't meant to create objects of the class? Many of the methods are not implemented yet and some of them rely on there being a _cfg attribute despite that it doesn't exist in the class, indicating that this is just meant as a class to inherit from.
Also, the ElementConfigModel has two fields (description and lattice_names) that aren't used by the Element class since they are not included in __init__. They are just used because of subclasses inheriting them as part of their ConfigModels.
Should I make this into an abstract class?
I'm wondering about the purpose of Element so I only make as small changes as possible when removing the ConfigModels, is it supposed to be an abstract class or not?
At the moment it isn't an abstract class since it doesn't inherit from ABC and none of the methods are abstract but at the same time it seems to me like the users aren't meant to create objects of the class? Many of the methods are not implemented yet and some of them rely on there being a
_cfgattribute despite that it doesn't exist in the class, indicating that this is just meant as a class to inherit from.Also, the ElementConfigModel has two fields (description and lattice_names) that aren't used by the Element class since they are not included in
__init__. They are just used because of subclasses inheriting them as part of their ConfigModels.Should I make this into an abstract class?