Skip to content

Commit fe20d45

Browse files
authored
Merge pull request #3716 from effigies/fix/sphinx-8.2
fix: Allow nipype.sphinx.ext.apidoc Config to work with Sphinx 8.2.1+
2 parents 44551d3 + 74149e0 commit fe20d45

File tree

1 file changed

+27
-9
lines changed

1 file changed

+27
-9
lines changed

nipype/sphinxext/apidoc/__init__.py

Lines changed: 27 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,9 @@
22
# vi: set ft=python sts=4 ts=4 sw=4 et:
33
"""Settings for sphinxext.interfaces and connection to sphinx-apidoc."""
44
import re
5+
from packaging.version import Version
6+
7+
import sphinx
58
from sphinx.ext.napoleon import (
69
Config as NapoleonConfig,
710
_patch_python_domain,
@@ -39,13 +42,24 @@ class Config(NapoleonConfig):
3942
4043
"""
4144

42-
_config_values = {
43-
"nipype_skip_classes": (
44-
["Tester", "InputSpec", "OutputSpec", "Numpy", "NipypeTester"],
45-
"env",
46-
),
47-
**NapoleonConfig._config_values,
48-
}
45+
if Version(sphinx.__version__) >= Version("8.2.1"):
46+
_config_values = (
47+
(
48+
"nipype_skip_classes",
49+
["Tester", "InputSpec", "OutputSpec", "Numpy", "NipypeTester"],
50+
"env",
51+
frozenset({list[str]}),
52+
),
53+
*NapoleonConfig._config_values,
54+
)
55+
else:
56+
_config_values = {
57+
"nipype_skip_classes": (
58+
["Tester", "InputSpec", "OutputSpec", "Numpy", "NipypeTester"],
59+
"env",
60+
),
61+
**NapoleonConfig._config_values,
62+
}
4963

5064

5165
def setup(app):
@@ -82,8 +96,12 @@ def setup(app):
8296
app.connect("autodoc-process-docstring", _process_docstring)
8397
app.connect("autodoc-skip-member", _skip_member)
8498

85-
for name, (default, rebuild) in Config._config_values.items():
86-
app.add_config_value(name, default, rebuild)
99+
if Version(sphinx.__version__) >= Version("8.2.1"):
100+
for name, default, rebuild, types in Config._config_values:
101+
app.add_config_value(name, default, rebuild, types=types)
102+
else:
103+
for name, (default, rebuild) in Config._config_values.items():
104+
app.add_config_value(name, default, rebuild)
87105
return {"version": __version__, "parallel_read_safe": True}
88106

89107

0 commit comments

Comments
 (0)