Sphinx development

Sphinx is a maintained by a group of volunteers. We value every contribution!

For more about our development process and methods, see the Sphinx Developer’s Guide.


To learn how to write your own extension, see Developing extensions for Sphinx.

The sphinx-contrib repository contains many contributed extensions. Some of them have their own releases on PyPI, others you can install from a checkout.

This is the current list of contributed extensions in that repository:

  • 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
  • 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
  • libreoffice: an extension to include any drawing supported by LibreOffice (e.g. odg, vsd...).
  • 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.

See the extension tutorial on getting started with writing your own extensions.