Epydoc is a tool for generating API documentation for Python modules, based on their docstrings. It supports several output formats (including HTML and PDF), and understands four different markup languages (Epytext, Javadoc, reStructuredText, and plaintext). A wide variety of fields can be used to supply specific information about individual objects, such as descriptions of function parameters, type signatures, and groupings of related objects.

Full paper