Test Projects

Integrated test project

This is a list of Sphinx projects, which are available to be used as test project.

Own test projects

The parameter --project can also take a path to a local test project.

This test project must contain the following files:

├── conf.template
├── index.template
├── page.template
├── performance.py
├── requirements.template
└── _static


It is a good idea to use one of the existing test projects as template.

Additional files are allowed and get copied to the temporary source folder as well. However the additional files get not handled by jinja2.

jinja support

All basic files ending on .template get handled by jinja2, so that all build and project parameters are available and allow the creation of “dynamic rst and config files”.


Gets imported by sphinx-performance and must provide two variables:

  • parameters

  • info


Must be a dict, where each key represents a parameter, which can be set by the user. Do not use any whitespace or characters, which are hard to use on a Commandline interface.

The value represents a default value, which is taken, if the user does use the parameter.


The value does not support multiple values. So a test project can only have one single, fix configuration by default.


parameters = {
    "sphinx": "4.2",
    "pages": 10,
    "dummies": 10


Must be a dict, is able to give additional information to the user. Helpful to e.g. calculate the overall amount of “dummies”, which is the product of dummies_per_page x pages.


info = {
    '#dummies': "{{dummies * pages}}"


Standard Sphinx conf.py file, but with jinja2 support.


Main index file, which must contain rst data.


Template for a page file, which must contain rst data.

Multiple page files get created, based on the --pages option. The name would be page_1.rst, page_2.rst, …


A pip requirements file, which gets installed via pip install -r requirements.txt.

It also has jinja2 support, which allows to define libraries or specific versions via commandline.

__static folder

This folder should exist to supress Sphinx warnings about a missing __static folder.