The --exclude functionality only appears to work for the first module passed to epydoc. In the attached example, if you use the command:
python epydoc/3.0.1/lib/epydoc/cli.py -v --exclude=constants -o ~/tmp/epydoc/experiment/ dir1/A/ dir2/B/
then only the constants in dir1/A will be excluded. If you reverse this:
python epydoc/3.0.1/lib/epydoc/cli.py -v --exclude=constants -o ~/tmp/epydoc/experiment/ dir2/B/ dir1/A/
then the constants in dir2/B will be excluded.
Additionally, if you import the constants using:
from A import constants
the generated documentation correctly excludes A.constants
Commenting that out and uncommenting:
from A.constants import *
results in 'A.constants' being included in the 'Module Hierarchy' (albeit it's not a link).
Hope this is clear.