Refer Python packages and modules: https://docs.python.org/3/reference/import.html#packages
All modules have a name. Subpackage names are separated from their parent package name by a dot, akin to Python’s standard attribute access syntax. Thus you might have a package called email, which in turn has a subpackage called email.mime and a module within that subpackage called email.mime.text.
Hierarchical layout
- types defined in namespace
- embedded
messages or enums