Sphinx

For extensive documentation you can, for example, use Sphinx, a documentation tool that converts reStructuredText into HTML or PDF, EPub and man pages. The Python Basics are also created with Sphinx. To get a first impression of Sphinx, you can have a look at the source code of this page by following the link Sources.

Originally, Sphinx was developed for the documentation of Python and is now used in almost all Python projects, including NumPy and SciPy, Matplotlib, Pandas and SQLAlchemy.

The Sphinx autodoc feature, which can be used to create documentation from Python Docstrings, may also be conducive to the spread of Sphinx among Python developers. Overall, Sphinx allows developers to create complete documentation in place. Often the documentation is also stored in the same Git repository, so that the creation of the latest software documentation remains easy.

Sphinx is also used in projects outside the Python community, e.g. for the documentation of the Linux kernel: Kernel documentation update.

Read the Docs was developed to forther simplify documentation. Read the Docs makes it easy to create and publish documentation after each commit.

For project documentation, visualising Git feature branches and tags with git-big-picture can be helpful.

Note

If the content of long_description in setup() is written in reStructured Text, it is displayed as well-formatted HTML on the Python Package Index (PyPI).