Message ID | 20221203050829.30666-1-antero@mailbox.org |
---|---|
State | New |
Headers | show |
Series | [bug#59792] gnu: Add python-pydicom. | expand |
Hello Antero! Antero Mejr <antero@mailbox.org> writes: > * gnu/packages/python-science.scm (python-pydicom): New variable. Thanks for this contribution. > Please apply this patch first. > Supersedes #55989. > > gnu/packages/python-science.scm | 46 +++++++++++++++++++++++++++++++++ > 1 file changed, 46 insertions(+) > > diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm > index 52fe1460bb..00bba25a4a 100644 > --- a/gnu/packages/python-science.scm > +++ b/gnu/packages/python-science.scm > @@ -1656,6 +1656,52 @@ (define-public python-vaex-core > tabular datasets. This package provides the core modules of Vaex.") > (license license:expat))) > > +(define-public python-pydicom > + (package > + (name "python-pydicom") > + (version "2.3.1") > + (source (origin > + (method git-fetch) > + (uri (git-reference > + (url "https://github.com/pydicom/pydicom") > + (commit (string-append "v" version)))) > + (file-name (git-file-name name version)) > + (sha256 > + (base32 > + "0q209i2jgwv5z1xhi7frydkplby7jaiz624pjq6vi51wvlmimpf6")))) > + (build-system python-build-system) > + (arguments > + (list #:phases #~(modify-phases %standard-phases > + (replace 'check > + (lambda* (#:key tests? #:allow-other-keys) > + (when tests? > + ;; skip tests using external data Well done! Please use a complete sentence for stand-alone comments, e.g. ";; Skip tests that require networking." > + (invoke "pytest" "-vv" "-k" > + (string-append > + " not TestDataElement" > + " and not TestDatasetOverlayArray" > + " and not TestReader" > + " and not Test_JPEG_LS_Lossless_transfer_syntax" > + " and not test_data_manager.py" > + " and not test_encaps.py" > + " and not test_encoders_pydicom.py" > + " and not test_filewriter.py" > + " and not test_gdcm_pixel_data.py" > + " and not test_handler_util.py" > + " and not test_jpeg_ls_pixel_data.py" > + " and not test_numpy_pixel_data.py" > + " and not test_overlay_np.py" > + " and not test_pillow_pixel_data.py" > + " and not test_rle_pixel_data.py")))))))) Suggestion: If you use pyproject-build-system, you can avoid overriding the test phase, instead making use of the new #:test-flags argument, to provide just the "-k" and patterns. > + (native-inputs (list python-pytest)) > + (propagated-inputs (list python-numpy python-pillow)) > + (home-page "https://github.com/pydicom/pydicom") > + (synopsis "Python library for reading and writing DICOM data") > + (description "@code{pydicom} is a Python library for reading and writing > +DICOM medical image files. It lets developers read, modify and write DICOM data > +in a pythonic way.") I'd avoid "developers", and plainly state: "It can read, modify [...]", and drop "in a pythonic way" since that's more subjective than facts.
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index 52fe1460bb..00bba25a4a 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -1656,6 +1656,52 @@ (define-public python-vaex-core tabular datasets. This package provides the core modules of Vaex.") (license license:expat))) +(define-public python-pydicom + (package + (name "python-pydicom") + (version "2.3.1") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/pydicom/pydicom") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "0q209i2jgwv5z1xhi7frydkplby7jaiz624pjq6vi51wvlmimpf6")))) + (build-system python-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (replace 'check + (lambda* (#:key tests? #:allow-other-keys) + (when tests? + ;; skip tests using external data + (invoke "pytest" "-vv" "-k" + (string-append + " not TestDataElement" + " and not TestDatasetOverlayArray" + " and not TestReader" + " and not Test_JPEG_LS_Lossless_transfer_syntax" + " and not test_data_manager.py" + " and not test_encaps.py" + " and not test_encoders_pydicom.py" + " and not test_filewriter.py" + " and not test_gdcm_pixel_data.py" + " and not test_handler_util.py" + " and not test_jpeg_ls_pixel_data.py" + " and not test_numpy_pixel_data.py" + " and not test_overlay_np.py" + " and not test_pillow_pixel_data.py" + " and not test_rle_pixel_data.py")))))))) + (native-inputs (list python-pytest)) + (propagated-inputs (list python-numpy python-pillow)) + (home-page "https://github.com/pydicom/pydicom") + (synopsis "Python library for reading and writing DICOM data") + (description "@code{pydicom} is a Python library for reading and writing +DICOM medical image files. It lets developers read, modify and write DICOM data +in a pythonic way.") + (license license:expat))) + ;;; ;;; Avoid adding new packages to the end of this file. To reduce the chances ;;; of a merge conflict, place them above by existing packages with similar