A curated list of awesome extra libraries, software and resources for Sphinx (Python Documentation Generator). Inspired by awesome-sqlalchemy. (See also other awesome lists!)
Licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.
Your contributions are welcome.
Table of Contents
Homepage: https://www.sphinx-doc.org/
- Documenting Your Project With Sphinx
- Exercises for the Sphinx Tutorial that Brandon Rhodes often gives at PyCon.
- breathe
- ReStructuredText and Sphinx bridge to Doxygen.
- docxsphinx
- Sphinx extension for building Microsoft Word docx files.
- javasphinx
- Sphinx extension for documenting Java projects.
- numpydoc
- NumPy's Sphinx extensions.
- Releases
- A Sphinx changelog-generating extension.
- autoclasstoc
- Make easier-to-navigate class documentation.
- sphinx-autodoc-annotation
- Use Python 3 annotations in sphinx-enabled docstrings.
- sphinx-autodoc-typehints
- Type hints support for the Sphinx autodoc extension
- sphinx-fortran-extension
- A Fortran domain and autodocumentation module for Sphinx.
- sphinx-gallery
- Sphinx extension for automatic generation of an example gallery.
- sphinx-git
- git Changelog for Sphinx.
- sphinx-jekyll-builder
- sphinx builder that outputs jekyll compatible markdown files with frontmatter
- sphinx-markdown-builder
- Sphinx builder that outputs markdown files.
- Sphinx-prompt
- Sphinx directive to add unselectable prompt.
- Sphinx-pyreverse
- Simple sphinx wrapper around pyreverse (from pylint suit) to generate UML diagrams from modules.
- sphinxcontrib-autojs
- The auto JavaScript documentation Sphinx extension.
- sphinxcontrib-autoprogram
- Provides an automated way to document CLI programs.
- sphinxcontrib-blockdiag
- Sphinx extension for embedding blockdiag diagrams.
- sphinxcontrib-constdata
- Extension that allows showing values, listing tables, and generating links from CSV, JSON and YAML files. Instead of hard-coding values in the text, you write constants or queries replaced with value(s) from the external file(s). If the file contains language-sensitive strings, they can be translated with the rest of the Sphinx docs.
- sphinxcontrib-cldomain
- Common Lisp domain for Sphinx.
- sphinxcontrib-docbookrestapi
- Sphinx extension that generates documentation for api-site from RST files.
- sphinxcontrib-fulltoc
- Extension for Sphinx to make the sidebar show a full table of contents instead of just the local headings.
- sphinxcontrib-httpdomain
- Provides a Sphinx domain for describing RESTful HTTP APIs. Also supports reflection for Flask, Bottle, and Tornado apps.
- cornice.ext.sphinxext
- Sphinx extension to build RESTful HTTP API documentation from Pyramid Cornice docstrings.
- sphinxcontrib-programoutput
- Sphinx extension to include program output into documents.
- sphinxcontrib-napoleon
- Napoleon is a pre-processor that parses NumPy and Google style docstrings.
- Tut
- Tut is a tool that helps you write tutorial style documentation using Sphinx.
- Sphinx-Needs
- Sphinx-Needs allows the definition, linking, and filtering of need-objects: requirements, specifications, implementations, test cases, and more.
- nbsphinx
- Parse, execute, and generate output from Jupyter notebooks as HTML and LaTeX. Markdown in .ipynb is converted to RST with Pandoc. Markdown cells may contain toctree markup for generating tables of contents including .ipynb and .rst files.
- Sphinxcontrib-proof
- Sphinx extension to typeset definitions, theorems, proofs, etc.
- Sphinxcontrib-packages
- A sphinx extension to list tools installed on the machine generating the documentation (python versions, binaries, python packages, LaTeX packages, etc.). Useful to know which tools are installed on Readthedocs when writing your own extension.
- sphinx-sitemap
- sphinx-sitemap silently generates a sitemap for HTML builds.
- sphinx-jsonschema
- Turns a jsonschema into an integral part of your documentation. Useful when you want a single source for both validation and documentation of your JSON entities.
- sphinx-gitstamp
- Makes the git timestamp for each page available to HTML templates.
- sphinx-intl
- Sphinx utility that make it easy to translate and to apply translation.
- django-sphinxdoc
- Integrate Sphinx documentation into a Django-powered website. Allows you to use your sites templates, auth and so on. Offers search via Haystack.
- ome-documentation
- Sphinx-based documentation for the Open Microscopy Environment.
- riv.vim
- ReStructured text editing extensions for Vim, GVim, MacVim; optionally with InstantRst gevent live reload.
- sphinx-gui
- Desktop GUI for editing Sphinx docs.
- sphinx-markdown-sample
- Markdown based sphinx the documentation generator sample.
- tinkerer
- Blog engine static HTML5 generator with categories, tags, landing page, nav sidebar, RSS powered by Sphinx and responsive Jinja templates.
- ablog
- ABlog is a Sphinx extension that converts any documentation or personal website project into a full-fledged blog with atom feeds, archive pages, blog sidebars, Disqus integration, Font-Awesome integration and easy GitHub Pages deploys
- sphobjinv
- sphobjinv is a Python package and command-line tool for inspection and manpulation of the objects inventories (objects.inv files) generated by Sphinx's html builder, allowing simple determination of correct cross-reference syntax and construction of objects.inv files for documentation sets not created in Sphinx.
- MyST
- MyST allows you to write Sphinx documentation entirely in markdown. MyST markdown provides a markdown equivalent of the reStructuredText syntax, meaning that you can do anything in MyST that you can do with reStructuredText. It is an attempt to have the best of both worlds: the flexibility and extensibility of Sphinx with the simplicity and readability of Markdown.
- Jupyter Book
- Jupyter Book builds books into formats like HTML and PDF from MyST Markdown and Jupyter notebooks with Sphinx. Jupyter Books can include interactive Jupyter notebooks, interactive data visualizations, and comments and annotations.
- Alabaster
- Modified Kr Sphinx doc theme.
- flask-sphinx-themes
- Sphinx Themes for Flask related projects and Flask itself.
- krTheme Sphinx Style
- Sphinx theme Kenneth Reitz uses for most projects e.g. Requests.
- Sphinx Readable Theme
- A clean and readable Sphinx theme with focus on autodoc – documentation from docstrings.
- sphinx-better-theme
- A theme for Sphinx that looks nice, is easy to style with CSS, works well on small screens and mobile devices, and organizes the page better.
- sphinx_rtd_theme
- Sphinx theme for readthedocs.io.
- sphinx-typo3-theme
- Modern, responsive, standalone Sphinx theme for TYPO3 documentation. Available from PyPi.
- sphinx-theme-graphite
- A slightly muted light-on-dark theme for the Sphinx document generator using only CSS.
- sphinxjp.themes.basicstrap
- Sphinx theme built with responsive Bootstrap.
- sublee-sphinx-themes
- Sphinx themes Heungsub Lee uses for his projects e.g. Energy, Korean, Ranking, TrueSkill.
- sphinx-py3doc-enhanced-theme
- A theme based on the theme of https://docs.python.org/3/ with some responsive enhancements.
- sphinx-bootstrap-theme
- Integrates Bootstrap CSS/Javascript framework responsive design with any Bootswatch CSS themes.
- sphinx-foundation-theme
- Theme based on the Foundation 4 CSS framework.
- sphinx-nameko-theme
- Forked from Sphinx Readable Theme, combined with elements of the Read The Docs theme.
- sphinx-guzzle-theme
- Sphinx theme used by Guzzle: http://guzzlephp.org
- sphinx-hbp-theme
- HumanBrainProject Collaboratory Sphinx Theme.
- crate-docs-theme
- This project provides a Sphinx theme for Crate's documentation that is compatible with ReadTheDocs.
- solar-theme
- Solar is an attempt to create a theme for the Python Sphinx documentation generator based on the Solarized color scheme.
- sphinxtrap-theme
- Sphinxtrap is a minimalist bootstrap2-based + fontawesome sphinx theme.
- mdn-sphinx-theme
- This is a version of the Mozilla Developer Network theme, for the Sphinx documentation engine.
- sphinx_adc_theme
- The Apple Developer Connection theme for sphinx
- Read the Docs
- Read the Docs hosts documentation, making it fully searchable and easy to find. You can import your docs using any major version control system, including Mercurial, Git, Subversion, and Bazaar. It supports webhooks so your docs get built when you commit code. There's also support for versioning so you can build docs from tags and branches of your code in your repository. A full list of features is available.
- Okydoky
- Automated docs builder using Sphinx/GitHub/Distribute for private use.
- sphinx-autobuild
- Watch a Sphinx directory and rebuild the documentation when a change is detected.
- sphinx-server
- A universal Sphinx Server based on sphinx-autobuild with Docker support that can be used in production (self-hosted) and for documentation development, bundled with PlantUML, Graphviz and HTTP authentication.
- sphinx-me
- Wraps your README-only projects in a dynamic Sphinx shell for hosting on Read the Docs.
- Sphinx to GitHub
- Script to prepare Sphinx html output for GitHub Pages.
- ghp-import
- Script to overwrite a
gh-pages
/master
branch with a.nojekyll
file for GitHub Pages.