Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FSMkit icon

FSMkit

FSMkit is a workbench for finite state machines that takes you from plain text to a verified diagram. Describe a machine in a short text file, check it for mistakes, and find paths through it. Then export it to Graphviz, SCXML, CSV, or Z notation in plain text and LaTeX.

Plain Python 3 with no dependencies.

Quick start

python3 fsmkit.py examples/phone.txt

Then type verify, list all, or export dot at the prompt. Everything else is in MANUAL.md.

Layout

  • fsmkit.py is the interactive console. Start here.
  • fsm.py is the core engine: parsing, editing, verification, and path search. It also works on its own as a batch checker.
  • fsm_ex.py adds the export formats on top of fsm.py.
  • examples/ holds ready-made machines to load and play with.
  • MANUAL.md is the user manual.

fsm.py and fsm_ex.py can be imported and used without the console if you want to drive an FSM from your own script.

Author

FSMkit was written by Ilya Levin.

Copyright 2012-2017 Literatecode
Re-released by the author under the MIT License in 2026, see LICENSE.

About

A workbench for finite state machines, from plain text to verified diagram.

Topics

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages