Metamodel

When pyMDG parses the source model file it parses into specific python classes.

https://raw.githubusercontent.com/Semprini/pyMDG/master/docs/_static/image/metamodel.png

This will form a hierarchy which looks like:

UMLPackage: my model package
    UMLPackage: sub package 1
        classes:
            UMLClass: my class 1
                attributes:
                    UMLAttribute: my attribute 1
                    UMLAttribute: my attribute 2
            UMLClass: my class 2
            ...
    UMLPackage: sub package 2
    ...

The your projects config file you specify the level of the hierarchy to provide to the template rendering engine. There are 3 levels of rendering templates - root, package and class.

See Templates page for details on using the parsed classes