1{ stdenv
2, lib
3, buildPythonPackage
4, fetchPypi
5, pythonOlder
6, pytestCheckHook
7, cython
8, setuptools
9, setuptools-scm
10, wheel
11, numpy
12, scipy
13, matplotlib
14, networkx
15, nibabel
16}:
17
18buildPythonPackage rec {
19 pname = "nitime";
20 version = "0.10.2";
21 disabled = pythonOlder "3.7";
22 format = "pyproject";
23
24 src = fetchPypi {
25 inherit pname version;
26 hash = "sha256-NCaWr7ZqL1XV0QfUD+4+Yn33N1cCP33ib5oJ91OtJLU=";
27 };
28
29 # Upstream wants to build against the oldest version of numpy possible, but
30 # we only want to build against the most recent version.
31 postPatch = ''
32 substituteInPlace pyproject.toml \
33 --replace "numpy==" "numpy>="
34 '';
35
36 nativeBuildInputs = [
37 cython
38 setuptools
39 setuptools-scm
40 wheel
41 ];
42
43 propagatedBuildInputs = [
44 numpy
45 scipy
46 matplotlib
47 networkx
48 nibabel
49 ];
50
51 nativeCheckInputs = [ pytestCheckHook ];
52
53 doCheck = !stdenv.isDarwin; # tests hang indefinitely
54
55 pythonImportsCheck = [ "nitime" ];
56
57 meta = with lib; {
58 homepage = "https://nipy.org/nitime";
59 description = "Algorithms and containers for time-series analysis in time and spectral domains";
60 license = licenses.bsd3;
61 maintainers = [ maintainers.bcdarwin ];
62 };
63}