Source

sphinx / doc / config.rst

Full commit

The build configuration file

The :term:`configuration directory` must contain a file named :file:`conf.py`. This file (containing Python code) is called the "build configuration file" and contains all configuration needed to customize Sphinx input and output behavior.

The configuration file if executed as Python code at build time (using :func:`execfile`, and with the current directory set to its containing directory), and therefore can execute arbitrarily complex code. Sphinx then reads simple names from the file's namespace as its configuration.

Important points to note:

  • If not otherwise documented, values must be strings, and their default is the empty string.
  • The term "fully-qualified name" refers to a string that names an importable Python object inside a module; for example, the FQN "sphinx.builder.Builder" means the Builder class in the sphinx.builder module.
  • Remember that document names use / as the path separator and don't contain the file name extension.
  • The contents of the config namespace are pickled (so that Sphinx can find out when configuration changes), so it may not contain unpickleable values -- delete them from the namespace with del if appropriate. Modules are removed automatically, so you don't need to del your imports after use.

General configuration

Options for HTML output

These options influence HTML as well as HTML Help output, and other builders that use Sphinx' HTMLWriter class.

Options for LaTeX output

These options influence LaTeX output.