|
2 | 2 | # vi: set ft=python sts=4 ts=4 sw=4 et:
|
3 | 3 | """Settings for sphinxext.interfaces and connection to sphinx-apidoc."""
|
4 | 4 | import re
|
| 5 | +from packaging.version import Version |
| 6 | + |
| 7 | +import sphinx |
5 | 8 | from sphinx.ext.napoleon import (
|
6 | 9 | Config as NapoleonConfig,
|
7 | 10 | _patch_python_domain,
|
@@ -39,13 +42,24 @@ class Config(NapoleonConfig):
|
39 | 42 |
|
40 | 43 | """
|
41 | 44 |
|
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 | + } |
49 | 63 |
|
50 | 64 |
|
51 | 65 | def setup(app):
|
@@ -82,8 +96,12 @@ def setup(app):
|
82 | 96 | app.connect("autodoc-process-docstring", _process_docstring)
|
83 | 97 | app.connect("autodoc-skip-member", _skip_member)
|
84 | 98 |
|
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) |
87 | 105 | return {"version": __version__, "parallel_read_safe": True}
|
88 | 106 |
|
89 | 107 |
|
|
0 commit comments