I may be wrong since I just skimmed the docs, but this looks like an attempt to allow general purpose python when needed, rather than being fully locked into a DSL.
Righto (author here)! It's a lot more relaxed (IMHO) than some. Most methods are raw python. The "set_foo" methods are just methods that get called when the objects are constructed to populate certain fields. You can just pass those in and leave them off if you want.