Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

Sphinx extension to plot workflows should read mocks #2577

Copy link
Copy link
Open
@oesteban

Description

@oesteban
Issue body actions

Summary

As of Sphinx 1.3, the autodoc module allows setting a list of modules to be mocked. However, our extension does not read that list and some workflows will crash.

Actual behavior

From mriqc builds at readthedocs:

/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/h5py/__init__.py:36: FutureWarning: Conversion of the second argument of issubdtype from `float` to `np.floating` is deprecated. In future, it will be treated as `np.float64 == np.dtype(float).type`.
  from ._conv import register_converters as _register_converters
/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/anatomical.py:docstring of mriqc.workflows.anatomical:23: WARNING: Exception occurred in plotting workflows-1
 from /home/docs/checkouts/readthedocs.org/user_builds/mriqc/checkouts/master/docs/source/workflows.rst:
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/sphinxext/plot_workflow.py", line 485, in run_code
    exec(code, ns)
  File "<string>", line 2, in <module>
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/anat/__init__.py", line 6, in <module>
    from ..interfaces import mni  # for backwards compatibility
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/interfaces/__init__.py", line 6, in <module>
    from .masks import BETRPT as BET
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/interfaces/masks.py", line 25, in <module>
    fsl.preprocess.BETInputSpec):
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/anatomical.py:docstring of mriqc.workflows.anatomical.anat_qc_workflow:5: WARNING: Exception occurred in plotting workflows-2
 from /home/docs/checkouts/readthedocs.org/user_builds/mriqc/checkouts/master/docs/source/workflows.rst:
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/sphinxext/plot_workflow.py", line 485, in run_code
    exec(code, ns)
  File "<string>", line 2, in <module>
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/anatomical.py", line 506, in airmsk_wf
    interpolation='Linear', float=True), name='invert_xfm')
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/pipeline/engine/nodes.py", line 153, in __init__
    raise IOError('interface must be an instance of an Interface')
OSError: interface must be an instance of an Interface
/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/anatomical.py:docstring of mriqc.workflows.anatomical.gradient_threshold:1: WARNING: Exception occurred in plotting workflows-3
 from /home/docs/checkouts/readthedocs.org/user_builds/mriqc/checkouts/master/docs/source/workflows.rst:
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/sphinxext/plot_workflow.py", line 485, in run_code
    exec(code, ns)
  File "<string>", line 8, in <module>
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/anatomical.py", line 95, in anat_qc_workflow
    hmsk = headmsk_wf()
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/anatomical.py", line 448, in headmsk_wf
    bet = pe.Node(fsl.BET(surfaces=True), name='fsl_bet')
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/pipeline/engine/nodes.py", line 153, in __init__
    raise IOError('interface must be an instance of an Interface')
OSError: interface must be an instance of an Interface
/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/anatomical.py:docstring of mriqc.workflows.anatomical.spatial_normalization:1: WARNING: Exception occurred in plotting workflows-4
 from /home/docs/checkouts/readthedocs.org/user_builds/mriqc/checkouts/master/docs/source/workflows.rst:
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/sphinxext/plot_workflow.py", line 485, in run_code
    exec(code, ns)
  File "<string>", line 2, in <module>
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/anatomical.py", line 250, in compute_iqms
    fwhm_interface = get_fwhmx()
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/utils.py", line 172, in get_fwhmx
    afni_version = StrictVersion('%s.%s.%s' % Info.version())
TypeError: not enough arguments for format string
/home/docs/checkouts/readthedocs.org/user_builds/mriqc/checkouts/master/docs/source/workflows.rst:144: WARNING: Exception occurred in plotting workflows-5
 from /home/docs/checkouts/readthedocs.org/user_builds/mriqc/checkouts/master/docs/source/workflows.rst:
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/sphinxext/plot_workflow.py", line 485, in run_code
    exec(code, ns)
  File "<string>", line 2, in <module>
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/anatomical.py", line 448, in headmsk_wf
    bet = pe.Node(fsl.BET(surfaces=True), name='fsl_bet')
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/pipeline/engine/nodes.py", line 153, in __init__
    raise IOError('interface must be an instance of an Interface')
OSError: interface must be an instance of an Interface
/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/functional.py:docstring of mriqc.workflows.functional.compute_iqms:3: WARNING: Exception occurred in plotting workflows-7
 from /home/docs/checkouts/readthedocs.org/user_builds/mriqc/checkouts/master/docs/source/workflows.rst:
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/sphinxext/plot_workflow.py", line 485, in run_code
    exec(code, ns)
  File "<string>", line 2, in <module>
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/functional.py", line 225, in compute_iqms
    mem_gb=biggest_file_gb * 3)
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/pipeline/engine/nodes.py", line 153, in __init__
    raise IOError('interface must be an instance of an Interface')
OSError: interface must be an instance of an Interface
/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/functional.py:docstring of mriqc.workflows.functional.fmri_bmsk_workflow:5: WARNING: Exception occurred in plotting workflows-8
 from /home/docs/checkouts/readthedocs.org/user_builds/mriqc/checkouts/master/docs/source/workflows.rst:
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/sphinxext/plot_workflow.py", line 485, in run_code
    exec(code, ns)
  File "<string>", line 2, in <module>
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/functional.py", line 688, in epi_mni_align
    from niworkflows.interfaces.registration import (
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/interfaces/__init__.py", line 6, in <module>
    from .masks import BETRPT as BET
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/interfaces/masks.py", line 25, in <module>
    fsl.preprocess.BETInputSpec):
TypeError: metaclass conflict: the metaclass of a derived class must be a (non-strict) subclass of the metaclasses of all its bases
/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/functional.py:docstring of mriqc.workflows.functional.hmc_afni:1: WARNING: Exception occurred in plotting workflows-9
 from /home/docs/checkouts/readthedocs.org/user_builds/mriqc/checkouts/master/docs/source/workflows.rst:
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/sphinxext/plot_workflow.py", line 485, in run_code
    exec(code, ns)
  File "<string>", line 2, in <module>
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/functional.py", line 470, in fmri_bmsk_workflow
    outputtype='NIFTI_GZ'), name='afni_msk')
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/pipeline/engine/nodes.py", line 153, in __init__
    raise IOError('interface must be an instance of an Interface')
OSError: interface must be an instance of an Interface
/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/functional.py:docstring of mriqc.workflows.functional.individual_reports:1: WARNING: Exception occurred in plotting workflows-10
 from /home/docs/checkouts/readthedocs.org/user_builds/mriqc/checkouts/master/docs/source/workflows.rst:
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/sphinxext/plot_workflow.py", line 485, in run_code
    exec(code, ns)
  File "<string>", line 7, in <module>
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/functional.py", line 89, in fmri_qc_workflow
    name="non_steady_state_detector")
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/pipeline/engine/nodes.py", line 153, in __init__
    raise IOError('interface must be an instance of an Interface')
OSError: interface must be an instance of an Interface
/home/docs/checkouts/readthedocs.org/user_builds/mriqc/checkouts/master/docs/source/workflows.rst:151: WARNING: Exception occurred in plotting workflows-11
 from /home/docs/checkouts/readthedocs.org/user_builds/mriqc/checkouts/master/docs/source/workflows.rst:
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/sphinxext/plot_workflow.py", line 485, in run_code
    exec(code, ns)
  File "<string>", line 2, in <module>
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/functional.py", line 573, in hmc_afni
    gen_ref = pe.Node(nwr.EstimateReferenceImage(mc_method="AFNI"), name="gen_ref")
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/pipeline/engine/nodes.py", line 153, in __init__
    raise IOError('interface must be an instance of an Interface')
OSError: interface must be an instance of an Interface
/home/docs/checkouts/readthedocs.org/user_builds/mriqc/checkouts/master/docs/source/workflows.rst:178: WARNING: Exception occurred in plotting workflows-12
 from /home/docs/checkouts/readthedocs.org/user_builds/mriqc/checkouts/master/docs/source/workflows.rst:
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/sphinxext/plot_workflow.py", line 485, in run_code
    exec(code, ns)
  File "<string>", line 2, in <module>
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/functional.py", line 512, in hmc_mcflirt
    gen_ref = pe.Node(nwr.EstimateReferenceImage(mc_method="AFNI"), name="gen_ref")
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/pipeline/engine/nodes.py", line 153, in __init__
    raise IOError('interface must be an instance of an Interface')
OSError: interface must be an instance of an Interface
/home/docs/checkouts/readthedocs.org/user_builds/mriqc/checkouts/master/docs/source/workflows.rst:204: WARNING: Exception occurred in plotting workflows-13
 from /home/docs/checkouts/readthedocs.org/user_builds/mriqc/checkouts/master/docs/source/workflows.rst:
Traceback (most recent call last):
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/sphinxext/plot_workflow.py", line 485, in run_code
    exec(code, ns)
  File "<string>", line 2, in <module>
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/mriqc/workflows/functional.py", line 349, in individual_reports
    bigplot = pe.Node(FMRISummary(), name='BigPlot', mem_gb=biggest_file_gb * 3.5)
  File "/home/docs/checkouts/readthedocs.org/user_builds/mriqc/envs/master/lib/python3.5/site-packages/niworkflows/nipype/pipeline/engine/nodes.py", line 153, in __init__
    raise IOError('interface must be an instance of an Interface')
OSError: interface must be an instance of an Interface

Expected behavior

No exceptions raised.

How to replicate the behavior

MRIQC

Script/Workflow details

Please put URL to code or code here (if not too long).

Platform details:

Read the docs

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions

    Morty Proxy This is a proxified and sanitized view of the page, visit original site.