at master 1.5 kB view raw
1{ 2 lib, 3 buildPythonPackage, 4 fetchFromGitHub, 5 pythonOlder, 6 pytestCheckHook, 7 numpy, 8 pillow, 9 pydicom, 10 pyjpegls, 11 pylibjpeg, 12 pylibjpeg-libjpeg, 13 pylibjpeg-openjpeg, 14 setuptools, 15 typing-extensions, 16}: 17 18buildPythonPackage rec { 19 pname = "highdicom"; 20 version = "0.26.1"; 21 pyproject = true; 22 23 disabled = pythonOlder "3.10"; 24 25 src = fetchFromGitHub { 26 owner = "MGHComputationalPathology"; 27 repo = "highdicom"; 28 tag = "v${version}"; 29 hash = "sha256-zaa0daGMQHktYkG56JA2a7s5UZSv8AbinO5roe9rWQc="; 30 }; 31 32 build-system = [ 33 setuptools 34 ]; 35 36 dependencies = [ 37 numpy 38 pillow 39 pydicom 40 pyjpegls 41 typing-extensions 42 ]; 43 44 optional-dependencies = { 45 libjpeg = [ 46 pylibjpeg 47 pylibjpeg-libjpeg 48 pylibjpeg-openjpeg 49 ]; 50 }; 51 52 nativeCheckInputs = [ pytestCheckHook ] ++ optional-dependencies.libjpeg; 53 preCheck = '' 54 export HOME=$TMP/test-home 55 mkdir -p $HOME/.pydicom/ 56 ln -s ${pydicom.passthru.pydicom-data}/data_store/data $HOME/.pydicom/data 57 ''; 58 59 pythonImportsCheck = [ 60 "highdicom" 61 "highdicom.legacy" 62 "highdicom.ann" 63 "highdicom.ko" 64 "highdicom.pm" 65 "highdicom.pr" 66 "highdicom.seg" 67 "highdicom.sr" 68 "highdicom.sc" 69 ]; 70 71 meta = { 72 description = "High-level DICOM abstractions for Python"; 73 homepage = "https://highdicom.readthedocs.io"; 74 changelog = "https://github.com/ImagingDataCommons/highdicom/releases/tag/v${version}"; 75 license = lib.licenses.mit; 76 maintainers = with lib.maintainers; [ bcdarwin ]; 77 }; 78}