at 25.11-pre 1.5 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 pythonOlder, 6 ninja, 7 numpy, 8 packaging, 9 pybind11, 10 torch, 11 which, 12}: 13 14buildPythonPackage rec { 15 pname = "monai"; 16 version = "1.4.0"; 17 pyproject = true; 18 19 disabled = pythonOlder "3.9"; 20 21 src = fetchFromGitHub { 22 owner = "Project-MONAI"; 23 repo = "MONAI"; 24 tag = version; 25 hash = "sha256-PovYyRLgoYwxqGeCBpWxX/kdClYtYK1bgy8yRa9eue8="; 26 # note: upstream consistently seems to modify the tag shortly after release, 27 # so best to wait a few days before updating 28 }; 29 30 preBuild = '' 31 export MAX_JOBS=$NIX_BUILD_CORES; 32 ''; 33 34 build-system = [ 35 ninja 36 which 37 ]; 38 39 buildInputs = [ pybind11 ]; 40 41 dependencies = [ 42 numpy 43 packaging 44 torch 45 ]; 46 47 pythonRelaxDeps = [ "numpy" ]; # supported; see https://github.com/Project-MONAI/MONAI/pull/7857 48 49 env.BUILD_MONAI = 1; 50 51 doCheck = false; # takes too long; tries to download data 52 53 pythonImportsCheck = [ 54 "monai" 55 "monai.apps" 56 "monai.data" 57 "monai.engines" 58 "monai.handlers" 59 "monai.inferers" 60 "monai.losses" 61 "monai.metrics" 62 "monai.optimizers" 63 "monai.networks" 64 "monai.transforms" 65 "monai.utils" 66 "monai.visualize" 67 ]; 68 69 meta = with lib; { 70 description = "Pytorch framework (based on Ignite) for deep learning in medical imaging"; 71 homepage = "https://github.com/Project-MONAI/MONAI"; 72 changelog = "https://github.com/Project-MONAI/MONAI/releases/tag/${version}"; 73 license = licenses.asl20; 74 maintainers = [ maintainers.bcdarwin ]; 75 }; 76}