As per the Python standard, we use DocStrings to document each function/class.
These can be queried on the command line:
>>> print myfunction.__doc__
They are also used by Epydoc to generate our API documentation.
This should be replaced by Sphinx, using reST-formatted docstrings & additional documentation.
Individual routines inside functions should still have comments to explain them.
User Guides & Developer Guides are written on the Wiki.
Trac can be enhanced to make it's Wiki more usable, otherwise we may switch to DokuWiki for the User Guides.
To generate a PDF version with low work, we could look to use: