Sphinx¶
Create intelligent and beautiful documentation with ease
📝 Rich Text Formatting
Author in reStructuredText or MyST Markdown to create highly structured technical documents, including tables, highlighted code blocks, mathematical notations, and more.
🔗 Powerful Cross-Referencing
Create cross-references within your project, and even across different projects. Include references to sections, figures, tables, citations, glossaries, code objects, and more.
📚 Versatile Documentation Formats
Generate documentation in the preferred formats of your audience, including HTML, LaTeX (for PDF), ePub, Texinfo, and more.
🎨 Extensive Theme Support
Create visually appealing documentation, with a wide choice of built-in and third-party HTML themes and the ability to customize or create new themes.
🔌 Fully Extensible
Add custom functionality, via robust extension mechanisms with numerous built-in and third-party extensions available for tasks like creating diagrams, testing code, and more.
🛠️ Automatic API Documentation
Generate API documentation for Python, C++ and other software domains, manually or automatically from docstrings, ensuring your code documentation stays up-to-date with minimal effort.
🌍 Internationalization (i18n)
Add documentation translations multiple languages to reach a global audience.
🌟 Active Community and Support
Benefit from an active community, with numerous resources, tutorials, forums, and examples.
As used by:
See below for how to navigate Sphinx’s documentation.
See also
The Sphinx documentation Table of Contents has a full list of this site’s pages.
Get started¶
These sections cover the basics of getting started with Sphinx, including creating and building your own documentation from scratch.
User Guides¶
These sections cover various topics in using and extending Sphinx for various use-cases. They are a comprehensive guide to using Sphinx in many contexts and assume more knowledge of Sphinx. If you are new to Sphinx, we recommend starting with Get started.
Community guide¶
Sphinx is community supported and welcomes contributions from anybody. The sections below should help you get started joining the Sphinx community as well as contributing.
See the Sphinx contributors’ guide if you would like to contribute to the project.
Reference guide¶
Reference documentation is more complete and programmatic in nature, it is a collection of information that can be quickly referenced. If you would like usecase-driven documentation, see Get started or User Guides.
- Command-Line Tools
- Configuration
- Extensions
- reStructuredText
- Glossary
- Changelog
- Projects using Sphinx
- Documentation using the alabaster theme
- Documentation using the classic theme
- Documentation using the sphinxdoc theme
- Documentation using the nature theme
- Documentation using another builtin theme
- Documentation using sphinx_rtd_theme
- Documentation using sphinx_bootstrap_theme
- Documentation using pydata_sphinx_theme
- Documentation using a custom theme or integrated in a website
- Homepages and other non-documentation sites
- Books produced using Sphinx
- Theses produced using Sphinx
- Projects integrating Sphinx functionality