1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5 pythonOlder,
6 packaging,
7 cython,
8 numpy,
9 scipy,
10 h5py,
11 nibabel,
12 tqdm,
13}:
14
15buildPythonPackage rec {
16 pname = "dipy";
17 version = "1.7.0";
18 format = "setuptools";
19
20 disabled = pythonOlder "3.6";
21
22 src = fetchFromGitHub {
23 owner = "dipy";
24 repo = pname;
25 rev = "refs/tags/${version}";
26 hash = "sha256-sfqCK2r9Io1gDDHL9s9R37J0h9KcOQML3B2zJx2+QuA=";
27 };
28
29 nativeBuildInputs = [
30 cython
31 packaging
32 ];
33
34 propagatedBuildInputs = [
35 numpy
36 scipy
37 h5py
38 nibabel
39 tqdm
40 ];
41
42 # disable tests for now due to:
43 # - some tests require data download (see dipy/dipy/issues/2092);
44 # - running the tests manually causes a multiprocessing hang;
45 # - import weirdness when running the tests
46 doCheck = false;
47
48 pythonImportsCheck = [
49 "dipy"
50 "dipy.core"
51 "dipy.direction"
52 "dipy.tracking"
53 "dipy.reconst"
54 "dipy.io"
55 "dipy.viz"
56 "dipy.boots"
57 "dipy.data"
58 "dipy.utils"
59 "dipy.segment"
60 "dipy.sims"
61 "dipy.stats"
62 "dipy.denoise"
63 "dipy.workflows"
64 "dipy.nn"
65 ];
66
67 meta = with lib; {
68 homepage = "https://dipy.org/";
69 description = "Diffusion imaging toolkit for Python";
70 changelog = "https://github.com/dipy/dipy/blob/${version}/Changelog";
71 license = licenses.bsd3;
72 maintainers = with maintainers; [ bcdarwin ];
73 };
74}