python-sphinx creates unreproducible documentation by:

Known affected packages

Detection

Example debbindiff output with memory references and an unsorted index file

Example diff with and without network access:

-<li><strong>to_addr</strong> (<a class="reference external" href="https://docs.python.org/3/library/stdtypes.html#str" title="(in Python v3.6)"><em>str</em></a>) – the email to use as “to” (defaults to
+<li><strong>to_addr</strong> (<em>str</em>) – the email to use as “to” (defaults to

Solution

For unsorted stuff, patch submitted as 776443.

For info pages, patch forwarded upstream in 907352 (not yet applied in Debian).

For PDFs, TODO: info page bug may contain a hint for a solution.

For the external links, see 877895 for the full discussion.

Workaround: use the "multiple target" feature introduced in Sphinx 1.3 in the intersphinx_mapping configuration, like such:

intersphinx_mapping = {
    'python': ('https://docs.python.org/3/',
               ('/usr/share/doc/python3-doc/html/objects.inv', None)),
}

Make sure you add the right build-dep for the docs packages referenced (in the above case, python3-doc.