Skip to content

Commit b732653

Browse files
committed
Use sphinx-toolbox to provide decorator links.
:deco: now correctly formats cross-references as `@whatever` in the docs.
1 parent ee8c5eb commit b732653

File tree

3 files changed

+83
-2
lines changed

3 files changed

+83
-2
lines changed

dev-requirements.txt

Lines changed: 81 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,20 +10,31 @@ anyio==4.9.0
1010
# httpx
1111
# starlette
1212
# watchfiles
13+
apeye==1.4.1
14+
# via sphinx-toolbox
15+
apeye-core==1.1.5
16+
# via apeye
1317
astroid==3.3.11
1418
# via sphinx-autoapi
1519
attrs==25.3.0
1620
# via
1721
# jsonschema
1822
# referencing
23+
autodocsumm==0.2.14
24+
# via sphinx-toolbox
1925
babel==2.17.0
2026
# via sphinx
27+
beautifulsoup4==4.14.2
28+
# via sphinx-toolbox
29+
cachecontrol==0.14.3
30+
# via sphinx-toolbox
2131
certifi==2025.7.14
2232
# via
2333
# httpcore
2434
# httpx
2535
# requests
2636
# sentry-sdk
37+
# sphinx-prompt
2738
charset-normalizer==3.4.2
2839
# via requests
2940
click==8.2.1
@@ -42,6 +53,10 @@ colorama==0.4.6
4253
# uvicorn
4354
coverage==7.9.2
4455
# via pytest-cov
56+
cssutils==2.11.1
57+
# via dict2css
58+
dict2css==0.3.0.post1
59+
# via sphinx-toolbox
4560
dnspython==2.7.0
4661
# via email-validator
4762
docstring-parser-fork==0.0.12
@@ -50,7 +65,16 @@ docutils==0.21.2
5065
# via
5166
# restructuredtext-lint
5267
# sphinx
68+
# sphinx-prompt
5369
# sphinx-rtd-theme
70+
# sphinx-tabs
71+
# sphinx-toolbox
72+
domdf-python-tools==3.10.0
73+
# via
74+
# apeye
75+
# apeye-core
76+
# dict2css
77+
# sphinx-toolbox
5478
email-validator==2.2.0
5579
# via
5680
# fastapi
@@ -65,6 +89,10 @@ fastapi-cli==0.0.8
6589
# via fastapi
6690
fastapi-cloud-cli==0.1.4
6791
# via fastapi-cli
92+
filelock==3.20.0
93+
# via
94+
# cachecontrol
95+
# sphinx-toolbox
6896
flake8==7.3.0
6997
# via
7098
# labthings-fastapi (pyproject.toml)
@@ -82,6 +110,8 @@ h11==0.16.0
82110
# via
83111
# httpcore
84112
# uvicorn
113+
html5lib==1.1
114+
# via sphinx-toolbox
85115
httpcore==1.0.9
86116
# via httpx
87117
httptools==0.6.4
@@ -94,9 +124,11 @@ httpx==0.28.1
94124
idna==3.10
95125
# via
96126
# anyio
127+
# apeye-core
97128
# email-validator
98129
# httpx
99130
# requests
131+
# sphinx-prompt
100132
ifaddr==0.2.0
101133
# via zeroconf
102134
imagesize==1.4.1
@@ -110,22 +142,31 @@ jinja2==3.1.6
110142
# fastapi
111143
# sphinx
112144
# sphinx-autoapi
145+
# sphinx-jinja2-compat
113146
jsonschema==4.24.1
114147
# via labthings-fastapi (pyproject.toml)
115148
jsonschema-specifications==2025.4.1
116149
# via jsonschema
117150
markdown-it-py==3.0.0
118151
# via rich
119152
markupsafe==3.0.2
120-
# via jinja2
153+
# via
154+
# jinja2
155+
# sphinx-jinja2-compat
121156
mccabe==0.7.0
122157
# via flake8
123158
mdurl==0.1.2
124159
# via markdown-it-py
160+
more-itertools==10.8.0
161+
# via cssutils
162+
msgpack==1.1.2
163+
# via cachecontrol
125164
mypy==1.17.0
126165
# via labthings-fastapi (pyproject.toml)
127166
mypy-extensions==1.1.0
128167
# via mypy
168+
natsort==8.4.0
169+
# via domdf-python-tools
129170
numpy==2.2.6
130171
# via labthings-fastapi (pyproject.toml)
131172
orjson==3.11.0
@@ -138,6 +179,8 @@ pathspec==0.12.1
138179
# via mypy
139180
pillow==11.3.0
140181
# via labthings-fastapi (pyproject.toml)
182+
platformdirs==4.5.0
183+
# via apeye
141184
pluggy==1.6.0
142185
# via
143186
# pytest
@@ -167,6 +210,8 @@ pygments==2.19.2
167210
# pytest
168211
# rich
169212
# sphinx
213+
# sphinx-prompt
214+
# sphinx-tabs
170215
pytest==8.4.1
171216
# via
172217
# labthings-fastapi (pyproject.toml)
@@ -193,7 +238,10 @@ referencing==0.36.2
193238
# jsonschema-specifications
194239
# types-jsonschema
195240
requests==2.32.4
196-
# via sphinx
241+
# via
242+
# apeye
243+
# cachecontrol
244+
# sphinx
197245
restructuredtext-lint==1.4.0
198246
# via flake8-rst-docstrings
199247
rich==14.0.0
@@ -210,26 +258,49 @@ rpds-py==0.26.0
210258
# via
211259
# jsonschema
212260
# referencing
261+
ruamel-yaml==0.18.16
262+
# via sphinx-toolbox
263+
ruamel-yaml-clib==0.2.14
264+
# via ruamel-yaml
213265
ruff==0.12.3
214266
# via labthings-fastapi (pyproject.toml)
215267
sentry-sdk==2.33.0
216268
# via fastapi-cloud-cli
217269
shellingham==1.5.4
218270
# via typer
271+
six==1.17.0
272+
# via html5lib
219273
sniffio==1.3.1
220274
# via anyio
221275
snowballstemmer==3.0.1
222276
# via sphinx
277+
soupsieve==2.8
278+
# via beautifulsoup4
223279
sphinx==8.1.3
224280
# via
225281
# labthings-fastapi (pyproject.toml)
282+
# autodocsumm
226283
# sphinx-autoapi
284+
# sphinx-autodoc-typehints
285+
# sphinx-prompt
227286
# sphinx-rtd-theme
287+
# sphinx-tabs
288+
# sphinx-toolbox
228289
# sphinxcontrib-jquery
229290
sphinx-autoapi==3.6.0
230291
# via labthings-fastapi (pyproject.toml)
292+
sphinx-autodoc-typehints==3.0.1
293+
# via sphinx-toolbox
294+
sphinx-jinja2-compat==0.4.1
295+
# via sphinx-toolbox
296+
sphinx-prompt==1.9.0
297+
# via sphinx-toolbox
231298
sphinx-rtd-theme==3.0.2
232299
# via labthings-fastapi (pyproject.toml)
300+
sphinx-tabs==3.4.5
301+
# via sphinx-toolbox
302+
sphinx-toolbox==4.0.0
303+
# via labthings-fastapi (pyproject.toml)
233304
sphinxcontrib-applehelp==2.0.0
234305
# via sphinx
235306
sphinxcontrib-devhelp==2.0.0
@@ -246,6 +317,8 @@ sphinxcontrib-serializinghtml==2.0.0
246317
# via sphinx
247318
starlette==0.47.1
248319
# via fastapi
320+
tabulate==0.9.0
321+
# via sphinx-toolbox
249322
tomli==2.2.1
250323
# via
251324
# coverage
@@ -265,6 +338,8 @@ typing-extensions==4.14.1
265338
# labthings-fastapi (pyproject.toml)
266339
# anyio
267340
# astroid
341+
# beautifulsoup4
342+
# domdf-python-tools
268343
# exceptiongroup
269344
# fastapi
270345
# mypy
@@ -274,6 +349,7 @@ typing-extensions==4.14.1
274349
# referencing
275350
# rich
276351
# rich-toolkit
352+
# sphinx-toolbox
277353
# starlette
278354
# typer
279355
# typing-inspection
@@ -286,13 +362,16 @@ urllib3==2.5.0
286362
# via
287363
# requests
288364
# sentry-sdk
365+
# sphinx-prompt
289366
uvicorn==0.35.0
290367
# via
291368
# fastapi
292369
# fastapi-cli
293370
# fastapi-cloud-cli
294371
watchfiles==1.1.0
295372
# via uvicorn
373+
webencodings==0.5.1
374+
# via html5lib
296375
websockets==15.0.1
297376
# via uvicorn
298377
zeroconf==0.147.0

docs/source/conf.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,6 +23,7 @@
2323
# "autodoc2",
2424
"autoapi.extension",
2525
"sphinx_rtd_theme",
26+
"sphinx_toolbox.decorators",
2627
]
2728

2829
templates_path = ["_templates"]

pyproject.toml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ dev = [
4040
"sphinx-rtd-theme",
4141
"sphinx>=7.2",
4242
"sphinx-autoapi",
43+
"sphinx-toolbox",
4344
"codespell",
4445
]
4546

0 commit comments

Comments
 (0)