Extensions in ArviZ and PyMC#

Built in extensions#

Built in extensions are prefixed with sphinx.ext.

  • autodoc and autosummary allow automating the process of including docstrings into the documentation.

  • viewcode adds the [source] link to the API pages generated with autosummary

  • mathjax invoques mathjax so that math is rendered correctly in html.

  • intersphinx allows cross-referencing pages from other documentations.

External extensions#

  • numpydoc parses docstrings written in NumPy style.

  • IPython extensions add directives for code that is automatically executed when building the docs as well as highlighting for those code blocks.

  • matplotlib.sphinxext.plot_directive and bokeh.sphinxext.bokeh_plot add directive that embed plots into the documentation.

  • myst and myst_nb allow sphinx to parse .md and .ipynb files.

  • sphinx_design adds multiple roles and directives for formatting options such as grids, tabs or cards based on bootstrap, octicon and font awesome icons…

  • sphinx_copybutton automatically adds a copy icon to all code blocks.

  • sphinx_togglebutton (pulled in under the hood by myst_nb) makes extra arguments and tags available for some directives and code cells in order to add “toggle buttons” and collapse content.

  • notfound.extension improves the support for a custom 404 error page, specially when hosting on GitHub pages or ReadTheDocs.

  • ablog adds a post directive to include tags, categories, date posted… to pages and automatically builds archives, tag word clouds…

  • sphinxcontrib.bibtex adds roles and directive for latex-like citation capabilities and support for bibtex format references.

  • sphinx-codeautolink automatic links in code blocks

“Homemade” extensions#

Even though these are part of the ArviZ/PyMC codebase, you should expect to work on these extensions even less often than working on conf.py.

  • gallery_generator (ArviZ) runs all the files within the examples/ folder and automatically builds the Example gallery page from them. for the Tutorials and Examples sections.