Python application notes
Redundant module aliases
At first glance the way that lcm-gen generates an __init__.py
for the outputted Python module may
seem strange. Symbols are exported using the redundant alias convention defined by
Python.
This allows tools to see exactly what symbols are exported by the module without having to first
implicitly reexport. For example, consider a module which exported symbols using a convention like
from .file import Foo
rather than the redundant alias convention of
from .file import Foo as Foo
. In this case, running mypy
with --no-implicit-reexport
would
cause errors like error: Module "foo" does not explicitly export attribute "Foo" [attr-defined]
.