A fine state machine
Project description
Installation
pip install finesm
Usage
from finesm import State, StateMachine
class MyStateMachine(StateMachine):
stop = State(default=True)
go = State()
@stop.on_message('switch')
def stop_switch(self):
self.set_state(go)
@stop.on_exit
def stop_exit(self):
print('exiting stop state')
@go.on_enter
def go_enter(self):
print('entering go state')
@go.on_update
def go_update(self):
print('tick')
sm = MyStateMachine()
sm.state # stop
sm.update() #
sm.send_message('switch') # exiting stop state
# entering go state
sm.update() # tick
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for finesm-0.0.1-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 07b3eb49aae99c59957f5a8cd1912081e5fd1e52c050de70a17a4d309af5e81d |
|
MD5 | d588637820fae9c4f2143b1a761b5b38 |
|
BLAKE2b-256 | 3c6084e3d2735e8f5d455dd4e4ce14f4d29cd1f8d2c2077b9b29ee7a154a9ad2 |