SNAKES logo SNAKES is a Python library that provides all the necessary to define and execute many sorts of Petri nets, in particular algebras of Petri nets. SNAKES' main aim is to be a general Petri net library, being able to cope with most Petri nets models, and providing the researcher with a tool to quickly prototype new ideas.

A key feature of SNAKES is the ability to use arbitrary Python objects as tokens and arbitrary Python expressions in many points, for instance in transitions guards or arcs outgoing of transitions. This provides out of the box a great flexibility.

Another important feature of SNAKES is the plugin system that allows to extend the features, for instance to work with specialised classes of Petri nets (e.g., plugins are provided to draw nets, or to compose them using the various control-flows operations). Plugins are another way to introduce flexibility but requiring some involvement.


Download and useful links

Author and licence

SNAKES is mainly developed by Franck Pommereau and is distributed as free software under the GNU LGPL licence.


You may cite these papers to refer to SNAKES, listed from the most recent (preferred) to the oldest:

If you wish to advertise SNAKES, maybe you'll want to display the poster.