README for sphinx-contrib

This repository contains a collection of Sphinx extensions maintained by their respective authors. It is not an official part of Sphinx.


Use in the subdirectory for the individual extension:

cd dir
python build
sudo python install


If you want to add your own extension, please write an e-mail to and give your bitbucket user name; you will then get write access to the public repo at

Send wishes, comments, patches, etc. for individual extensions to their author as given in the module.

List of extensions

  • aafig: render embedded ASCII art as nice images using aafigure.
  • actdiag: embed activity diagrams by using actdiag
  • adadomain: an extension for Ada support (Sphinx 1.0 needed)
  • ansi: parse ANSI color sequences inside documents
  • autorun: Execute code in a runblock directive.
  • blockdiag: embed block diagrams by using blockdiag
  • cheeseshop: easily link to PyPI packages
  • clearquest: create tables from ClearQuest queries.
  • cmakedomain: a domain for CMake
  • coffeedomain: a domain for (auto)documenting CoffeeScript source code.
  • context: a builder for ConTeXt.
  • doxylink: Link to external Doxygen-generated HTML documentation
  • domaintools: A tool for easy domain creation.
  • email: obfuscate email addresses
  • embedly: embed anything supported by Embedly, an oEmbed service
  • erlangdomain: an extension for Erlang support (Sphinx 1.0 needed)
  • exceltable: embed Excel spreadsheets into documents using exceltable
  • feed: an extension for creating syndication feeds and time-based overviews from your site content
  • findanything: an extension to add Sublime Text 2-like findanything panels to your documentation to find pages, sections and index entries while typing
  • gnuplot: produces images using gnuplot language.
  • googleanalytics: track web visitor statistics by using Google Analytics
  • googlechart: embed charts by using Google Chart
  • googlemaps: embed maps by using Google Maps
  • httpdomain: a domain for documenting RESTful HTTP APIs.
  • hyphenator: client-side hyphenation of HTML using hyphenator
  • inlinesyntaxhighlight: inline syntax highlighting
  • lassodomain: a domain for documenting Lasso source code
  • lilypond: an extension inserting music scripts from Lilypond in PNG format.
  • makedomain: a domain for GNU Make
  • matlabdomain: document MATLAB code.
  • mockautodoc: mock imports.
  • mscgen: embed mscgen-formatted MSC (Message Sequence Chart)s.
  • napoleon: supports Google style and NumPy style docstrings.
  • nicoviceo: embed videos from nicovideo
  • nwdiag: embed network diagrams by using nwdiag
  • omegat: support tools to collaborate with OmegaT (Sphinx 1.1 needed)
  • osaka: convert standard Japanese doc to Osaka dialect (it is joke extension)
  • paverutils: an alternate integration of Sphinx with Paver.
  • phpdomain: an extension for PHP support
  • plantuml: embed UML diagram by using PlantUML
  • py_directive: Execute python code in a py directive and return a math node.
  • rawfiles: copy raw files, like a CNAME.
  • requirements: declare requirements wherever you need (e.g. in test docstrings), mark statuses and collect them in a single list
  • restbuilder: a builder for reST (reStructuredText) files.
  • rubydomain: an extension for Ruby support (Sphinx 1.0 needed)
  • sadisplay: display SqlAlchemy model sadisplay
  • sdedit: an extension inserting sequence diagram by using Quick Sequence Diagram Editor (sdedit)
  • seqdiag: embed sequence diagrams by using seqdiag
  • slide: embed presentation slides on slideshare and other sites.
  • swf: embed flash files
  • sword: an extension inserting Bible verses from Sword.
  • tikz: draw pictures with the TikZ/PGF LaTeX package.
  • traclinks: create TracLinks to a Trac instance from within Sphinx
  • whooshindex: whoosh indexer extension
  • youtube: embed videos from YouTube
  • zopeext: provide an autointerface directive for using Zope interfaces.

For contributors

When adding or updating your extension, please adhere to these guidelines:

  • Use to set up your extension subdirectory.
  • Each extension must be either a submodule or subpackage of the sphinxcontrib package. The sphinxcontrib/ file in your package must not be changed.
  • Each extension must be listed in this file under "List of extensions" above.
  • Each author should be listed in AUTHORS along with the extension name.
  • It would be good to have all extensions BSD licensed; otherwise make a note in an ext/LICENSE file.
  • Each extension can maintain a changelog and readme file; these files should be called ext/CHANGES and ext/README.rst, respectively.