.. autoclass:: statemachine.statemachine.StateChart
:members:
:undoc-members:
.. autoclass:: statemachine.statemachine.StateMachine
:members:
:undoc-members:
{ref}`States` reference.
.. autoclass:: statemachine.state.State
:members:
.. autoclass:: statemachine.state.HistoryState
:members:
.. autoclass:: statemachine.states.States
:noindex:
:members:
{ref}`Transitions` reference.
.. autoclass:: statemachine.transition.Transition
:members:
.. autoclass:: statemachine.transition_list.TransitionList
:members:
{ref}`Domain models` reference.
.. autoclass:: statemachine.model.Model
:members:
.. autoclass:: statemachine.event_data.TriggerData
:members:
.. autoclass:: statemachine.event.Event
:members: id, name, __call__
.. autoclass:: statemachine.event_data.EventData
:members:
These are convention-based callbacks that you can define on your state machine subclass. They are not methods on the base class — define them in your subclass to enable the behavior.
Called before every event is processed. Returns a dict of keyword arguments
that will be merged into **kwargs for all subsequent callbacks (guards, actions,
entry/exit handlers) during that event's processing:
class MyMachine(StateMachine):
initial = State(initial=True)
loop = initial.to.itself()
def prepare_event(self):
return {"request_id": generate_id()}
def on_loop(self, request_id):
# request_id is available here
..... autofunction:: statemachine.io.create_machine_class_from_definition