Extensions ========== .. seealso:: `Sphinx Extensions `_ Built-in extensions ------------------- `sphinx.ext.autodoc `_ Integrate documentation from docstrings `sphinx.ext.autosummary `_ generates summaries of functions, methods and attributes from docstrings `sphinx.ext.autosectionlabel `_ references section using the title `sphinx.ext.graphviz `_ Rendering of `Graphviz `_ graphs `sphinx.ext.ifconfig `_ includes content only under certain conditions `sphinx.ext.intersphinx `_ allows the linking of other project documentation `sphinx.ext.mathjax `_ Rendering via JavaScript `sphinx.ext.napoleon `_ Support for NumPy and Google style docstrings `sphinx.ext.todo `_ Support for ToDo items `sphinx.ext.viewcode `_ adds links to the source code of the Sphinx documentation .. seealso:: `sphinx/sphinx/ext/ `_ Third-party extensions ---------------------- `nbsphinx `_ Jupyter Notebooks in Sphinx `jupyter-sphinx `_ allows rendering of Jupyter interactive widgets in Sphinx. .. seealso:: `Embedding Widgets in the Sphinx HTML Documentation `_ `Breathe `_ ReStructuredText and Sphinx bridge to `Doxygen `_ `numpydoc `_ `NumPy `_’s Sphinx extension `Releases `_ writes a changelog file `sphinxcontrib-napoleon `_ Napoleon is a pre-processor for parsing NumPy- and Google-style docstrings `sphinx-autodoc-annotation `_ use Python 3 annotations in sphinx-enabled docstrings `sphinx-autodoc-typehints `_ Type hints support for the Sphinx autodoc extension `sphinx-git `_ `git `_-Changelog for Sphinx `Sphinx Gitstamp Generator Extension `_ inserts a git datestamp into the context `sphinx-issues `_ creates links to GitHub or GitLab issues, pull requests and user profiles. `sphinx-intl `_ Sphinx extension for translations `sphinx-autobuild `_ monitors a Sphinx repository and creates new documentation as soon as changes are made `Sphinx-Needs `_ allows the definition, linking and filtering of need-objects, for example requirements and test cases `Sphinx-pyreverse `_ generate a UML diagram from python modules `sphinx-jsonschema `_ display a `JSON Schema `_ in the Sphinx documentation `Sphinxcontrib-mermaid `_ allows you to embed Mermaid graphics in your documents. `Sphinx Sitemap Generator Extension `_ generate multiversion and multilanguage `sitemaps `_ for the HTML version `Sphinx Lint `_ based on `rstlint.py `_ from CPython. `sphinx-toolbox `_ Toolbox for Sphinx with many useful tools. .. seealso:: `sphinx-contrib `_ A repository of Sphinx extensions maintained by their respective authors. `sphinx-extensions `_ Curated site with Sphinx extensions with live examples and their configuration. Own Extensions -------------- Local extensions in a project should be specified relative to the documentation. The appropriate path is specified in the Sphinx configuration ``docs/conf.py``. If your extension is in the directory ``exts`` in the file ``foo.py``, then the ``conf.py`` should look like this: .. code-block:: python import sys import os sys.path.insert(0, os.path.abspath("exts")) extensions = ["foo", ...] .. seealso:: * `Developing extensions for Sphinx `_ * `Application API `_