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}:
23
24buildPythonPackage rec {
25 pname = "nilearn";
26 version = "0.11.1";
27 pyproject = true;
28
29 src = fetchFromGitHub {
30 owner = "nilearn";
31 repo = "nilearn";
32 tag = version;
33 hash = "sha256-ZvodSRJkKwPwpYHOLmxAYIIv7f9AlrjmZS9KLPjz5rM=";
34 };
35
36 postPatch = ''
37 substituteInPlace pyproject.toml \
38 --replace-fail " --template=maint_tools/templates/index.html" ""
39 '';
40
41 build-system = [
42 hatch-vcs
43 hatchling
44 ];
45
46 dependencies = [
47 joblib
48 lxml
49 nibabel
50 numpy
51 pandas
52 requests
53 scikit-learn
54 scipy
55 packaging
56 ];
57
58 nativeCheckInputs = [ pytestCheckHook ];
59
60 disabledTests = [
61 # https://github.com/nilearn/nilearn/issues/2608
62 "test_clean_confounds"
63
64 # [XPASS(strict)] invalid checks should fail
65 "test_check_estimator_invalid_group_sparse_covariance"
66 ];
67
68 # do subset of tests which don't fetch resources
69 pytestFlagsArray = [ "nilearn/connectome/tests" ];
70
71 meta = {
72 description = "Module for statistical learning on neuroimaging data";
73 homepage = "https://nilearn.github.io";
74 changelog = "https://github.com/nilearn/nilearn/releases/tag/${version}";
75 license = lib.licenses.bsd3;
76 maintainers = with lib.maintainers; [ GaetanLepage ];
77 };
78}