I have a Python 3.9 class that uses the transition library. This lib create dynamic methods from local class setup like:
class experiment:
# The states
states=['solid', 'liquid', 'gas', 'plasma']
# each trigger will create a dynamic method.
transitions = [
{ 'trigger': 'melt', 'source': 'solid', 'dest': 'liquid' },
{ 'trigger': 'evaporate', 'source': 'liquid', 'dest': 'gas' },
{ 'trigger': 'sublimate', 'source': 'solid', 'dest': 'gas' },
{ 'trigger': 'ionize', 'source': 'gas', 'dest': 'plasma' }
]
def __init__(self):
self.machine = LHGMachine(model=self, states=self.states, transitions=self.transitions, initial=self.states[0])
In this example, dynamic methods will be created. like: self.melt()
, self.evaporate()
and other as stated at self.transitions
.
Is it possible to document them so IDEs will get a hint of what methods are available?