It is based on the Python class example. The Makefile is based on the Makefile used in the OCaml shapes example.