Skip to content

Commit 4e1bb03

Browse files
committed
DOC: Deep revision of documentation building
This PR follows up on #3119 (merge that one first for a clean diff, or diff against ``oesteban:maint/dedup-apigen-code``). In practice, this PR fixes several broken points of our documentation (e.g., the workflows list was empty and now it has been updated, changelog not rendered, API of pure python code not rendered by the Nipype API parser was missing, etc.). CHANGES ------- * Replaced the ``numpydoc`` sphinx extension with ``sphinxcontrib-napoleon``. * Removed autosummary sphinx extension, required by numpydoc * Cleared up ``docs/sphinxext/*``, as nothing is now used from there * Use current sphinx-apidoc/autodoc/autosummary * Removed the modref generation tooling, as it is not necessary anymore after re-enabling apidoc. * Cut building warnings down to 321 - just those we incur because our API generator. This required some fixes of some docstrings. Beyond those corresponding to the Nipype API generator, only missing links remain as warnings (for sections in the navbar). * Updated changelogs to be reStructuredText.
1 parent 04b8cf8 commit 4e1bb03

26 files changed

+234
-567
lines changed

doc/Makefile

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,19 @@
55
SPHINXOPTS =
66
SPHINXBUILD = sphinx-build
77
PAPER =
8+
PYTHONPATH = $(PWD)
89

910
# Internal variables.
1011
PAPEROPT_a4 = -D latex_paper_size=a4
1112
PAPEROPT_letter = -D latex_paper_size=letter
1213
ALLSPHINXOPTS = -d _build/doctrees $(PAPEROPT_$(PAPER)) $(SPHINXOPTS) .
1314

14-
.PHONY: help clean html api htmlonly latex changes linkcheck doctest
15+
.PHONY: help clean html nipypeapi htmlonly latex changes linkcheck doctest
1516

1617
help:
1718
@echo "Please use \`make <target>' where <target> is one of"
1819
@echo " html make the HTML documentation"
19-
@echo " api make API documents only"
20+
@echo " nipypeapi make interface API documents only"
2021
@echo " latex make the LaTeX, you can set PAPER=a4 or PAPER=letter"
2122
@echo " pdf make <latex> and run the PDF generation"
2223
@echo " changes make an overview of all changed/added/deprecated" \
@@ -33,22 +34,20 @@ htmlonly:
3334
@echo
3435
@echo "Build finished. The HTML pages are in _build/html."
3536

36-
api:
37-
rm -rf api/generated
38-
python -u ../tools/build_modref_templates.py
37+
nipypeapi:
3938
rm -rf interfaces/generated
4039
python -u ../tools/build_interface_docs.py
4140
@echo "Build API docs finished."
4241

43-
html: clean examples2rst api htmlonly
42+
html: clean examples2rst nipypeapi htmlonly
4443
@echo "Build HTML and API finished."
4544

4645
examples2rst:
4746
mkdir -p users/examples
4847
../tools/make_examples.py --no-exec
4948
@echo "examples2rst finished."
5049

51-
latex: api
50+
latex: nipypeapi
5251
$(SPHINXBUILD) -b latex $(ALLSPHINXOPTS) _build/latex
5352
@echo
5453
@echo "Build finished; the LaTeX files are in _build/latex."

doc/api/index.rst

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
.. _api-index:
22

3-
###
4-
API
5-
###
3+
###########################################
4+
Library API (application program interface)
5+
###########################################
6+
7+
Information on specific functions, classes, and methods.
68

79
:Release: |version|
810
:Date: |today|
911

10-
.. include:: generated/gen.rst
12+
.. toctree::
13+
:glob:
14+
15+
generated/*

doc/changelog/0.X.X-changelog renamed to doc/changelog/0.X.X-changelog.rst

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
0.14.0 (November 29, 2017)
22
==========================
33

4-
###### [Full changelog](https://github.com/nipy/nipype/milestone/13)
4+
(`Full changelog <https://github.com/nipy/nipype/milestone/13>`__)
55

66
* FIX+MAINT: Revision of the resource monitor (https://github.com/nipy/nipype/pull/2285)
77
* FIX: MultiProc mishandling crashes (https://github.com/nipy/nipype/pull/2301)
@@ -385,8 +385,10 @@ Release 0.9.0 (December 20, 2013)
385385
- camino.QBallMX
386386
- camino.LinRecon
387387
- camino.SFPeaks
388-
One outdated interface no longer part of Camino was removed:
388+
389+
One outdated interface no longer part of Camino was removed:
389390
- camino.Conmap
391+
390392
* ENH: Three new mrtrix interfaces were added:
391393
- mrtrix.GenerateDirections
392394
- mrtrix.FindShPeaks
@@ -713,7 +715,7 @@ Features added
713715

714716
* General:
715717

716-
- Type checking of inputs and outputs using Traits from ETS_.
718+
- Type checking of inputs and outputs using Traits from ETS.
717719
- Support for nested workflows.
718720
- Preliminary Slicer and AFNI support.
719721
- New flexible DataGrabber node.

doc/changelog/1.X.X-changelog renamed to doc/changelog/1.X.X-changelog.rst

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
1.3.0 (November 11, 2019)
88
=========================
99

10-
##### [Full changelog](https://github.com/nipy/nipype/milestone/34?closed=1)
10+
(`Full changelog <https://github.com/nipy/nipype/milestone/34?closed=1>`__)
1111

1212
* FIX: Fixed typo in QwarpInputSpec Trait description (https://github.com/nipy/nipype/pull/3079)
1313
* FIX: Restore ``AFNICommand._get_fname``, required by some interfaces (https://github.com/nipy/nipype/pull/3071)
@@ -33,7 +33,7 @@
3333

3434
Python 1.2.3 will be the last version to support Python 3.4.
3535

36-
##### [Full changelog](https://github.com/nipy/nipype/milestone/35?closed=1)
36+
(`Full changelog <https://github.com/nipy/nipype/milestone/35?closed=1>`__)
3737

3838
* FIX: Patch Path.mkdir for Python 2 (https://github.com/nipy/nipype/pull/3037)
3939
* FIX: Drop deprecated message argument to ``FileNotFoundError`` (https://github.com/nipy/nipype/pull/3035)
@@ -52,7 +52,7 @@ Python 1.2.3 will be the last version to support Python 3.4.
5252
1.2.2 (September 07, 2019)
5353
==========================
5454

55-
##### [Full changelog](https://github.com/nipy/nipype/milestone/33?closed=1)
55+
(`Full changelog <https://github.com/nipy/nipype/milestone/33?closed=1>`__)
5656

5757
* FIX: Ensure ``loadpkl`` returns a not None value (https://github.com/nipy/nipype/pull/3020)
5858
* FIX: ``loadpkl`` failed when pklz file contained versioning info (https://github.com/nipy/nipype/pull/3017)
@@ -68,7 +68,7 @@ Python 1.2.3 will be the last version to support Python 3.4.
6868
1.2.1 (August 19, 2019)
6969
=======================
7070

71-
##### [Full changelog](https://github.com/nipy/nipype/milestone/32?closed=1)
71+
(`Full changelog <https://github.com/nipy/nipype/milestone/32?closed=1>`__)
7272

7373
* FIX: Resolve/rebase paths from/to results files (https://github.com/nipy/nipype/pull/2971)
7474
* FIX: Use ``load_resultfile`` when loading a results pickle (https://github.com/nipy/nipype/pull/2985)
@@ -78,7 +78,7 @@ Python 1.2.3 will be the last version to support Python 3.4.
7878
* FIX: Docker build (https://github.com/nipy/nipype/pull/2963)
7979
* FIX: Remove '=' signs from EddyQuad argument specifications (https://github.com/nipy/nipype/pull/2941)
8080
* FIX: Set input model to bedpostx for camino.TrackBedpostxProba (https://github.com/nipy/nipype/pull/2947)
81-
* FIX: Allow ``max_sh``not to be set (auto mode) (https://github.com/nipy/nipype/pull/2940)
81+
* FIX: Allow ``max_sh`` to not be set (auto mode) (https://github.com/nipy/nipype/pull/2940)
8282
* ENH: Update mrtrix reconst.py EstimateFOD max_sh to be able to accept list (https://github.com/nipy/nipype/pull/2990)
8383
* ENH: Let ``indirectory`` handle ``nipype.utils.filemanip.Path`` (https://github.com/nipy/nipype/pull/2989)
8484
* ENH: Add resolve/rebase ``BasePath`` traits methods & tests (https://github.com/nipy/nipype/pull/2970)
@@ -95,7 +95,7 @@ Python 1.2.3 will be the last version to support Python 3.4.
9595
1.2.0 (May 09, 2019)
9696
====================
9797

98-
##### [Full changelog](https://github.com/nipy/nipype/milestone/31?closed=1)
98+
(`Full changelog <https://github.com/nipy/nipype/milestone/31?closed=1>`__)
9999

100100
* FIX: Parsing of filename in AlignEpiAnatPy when filename does not have + (https://github.com/nipy/nipype/pull/2909)
101101
* FIX: Import nibabel reorientation bug fix (https://github.com/nipy/nipype/pull/2912)
@@ -114,7 +114,7 @@ Python 1.2.3 will be the last version to support Python 3.4.
114114
1.1.9 (February 25, 2019)
115115
=========================
116116

117-
##### [Full changelog](https://github.com/nipy/nipype/milestone/30?closed=1)
117+
(`Full changelog <https://github.com/nipy/nipype/milestone/30?closed=1>`__)
118118

119119
* FIX: Make positional arguments to LaplacianThickness require previous argument (https://github.com/nipy/nipype/pull/2848)
120120
* FIX: Import math and csv modules for bids_gen_info (https://github.com/nipy/nipype/pull/2881)
@@ -130,7 +130,7 @@ Python 1.2.3 will be the last version to support Python 3.4.
130130
1.1.8 (January 28, 2019)
131131
========================
132132

133-
##### [Full changelog](https://github.com/nipy/nipype/milestone/29?closed=1)
133+
(`Full changelog <https://github.com/nipy/nipype/milestone/29?closed=1>`__)
134134

135135
* FIX: ANTS LaplacianThickness cmdline opts fixed up (https://github.com/nipy/nipype/pull/2846)
136136
* FIX: Resolve LinAlgError during SVD (https://github.com/nipy/nipype/pull/2838)
@@ -152,7 +152,7 @@ Python 1.2.3 will be the last version to support Python 3.4.
152152
1.1.7 (December 17, 2018)
153153
=========================
154154

155-
##### [Full changelog](https://github.com/nipy/nipype/milestone/28?closed=1)
155+
(`Full changelog <https://github.com/nipy/nipype/milestone/28?closed=1>`__)
156156

157157
* FIX: Copy node list before generating a flat graph (https://github.com/nipy/nipype/pull/2828)
158158
* FIX: Update pytest req'd version to 3.6 (https://github.com/nipy/nipype/pull/2827)
@@ -174,7 +174,7 @@ Python 1.2.3 will be the last version to support Python 3.4.
174174
1.1.6 (November 26, 2018)
175175
=========================
176176

177-
##### [Full changelog](https://github.com/nipy/nipype/milestone/27?closed=1)
177+
(`Full changelog <https://github.com/nipy/nipype/milestone/27?closed=1>`__)
178178

179179
* FIX: MapNodes fail when ``MultiProcPlugin`` passed by instance (https://github.com/nipy/nipype/pull/2786)
180180
* FIX: --fineTune arguments order for MeshFix command (https://github.com/nipy/nipype/pull/2780)
@@ -197,7 +197,7 @@ Python 1.2.3 will be the last version to support Python 3.4.
197197

198198
Hotfix release.
199199

200-
##### [Full changelog](https://github.com/nipy/nipype/milestone/26?closed=1)
200+
(`Full changelog <https://github.com/nipy/nipype/milestone/26?closed=1>`__)
201201

202202
* ENH: Allow timeouts during SLURM job status checks (https://github.com/nipy/nipype/pull/2767)
203203
* RF: Subclass non-daemon variants of all multiprocessing contexts (https://github.com/nipy/nipype/pull/2771)
@@ -206,7 +206,7 @@ Hotfix release.
206206
1.1.4 (October 31, 2018)
207207
========================
208208

209-
##### [Full changelog](https://github.com/nipy/nipype/milestone/25?closed=1)
209+
(`Full changelog <https://github.com/nipy/nipype/milestone/25?closed=1>`__)
210210

211211
* FIX: Python 2.7-3.7.1 compatible NonDaemonPool (https://github.com/nipy/nipype/pull/2754)
212212
* FIX: VRML typo (VMRL) in MeshFix (https://github.com/nipy/nipype/pull/2757)
@@ -234,7 +234,7 @@ Hotfix release.
234234
1.1.3 (September 24, 2018)
235235
==========================
236236

237-
##### [Full changelog](https://github.com/nipy/nipype/milestone/24?closed=1)
237+
(`Full changelog <https://github.com/nipy/nipype/milestone/24?closed=1>`__)
238238

239239
* FIX: Return afni.Qwarp outputs as absolute paths (https://github.com/nipy/nipype/pull/2705)
240240
* FIX: Add informative error for interfaces that fail to return valid runtime object (https://github.com/nipy/nipype/pull/2692)
@@ -253,7 +253,7 @@ Hotfix release.
253253

254254
Hot-fix release, resolving incorrect dependencies in 1.1.1 wheel.
255255

256-
##### [Full changelog](https://github.com/nipy/nipype/milestone/23?closed=1)
256+
(`Full changelog <https://github.com/nipy/nipype/milestone/23?closed=1>`__)
257257

258258
* FIX: Read BIDS config.json under grabbids or layout (https://github.com/nipy/nipype/pull/2679)
259259
* FIX: Node __repr__ and detailed graph expansion (https://github.com/nipy/nipype/pull/2669)
@@ -268,7 +268,7 @@ Hot-fix release, resolving incorrect dependencies in 1.1.1 wheel.
268268
1.1.1 (July 30, 2018)
269269
=====================
270270

271-
##### [Full changelog](https://github.com/nipy/nipype/milestone/22?closed=1)
271+
(`Full changelog <https://github.com/nipy/nipype/milestone/22?closed=1>`__)
272272

273273
* FIX: Un-set incorrect default options in TOPUP (https://github.com/nipy/nipype/pull/2637)
274274
* FIX: Copy FSCommand.version to ReconAll.version (https://github.com/nipy/nipype/pull/2656)
@@ -290,7 +290,7 @@ Hot-fix release, resolving incorrect dependencies in 1.1.1 wheel.
290290
1.1.0 (July 04, 2018)
291291
=====================
292292

293-
###### [Full changelog](https://github.com/nipy/nipype/milestone/21?closed=1)
293+
(`Full changelog <https://github.com/nipy/nipype/milestone/21?closed=1>`__)
294294

295295
* RF: Futures-based MultiProc (https://github.com/nipy/nipype/pull/2598)
296296
* FIX: Avoid closing file descriptors on Windows (https://github.com/nipy/nipype/pull/2617)
@@ -307,7 +307,7 @@ Hot-fix release, resolving incorrect dependencies in 1.1.1 wheel.
307307
1.0.4 (May 29, 2018)
308308
====================
309309

310-
###### [Full changelog](https://github.com/nipy/nipype/milestone/20?closed=1)
310+
(`Full changelog <https://github.com/nipy/nipype/milestone/20?closed=1>`__)
311311

312312
* FIX: Update logging levels in enable_debug_mode (https://github.com/nipy/nipype/pull/2595)
313313
* FIX: Set default result in DistributedPluginBase._clean_queue (https://github.com/nipy/nipype/pull/2596)
@@ -330,7 +330,7 @@ Hot-fix release, resolving incorrect dependencies in 1.1.1 wheel.
330330
1.0.3 (April 30, 2018)
331331
======================
332332

333-
###### [Full changelog](https://github.com/nipy/nipype/milestone/19?closed=1)
333+
(`Full changelog <https://github.com/nipy/nipype/milestone/19?closed=1>`__)
334334

335335
* FIX: Propagate explicit Workflow config to Nodes (https://github.com/nipy/nipype/pull/2559)
336336
* FIX: Return non-enhanced volumes from dwi_flirt (https://github.com/nipy/nipype/pull/2547)
@@ -357,7 +357,7 @@ Hot-fix release, resolving incorrect dependencies in 1.1.1 wheel.
357357
1.0.2 (March 27, 2018)
358358
======================
359359

360-
###### [Full changelog](https://github.com/nipy/nipype/milestone/16?closed=1)
360+
(`Full changelog <https://github.com/nipy/nipype/milestone/16?closed=1>`__)
361361

362362
* FIX: dcm2niix interface (https://github.com/nipy/nipype/pull/2498)
363363
* FIX: mark .niml.dset as special extension in utils.filemanip (https://github.com/nipy/nipype/pull/2495)
@@ -380,7 +380,7 @@ Hot-fix release, resolving incorrect dependencies in 1.1.1 wheel.
380380
1.0.1 (February 27, 2018)
381381
=========================
382382

383-
###### [Full changelog](https://github.com/nipy/nipype/milestone/16?closed=1)
383+
(`Full changelog <https://github.com/nipy/nipype/milestone/16?closed=1>`__)
384384

385385
* FIX: Small bug in freesurfer label2annot fill_thresh specs [#2377](https://github.com/nipy/nipype/pull/2377)
386386
* FIX: Error creating gradients in DTIRecon [#2460](https://github.com/nipy/nipype/pull/2460)
@@ -413,7 +413,7 @@ Hot-fix release, resolving incorrect dependencies in 1.1.1 wheel.
413413
1.0.0 (January 24, 2018)
414414
========================
415415

416-
###### [Full changelog](https://github.com/nipy/nipype/milestone/16?closed=1)
416+
(`Full changelog <https://github.com/nipy/nipype/milestone/16?closed=1>`__)
417417

418418
* FIX: Change to interface workdir within ``Interface.run()`` instead Node (https://github.com/nipy/nipype/pull/2384)
419419
* FIX: PBS plugin submissions (https://github.com/nipy/nipype/pull/2344)

doc/changes.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,8 @@
66
Changes in Nipype
77
=================
88

9-
.. include:: ../CHANGES
9+
.. include:: changelog/1.X.X-changelog.rst
10+
11+
.. include:: changelog/0.X.X-changelog.rst
1012

1113
.. include:: links_names.txt

0 commit comments

Comments
 (0)