Transitions is a lightweight, object-oriented state machine implementation in Python with many extensions.
Transitions is a flexible state machine library compatible with Python 2.7+ and Python 3+. It features extensions such as hierarchical/nested states, state diagrams, state decorators (e.g. Error states or Timeouts), thread-safe and asynchronous machines.