  Chemical reaction networks can be automatically generated from graph grammar
descriptions, where rewrite rules model reaction patterns. Because a molecule
graph is connected and reactions in general involve multiple molecules, the
rewriting must be performed on multisets of graphs. We present a general
software package for this type of graph rewriting system, which can be used for
modelling chemical systems. The package contains a C++ library with algorithms
for working with transformation rules in the Double Pushout formalism, e.g.,
composition of rules and a domain specific language for programming graph
language generation. A Python interface makes these features easily accessible.
The package also has extensive procedures for automatically visualising not
only graphs and rewrite rules, but also Double Pushout diagrams and graph
languages in form of directed hypergraphs. The software is available as an open
source package, and interactive examples can be found on the accompanying
webpage.
