1{
2 lib,
3 buildPythonPackage,
4 fetchFromGitHub,
5
6 # build-system
7 hatch-vcs,
8 hatchling,
9
10 # dependencies
11 joblib,
12 lxml,
13 nibabel,
14 numpy,
15 pandas,
16 requests,
17 scikit-learn,
18 scipy,
19 packaging,
20
21 pytestCheckHook,
22 pytest-timeout,
23 numpydoc,
24}:
25
26buildPythonPackage rec {
27 pname = "nilearn";
28 version = "0.12.1";
29 pyproject = true;
30
31 src = fetchFromGitHub {
32 owner = "nilearn";
33 repo = "nilearn";
34 tag = version;
35 hash = "sha256-jUP/gUMUVveX8m2VbyilTsx5OppuYVXH1qKeEfEVajQ=";
36 };
37
38 postPatch = ''
39 substituteInPlace pyproject.toml \
40 --replace-fail " --template=maint_tools/templates/index.html" ""
41 '';
42
43 build-system = [
44 hatchling
45 hatch-vcs
46 ];
47
48 dependencies = [
49 joblib
50 lxml
51 nibabel
52 numpy
53 pandas
54 requests
55 scikit-learn
56 scipy
57 packaging
58 ];
59
60 nativeCheckInputs = [
61 pytestCheckHook
62 pytest-timeout
63 numpydoc
64 ];
65
66 # do subset of tests which don't fetch resources
67 enabledTestPaths = [ "nilearn/connectome/tests" ];
68
69 meta = {
70 description = "Module for statistical learning on neuroimaging data";
71 homepage = "https://nilearn.github.io";
72 changelog = "https://github.com/nilearn/nilearn/releases/tag/${src.tag}";
73 license = lib.licenses.bsd3;
74 maintainers = with lib.maintainers; [ GaetanLepage ];
75 };
76}