summary refs log tree commit diff
diff options
context:
space:
mode:
authorSharlatan Hellseher <sharlatanus@gmail.com>2022-12-08 00:02:59 +0000
committerMaxim Cournoyer <maxim.cournoyer@gmail.com>2023-01-16 12:13:07 -0500
commit8514a7532591b97c2adbe8a20cb4e630ff6b8654 (patch)
treefc6816763bba3f1d50aa2a360fcbaccb3d60bbf8
parent61cdbf414c3449fb8c1eb4c15bd051a2e82df15c (diff)
downloadguix-8514a7532591b97c2adbe8a20cb4e630ff6b8654.tar.gz
gnu: Add python-poppy.
* gnu/packages/astronomy.scm (python-poppy): New variable.

Signed-off-by: Maxim Cournoyer <maxim.cournoyer@gmail.com>
-rw-r--r--gnu/packages/astronomy.scm45
1 files changed, 45 insertions, 0 deletions
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 6b3a375e78..2b5efc84a8 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -67,6 +67,7 @@
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages sphinx)
   #:use-module (gnu packages textutils)
   #:use-module (gnu packages time)
   #:use-module (gnu packages version-control)
@@ -1339,6 +1340,50 @@ the easy construction of interactive matplotlib widget based animations.")
 of astronomical sources.")
     (license license:bsd-3)))
 
+(define-public python-poppy
+  (package
+    (name "python-poppy")
+    (version "1.0.3")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "poppy" version))
+              (sha256
+               (base32
+                "050cn6aabd1dxbi7zihbqnkl79hz6q6d5n6g25zmrpvc4sii171m"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs
+     ;; XXX: With python-synphot (marked as optional) package added to the list
+     ;; it tries to download from remote host during tests and fails. Overall
+     ;; tests take up to 5-8min to pass.
+     (list python-astropy
+           python-matplotlib
+           python-numpy
+           python-scipy))
+    (native-inputs
+     (list python-docutils
+           python-h5py
+           python-pandas
+           python-pytest
+           python-pytest-astropy
+           python-sphinx
+           python-setuptools-scm))
+    (home-page "https://poppy-optics.readthedocs.io/")
+    (synopsis "Physical Optics Propagation in Python")
+    (description
+     "@acronym{POPPY, Physical Optics Propagation in Python} is a Python package that
+simulates physical optical propagation including diffraction.  It implements a
+flexible framework for modeling Fraunhofer and Fresnel diffraction and point
+spread function formation, particularly in the context of astronomical
+telescopes.
+
+POPPY was developed as part of a simulation package for the James Webb Space
+Telescope, but is more broadly applicable to many kinds of imaging simulations.
+It is not, however, a substitute for high fidelity optical design software such
+as Zemax or Code V, but rather is intended as a lightweight alternative for
+cases for which diffractive rather than geometric optics is the topic of
+interest, and which require portability between platforms or ease of scripting.")
+    (license license:bsd-3)))
+
 (define-public python-pyvo
   (package
     (name "python-pyvo")