Sphinx uses reStructuredText as its markup language, and many of its strengths come from the power and straightforwardness of reStructuredText and its parsing and translating suite, the Docutils.
* Output formats: HTML, PDF, plain text, EPUB, TeX, manual pages, and more
* Extensive cross-references: semantic markup and automatic links for functions, classes, glossary terms and similar pieces of information
* Hierarchical structure: easy definition of a document tree, with automatic links to siblings, parents and children
* Automatic indices: general index as well as a module index
* Code highlighting: automatic highlighting using the Pygments highlighter
* Templating: Flexible HTML output using the Jinja 2 templating engine
* Extension ecosystem: Many extensions are available, for example for automatic function documentation or working with Jupyter notebooks.