summary refs log tree commit diff
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2023-05-30 20:58:46 +0100
committerEfraim Flashner <efraim@flashner.co.il>2023-06-14 14:52:23 +0300
commitf9616163d0666142d09f2a5b69a58732d18ca62e (patch)
treec2f32f8ccbe8d1150d86c0e7fa40c318114ecaee
parent2b085c4b41cd0aa888d9f4c027a23c483a7c73e5 (diff)
downloadguix-f9616163d0666142d09f2a5b69a58732d18ca62e.tar.gz
gnu: Add python-drizzle.
* gnu/packages/astronomy.scm (python-drizzle): New variable.

Signed-off-by: Efraim Flashner <efraim@flashner.co.il>
-rw-r--r--gnu/packages/astronomy.scm47
1 files changed, 47 insertions, 0 deletions
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 1655fd09aa..42ce1c1dc8 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -1577,6 +1577,53 @@ JSOC (@url{http://jsoc.stanford.edu/}) DRMS server by default, but can also be
 used with local NetDRMS sites.")
     (license license:bsd-2)))
 
+(define-public python-drizzle
+  (package
+    (name "python-drizzle")
+    (version "1.13.7")
+    (source (origin
+              (method git-fetch) ;PyPi doesn't have the test data sets
+              (uri (git-reference
+                    (url "https://github.com/spacetelescope/drizzle")
+                    (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0x591d9gjasds91fvwcf37bhxp5nra28g0vq5zkykczpc70ywiy8"))))
+    (build-system pyproject-build-system)
+    (arguments
+     (list
+      ;; XXX: 2 of 26 tests failed with AssertionError, disable them for now.
+      ;; Consider mention it in upstream.
+      #:test-flags #~(list "-k"
+                           (string-append "not test_square_with_point"
+                                          " and not test_square_with_grid"))
+      #:phases #~(modify-phases %standard-phases
+                   (add-before 'build 'set-env-version
+                     (lambda _
+                       (setenv "SETUPTOOLS_SCM_PRETEND_VERSION"
+                               #$version)))
+                   (add-before 'check 'build-extensions
+                     (lambda _
+                       ;; Cython extensions have to be built before running
+                       ;; the tests.
+                       (invoke "python" "setup.py" "build_ext" "--inplace"))))))
+    (propagated-inputs (list python-astropy python-numpy))
+    (native-inputs (list python-coverage python-flake8 python-pytest
+                         python-pytest-cov python-setuptools-scm))
+    (home-page "https://github.com/spacetelescope/drizzle")
+    (synopsis
+     "Astronomical tool for combining dithered images into a single image")
+    (description
+     "The drizzle library is a Python package for combining dithered images into
+a single image.  This library is derived from code used in DrizzlePac.  Like
+DrizzlePac, most of the code is implemented in the C language.  The biggest
+change from DrizzlePac is that this code passes an array that maps the input to
+output image into the C code, while the DrizzlePac code computes the mapping by
+using a Python callback.  Switching to using an array allowed the code to be
+greatly simplified.")
+    (license license:bsd-3)))
+
 (define-public python-ephem
   (package
     (name "python-ephem")