Skip to content

Commit ef25a77

Browse files
committed
DOC: Deep revision of documentation building
This PR follows up on nipy#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 fec4161 commit ef25a77

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
@@ -26,7 +26,7 @@
2626
1.3.0 (November 11, 2019)
2727
=========================
2828

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

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

5353
Python 1.2.3 will be the last version to support Python 3.4.
5454

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

5757
* FIX: Patch Path.mkdir for Python 2 (https://github.com/nipy/nipype/pull/3037)
5858
* FIX: Drop deprecated message argument to ``FileNotFoundError`` (https://github.com/nipy/nipype/pull/3035)
@@ -71,7 +71,7 @@ Python 1.2.3 will be the last version to support Python 3.4.
7171
1.2.2 (September 07, 2019)
7272
==========================
7373

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

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

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

9292
* FIX: Resolve/rebase paths from/to results files (https://github.com/nipy/nipype/pull/2971)
9393
* FIX: Use ``load_resultfile`` when loading a results pickle (https://github.com/nipy/nipype/pull/2985)
@@ -97,7 +97,7 @@ Python 1.2.3 will be the last version to support Python 3.4.
9797
* FIX: Docker build (https://github.com/nipy/nipype/pull/2963)
9898
* FIX: Remove '=' signs from EddyQuad argument specifications (https://github.com/nipy/nipype/pull/2941)
9999
* FIX: Set input model to bedpostx for camino.TrackBedpostxProba (https://github.com/nipy/nipype/pull/2947)
100-
* FIX: Allow ``max_sh``not to be set (auto mode) (https://github.com/nipy/nipype/pull/2940)
100+
* FIX: Allow ``max_sh`` to not be set (auto mode) (https://github.com/nipy/nipype/pull/2940)
101101
* ENH: Update mrtrix reconst.py EstimateFOD max_sh to be able to accept list (https://github.com/nipy/nipype/pull/2990)
102102
* ENH: Let ``indirectory`` handle ``nipype.utils.filemanip.Path`` (https://github.com/nipy/nipype/pull/2989)
103103
* ENH: Add resolve/rebase ``BasePath`` traits methods & tests (https://github.com/nipy/nipype/pull/2970)
@@ -114,7 +114,7 @@ Python 1.2.3 will be the last version to support Python 3.4.
114114
1.2.0 (May 09, 2019)
115115
====================
116116

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

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

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

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

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

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

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

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

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

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

217217
Hotfix release.
218218

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

221221
* ENH: Allow timeouts during SLURM job status checks (https://github.com/nipy/nipype/pull/2767)
222222
* RF: Subclass non-daemon variants of all multiprocessing contexts (https://github.com/nipy/nipype/pull/2771)
@@ -225,7 +225,7 @@ Hotfix release.
225225
1.1.4 (October 31, 2018)
226226
========================
227227

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

230230
* FIX: Python 2.7-3.7.1 compatible NonDaemonPool (https://github.com/nipy/nipype/pull/2754)
231231
* FIX: VRML typo (VMRL) in MeshFix (https://github.com/nipy/nipype/pull/2757)
@@ -253,7 +253,7 @@ Hotfix release.
253253
1.1.3 (September 24, 2018)
254254
==========================
255255

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

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

273273
Hot-fix release, resolving incorrect dependencies in 1.1.1 wheel.
274274

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

277277
* FIX: Read BIDS config.json under grabbids or layout (https://github.com/nipy/nipype/pull/2679)
278278
* FIX: Node __repr__ and detailed graph expansion (https://github.com/nipy/nipype/pull/2669)
@@ -287,7 +287,7 @@ Hot-fix release, resolving incorrect dependencies in 1.1.1 wheel.
287287
1.1.1 (July 30, 2018)
288288
=====================
289289

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

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

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

314314
* RF: Futures-based MultiProc (https://github.com/nipy/nipype/pull/2598)
315315
* FIX: Avoid closing file descriptors on Windows (https://github.com/nipy/nipype/pull/2617)
@@ -326,7 +326,7 @@ Hot-fix release, resolving incorrect dependencies in 1.1.1 wheel.
326326
1.0.4 (May 29, 2018)
327327
====================
328328

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

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

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

354354
* FIX: Propagate explicit Workflow config to Nodes (https://github.com/nipy/nipype/pull/2559)
355355
* FIX: Return non-enhanced volumes from dwi_flirt (https://github.com/nipy/nipype/pull/2547)
@@ -376,7 +376,7 @@ Hot-fix release, resolving incorrect dependencies in 1.1.1 wheel.
376376
1.0.2 (March 27, 2018)
377377
======================
378378

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

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

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

404404
* FIX: Small bug in freesurfer label2annot fill_thresh specs [#2377](https://github.com/nipy/nipype/pull/2377)
405405
* FIX: Error creating gradients in DTIRecon [#2460](https://github.com/nipy/nipype/pull/2460)
@@ -432,7 +432,7 @@ Hot-fix release, resolving incorrect dependencies in 1.1.1 wheel.
432432
1.0.0 (January 24, 2018)
433433
========================
434434

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

437437
* FIX: Change to interface workdir within ``Interface.run()`` instead Node (https://github.com/nipy/nipype/pull/2384)
438438
* 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)