at 23.11-beta 1.4 kB view raw
1{ lib 2, buildPythonPackage 3, fetchFromGitHub 4, pythonOlder 5, ninja 6, ignite 7, numpy 8, pybind11 9, torch 10, which 11}: 12 13buildPythonPackage rec { 14 pname = "monai"; 15 version = "1.3.0"; 16 disabled = pythonOlder "3.8"; 17 18 src = fetchFromGitHub { 19 owner = "Project-MONAI"; 20 repo = "MONAI"; 21 rev = "refs/tags/${version}"; 22 hash = "sha256-h//igmSV1cPAFifE1woIluSyGwZBRByYMLqeY3oLHnk="; 23 }; 24 25 # Ninja is not detected by setuptools for some reason even though it's present: 26 postPatch = '' 27 substituteInPlace "setup.cfg" --replace " ninja" "" 28 ''; 29 30 preBuild = '' 31 export MAX_JOBS=$NIX_BUILD_CORES; 32 ''; 33 34 nativeBuildInputs = [ ninja which ]; 35 buildInputs = [ pybind11 ]; 36 propagatedBuildInputs = [ numpy torch ignite ]; 37 38 BUILD_MONAI = 1; 39 40 doCheck = false; # takes too long; tries to download data 41 42 pythonImportsCheck = [ 43 "monai" 44 "monai.apps" 45 "monai.data" 46 "monai.engines" 47 "monai.handlers" 48 "monai.inferers" 49 "monai.losses" 50 "monai.metrics" 51 "monai.optimizers" 52 "monai.networks" 53 "monai.transforms" 54 "monai.utils" 55 "monai.visualize" 56 ]; 57 58 meta = with lib; { 59 description = "Pytorch framework (based on Ignite) for deep learning in medical imaging"; 60 homepage = "https://github.com/Project-MONAI/MONAI"; 61 changelog = "https://github.com/Project-MONAI/MONAI/releases/tag/${version}"; 62 license = licenses.asl20; 63 maintainers = [ maintainers.bcdarwin ]; 64 }; 65}