I have created a class which takes in a dictionary which it uses as metadata to create all the variables in the class using setattr.
This lets me very concisely describe variables and auto-magically get range checking, and create GUIs that handle all the setting and getting and all sorts of lovely stuff.
What I lose though is autocompletion because the members are added using setaddr and not explicitly in code.
There should, however, be some way that I can hook into the pycharm autocompletion system and tell it about all the members that are described in the dictionary but I can't find anything like that.
I see a lot about using doc strings to document parameter types...but that's not quite the same thing.