Merge pull request #119126 from fabaff/pycomfoconnect
[NixPkgs.git] / pkgs / development / python-modules / nipype / default.nix
blob5f847007bdc58191fb82578fd75d60da2d8d5b3a
1 { lib, stdenv
2 , buildPythonPackage
3 , fetchPypi
4 , isPy27
5 # python dependencies
6 , click
7 , dateutil
8 , etelemetry
9 , filelock
10 , funcsigs
11 , future
12 , mock
13 , networkx
14 , nibabel
15 , numpy
16 , packaging
17 , prov
18 , psutil
19 , pybids
20 , pydot
21 , pytest
22 , pytest_xdist
23 , pytest-forked
24 , rdflib
25 , scipy
26 , simplejson
27 , traits
28 , xvfbwrapper
29 , pytestcov
30 , codecov
31 , sphinx
32 # other dependencies
33 , which
34 , bash
35 , glibcLocales
36 , callPackage
37 # causes Python packaging conflict with any package requiring rdflib,
38 # so use the unpatched rdflib by default (disables Nipype provenance tracking);
39 # see https://github.com/nipy/nipype/issues/2888:
40 , useNeurdflib ? false
43 let
45  # This is a temporary convenience package for changes waiting to be merged into the primary rdflib repo.
46  neurdflib = callPackage ./neurdflib.nix { };
50 buildPythonPackage rec {
51   pname = "nipype";
52   version = "1.6.0";
53   disabled = isPy27;
55   src = fetchPypi {
56     inherit pname version;
57     sha256 = "bc56ce63f74c9a9a23c6edeaf77631377e8ad2bea928c898cc89527a47f101cf";
58   };
60   postPatch = ''
61     substituteInPlace nipype/interfaces/base/tests/test_core.py \
62       --replace "/usr/bin/env bash" "${bash}/bin/bash"
63   '';
65   nativeBuildInputs = [
66     sphinx
67   ];
69   propagatedBuildInputs = [
70     click
71     dateutil
72     etelemetry
73     filelock
74     funcsigs
75     future
76     networkx
77     nibabel
78     numpy
79     packaging
80     prov
81     psutil
82     pydot
83     scipy
84     simplejson
85     traits
86     xvfbwrapper
87   ] ++ [ (if useNeurdflib then neurdflib else rdflib) ];
89   checkInputs = [
90     pybids
91     codecov
92     glibcLocales
93     mock
94     pytest
95     pytest-forked
96     pytest_xdist
97     pytestcov
98     which
99   ];
101   # checks on darwin inspect memory which doesn't work in build environment
102   doCheck = !stdenv.isDarwin;
103   # ignore tests which incorrect fail to detect xvfb
104   checkPhase = ''
105     LC_ALL="en_US.UTF-8" pytest nipype/tests -k 'not display'
106   '';
107   pythonImportsCheck = [ "nipype" ];
109   meta = with lib; {
110     homepage = "https://nipy.org/nipype/";
111     description = "Neuroimaging in Python: Pipelines and Interfaces";
112     license = licenses.bsd3;
113     maintainers = with maintainers; [ ashgillman ];
114   };