Dict Objectify (DO) allows specification of python classes hierarchy that are
backed by dictionaries. Specification is done similar to ORM frameworks,
by declaratively specifying dictionary keys as fields,
Every field is defined as either nested (DO) class for nested dictionaries
or one of the provided type classes for values of the
type: int, float, text, bool, array, datetime or enum.
Mapping between dictionaries and these objects works both ways.
This allows easy parsing of hierarchical documents into python object hierarchy,
doing pre processing on dict values, doing any kind of processing on
that hierarchy and then transforming root objects back into dictionaries
for eventual dumping into same document formats.