I find myself writing this class often in my python code when I need a quick single use class.
class Struct(object):
def __init__( self, **kwargs ):
for
What you have is a perfectly reasonable prototype, but you're right that it doesn't scale.
If you like using them, but want to have a path to better code later, here's what I'd suggest:
every time you do that, subclass Structure:
class Control(Structure): pass
later, when you want a "real" class, replace the superclass with something like strongbox.Strongbox (example usage) that provides that same constructor and attribute interface, but constrains which slots you can fill in.
A discipline like this only costs you one extra line up front, and won't break your code if you want more power later.