State Mate

State Mate generates python-statemachine source code from a constrained Sismic YAML statechart.

Sismic owns parsing, validation, and the in-memory statechart model. State Mate adds only the validation needed to ensure the model can be represented faithfully as a flat python-statemachine class, then renders that class with Jinja2.

Sismic YAML
    |
    v
sismic.io.import_from_yaml()
    |
    v
sismic.model.Statechart
    |
    v
State Mate subset validation
    |
    v
Jinja2 template
    |
    v
python-statemachine source

Where to start

The documentation follows the Diátaxis structure:

  • Tutorials teach State Mate by guiding you through a complete first result.
  • How-to guides solve specific tasks once you already know the basics.
  • Reference describes the CLI, Python API, and supported statechart subset precisely.
  • Explanation discusses the design choices behind the project.

If this is your first time using State Mate, start with Getting started.