{"repo":"pytransitions/transitions","free":true,"listed":false,"github":"https://github.com/pytransitions/transitions","clone":"git clone https://github.com/pytransitions/transitions.git","description":"A lightweight, object-oriented finite state machine implementation in Python with many extensions","language":"Python","stars":6582,"topics":["python","state-machine","nested-states","hierarchical-state-machine","state-diagram"],"license":"MIT","category":"dev-tools","readme_excerpt":"transitions A lightweight, object-oriented state machine implementation in Python with many extensions. Compatible with Python 2.7+ and 3.0+. Installation pip install transitions ... or clone the repo from GitHub and then: python setup.py install Table of Contents - Quickstart - Non-Quickstart - Some key concepts - Basic initialization - States - Callbacks - Checking state - Enumerations - Transitions - Triggering a transition - Automatic transitions - Transitioning from multiple states - Reflexive transitions from multiple states - Internal transitions - Ordered transitions - Queued transitions - Conditional transitions - Check transitions - Callbacks - Callable resolution - Callback execution order - Passing data - Alternative initialization patterns - Logging - (Re-)Storing machine instances - Typing support - Extensions - Hierarchical State Machine - Diagrams - Threading - Async - State features - Django - Bug reports etc. Quickstart They say a good example is worth 100 pages of API documentation, a million directives, or a thousand words. Well, \"they\" probably lie... but here's an example anyway: There, now you've baked a state machine into NarcolepticSuperhero . Let's take him/her/it out for a spin... While we cannot read the mind of the actual batman, we surely can visualize the current state of our NarcolepticSuperhero . Have a look at the Diagrams extensions if you want to know how. The non-quickstart A state machine is a model of behavior composed of a finite number","default_branch":null,"files":null,"tree":[],"storefront":"/r/pytransitions","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/pytransitions/transitions/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}