From 92862e28ec3f3cd0701f07bc047acab1e8643490 Mon Sep 17 00:00:00 2001 From: Sviatoslav Sydorenko Date: Wed, 14 Apr 2021 20:19:26 +0200 Subject: [PATCH] Enable parallelism in Sphinx --- docs/pip_sphinxext.py | 8 ++++++-- tox.ini | 4 ++-- 2 files changed, 8 insertions(+), 4 deletions(-) diff --git a/docs/pip_sphinxext.py b/docs/pip_sphinxext.py index 8e4385a33..12e098fc0 100644 --- a/docs/pip_sphinxext.py +++ b/docs/pip_sphinxext.py @@ -5,7 +5,7 @@ import pathlib import re import sys from textwrap import dedent -from typing import Iterable, Iterator, List, Optional +from typing import Dict, Iterable, Iterator, List, Optional, Union from docutils import nodes, statemachine from docutils.parsers import rst @@ -293,7 +293,7 @@ class PipCLIDirective(rst.Directive): return [node] -def setup(app: Sphinx) -> None: +def setup(app: Sphinx) -> Dict[str, Union[bool, str]]: app.add_directive("pip-command-usage", PipCommandUsage) app.add_directive("pip-command-description", PipCommandDescription) app.add_directive("pip-command-options", PipCommandOptions) @@ -304,3 +304,7 @@ def setup(app: Sphinx) -> None: ) app.add_directive("pip-news-include", PipNewsInclude) app.add_directive("pip-cli", PipCLIDirective) + return { + "parallel_read_safe": True, + "parallel_write_safe": True, + } diff --git a/tox.ini b/tox.ini index 0b9511bf9..60f133cea 100644 --- a/tox.ini +++ b/tox.ini @@ -51,12 +51,12 @@ setenv = deps = -r{toxinidir}/tools/requirements/docs.txt basepython = python3 commands = - sphinx-build -W -d {envtmpdir}/doctrees/html -b html docs/html docs/build/html + sphinx-build -W -j auto -d {envtmpdir}/doctrees/html -b html docs/html docs/build/html # Having the conf.py in the docs/html is weird but needed because we # can not use a different configuration directory vs source directory on RTD # currently -- https://github.com/rtfd/readthedocs.org/issues/1543. # That is why we have a "-c docs/html" in the next line. - sphinx-build -W -d {envtmpdir}/doctrees/man -b man docs/man docs/build/man -c docs/html + sphinx-build -W -j auto -d {envtmpdir}/doctrees/man -b man docs/man docs/build/man -c docs/html [testenv:lint] skip_install = True