1{
2 lib,
3 stdenv,
4 buildPythonPackage,
5 fetchPypi,
6 pythonOlder,
7 # python dependencies
8 click,
9 python-dateutil,
10 etelemetry,
11 filelock,
12 funcsigs,
13 future,
14 looseversion,
15 mock,
16 networkx,
17 nibabel,
18 numpy,
19 packaging,
20 prov,
21 psutil,
22 pybids,
23 pydot,
24 pytest,
25 pytest-xdist,
26 pytest-forked,
27 rdflib,
28 scipy,
29 simplejson,
30 traits,
31 xvfbwrapper,
32 # other dependencies
33 which,
34 bash,
35 glibcLocales,
36 # causes Python packaging conflict with any package requiring rdflib,
37 # so use the unpatched rdflib by default (disables Nipype provenance tracking);
38 # see https://github.com/nipy/nipype/issues/2888:
39 useNeurdflib ? false,
40}:
41
42buildPythonPackage rec {
43 pname = "nipype";
44 version = "1.10.0";
45 disabled = pythonOlder "3.7";
46 format = "setuptools";
47
48 src = fetchPypi {
49 inherit pname version;
50 hash = "sha256-GeXWzvpwmXGY94vGZe9NPTy1MyW1uYpy5Rrvra9rPg4=";
51 };
52
53 postPatch = ''
54 substituteInPlace nipype/interfaces/base/tests/test_core.py \
55 --replace "/usr/bin/env bash" "${bash}/bin/bash"
56 '';
57
58 pythonRelaxDeps = [ "traits" ];
59
60 propagatedBuildInputs = [
61 click
62 python-dateutil
63 etelemetry
64 filelock
65 funcsigs
66 future
67 looseversion
68 networkx
69 nibabel
70 numpy
71 packaging
72 prov
73 psutil
74 pydot
75 rdflib
76 scipy
77 simplejson
78 traits
79 xvfbwrapper
80 ];
81
82 nativeCheckInputs = [
83 pybids
84 glibcLocales
85 mock
86 pytest
87 pytest-forked
88 pytest-xdist
89 which
90 ];
91
92 # checks on darwin inspect memory which doesn't work in build environment
93 doCheck = !stdenv.hostPlatform.isDarwin;
94 # ignore tests which incorrect fail to detect xvfb
95 checkPhase = ''
96 pytest nipype/tests -k 'not display and not test_no_et_multiproc'
97 '';
98 pythonImportsCheck = [ "nipype" ];
99
100 meta = with lib; {
101 homepage = "https://nipy.org/nipype/";
102 description = "Neuroimaging in Python: Pipelines and Interfaces";
103 mainProgram = "nipypecli";
104 license = licenses.bsd3;
105 maintainers = with maintainers; [ ashgillman ];
106 };
107}