Sphinx is a tool that translates a set of reStructuredText source
files into various output formats, automatically producing
cross-references, indices etc. The focus is on hand-written
documentation, rather than auto-generated API docs. Though there is
support for that kind of docs as well (which is intended to be
freely mixed with hand-written content). If you need pure API docs
have a look at Epydoc, which also understands reST.
This requires pysetuptools, docutils, and Jinja2.
Pygments is an optional runtime-only dependency.