1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5
6 # build-system
7 cython,
8 meson-python,
9 ninja,
10 setuptools,
11
12 # dependencies
13 numpy,
14 scipy,
15 nibabel,
16 sympy,
17 transforms3d,
18
19 # optional-dependencies
20 matplotlib,
21
22 # tests
23 pytestCheckHook,
24}:
25
26buildPythonPackage rec {
27 version = "0.6.0";
28 pname = "nipy";
29 pyproject = true;
30
31 src = fetchPypi {
32 inherit pname version;
33 hash = "sha256-BTn2nV4VMeT8bxTOJTHjRU8I2bxFZCzIZCZVn/QcUrk=";
34 };
35
36 postPatch = ''
37 patchShebangs nipy/_build_utils/cythoner.py
38 '';
39
40 build-system = [
41 cython
42 meson-python
43 setuptools
44 ninja
45 numpy
46 ];
47
48 dependencies = [
49 nibabel
50 numpy
51 scipy
52 sympy
53 transforms3d
54 ];
55
56 optional-dependencies.optional = [ matplotlib ];
57
58 nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.optional;
59
60 doCheck = false; # partial imports … circular dependencies. needs more time to figure out.
61
62 pythonImportsCheck = [
63 "nipy"
64 "nipy.testing"
65 "nipy.algorithms"
66 ];
67
68 meta = with lib; {
69 homepage = "https://nipy.org/nipy";
70 description = "Software for structural and functional neuroimaging analysis";
71 downloadPage = "https://github.com/nipy/nipy";
72 license = licenses.bsd3;
73 };
74}