  Haydi (http://haydi.readthedocs.io) is a framework for generating discrete
structures. It provides a way to define a structure from basic building blocks
and then enumerate all elements, all non-isomorphic elements, or generate
random elements in the structure. Haydi is designed as a tool for rapid
prototyping. It is implemented as a pure Python package and supports execution
in distributed environments. The goal of this paper is to give the overall
picture of Haydi together with a formal definition for the case of generating
canonical forms.
