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