1{
2 lib,
3 buildPythonPackage,
4 fetchPypi,
5 pythonOlder,
6 pythonRelaxDepsHook,
7 h5py,
8 nibabel,
9 numpy,
10 scipy,
11 setuptools-scm,
12 toml,
13}:
14
15buildPythonPackage rec {
16 pname = "nitransforms";
17 version = "23.0.1";
18 format = "setuptools";
19 disabled = pythonOlder "3.7";
20
21 src = fetchPypi {
22 inherit pname version;
23 hash = "sha256-Lty4aPzSlwRJSqCXeIVICF+gudYqto1OS4cVZyrB2nY=";
24 };
25
26 nativeBuildInputs = [ pythonRelaxDepsHook ];
27 buildInputs = [
28 setuptools-scm
29 toml
30 ];
31 propagatedBuildInputs = [
32 h5py
33 nibabel
34 numpy
35 scipy
36 ];
37
38 pythonRelaxDeps = [ "scipy" ];
39
40 doCheck = false;
41 # relies on data repo (https://github.com/nipreps-data/nitransforms-tests);
42 # probably too heavy
43 pythonImportsCheck = [
44 "nitransforms"
45 "nitransforms.base"
46 "nitransforms.io"
47 "nitransforms.io.base"
48 "nitransforms.linear"
49 "nitransforms.manip"
50 "nitransforms.nonlinear"
51 "nitransforms.patched"
52 ];
53
54 meta = with lib; {
55 homepage = "https://nitransforms.readthedocs.io";
56 description = "Geometric transformations for images and surfaces";
57 mainProgram = "nb-transform";
58 changelog = "https://github.com/nipy/nitransforms/releases/tag/${version}";
59 license = licenses.mit;
60 maintainers = with maintainers; [ bcdarwin ];
61 };
62}