We use Sphinx and AutoAPI to generate the API documentation for our Python project.
Our project consists of several sub-modules, each of which is defined with an `__init__.py` file containing an `__all__` list. In order to get AutoAPI to produce detailed documentation
for each individual class, we also have an `__all__` list at the end of each source file which
lists the classes to document.
Unfortunately, when generating the documentation for this project we get a lot of warnings such as:
Projects/PSyclone/src/psyclone/transformations.py:docstring of psyclone.transformations.KernelGlobalsToArguments.validate:: WARNING: more than one target found for cross-reference 'TransformationError': psyclone.psyir.transformations.TransformationError, psyclone.psyir.transformations.transformation_error.TransformationError
where the `TransformationError` class is implemented in psyclone/psyir/transformations/transformation_error.py but is made available as part of the `psyclone.psyir.transformations` module.
I would have thought this was a fairly common use case. Are we doing something unexpected or is there some way of getting AutoAPI to do the 'right thing'?
I'm using Sphinx 4.0.2 and autoapi 2.0.1 under Ubuntu 20.04 and python 3.8.5.