Dror Speiser - @drorspei - Home page

State Machines in your Python: from inline to StateCharts with SISMIC


Do you have too many Boolean variables interacting in complicated ways, with unexpected behaviour for your users and yourself? In this talk, I’ll show you how to use state machines and StateCharts in python. You will learn how to reduce coding and testing to a single task - modelling your problem.


Finite State Machines (FSM) are a cornerstone of computer science, used throughout research and academia to model and solve problems. They are also used heavily in the hardware industry, and safety-critical software industries (e.g the software in your car).

And yet, we barely use them in most software development. Let me convince you that FSMs are both worthwhile, and easy to use in python. They will let you model your systems better, communicate about them better, find and fix bugs faster.


For the last few years, Dror Speiser has been developing signal processing algorithms in python and C++ at a startup called Bugatone.

Dror Speiser is originally from Tel-Aviv, Israel, and has been living in Ljubljana for the last two years.

Dror Speiser is interested in many aspects of programming which include the following, all of which are important to me for day-to-day work:

  • high performance computation and parallelization,
  • machine learning and big data,
  • formal modelling and verification,
  • api design and team communication,
  • debugging high-level and native programs.

Dror Speiser has an ipython extension you should check out: https://github.com/drorspei/ipython-suggestions

Dror Speiser has a background in pure mathematics and runs a few side projects on modular forms and supersingular primes for modular abelian varieties.