Skip to content

Commit 77621fb

Browse files
drammocktrallard
andauthored
MAINT - Update ReadTheDocs settings file (#2083)
ReadTheDocs is making some changes that affect us. Will leave self-review to explain the changes. closes #2101 --------- Co-authored-by: Tania Allard <[email protected]>
1 parent 7c54d4a commit 77621fb

File tree

5 files changed

+59
-26
lines changed

5 files changed

+59
-26
lines changed

.readthedocs.yaml

Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
version: 2
2+
3+
formats:
4+
- htmlzip
5+
6+
# build with latest available ubuntu version
7+
build:
8+
os: ubuntu-lts-latest
9+
tools:
10+
python: "3.12"
11+
# need to install playwright deps via apt (lack of sudo means we can't use
12+
# `playwright install-deps`). NB: Graphviz is a separate dep urelated to playwright
13+
apt_packages:
14+
- graphviz
15+
- libasound2
16+
- libdbus-glib-1-2
17+
jobs:
18+
# build the gallery of themes before building the doc
19+
post_install:
20+
- pip install playwright
21+
- playwright install chromium
22+
- python ./docs/scripts/generate_gallery_images.py
23+
24+
sphinx:
25+
configuration: docs/conf.py
26+
# builder: "dirhtml"
27+
fail_on_warning: false # we have some unavoidable warnings, and a separate warnings checker
28+
29+
python:
30+
install:
31+
- method: pip
32+
path: .
33+
extra_requirements:
34+
- doc

docs/conf.py

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,27 @@
292292
autoapi_root = "api"
293293
autoapi_member_order = "groupwise"
294294

295+
# -- Warnings / Nitpicky -------------------------------------------------------
296+
297+
nitpicky = True
298+
bad_classes = (
299+
r".*abc def.*", # urllib.parse.unquote_to_bytes
300+
r"api_sample\.RandomNumberGenerator",
301+
r"bs4\.BeautifulSoup",
302+
r"docutils\.nodes\.Node",
303+
r"matplotlib\.artist\.Artist", # matplotlib xrefs are in the class diagram demo
304+
r"matplotlib\.figure\.Figure",
305+
r"matplotlib\.figure\.FigureBase",
306+
r"pygments\.formatters\.HtmlFormatter",
307+
)
308+
nitpick_ignore_regex = [
309+
*[("py:class", target) for target in bad_classes],
310+
# we demo some `urllib` docs on our site; don't care that its xrefs fail to resolve
311+
("py:obj", r"urllib\.parse\.(Defrag|Parse|Split)Result(Bytes)?\.(count|index)"),
312+
# the kitchen sink pages include some intentional errors
313+
("token", r"(suite|expression|target)"),
314+
]
315+
295316
# -- application setup -------------------------------------------------------
296317

297318

readthedocs.yml

Lines changed: 0 additions & 22 deletions
This file was deleted.

tests/utils/check_warnings.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -30,8 +30,8 @@ def check_warnings(file: Path) -> bool:
3030
print("\n=== Sphinx Warnings test ===\n")
3131

3232
# find the file where all the known warnings are stored
33-
warning_file = Path(__file__).parent.parent / "warning_list.txt"
34-
extra_warning_file = Path(__file__).parent.parent / "intermittent_warning_list.txt"
33+
warning_file = Path(__file__).parents[1] / "warning_list.txt"
34+
extra_warning_file = Path(__file__).parents[1] / "intermittent_warning_list.txt"
3535

3636
received_warnings = escape_ansi(file.read_text()).strip().split("\n")
3737
expected_warnings = warning_file.read_text().strip().split("\n")

tox.ini

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -108,7 +108,7 @@ extras = {[testenv:docs-no-checks]extras}
108108
deps =
109109
py39-sphinx61-docs: sphinx~=6.1.0
110110
commands =
111-
sphinx-build -b html docs/ docs/_build/html -v -w warnings.txt {posargs}
111+
sphinx-build -b html docs/ docs/_build/html -nTv -w warnings.txt {posargs}
112112
python tests/utils/check_warnings.py
113113

114114
# recommended for local development, this command will build the PST documentation
@@ -122,7 +122,7 @@ set_env = PYDEVD_DISABLE_FILE_VALIDATION=1
122122
extras = {[testenv:docs-no-checks]extras}
123123
package = editable
124124
commands =
125-
sphinx-build -b html docs/ docs/_build/html -v -w warnings.txt {posargs}
125+
sphinx-build -b html docs/ docs/_build/html -nTv -w warnings.txt {posargs}
126126
python tests/utils/check_warnings.py
127127

128128
# build the docs with live-reload, if you are working on the docs only (no theme changes) the best option is to call

0 commit comments

Comments
 (0)