Mortise is a synchronous state machine library for event based systems.
- Synchronous state-machine event handling
- No external dependencies
- Composable / Reusable state support via pushdown automata
- State timeout and retry limit support
- Directed exception handling + state transitions on exception
- State machine visualization (requires graphviz)
- Python >= 3.4
- GraphViz (Optional for state machine visualization)
See the examples
folder.
Mortise was developed at Keyme by Jeff Ciesielski and Lianne Lairmore