summaryrefslogtreecommitdiff
path: root/gnu/packages/astronomy.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/astronomy.scm')
-rw-r--r--gnu/packages/astronomy.scm4395
1 files changed, 2555 insertions, 1840 deletions
diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 745120b85c..735d670ab2 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -17,6 +17,7 @@
;;; Copyright © 2024-2025 Artyom V. Poptsov <poptsov.artyom@gmail.com>
;;; Copyright © 2025 Vasilii Smirnov <vasilii.smirnov@mailbox.org>
;;; Copyright © 2025 Daniel Ziltener <dziltener@lyrion.ch>
+;;; Copyright © 2025 Hugo Buddelmeijer <hugo@buddelmeijer.nl>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -35,6 +36,21 @@
(define-module (gnu packages astronomy)
#:use-module ((guix licenses) #:prefix license:)
+ #:use-module ((guix build-system python) #:select (pypi-uri)) ;to be removed soon
+ #:use-module (guix build-system ant)
+ #:use-module (guix build-system cmake)
+ #:use-module (guix build-system copy)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build-system go)
+ #:use-module (guix build-system meson)
+ #:use-module (guix build-system pyproject)
+ #:use-module (guix build-system qt)
+ #:use-module (guix download)
+ #:use-module (guix gexp)
+ #:use-module (guix git-download)
+ #:use-module (guix packages)
+ #:use-module (guix utils)
+ #:use-module (gnu packages)
#:use-module (gnu packages algebra)
#:use-module (gnu packages autotools)
#:use-module (gnu packages base)
@@ -43,7 +59,6 @@
#:use-module (gnu packages boost)
#:use-module (gnu packages build-tools)
#:use-module (gnu packages c)
- #:use-module (gnu packages certs)
#:use-module (gnu packages check)
#:use-module (gnu packages cmake)
#:use-module (gnu packages compression)
@@ -63,12 +78,14 @@
#:use-module (gnu packages golang)
#:use-module (gnu packages golang-maths)
#:use-module (gnu packages golang-xyz)
+ #:use-module (gnu packages gperf)
#:use-module (gnu packages gps)
#:use-module (gnu packages graph)
#:use-module (gnu packages graphviz)
#:use-module (gnu packages gtk)
#:use-module (gnu packages image)
#:use-module (gnu packages image-processing)
+ #:use-module (gnu packages imagemagick)
#:use-module (gnu packages jupyter)
#:use-module (gnu packages libevent)
#:use-module (gnu packages libusb)
@@ -80,11 +97,12 @@
#:use-module (gnu packages multiprecision)
#:use-module (gnu packages ncurses)
#:use-module (gnu packages netpbm)
+ #:use-module (gnu packages nss)
#:use-module (gnu packages onc-rpc)
#:use-module (gnu packages parallel)
+ #:use-module (gnu packages pdf)
#:use-module (gnu packages perl)
#:use-module (gnu packages photo)
- #:use-module (gnu packages pdf)
#:use-module (gnu packages pkg-config)
#:use-module (gnu packages plotutils)
#:use-module (gnu packages popt)
@@ -115,21 +133,6 @@
#:use-module (gnu packages xiph)
#:use-module (gnu packages xml)
#:use-module (gnu packages xorg)
- #:use-module (gnu packages)
- #:use-module (guix build-system ant)
- #:use-module (guix build-system cmake)
- #:use-module (guix build-system copy)
- #:use-module (guix build-system gnu)
- #:use-module (guix build-system go)
- #:use-module (guix build-system meson)
- #:use-module ((guix build-system python) #:select (pypi-uri))
- #:use-module (guix build-system pyproject)
- #:use-module (guix build-system qt)
- #:use-module (guix download)
- #:use-module (guix gexp)
- #:use-module (guix git-download)
- #:use-module (guix packages)
- #:use-module (guix utils)
#:use-module (ice-9 match)
#:use-module (ice-9 format)
#:use-module (srfi srfi-1))
@@ -137,7 +140,7 @@
(define-public alfa
(package
(name "alfa")
- (version "2.2")
+ (version "2.3")
(source (origin
(method git-fetch)
(uri (git-reference
@@ -145,7 +148,7 @@
(commit (string-append "v" version))))
(sha256
(base32
- "0aqxqar36822mh373awsl79j7zn8vik4yddyydsxv0c76gn4i2k3"))
+ "1wi7pjra49qyyz8qz2qcgjcjck16ld0zczavxqn2xksdx1p99ajs"))
(file-name (git-file-name name version))))
(build-system gnu-build-system)
(arguments
@@ -189,8 +192,8 @@ randomly altered.
(license license:gpl3)))
(define-public aocommon
- (let ((commit "9272ea36693a7ce7aa3524a9e212a60a509c3b8a")
- (revision "2"))
+ (let ((commit "1444d66a59e757e7a0c74447e9f8d7a69c5e102d")
+ (revision "3"))
(package
(name "aocommon")
(version (git-version "0.0.0" revision commit))
@@ -198,15 +201,16 @@ randomly altered.
(origin
(method git-fetch)
(uri (git-reference
- (url "https://gitlab.com/aroffringa/aocommon")
- (commit commit)))
+ (url "https://gitlab.com/aroffringa/aocommon")
+ (commit commit)))
(sha256
- (base32 "0klcrrlkc4sjpr83m2gnwb65lg798rydyvrlpangf7np1qg4zbk5"))
+ (base32 "06kdkkarx4bmp9808bwlx35vnp6g0vfzaxx1ijvzwgsjgg8yi5cp"))
(file-name (git-file-name name version))))
(build-system copy-build-system)
(arguments
(list #:install-plan
- #~'(("include/aocommon" "include/aocommon"))))
+ #~'(("include/aocommon" "include/aocommon")
+ ("CMake" "CMake"))))
(home-page "https://gitlab.com/aroffringa/aocommon")
(synopsis "Collection of functionality that is reused in astronomical applications")
(description
@@ -216,70 +220,72 @@ reused in several astronomical applications, such as @code{wsclean},
(license license:gpl3+))))
(define-public aoflagger
- (package
- (name "aoflagger")
- (version "3.4.0")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://gitlab.com/aroffringa/aoflagger")
- (commit (string-append "v" version))))
- (sha256
- (base32 "0dxmcy04cayhs4s2z41wls1dnmg9hkffvlqcmc660idqziffvv1g"))
- (patches
- (search-patches "aoflagger-use-system-provided-pybind11.patch"))
- (file-name (git-file-name name version))))
- (build-system cmake-build-system)
- (arguments
- (list
- ;; Tests require external files download from
- ;; https://www.astron.nl/citt/ci_data/aoflagger/
- #:tests? #f
- #:configure-flags
- #~(list (string-append "-DCASACORE_ROOT_DIR="
- #$(this-package-input "casacore")))
- #:phases
- #~(modify-phases %standard-phases
- ;; aocommon and pybind11 are expected to be found as git submodules,
- ;; link them before build.
- (add-after 'unpack 'link-submodule-package
- (lambda _
- (rmdir "external/aocommon")
- (symlink #$(this-package-native-input "aocommon")
- (string-append (getcwd) "/external/aocommon")))))))
- (native-inputs
- (list aocommon
- boost
- pkg-config
- python
- pybind11))
- (inputs
- (list casacore
- cfitsio
- fftw
- gsl
- gtkmm-3
- hdf5
- libpng
- libsigc++
- libxml2
- lua
- openblas
- zlib))
- (home-page "https://gitlab.com/aroffringa/aoflagger")
- (synopsis "Astronomical tool that can find and remove radio-frequency interference")
- (description
- "AOFlagger is a tool that can find and remove radio-frequency
+ ;; 3.4.0 was released in 2023, there are a lot of changes and compatibility
+ ;; for EveryBeam.
+ (let ((commit "b3a459df54b35ec18821ae0a392eeef1ca92cdba")
+ (revision "0"))
+ (package
+ (name "aoflagger")
+ (version (git-version "3.4.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitlab.com/aroffringa/aoflagger")
+ (commit commit)))
+ (sha256
+ (base32 "0fgm2svdw52m348hi28pnknxsdy54dkfd7y388b14hwf9z5ransa"))
+ (file-name (git-file-name name version))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ ;; Tests require external files download from
+ ;; https://www.astron.nl/citt/ci_data/aoflagger/
+ #:tests? #f
+ #:configure-flags
+ #~(list (string-append "-DCASACORE_ROOT_DIR="
+ #$(this-package-input "casacore")))
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; aocommon and pybind11 are expected to be found as git submodules,
+ ;; link them before build.
+ (add-after 'unpack 'link-submodule-package
+ (lambda _
+ (rmdir "external/aocommon")
+ (symlink #$(this-package-native-input "aocommon")
+ (string-append (getcwd) "/external/aocommon")))))))
+ (native-inputs
+ (list aocommon
+ boost
+ pkg-config
+ python
+ pybind11))
+ (inputs
+ (list casacore
+ cfitsio
+ fftw
+ gsl
+ gtkmm-3
+ hdf5
+ libpng
+ libsigc++
+ libxml2
+ lua
+ openblas
+ zlib))
+ (home-page "https://gitlab.com/aroffringa/aoflagger")
+ (synopsis "Astronomical tool that can find and remove radio-frequency interference")
+ (description
+ "AOFlagger is a tool that can find and remove radio-frequency
interference (RFI) in radio astronomical observations. It can make use of Lua
scripts to make flagging strategies flexible, and the tools are applicable to a
wide set of telescopes.")
- (license license:gpl3+)))
+ (license license:gpl3+))))
(define-public astroterm
(package
(name "astroterm")
- (version "1.0.8")
+ (version "1.0.9")
(source
(origin
(method git-fetch)
@@ -288,7 +294,7 @@ wide set of telescopes.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "10y776rh6ww1zjk96cd497ipbr54q0wdd1g7ybsrffdbrzc6l8jx"))))
+ (base32 "03vrprrahhfp7jbl1apmpxmv05fb8lw469fnsnq7sajdhc3waifx"))))
(build-system meson-build-system)
(arguments
(list
@@ -536,84 +542,111 @@ Library with namespaces, exception handling, and member template functions.")
"See License.txt in the distribution."))))
(define-public celestia
- (package
- (name "celestia")
- (version "1.6.4")
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/celestiaproject/celestia")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0nz9k5nd2zmrbwj1qhsfwmvqymqk8c4yjxpybck44isrild2ah9j"))))
- (build-system gnu-build-system)
- (arguments
- (list
- #:modules
- `((guix build gnu-build-system)
- (guix build utils)
- (srfi srfi-1)
- (srfi srfi-71))
- #:configure-flags
- #~(list "--with-glut"
- (string-append "--with-lua=" #$(this-package-input "lua")))
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'patch-lua-version
- (lambda _
- (let* ((_ version (package-name->name+version
- #$(this-package-input "lua")))
- (components (string-split version #\.))
- (major+minor (string-join (take components 2) ".")))
- (substitute* "configure.ac"
- (("lua5.3")
- (string-append "lua-" major+minor)))))))))
- (native-inputs
- (list autoconf
- automake
- gettext-minimal
- libgit2
- libtool
- perl
- pkg-config))
- (inputs
- (list freeglut
- glu
- libjpeg-turbo
- libpng
- libtheora
- mesa))
- (propagated-inputs
- (list lua))
- (home-page "https://celestia.space/")
- (synopsis "Real-time 3D visualization of space")
- (description
- "This simulation program lets you explore our universe in three
+ ;; 1.6.4 was placed in 2023 while master migrated to Qt6, use the lates
+ ;; commit for now.
+ (let ((commit "d3f4040401f5f71bcca79e55d53be75c05b867ef")
+ (revision "0"))
+ (package
+ (name "celestia")
+ (version (git-version "1.6.4" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/celestiaproject/celestia")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rqkzxyf8gfjprhj1c19d7chhc3b94wlq2119wz0c344rx7hnh9l"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f ;no tests were found
+ #:configure-flags
+ #~(list "-DENABLE_FFMPEG=ON"
+ "-DENABLE_GLES=ON"
+ "-DENABLE_LIBAVIF=ON"
+ "-DENABLE_QT6=ON"
+ "-DENABLE_TOOLS=ON"
+ "-DUSE_QT6=ON")
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; TODO: Wrap celestia-content instead of copping it, if posible.
+ (add-after 'install 'install-content
+ (lambda _
+ (copy-recursively
+ (string-append #$(this-package-native-input "celestia-content")
+ "/share")
+ (string-append #$output "/share")))))))
+ (native-inputs
+ (list boost
+ celestia-content
+ gettext-minimal
+ pkg-config))
+ (inputs
+ (list eigen
+ ffmpeg
+ fmt
+ freetype
+ glu
+ gperf
+ libavif
+ libepoxy
+ libjpeg-turbo
+ libpng
+ mesa
+ qtbase
+ qtwayland))
+ (propagated-inputs
+ (list lua
+ perl))
+ (home-page "https://celestia.space/")
+ (synopsis "Real-time 3D visualization of space")
+ (description
+ "This simulation program lets you explore our universe in three
dimensions. Celestia simulates many different types of celestial objects.
From planets and moons to star clusters and galaxies, you can visit every
object in the expandable database and view it from any point in space and
time. The position and movement of solar system objects is calculated
accurately in real time at any rate desired.")
- (license license:gpl2+)))
+ (license license:gpl2+))))
+
+(define-public celestia-content
+ ;; No rleases or version tags.
+ (let ((commit "10bd43b0e8925f6ee9bb9687522708a95338d664")
+ (revision "0"))
+ (package
+ (name "celestia-content")
+ (version (git-version "0.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/CelestiaProject/CelestiaContent")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1gah823hdf0lhyql6ln6cmivfl9d8dr7yp3mrc1rcw7bm4hbb2qq"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f)) ;no tests were found
+ (native-inputs
+ (list gettext-minimal
+ imagemagick))
+ (home-page "https://celestia.space/")
+ (synopsis "Data files for Celestia space simulator")
+ (description
+ "This package provides data content for Celestia.
+@itemize
+@item Scientific Data Base
+@item Texture maps
+@item 3D Models
+@end itemize")
+ (license license:gpl2+))))
(define-public celestia-gtk
- (package/inherit celestia
- (name "celestia-gtk")
- (inputs
- (modify-inputs (package-inputs celestia)
- (replace "freeglut" gtk+-2)
- (prepend cairo gtkglext libxmu libtheora pango-1.42)))
- (arguments
- (substitute-keyword-arguments (package-arguments celestia)
- ((#:configure-flags flags '())
- #~(append #$flags
- (list "--enable-cairo"
- "--enable-theora"
- "--without-glut"
- "--with-gtk")))))
- (synopsis "Real-time 3D visualization of space (using GTK+)")))
+ (deprecated-package "celestia-gtk" celestia))
(define-public cfitsio
(package
@@ -631,7 +664,8 @@ accurately in real time at any rate desired.")
(arguments
(list
#:configure-flags
- #~(list (string-append "--with-bzip2=" #$(this-package-input "bzip2")))
+ #~(list "--enable-reentrant"
+ (string-append "--with-bzip2=" #$(this-package-input "bzip2")))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'patch-paths
@@ -743,6 +777,54 @@ learning framework primarily developed and used for astronomical data
analysis.")
(license license:asl2.0)))
+(define-public cpl
+ (package
+ (name "cpl")
+ (version "7.3.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://ftp.eso.org/pub/dfs/pipelines/libraries/cpl/cpl-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "083ppsa6ifc52m0s4ww4l9cajnh2f0y3s5bxaq31drihhrd2c355"))))
+ (build-system gnu-build-system)
+ (arguments
+ ;; pycpl expects to find a lib/esopipes-plugins directory. This is
+ ;; overruled by the PYESOREX_PLUGIN_DIR search path, but the default
+ ;; directory is still consulted and therefor needs to exist.
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'install 'create-plugins-directory
+ (lambda _
+ (mkdir-p (string-append #$output "/lib/esopipes-plugins")))))))
+ (native-inputs
+ (list automake
+ autoconf
+ libtool
+ pkg-config
+ perl))
+ (inputs
+ (list cfitsio
+ wcslib
+ fftw
+ fftwf))
+ (home-page "https://www.eso.org/sci/software/cpl/")
+ (synopsis "Common Pipeline Library for astronomical data reduction")
+ (description
+ "The @acronym{CPL, Common Pipeline Library} comprises a set of ISO-C
+libraries that provide a comprehensive, efficient and robust software toolkit
+to develop astronomical data-reduction tasks (known as recipes). These
+data-reduction tasks can then be executed manually by a user, or can be
+triggered in an automated data-reduction framework (known as pipelines) which
+are used at @acronym{ESO, European Southern Observatory} to monitor the health
+status of @acronym{VLT, Very Large Telescope} instruments, for quick-look data
+processing at the observatory, and the creation of data products available
+from the ESO archive facility.")
+ (license license:gpl2+)))
+
(define-public erfa
(package
(name "erfa")
@@ -768,6 +850,45 @@ Standards of Fundamental Astronomy} library published by the @acronym{IAU,
International Astronomical Union}.")
(license license:bsd-3)))
+(define-public esorex
+ (package
+ (name "esorex")
+ (version "3.13.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://ftp.eso.org/pub/dfs/pipelines/libraries/esorex/esorex-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1mkxjm2rnmviqfblnr4wwb3simvs7f5dly66qylvdfynvg3gk2d9"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ (list automake
+ autoconf
+ libtool
+ pkg-config
+ perl))
+ (inputs
+ (list cfitsio
+ wcslib
+ cpl))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "ESOREX_PLUGIN_DIR")
+ (files '("lib/esopipes-plugins")))))
+ (home-page "https://www.eso.org/sci/software/cpl/esorex.html")
+ (synopsis "The European Southern Observatory Recipe Execution Tool")
+ (description
+ "EsoRex is the @acronym{European Southern Observatory,ESO} Recipe
+Execution Tool. It can list, configure and execute @acronym{Common Pipeline
+Library,CPL}-based recipes from the command line.")
+ ;; Set a rerlease-monitoring-url because the ftp directory includes
+ ;; prereleases that should not be refreshed to.
+ (properties `((release-monitoring-url
+ . "https://www.eso.org/sci/software/cpl/download.html")))
+ (license license:gpl2+)))
+
(define-public eye
(package
(name "eye")
@@ -798,6 +919,135 @@ applications of EyE include adaptive filtering, feature detection and cosmetic
corrections.")
(license license:cecill)))
+(define-public fitsverify
+ (package
+ (name "fitsverify")
+ (version "4.22")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append "https://heasarc.gsfc.nasa.gov/docs/software/ftools/"
+ name "/" name "-" version ".tar.gz"))
+ (sha256
+ (base32 "1d0qvgmrpv09qm4vi4n26frx4qb3mrdn261rs6vvrvg0lw1yhibc"))))
+ (build-system gnu-build-system)
+ (arguments
+ (list
+ #:tests? #f ;no tests
+ #:phases
+ #~(modify-phases %standard-phases
+ (delete 'configure) ; no configure
+ (replace 'build
+ (lambda* _
+ ;; Build steps are taken from Debian's package definition.
+ (invoke #$(cc-for-target) "-o" #$name
+ "ftverify.c"
+ "fvrf_data.c"
+ "fvrf_file.c"
+ "fvrf_head.c"
+ "fvrf_key.c"
+ "fvrf_misc.c"
+ "-DSTANDALONE"
+ "-lcfitsio"
+ "-lm")))
+ (replace 'install
+ (lambda _
+ (install-file #$name (string-append #$output "/bin")))))))
+ (inputs
+ (list cfitsio))
+ (home-page "https://heasarc.gsfc.nasa.gov/docs/software/ftools/fitsverify/index.html")
+ (synopsis "FITS File Format-Verification Tool")
+ (description
+ "Fitsverify is a computer program that rigorously checks whether a
+@acronym{FITS, Flexible Image Transport System} data file conforms to the
+requirements defined in Version 3.0 of the
+@url{http://fits.gsfc.nasa.gov/fits_documentation.html, FITS Standard
+document}.")
+ (properties
+ '((release-monitoring-url .
+ "https://heasarc.gsfc.nasa.gov/docs/software/ftools/fitsverify/")))
+ ;; The license is the same as for CFITSIO, see
+ ;; URL: <https://salsa.debian.org/debian-astro-team/fitsverify>
+ ;; File: <debian/copyright>
+ (license (license:non-copyleft "file://License.txt"
+ "See License.txt in the distribution."))))
+
+(define-public ginga
+ (package
+ (name "ginga")
+ (version "5.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "ginga" version))
+ (sha256
+ (base32 "0wv8fb8p8icsvkh2rn8jcxxx33kgac36gm9xqbgpm2z7z6m4haa7"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; AssertionError: Not equal to tolerance rtol=1e-07, atol=0.0001
+ #:test-flags #~(list "-k" "not test_fwhm")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'set-home
+ (lambda _
+ ;; Relax matplotlib warning: ... because the default path
+ ;; (/homeless-shelter/.config/matplotlib) is not a writable
+ ;; directory ...
+ (setenv "HOME" "/tmp"))))))
+ (native-inputs
+ (list python-attrs
+ python-pytest-doctestplus
+ python-pytest-astropy
+ python-pytest-astropy-header
+ python-setuptools))
+ (inputs
+ (list python-astropy
+ python-numpy
+ python-packaging
+ python-pillow
+ python-puremagic
+ python-pyyaml
+ python-qtpy
+ ;; [recomended]
+ opencv
+ python-astroquery
+ python-dateutil
+ python-exif-read
+ python-matplotlib
+ python-photutils
+ python-pillow-heif
+ python-scipy
+ ;; [qt6]
+ python-pyqt-6
+ ;; [pyside6]
+ python-pyside-6
+ ;; [tk,web]
+ python-pycairo
+ python-tornado))
+ (home-page "https://ejeschke.github.io/ginga/")
+ (synopsis "Scientific image viewer and toolkit for FITS files")
+ (description
+ "Ginga is a toolkit designed for building viewers for scientific image
+data in Python, visualizing 2D pixel data in numpy arrays. It can view
+astronomical data such as contained in files based on the FITS (Flexible Image
+Transport System) file format. It is written and is maintained by software
+engineers at the National Astronomical Observatory of Japan (NAOJ), the Space
+Telescope Science Institute (STScI), and other contributing entities.
+
+The Ginga toolkit centers around an image display object which supports
+zooming and panning, color and intensity mapping, a choice of several
+automatic cut levels algorithms and canvases for plotting scalable geometric
+forms. In addition to this widget, a general purpose \"reference\" FITS
+viewer is provided, based on a plugin framework. A fairly complete set of
+standard plugins are provided for features that we expect from a modern FITS
+viewer: panning and zooming windows, star catalog access, cuts, star
+pick/FWHM, thumbnails, etc.")
+(license license:bsd-3)))
+
+(define-public ginga-qt5
+ (deprecated-package "ginga-qt5" ginga))
+
(define-public glnemo2
(package
(name "glnemo2")
@@ -1074,7 +1324,7 @@ dynamic library for the C language implementation of HEALPix.")
freeimage
glew
lua
- wxwidgets-3.0))
+ wxwidgets))
(home-page "https://github.com/GreatAttractor/imppg")
(synopsis "Astronomical Image Post-Proccessor (ImPPG)")
(description
@@ -1093,7 +1343,7 @@ floating-point (no compression, LZW- or ZIP-compressed), FITS 8-bit, 16-bit,
(define-public indi
(package
(name "indi")
- (version "2.1.4")
+ (version "2.1.5.1")
(source
(origin
(method git-fetch)
@@ -1102,7 +1352,7 @@ floating-point (no compression, LZW- or ZIP-compressed), FITS 8-bit, 16-bit,
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "18rrp8mp0j126c1v3rpksyjkacq86520qmq4r5bkl78yf9dfxq3i"))))
+ (base32 "1wak0wnd05grc357wa4snyx3f7nc8ymbpfndialhywfi6a43gdlr"))))
(build-system cmake-build-system)
(arguments
(list
@@ -1492,6 +1742,25 @@ PixInsight}. It implements
1.0 specification}.")
(license license:gpl3+)))
+(define-public libxisf-for-tenmon
+ ;; This is an exact commit required for tenmon git submodule.
+ (let ((commit "556bb22d2675ee6072c6224fef3da0fb5d93db41")
+ (revision "0"))
+ (hidden-package
+ (package
+ (inherit libxisf)
+ (name "libxisf")
+ (version (git-version "0.2.13" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitea.nouspiro.space/nou/libXISF")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "037dijy0ql1mwm8nddwawlf3ms6w30kxdlkrjjprfsss80ssn30k"))))))))
+
(define-public missfits
(package
(name "missfits")
@@ -1532,8 +1801,8 @@ R. Seaman's protocol}
(define-public phd2
;; The tag 2.6.13 was placed in 2023, but there are a lot of changes, fixes
;; and compatability with indi@2, use the latest commit from master branch.
- (let ((commit "cc00236e79810da48e691e6a4785eb7e10b794ac")
- (revision "0"))
+ (let ((commit "4353f6b2a1438caea44a9c2fb4d639a96478e697")
+ (revision "1"))
(package
(name "phd2")
(version (git-version "2.6.13" revision commit))
@@ -1545,7 +1814,7 @@ R. Seaman's protocol}
(commit commit)))
(file-name (git-file-name name version))
(sha256
- (base32 "1b6fzniy5w9bx4627761nd4laargy728zvhw4k69dinwdwdi8jjw"))
+ (base32 "1bb8bmclgkpcqdx5jqag1raa4jviczkwyckbhph3xlg7zjbckik2"))
(modules '((guix build utils)
(ice-9 ftw)
(srfi srfi-26)))
@@ -1553,18 +1822,11 @@ R. Seaman's protocol}
#~(begin
;; XXX: 'delete-all-but' is copied from the turbovnc package.
(define (delete-all-but directory . preserve)
- (define (directory? x)
- (and=> (stat x #f)
- (compose (cut eq? 'directory <>) stat:type)))
(with-directory-excursion directory
- (let* ((pred
- (negate (cut member <> (append '("." "..") preserve))))
+ (let* ((pred (negate (cut member <>
+ (cons* "." ".." preserve))))
(items (scandir "." pred)))
- (for-each (lambda (item)
- (if (directory? item)
- (delete-file-recursively item)
- (delete-file item)))
- items))))
+ (for-each (cut delete-file-recursively <>) items))))
(delete-all-but "thirdparty" "thirdparty.cmake")))))
(build-system cmake-build-system)
(arguments
@@ -1707,13 +1969,13 @@ model-fitting photometry or morphological analyses.")
(define-public python-aiapy
(package
(name "python-aiapy")
- (version "0.10.1")
+ (version "0.10.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "aiapy" version))
(sha256
- (base32 "009zj20jcqlw2i8llx0pnxyz8416h4ng9avpqjrqszlhcq9xavrn"))))
+ (base32 "0lr8v2bakqxqn516fr45905lcql72kac3q6rdzn24rn95f812n27"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -1721,20 +1983,22 @@ model-fitting photometry or morphological analyses.")
#~(list "--numprocesses" (number->string (min 8 (parallel-job-count))))
#:phases
#~(modify-phases %standard-phases
+ ;; It fails to check SunPy's optional inputs versions.
+ (delete 'sanity-check)
(add-before 'check 'set-home
(lambda _
;; E PermissionError: [Errno 13] Permission denied:
;; '/homeless-shelter'
(setenv "HOME" "/tmp"))))))
(native-inputs
- (list python-pytest
+ (list nss-certs-for-test
+ python-pytest
python-pytest-astropy
python-pytest-cov
python-pytest-doctestplus
python-pytest-xdist
python-setuptools
- python-setuptools-scm-next
- python-wheel))
+ python-setuptools-scm))
(propagated-inputs
(list python-sunpy))
(home-page "https://aia.lmsal.com/")
@@ -1812,13 +2076,13 @@ Main features:
(define-public python-asdf
(package
(name "python-asdf")
- (version "4.3.0")
+ (version "5.0.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "asdf" version))
(sha256
- (base32 "0z88vzk3z9cdfafv8rbw4l6kz6panxamd21zafs6hj0w3zxpa7cn"))))
+ (base32 "1405fmv0f8dxr949njfw368bkm7w8cnqr5w6nqlxr68vvc1pghx7"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -1827,24 +2091,23 @@ Main features:
(native-inputs
(list python-psutil
python-pytest
- python-pytest-doctestplus
python-pytest-remotedata
python-pytest-xdist
- python-setuptools-next
- python-setuptools-scm-next
- python-wheel))
+ python-setuptools
+ python-setuptools-scm))
(propagated-inputs
(list python-asdf-standard
python-asdf-transform-schemas
python-attrs ;; for vendorized jsonschema
- python-fsspec
python-importlib-metadata
python-jmespath
- python-lz4
python-numpy
python-packaging
python-pyyaml
- python-semantic-version))
+ python-semantic-version
+ ;; [optional]
+ python-fsspec
+ python-lz4))
(home-page "https://github.com/asdf-format/asdf")
(synopsis "Python tools to handle ASDF files")
(description
@@ -1864,6 +2127,17 @@ implementation of the ASDF Standard.")
(sha256
(base32 "0scnw5y4x5k3vyfylq0w612b662xlccx3gsscaw082zlv2yxfyh4"))))))
+(define-public python-asdf-4
+ (package
+ (inherit python-asdf)
+ (version "4.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "asdf" version))
+ (sha256
+ (base32 "1h9dvnxdcd7cmjddpfnjsn6a1acav8gm5307gf7kpifacf99fdqz"))))))
+
(define-public python-asdf-astropy
(package
(name "python-asdf-astropy")
@@ -1877,26 +2151,39 @@ implementation of the ASDF Standard.")
(build-system pyproject-build-system)
(arguments
(list
+ ;; tests: 4419 passed, 1 skipped
#:test-flags
- #~(list "--numprocesses" (number->string (parallel-job-count)))
+ #~(list "--numprocesses" (number->string (parallel-job-count))
+ "-k" (string-join
+ ;; AttributeError: 'AsdfFile' object has no attribute
+ ;; '_open_impl'
+ (list "not test_legacy_icrs_deseialize"
+ "test_read_examples[example0]"
+ "test_read_examples[example1]"
+ "test_read_examples[example2]"
+ "test_read_examples[example3]"
+ "test_read_examples[example4]"
+ "test_read_examples[example5]"
+ "test_read_examples[example6]")
+ " and not "))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'set-home-env
(lambda _ (setenv "HOME" "/tmp"))))))
(native-inputs
(list python-pytest
+ python-pytest-asdf-plugin
python-pytest-astropy
python-pytest-xdist
python-scipy
- python-setuptools-next
- python-setuptools-scm
- python-wheel))
+ python-setuptools
+ python-setuptools-scm))
(propagated-inputs
(list python-asdf
python-asdf-coordinates-schemas
python-asdf-standard
python-asdf-transform-schemas
- python-astropy
+ python-astropy-minimal
python-numpy
python-packaging))
(home-page "https://github.com/astropy/asdf-astropy")
@@ -1914,8 +2201,8 @@ Astropy objects.")
#:phases #~(modify-phases %standard-phases
(delete 'sanity-check))))
(native-inputs
- (list python-setuptools-next
- python-wheel))
+ (list python-setuptools
+ python-setuptools-scm))
(propagated-inputs
(list python-importlib-metadata
python-numpy
@@ -1949,7 +2236,7 @@ Astropy objects.")
(native-inputs
(list python-numpy
python-pytest
- python-setuptools-next
+ python-setuptools
python-setuptools-scm
python-wheel))
(propagated-inputs
@@ -1967,6 +2254,111 @@ support for reading and writing various compression algorithms including:
@url{http://facebook.github.io/zstd/,Zstandard}.")
(license license:bsd-3))))
+(define-public python-asdf-coordinates-schemas
+ (hidden-package
+ (package
+ (name "python-asdf-coordinates-schemas")
+ (version "0.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "asdf_coordinates_schemas" version))
+ (sha256
+ (base32 "1i5w1v74b84ygbd9pw9cs35bjaqs35f5iavazhjpbycqr1pf8rvh"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--numprocesses" (number->string (parallel-job-count)))))
+ (native-inputs
+ (list python-pytest
+ python-pytest-xdist
+ python-setuptools
+ python-setuptools-scm
+ python-wheel))
+ (propagated-inputs
+ (list python-asdf))
+ (home-page "https://github.com/asdf-format/asdf-coordinates-schemas")
+ (synopsis "ASDF coordinates schemas")
+ (description
+ "This package provides ASDF schemas for validating coordinates tags.
+Users should not need to install this directly; instead, install an
+implementation package such as asdf-astropy.")
+ (license license:bsd-3))))
+
+(define-public python-asdf-fits-schemas
+ (hidden-package
+ ;; This package was never released and has been archived. The schemas in
+ ;; this package were never removed from and will continue to be maintained
+ ;; in <https://github.com/asdf-format/asdf-standard>.
+ (let ((commit "6321c0ae4e44c9a59ccf81a446f9d9e22fd42b55")
+ (revision "2"))
+ (package
+ (name "python-asdf-fits-schemas")
+ (version (git-version "0.0.1" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/asdf-format/asdf-fits-schemas")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0p0m1sgnv9yqk0l0w15skvfshl47x0gc7lg6p2x83158hjyix5q6"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:tests? #f ; cycle with python-asdf
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" "0.0.1"))))))
+ (native-inputs
+ (list python-setuptools
+ python-setuptools-scm
+ python-wheel))
+ (propagated-inputs
+ (list python-asdf-standard
+ python-importlib-resources))
+ (home-page "https://github.com/asdf-format/asdf-fits-schemas")
+ (synopsis "ASDF schemas to support the FITS format")
+ (description
+ "This package provides ASDF schemas for validating FITS tags.")
+ (license license:bsd-3)))))
+
+(define-public python-asdf-standard
+ (package
+ (name "python-asdf-standard")
+ (version "1.4.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "asdf_standard" version))
+ (sha256
+ (base32 "1p7x5j8ym70c2cmgnv0113i4q465jbrqg8311mwbfz5q1lfi4pqc"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-asdf-bootstrap
+ python-asdf-transform-schemas-bootstrap
+ python-packaging
+ python-pytest
+ python-pytest-asdf-plugin
+ python-pyyaml
+ python-setuptools
+ python-setuptools-scm))
+ (home-page "https://asdf-standard.readthedocs.io/")
+ (synopsis "ASDF standard schemas")
+ (description
+ "This package provides Python implementation of @acronym{ASDF, Advanced
+Scientific Data Format} - a proposed next generation interchange format for
+scientific data. ASDF aims to exist in the same middle ground that made FITS
+so successful, by being a hybrid text and binary format: containing human
+editable metadata for interchange, and raw binary data that is fast to load
+and use. Unlike FITS, the metadata is highly structured and is designed
+up-front for extensibility.")
+ (license license:bsd-3)))
+
(define-public python-asdf-transform-schemas
(hidden-package
(package
@@ -1986,7 +2378,7 @@ support for reading and writing various compression algorithms including:
(native-inputs
(list python-asdf-bootstrap
python-pytest
- python-setuptools-next
+ python-setuptools
python-setuptools-scm
python-wheel))
(propagated-inputs
@@ -2007,10 +2399,44 @@ implementation package such as asdf-astropy.")
#:phases #~(modify-phases %standard-phases
(delete 'sanity-check))))
(native-inputs
- (list python-setuptools-next
+ (list python-setuptools
python-wheel))
(propagated-inputs '()))))
+(define-public python-asdf-wcs-schemas
+ (hidden-package
+ (package
+ (name "python-asdf-wcs-schemas")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "asdf_wcs_schemas" version))
+ (sha256
+ (base32 "1dar2pzf2plwyl1rbmnv8fqvx1ljgpf3z39d4ybmn690djjdsyxg"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags #~(list "tests")))
+ (native-inputs
+ (list python-asdf
+ python-pytest
+ python-pytest-openfiles
+ python-setuptools
+ python-setuptools-scm
+ python-wheel))
+ (propagated-inputs
+ (list python-asdf-coordinates-schemas
+ python-asdf-standard
+ python-asdf-transform-schemas))
+ (home-page "https://github.com/asdf-format/asdf-wcs-schemas")
+ (synopsis "ASDF WCS Schemas")
+ (description
+ "This package provides ASDF schemas for validating World Coordinate
+System (WCS) tags. Users should not need to install this directly; instead,
+install an implementation package such as gwcs.")
+ (license license:bsd-3))))
+
(define-public python-asdf-zarr
(package
(name "python-asdf-zarr")
@@ -2139,13 +2565,13 @@ astronomical images, especially when there is no WCS information available.")
(define-public python-astrocut
(package
(name "python-astrocut")
- (version "1.0.1")
+ (version "1.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "astrocut" version))
(sha256
- (base32 "14m713y90zj3v5hhlmq79cslqlr8dz8y3zyk454qda01fkcj6za7"))))
+ (base32 "1i8cpghk31cds9ipgap2ffws7jqy0smgk6w6kihxwpcw34jkr8h4"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -2170,7 +2596,12 @@ astronomical images, especially when there is no WCS information available.")
"test_tess_footprint_cutout_write_as_tpf"
;; Some NumPy compatability errors during tests.
"test_get_cutout_limits"
- "test_get_cutout_wcs")
+ "test_get_cutout_wcs"
+ ;; botocore.exceptions.EndpointConnectionError:
+ ;; Could not connect to the endpoint URL:
+ ;; "https://stpubdata.s3.amazonaws.com/tess/public/\
+ ;; footprints/tess_ffi_footprint_cache.json"
+ "test_tess_footprint_cutout")
" and not "))
#:phases
#~(modify-phases %standard-phases
@@ -2196,7 +2627,7 @@ astronomical images, especially when there is no WCS information available.")
python-fsspec
python-gwcs
python-pillow
- python-requests-next
+ python-requests
python-roman-datamodels
python-s3fs
python-s3path
@@ -2398,13 +2829,13 @@ constraints (i.e., altitude, airmass, moon separation/illumination, etc.)
(define-public python-astropy
(package
(name "python-astropy")
- (version "7.0.1")
+ (version "7.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "astropy" version))
(sha256
- (base32 "0q74735xzrvxxpjv3sa8w68sfnziw1jilr70qba7qhxj8fsfwbrr"))
+ (base32 "1iakikzhw173djb2p24229ndpvzpbcanyg9h4k7viccm48r59wn8"))
(modules '((guix build utils)))
(snippet
'(begin
@@ -2420,12 +2851,17 @@ constraints (i.e., altitude, airmass, moon separation/illumination, etc.)
(build-system pyproject-build-system)
(arguments
(list
+ ;; tests: 29347 passed, 373 skipped, 233 xfailed, 32 warnings
#:test-flags
#~(list "--pyargs" "astropy"
;; XXX: Tests are not thread save when they are more than 8.
"--numprocesses" (number->string (min 8 (parallel-job-count)))
- ;; Fails with assert 13 == 1.
- "-k" "not test_skip_meta")
+ "-k" (string-append
+ ;; Fails with assert 13 == 1.
+ "not test_skip_meta"
+ ;; Failed: DID NOT WARN. No warnings of type (<class
+ ;; 'ResourceWarning'>,) were emitted.
+ " and not test_ephemeris_local_file_not_ephemeris"))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'preparations
@@ -2459,37 +2895,56 @@ constraints (i.e., altitude, airmass, moon separation/illumination, etc.)
pkg-config
python-cython-3
python-extension-helpers
- python-ipython
python-objgraph
- python-pandas
python-pytest
python-pytest-astropy
python-pytest-astropy-header
- python-pytest-mpl
+ python-pytest-doctestplus
python-pytest-xdist
- python-scikit-image
- python-setuptools
python-setuptools-scm
python-sgp4
python-skyfield
- python-threadpoolctl
- python-timezonefinder
- python-wheel))
+ python-threadpoolctl))
(inputs
- (list expat wcslib))
+ (list expat
+ wcslib))
(propagated-inputs
(list python-astropy-iers-data
- python-configobj
- python-h5py
- python-jplephem
- python-matplotlib
+ python-configobj ;to replace custom module
python-numpy
python-packaging
- python-ply
- python-pyarrow
+ python-ply ;to replace custom module
python-pyerfa
python-pyyaml
- python-scipy))
+ ;; [recommended]
+ python-matplotlib
+ python-scipy
+ ;; [jupyter]
+ ;; python-ipydatagrid ;no packaged
+ python-ipykernel
+ python-ipython
+ python-ipywidgets
+ python-jupyter-core
+ python-pandas
+ ;; [optional]
+ python-asdf
+ python-asdf-astropy
+ python-beautifulsoup4
+ python-bleach
+ python-bottleneck
+ python-certifi
+ python-dask
+ python-fsspec
+ python-h5py
+ python-html5lib
+ python-jplephem
+ python-mpmath
+ python-pandas
+ python-pyarrow
+ python-pytz
+ python-s3fs
+ python-sortedcontainers
+ python-uncompresspy))
(home-page "https://www.astropy.org/")
(synopsis "Core package for Astronomy in Python")
(description
@@ -2515,7 +2970,10 @@ astronomy and astrophysics.")
(with-directory-excursion "astropy/extern"
(for-each delete-file-recursively '("ply" "configobj")))
(with-directory-excursion "cextern"
- (for-each delete-file-recursively '("expat" "wcslib")))))))))
+ (for-each delete-file-recursively '("expat" "wcslib")))))))
+ (propagated-inputs
+ (modify-inputs (package-propagated-inputs python-astropy)
+ (replace "python-jplephem" python-jplephem-2.22)))))
(define-public python-astropy-healpix
(package
@@ -2532,11 +2990,6 @@ astronomy and astrophysics.")
(list
#:phases
#~(modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "setup.cfg"
- ;; numpy>=1.25
- ((">=1.25") ">=1.24"))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
@@ -2559,13 +3012,13 @@ astronomy and astrophysics.")
(define-public python-astropy-iers-data
(package
(name "python-astropy-iers-data")
- (version "0.2025.7.21.0.41.39")
+ (version "0.2025.9.15.0.37.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "astropy_iers_data" version))
(sha256
- (base32 "14qa0h3jx5iawmb0cpwak1wna0jhjsi18zm4wmdicyb9kly7b0p4"))))
+ (base32 "1n4i60fni2l6bph2kj2smy9rzcjhl3s79ihw9v1sgdf1zpf17r9k"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ; no tests
@@ -2600,24 +3053,26 @@ celestial-to-terrestrial coordinate transformations.")
pkg-config
python-cython-3
python-extension-helpers
- python-setuptools
- python-setuptools-scm
- python-wheel))
+ python-setuptools-scm))
(propagated-inputs
- (modify-inputs (package-propagated-inputs python-astropy)
- (delete python-matplotlib
- python-scipy)))))
+ (list python-astropy-iers-data
+ python-configobj ;to replace custom module
+ python-numpy
+ python-packaging
+ python-ply ;to replace custom module
+ python-pyerfa
+ python-pyyaml))))
(define-public python-astroquery
(package
(name "python-astroquery")
- (version "0.4.10")
+ (version "0.4.11")
(source
(origin
(method url-fetch)
(uri (pypi-uri "astroquery" version))
(sha256
- (base32 "01m4sp35vgyc816gyvvajah3pa6sa0w15hzv80bn93ipvblr3kga"))))
+ (base32 "0crb0h39bs389y8x3vbl6kczbqwklnn9pkfmfgkhgyn7vndm4dsm"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -2655,8 +3110,7 @@ celestial-to-terrestrial coordinate transformations.")
python-pytest-astropy
python-pytest-dependency
python-pytest-doctestplus
- python-setuptools
- python-wheel))
+ python-setuptools))
(propagated-inputs
(list python-astropy
python-astropy-healpix
@@ -2753,44 +3207,32 @@ aim of simplifying and streamlining data conversion and standardization.")
(define-public python-bayesicfitting
(package
(name "python-bayesicfitting")
- (version "3.2.3")
+ (version "3.2.4")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/dokester/BayesicFitting")
- (commit (string-append "v" version))))
+ (url "https://github.com/dokester/BayesicFitting")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0q7s7glf4b46vln67x7ggbpkbi4anyh3f3ldwafc2hggsrmx683q"))))
+ (base32 "1fdxrmcbjfpvz1czmvq4kz2scdiw77kyzsgv6c0isijk1hckgcik"))))
(build-system pyproject-build-system)
(arguments
(list
+ ;; XXX: To run full tests suite is quite expansive, select the one which
+ ;; is mentioned in <BayesicFitting/test/testall.csh>.
#:test-flags #~(list "-m" "unittest"
"discover"
- "-p" "Test*.py"
+ "-p" "TestUserModel.py"
"--top-level-directory" ".")
#:phases
#~(modify-phases %standard-phases
- ;; XXX: Some tests fail for some reason. Disable those tests for now.
- (add-before 'check 'disable-failing-tests
- (lambda _
- (substitute* "BayesicFitting/test/TestNestedSampler.py"
- ;; Fails with "AssertionError: False is not true".
- (("def test3")
- "def _test3")
- ;; Fails with "Thread Error" exception.
- (("def test1")
- "def _test1"))
- (substitute* "BayesicFitting/test/TestPhantomSampler.py"
- ;; Fails with "Thread Error" exception.
- (("def test1")
- "def _test1"))))
(replace 'check
(lambda* (#:key tests? test-flags #:allow-other-keys)
(when tests?
- (chdir "BayesicFitting/test")
- (apply invoke "python" test-flags)))))))
+ (with-directory-excursion "BayesicFitting/test"
+ (apply invoke "python" test-flags))))))))
(native-inputs
(list python-setuptools
python-wheel))
@@ -2800,7 +3242,7 @@ aim of simplifying and streamlining data conversion and standardization.")
python-matplotlib
python-numpy
python-scipy))
- (home-page "https://www.bayesicfitting.nl")
+ (home-page "https://dokester.github.io/BayesicFitting/")
(synopsis "Python Toolbox for Astronimical Bayesian fitting")
(description
"The BayesicFitting package is a python version of the the fitter classes
@@ -2826,7 +3268,7 @@ Herschel.")
python-pytest
python-pytest-cov
python-setuptools
- python-setuptools-scm-next
+ python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-astropy
@@ -2843,13 +3285,13 @@ Origins Spectrograph}.")
(define-public python-camb
(package
(name "python-camb")
- (version "1.6.2")
+ (version "1.6.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "camb" version))
(sha256
- (base32 "1h9zdfsk14vx8hwpsvgs351cid1waggd47hj0yhy69djz935rgq5"))))
+ (base32 "1l9c8s263i3zgs50sn000yw0vyhrk56rvfcv18pwxs1zbq8bw0si"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -2864,8 +3306,7 @@ Origins Spectrograph}.")
(native-inputs
(list gfortran
python-packaging
- python-setuptools-next
- python-wheel
+ python-setuptools
which)) ; for fortran/Makefile
(propagated-inputs
(list python-numpy
@@ -2985,7 +3426,7 @@ bad pixel tracking throughout the reduction process.")
(define-public python-cdflib
(package
(name "python-cdflib")
- (version "1.3.4")
+ (version "1.3.6")
(source
(origin
(method git-fetch) ; no tests in PyPI release
@@ -2994,7 +3435,7 @@ bad pixel tracking throughout the reduction process.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1j0q0mgs6y5zyf3sjz49msp471kwl1la4rabga5pbyzfwfmxlihj"))))
+ (base32 "1rlzmwnlz77n8c62h050jc2njy10bfby671p3w7y6r6y6642xrdi"))))
(build-system pyproject-build-system)
(arguments
(list #:phases
@@ -3012,14 +3453,15 @@ bad pixel tracking throughout the reduction process.")
python-pytest-remotedata
python-setuptools
python-setuptools-scm
- python-wheel
python-xarray))
(propagated-inputs
(list python-numpy))
(home-page "https://github.com/MAVENSDC/cdflib")
(synopsis "Python library to deal with NASA's CDF astronmical data format")
- (description "This package provides a Python @acronym{CDF, Computable
-Document Format} reader toolkit.
+ (description
+ "This package provides a Python @acronym{CDF, Computable Document Format}
+reader toolkit.
+
It provides the following functionality:
@itemize
@item Ability to read variables and attributes from CDF files
@@ -3095,8 +3537,8 @@ attempting to maintain ISTP compliance
(native-inputs
(list python-pytest-astropy-header
python-pytest
- python-setuptools-next
- python-setuptools-scm-next
+ python-setuptools
+ python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-colorama
@@ -3183,8 +3625,7 @@ monochromatic sequential colormaps like @code{blue}, @code{green}, and
(list python-flaky
python-pytest
python-pytest-xdist
- python-setuptools
- python-wheel))
+ python-setuptools))
(propagated-inputs
(list python-dill
python-fuzzywuzzy
@@ -3195,6 +3636,7 @@ monochromatic sequential colormaps like @code{blue}, @code{green}, and
python-portalocker
python-py-bobyqa
python-pyyaml
+ python-requests
python-scipy
python-tqdm
python-typing-extensions))
@@ -3298,6 +3740,42 @@ JSON template file alongside Python routines for visualizing and comparing
lens models possibly obtained from different modeling codes.")
(license license:gpl3)))
+(define-public python-corsikaio
+ (package
+ (name "python-corsikaio")
+ (version "0.5.0")
+ (source
+ (origin
+ (method git-fetch) ; no tests in the PyPI tarball
+ (uri (git-reference
+ (url "https://github.com/cta-observatory/pycorsikaio")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1afv7jra31fi2g85z8jzmjr6w1wk9xs4v2cg06df2zffqfgfjnjj"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-env-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version))))))
+ (native-inputs
+ (list python-pytest
+ python-scipy
+ python-setuptools
+ python-setuptools-scm))
+ (propagated-inputs
+ (list python-numpy))
+ (home-page "https://github.com/cta-observatory/pycorsikaio")
+ (synopsis "Reader for CORSIKA binary output files")
+ (description
+ "This package implements a reader for
+@url{https://www.iap.kit.edu/corsika/, @acronym{CORSIKA, COsmic Ray
+SImulations for KAscade}} binary output files using NumPy.")
+ (license license:expat)))
+
(define-public python-cosmopy
(package
(name "python-cosmopy")
@@ -3358,13 +3836,13 @@ Spectrograph}.")
(define-public python-crds
(package
(name "python-crds")
- (version "12.1.11")
+ (version "13.0.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "crds" version))
(sha256
- (base32 "1h4n5wyv23pa1fld2nfqph6app8zxb8zkzv5p1w6dm11n7zbnxih"))))
+ (base32 "02901rqzvgd8ssw1rv3skinqbxp0nycwx75k7n3bn3fjyfn2g2zc"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -3403,20 +3881,19 @@ Spectrograph}.")
python-pytest
python-pytest-astropy
python-pytest-doctestplus
- python-setuptools-next
- python-setuptools-scm
- python-stsynphot
- python-wheel))
+ python-setuptools
+ python-setuptools-scm))
(propagated-inputs
- (list python-asdf
- python-astropy
- python-beautifulsoup4
- python-boto3
- python-filelock
+ (list python-astropy
python-numpy
- python-parsley
- python-pysynphot
+ python-filelock
+ python-asdf
python-requests
+ python-parsley
+ ;; [optional]
+ python-beautifulsoup4
+ ;; python-crds -> python-ci-watson -> python-jwst -> python-crds
+ ;; python-jwst
python-roman-datamodels
python-stsynphot))
(home-page "https://hst-crds.stsci.edu")
@@ -3437,7 +3914,7 @@ files and provide related services.")
(define-public python-czml3
(package
(name "python-czml3")
- (version "2.3.5")
+ (version "2.3.6")
(source
(origin
(method git-fetch)
@@ -3448,7 +3925,7 @@ files and provide related services.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1c2nw1rdllla76z8gkfv2a1dqc302cayhhkqn3xn4b0vgsn1z1k2"))))
+ (base32 "1b8zsbixa0n1zqjs497i0f3v7fr0vgj7jxqdsiqg0g5l66gq0c4f"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
@@ -3472,30 +3949,37 @@ Cesium.")
(define-public python-dkist
(package
(name "python-dkist")
- (version "1.14.0")
+ (version "1.15.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "dkist" version))
(sha256
- (base32 "061hgrg69cpnn2j6gaivjbkxwiz6rpmyf6igxq58h82g4r7yl6ya"))))
+ (base32 "0j5jxf624s746syam472k2xz3m77p66z9d7c8rz19f0xv3792xql"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))
+ ;; When python-pytest-benchmark is added: Benchmarks are
+ ;; automatically disabled because xdist plugin is
+ ;; active.Benchmarks cannot be performed reliably in a
+ ;; parallelized environment.
+ "--ignore=dkist/tests/test_benchmarks.py"
;; Network access is required.
"--deselect=dkist/net/tests/test_client.py::test_fetch_with_headers")
#:phases
#~(modify-phases %standard-phases
+ ;; XXX: It fails to check SunPy's optional inputs versions.
+ (delete 'sanity-check)
(add-before 'check 'pre-check
(lambda _
(setenv "HOME" "/tmp"))))))
(native-inputs
(list python-pydot
python-pytest
- python-pytest-benchmark
python-pytest-cov
+ python-pytest-asdf-plugin
python-pytest-doctestplus
python-pytest-filter-subpackage
python-pytest-httpserver
@@ -3506,11 +3990,15 @@ Cesium.")
python-pytest-remotedata
python-pytest-xdist
python-setuptools
- python-setuptools-scm-next
- python-wheel))
+ python-setuptools-scm))
(propagated-inputs
(list python-aiohttp
python-asdf
+ python-asdf-astropy
+ python-asdf-coordinates-schemas
+ python-asdf-standard
+ python-asdf-transform-schemas
+ python-asdf-wcs-schemas
python-astropy
python-dask
python-globus-sdk
@@ -3518,6 +4006,7 @@ Cesium.")
python-matplotlib
python-ndcube
python-numpy
+ python-packaging
python-parfive
python-platformdirs
python-sunpy
@@ -3532,7 +4021,7 @@ help you search, obtain and use DKIST data as part of your Python software.")
(define-public python-drizzle
(package
(name "python-drizzle")
- (version "2.1.0")
+ (version "2.1.1")
(source
(origin
(method git-fetch) ;no test data in PyPI archive
@@ -3541,7 +4030,7 @@ help you search, obtain and use DKIST data as part of your Python software.")
(commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "1adp5bhzgrw0csn5wvpij7hzm5wh3zr4nkvpq0a8lb93ifk6k5gh"))))
+ (base32 "0s2vydy3fp6hvlzxdhx6my4js3vc7vpvy3hpgj4kjkl0r47s9vpx"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -3558,7 +4047,7 @@ help you search, obtain and use DKIST data as part of your Python software.")
(list python-astropy-minimal
python-gwcs
python-pytest
- python-setuptools-next
+ python-setuptools
python-setuptools-scm
python-wheel))
(propagated-inputs
@@ -3602,7 +4091,7 @@ code to be greatly simplified.")
python-pytest
python-pytest-remotedata
python-setuptools
- python-setuptools-scm-next
+ python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-astrocut
@@ -3618,7 +4107,7 @@ code to be greatly simplified.")
python-photutils
python-pypdf2
python-regions
- python-requests-next
+ python-requests
python-scikit-image
python-scikit-learn
python-scipy
@@ -3656,7 +4145,7 @@ final image.")
(list python-astropy-minimal
python-pytest-astropy
python-setuptools
- python-setuptools-scm-next
+ python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-numpy
@@ -3674,19 +4163,21 @@ used with local NetDRMS sites.")
(define-public python-dust-extinction
(package
(name "python-dust-extinction")
- (version "1.5")
+ (version "1.6")
(source
(origin
(method url-fetch)
(uri (pypi-uri "dust_extinction" version))
(sha256
- (base32 "0f0g6gh4kj83xfv0cdp30dahs80pnhsj7c6ryz3f59qf6d5zqard"))))
+ (base32 "01iap2k49izn53v23kwkkpr5j5xhgk79xlwx6cb6h5ng29274nq5"))))
(build-system pyproject-build-system)
(native-inputs
- (list python-pytest-astropy
- python-wheel))
+ (list python-pytest
+ python-pytest-doctestplus
+ python-setuptools))
(propagated-inputs
- (list python-astropy python-scipy))
+ (list python-astropy
+ python-scipy))
(home-page "http://dust-extinction.readthedocs.io/")
(synopsis "Interstellar Dust Extinction Models")
(description
@@ -3694,6 +4185,49 @@ used with local NetDRMS sites.")
implemented using the astropy.modeling framework.")
(license license:bsd-3)))
+(define-public python-edps
+ (package
+ (name "python-edps")
+ (version "1.6.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://ftp.eso.org/pub/dfs/pipelines/libraries/edps/edps-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0wigb3ni663a8fp9wdsnlbg789y2898j3x523isb68mnq72fqblw"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:tests? #f)) ;no tests in tarball
+ (native-inputs
+ (list python-pytest
+ python-setuptools))
+ (propagated-inputs
+ (list python-astropy
+ python-fastapi
+ python-networkx
+ python-pyyaml
+ python-requests
+ python-uvicorn
+ python-tinydb
+ python-frozendict
+ python-jinja2
+ python-pydantic-2
+ python-psutil))
+ (home-page "https://www.eso.org/sci/software/edps.html")
+ (synopsis "ESO's Data Processing System")
+ (description
+ "@acronym{European Southern Observatory Data Processing System EDPS} is a
+system to automatically organise data from ESO instruments for pipeline
+processing and running the pipeline on these data. It is used for quality
+control at ESO. The current public release is a beta version without a GUI.
+A GUI is being developed and the system is meant to eventually replace the
+older EsoReflex environment.")
+ (properties '((upstream-name . "edps")))
+ (license license:bsd-3)))
+
(define-public python-ephem
(package
(name "python-ephem")
@@ -3705,10 +4239,23 @@ implemented using the astropy.modeling framework.")
(sha256
(base32 "0rb0vc3kgmw5rzhfhxffg94bcwasm46sf814hv7l13ry8m7xckrw"))))
(build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--deselect=ephem/tests/test_jpl.py::JPLTest::runTest")
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; XXX: See https://codeberg.org/guix/guix/issues/2108
+ (add-after 'install 'remove-installed-tests
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (delete-file-recursively ".")
+ (mkdir-p "ephem")
+ (let* ((site (site-packages inputs outputs))
+ (tests (string-append site "/ephem/tests")))
+ (copy-recursively tests "ephem/tests")
+ (delete-file-recursively tests)))))))
(native-inputs
- (list python-setuptools
- python-wheel
- tzdata))
+ (list python-pytest python-setuptools tzdata))
(home-page "https://rhodesmill.org/pyephem/")
(synopsis "Compute positions of the planets and stars")
(description
@@ -3750,10 +4297,55 @@ numerical python, statistics, and file input/output. Includes specialized
tools for astronomers.")
(license license:gpl2+)))
+(define-public python-eventio
+ (package
+ (name "python-eventio")
+ (version "1.16.1")
+ (source
+ (origin
+ (method git-fetch) ; no test data in the PyPI tarball
+ (uri (git-reference
+ (url "https://github.com/cta-observatory/pyeventio")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0jg2zgs0z5jfkdkbgxiiclxkyxrz4zhb57x1ji0c5pd2vsrn4g92"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-env-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))
+ (add-before 'build 'relax-gcc-14-strictness
+ (lambda _
+ (setenv "CFLAGS" (string-join
+ (list "-g" "-O2"
+ "-Wno-error=implicit-function-declaration"
+ "-Wno-error=int-conversion")
+ " ")))))))
+ (native-inputs
+ (list python-cython
+ python-numpy
+ python-pytest
+ python-setuptools
+ python-setuptools-scm))
+ (propagated-inputs
+ (list python-corsikaio
+ python-matplotlib
+ python-numpy
+ python-zstandard))
+ (home-page "https://github.com/cta-observatory/pyeventio")
+ (synopsis "Python read-only implementation of the EventIO file format")
+ (description
+ "Python read-only implementation of the @code{EventIO} file format.")
+ (license license:expat)))
+
(define-public python-extinction
(package
(name "python-extinction")
- (version "0.4.7")
+ (version "0.4.8")
(source
(origin
(method git-fetch) ; No tests in PyPI
@@ -3762,7 +4354,7 @@ tools for astronomers.")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "04k9mfbijf2nwzhh9sxpkswxk7077d7gbc6nq4hjb51h8rslcjg2"))))
+ (base32 "1dcb4c1rjv0msb3kagpgrj2xlb5spv8j76giy14vxkvz33lm4pz7"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -3770,8 +4362,7 @@ tools for astronomers.")
(native-inputs
(list python-cython
python-pytest
- python-setuptools
- python-wheel))
+ python-setuptools))
(propagated-inputs
(list python-numpy))
(home-page "https://github.com/sncosmo/extinction")
@@ -3815,13 +4406,13 @@ all the input image headers.")
(define-public python-fitsio
(package
(name "python-fitsio")
- (version "1.2.6")
+ (version "1.2.8")
(source
(origin
(method url-fetch)
(uri (pypi-uri "fitsio" version))
(sha256
- (base32 "1brkkfqgfwbnl1si7hppripcixmsfjs5lpbn18yrwxziafycvc1k"))
+ (base32 "1cbynx6lyf38863njqyg1gnpcdp69bxywmi0ckhzgf9wicxf31nk"))
(modules '((guix build utils)))
(snippet
;; Remove the bundled cfitsio. When update the package check the
@@ -3848,8 +4439,7 @@ all the input image headers.")
#$(this-package-input "cfitsio") "/lib")))))))
(native-inputs
(list python-pytest
- python-setuptools
- python-wheel))
+ python-setuptools))
(inputs
(list curl
cfitsio
@@ -3888,21 +4478,11 @@ CFITSIO library. Among other things, it can
(sha256
(base32 "1gw2z6x8nikvnw2gkdl70gr81cwczd1pd7v8ry2kjn6k4kssrfav"))))
(build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- ;; These tests require internet access
- #~(list "-k" "not test_download_data.py")
- #:phases
- #~(modify-phases %standard-phases
- ;; Tests need this
- (add-before 'check 'set-HOME
- (lambda _ (setenv "HOME" "/tmp"))))))
+ ;;TODO: Tests depends on Nose, report upstream.
+ (arguments (list #:tests? #f))
(native-inputs
- (list python-pytest
- python-setuptools
- python-setuptools-scm
- python-wheel))
+ (list python-setuptools
+ python-setuptools-scm))
(propagated-inputs
(list python-astroml
python-numpy
@@ -3916,79 +4496,17 @@ Python.")
(license license:bsd-2)))
(define-public python-ginga
- (package
+ (package/inherit ginga
(name "python-ginga")
- (version "5.3.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "ginga" version))
- (sha256
- (base32 "04ag7v2srpl0scd3x27bbzkpfih98rrxhqvrsxy03l84g3zzrj6k"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- ;; AssertionError: Not equal to tolerance rtol=1e-07, atol=0.0001
- #:test-flags #~(list "-k" "not test_fwhm")
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'check 'set-home
- (lambda _
- ;; Relax matplotlib warning: ... because the default path
- ;; (/homeless-shelter/.config/matplotlib) is not a writable
- ;; directory ...
- (setenv "HOME" "/tmp"))))))
- (native-inputs
- (list python-attrs
- python-docutils
- python-pytest-astropy
- python-pytest-astropy-header
- python-tornado))
+ (inputs '())
(propagated-inputs
- (list opencv
- python-astropy
- python-astroquery
- python-dateutil
- python-exif-read
- python-fitsio
- python-magic
- python-matplotlib
+ (list python-astropy
python-numpy
python-packaging
- python-photutils
python-pillow
python-puremagic
python-pyyaml
- python-qtpy
- python-scipy
- python-tomli))
- (home-page "https://ejeschke.github.io/ginga/")
- (synopsis "Scientific image viewer and toolkit for FITS files")
- (description
- "Ginga is a toolkit designed for building viewers for scientific image
-data in Python, visualizing 2D pixel data in numpy arrays. It can view
-astronomical data such as contained in files based on the FITS (Flexible Image
-Transport System) file format. It is written and is maintained by software
-engineers at the National Astronomical Observatory of Japan (NAOJ), the Space
-Telescope Science Institute (STScI), and other contributing entities.
-
-The Ginga toolkit centers around an image display object which supports
-zooming and panning, color and intensity mapping, a choice of several
-automatic cut levels algorithms and canvases for plotting scalable geometric
-forms. In addition to this widget, a general purpose \"reference\" FITS
-viewer is provided, based on a plugin framework. A fairly complete set of
-standard plugins are provided for features that we expect from a modern FITS
-viewer: panning and zooming windows, star catalog access, cuts, star
-pick/FWHM, thumbnails, etc.")
-(license license:bsd-3)))
-
-(define-public ginga-qt5
- (package/inherit python-ginga
- (name "ginga-qt5")
- (inputs
- (modify-inputs (package-inputs python-ginga)
- (prepend python-pyqt)))
- (synopsis "Qt5 image viewer build based on python-ginga library")))
+ python-qtpy))))
(define-public python-glue-astronomy
(package
@@ -4037,19 +4555,19 @@ astronomy-specific functionality")
(define-public python-glue-core
(package
(name "python-glue-core")
- (version "1.22.2")
+ (version "1.23.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "glue_core" version))
(sha256
- (base32 "0abv3snac3i78mc3ai29hbpamfqhig5ldlb9jpnn4sxpm2p7s5rc"))))
+ (base32 "0g79gw6ffz4bsby5kazv9a1mbrwa6b75kkal2bi2wjwz855nqsh6"))))
(build-system pyproject-build-system)
(native-inputs
(list python-pytest
python-pytest-mpl
- python-setuptools-scm
- python-wheel))
+ python-setuptools
+ python-setuptools-scm))
(propagated-inputs
(list python-astrodendro
python-astropy
@@ -4080,16 +4598,16 @@ across many files.")
(define-public python-glue-qt
(package
(name "python-glue-qt")
- (version "0.3.3")
+ (version "0.4.0")
(source
(origin
(method git-fetch) ; no fresh release PyPI
(uri (git-reference
- (url "https://github.com/glue-viz/glue-qt")
- (commit (string-append "v" version))))
+ (url "https://github.com/glue-viz/glue-qt")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "14qzxszpzjz57bl75ybj8jlx73cd8lsgbb8id9gx4anq9sydzgqj"))))
+ (base32 "1ay0y0g2vgy2mn1dk9yxim0449lnny9fd7lplqqwy9vxhkh4gnxp"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -4098,17 +4616,16 @@ across many files.")
(add-before 'build 'set-env-version
(lambda _
(setenv "SETUPTOOLS_SCM_PRETEND_VERSION" #$version)))
- (add-before 'check 'prepare-x
- (lambda _
- (system "Xvfb &")
- (setenv "DISPLAY" ":0")
- (setenv "HOME" "/tmp"))))))
+ (add-before 'check 'prepare-x
+ (lambda _
+ (system "Xvfb &")
+ (setenv "DISPLAY" ":0")
+ (setenv "HOME" "/tmp"))))))
(native-inputs
(list python-objgraph
python-pytest
python-setuptools
python-setuptools-scm
- python-wheel
xorg-server-for-tests))
(propagated-inputs
(list python-astropy
@@ -4140,7 +4657,10 @@ across many files.")
(build-system pyproject-build-system)
(arguments
(list
- #:test-flags #~(list "--pyargs" "glue_vispy_viewers")
+ #:test-flags
+ #~(list "--pyargs" "glue_vispy_viewers"
+ ;; XXX: Fatal Python error: Segmentation fault.
+ "-k" "not test_vispy_widget")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'prepare-x
@@ -4207,16 +4727,21 @@ specifically pulsar timing array signals.")
(define-public python-gwcs
(package
(name "python-gwcs")
- (version "0.25.1")
+ (version "0.25.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "gwcs" version))
(sha256
- (base32 "0zr2mmad7qk1almw3kc3xqdhfkxbjg7yfc5a9cif4l0m8r11gr0x"))))
+ (base32 "12hs7qa03blpxp2i97n3wckvih7zcmpm4k4ia0p3hird49qq7l44"))))
(build-system pyproject-build-system)
(arguments
(list
+ ;; tests: 1021 passed, 10 skipped, 1 deselected, 9 warnings
+ #:test-flags
+ ;; XXX: This is worth checking out more closely:
+ ;; Not equal to tolerance rtol=1e-07, atol=0.
+ #~(list "-k" "not test_fitswcs_imaging[fits_wcs_imaging_simple2]")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'relax-requirements
@@ -4228,8 +4753,8 @@ specifically pulsar timing array signals.")
(list python-pytest
python-pytest-astropy
python-pyyaml
- python-setuptools-next
- python-setuptools-scm-next
+ python-setuptools
+ python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-asdf
@@ -4426,7 +4951,7 @@ scheme and builds with the HEALPix C++ library.")
python-setuptools
python-wheel))
(propagated-inputs
- (list python-astropy
+ (list python-astropy-6
python-emcee
python-h5py
python-lenstronomy
@@ -4465,7 +4990,7 @@ parameters described on the ensemble level.")
#:test-flags
#~(list "--numprocesses" (number->string (parallel-job-count)))))
(native-inputs
- (list python-cython
+ (list python-cython-0
python-pytest
python-pytest-xdist
python-setuptools
@@ -4528,24 +5053,36 @@ observationally-derived galaxy merger catalogs.")
(define-public python-irispy-lmsal
(package
(name "python-irispy-lmsal")
- (version "0.3.0")
+ (version "0.4.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "irispy_lmsal" version))
(sha256
- (base32 "0pqwgg89qq75nz7201535ixkcjqbqbdv3qmhcig2h2ah9fpcfpyy"))))
+ (base32 "1al7nyw2d2175gbij7ab2q0ks3wsf4b7n6g89ic2mpg4v1ybyxw5"))))
(build-system pyproject-build-system)
(arguments
(list
+ ;; tests: 68 passed, 1 skipped, 9 deselected, 2 warnings
#:test-flags
+ ;; See: <https://github.com/LM-SAL/irispy-lmsal/issues/83>.
;; Expected:
;; np.float64(0.33)
;; Got:
;; 0.33
- #~(list "--deselect=irispy/obsid.py::irispy.obsid.ObsID")
+ #~(list "--deselect=irispy/obsid.py::irispy.obsid.ObsID"
+ ;; TODO: Report upstram.
+ ;; Arrays are not almost equal to 4 decimals
+ ;; Mismatched elements: 42 / 3601 (1.17%)
+ ;; Max absolute difference: 0.34272391
+ ;; Max relative difference: 0.00491848
+ ;; x: array([0., 0., 0., ..., 0., 0., 0.])
+ ;; y: array([0., 0., 0., ..., 0., 0., 0.], dtype='>f4')
+ "-k" "not test_get_latest_response_to_idl")
#:phases
#~(modify-phases %standard-phases
+ ;; XXX: It fails to check SunPy's optional inputs versions.
+ (delete 'sanity-check)
(add-before 'check 'set-home
(lambda _
;; E PermissionError: [Errno 13] Permission denied:
@@ -4553,10 +5090,10 @@ observationally-derived galaxy merger catalogs.")
(setenv "HOME" "/tmp"))))))
(native-inputs
(list ffmpeg
+ python-pooch
python-pytest-astropy
python-setuptools
- python-setuptools-scm
- python-wheel))
+ python-setuptools-scm))
(propagated-inputs
(list python-dkist
python-mpl-animators
@@ -4573,16 +5110,80 @@ observationally-derived galaxy merger catalogs.")
satellite.")
(license license:bsd-3)))
+(define-public python-jplephem
+ (package
+ (name "python-jplephem")
+ (version "2.23")
+ (source
+ (origin
+ (method git-fetch) ;no tests data in the PyPI tarball
+ (uri (git-reference
+ (url "https://github.com/brandon-rhodes/python-jplephem")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0mmd30cymb9f259c657d7jd65plirdsngnk14fbyjxd9vbryn2qa"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "ci"
+ (invoke "python" "-m" "unittest" "test"))))))))
+ (native-inputs
+ (list python-setuptools))
+ (propagated-inputs
+ (list python-numpy))
+ (home-page "https://github.com/brandon-rhodes/python-jplephem")
+ (synopsis "Python version of NASA DE4xx ephemerides")
+ (description
+ "@code{skyfield} computes positions for the stars, planets, and
+satellites in orbit around the Earth. Its results should agree with the
+positions generated by the United States Naval Observatory and their
+Astronomical Almanac to within 0.0005 arcseconds (half a @emph{mas} or
+milliarcsecond).")
+ (license license:expat)))
+
+;; The last compatible version for python-astropy-6.
+(define-public python-jplephem-2.22
+ (hidden-package
+ (package
+ (inherit python-jplephem)
+ (version "2.22")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "jplephem" version))
+ (sha256
+ (base32 "0b2rgb7pvwnl72pqjryf9c812mmdxr69fwiym7mnz05l2xrcr6hd"))))
+ (arguments
+ (list
+ ;; FIXME: OSError: [Errno 30] Read-only file system:
+ ;; '/gnu/store/4az2pl6mslrdh9wcxd5r3dmr4spr5y94-python-3.11.11/lib/python3.11/@test_43_tmpæ.pyc'
+ #:tests? #f
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ (invoke "python" "-m" "unittest" "discover" "-s" "test")))))))
+ (native-inputs
+ (list python-setuptools
+ python-wheel)))))
+
(define-public python-jwst
(package
(name "python-jwst")
- (version "1.19.1")
+ (version "1.19.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "jwst" version))
(sha256
- (base32 "1bds1a8bgyac19bwr7kf6wcknkmmchji23svhr8mpciga8gm27gv"))
+ (base32 "08c6wm7nchdq3cha9267h0i49s81yq0rz5y6nsbmganx0i9sg2aq"))
(modules '((guix build utils)))
(snippet
#~(begin
@@ -4607,8 +5208,12 @@ satellite.")
(add-before 'build 'relax-requirements
(lambda _
(substitute* "pyproject.toml"
+ ;; asdf>=4.0,<5
+ ((">=4.0,<5") ">=4.0")
;; drizzle>=2.0.1,<2.1.0
((">=2.0.1,<2.1.0") ">=2.0.1")
+ ;; stcal>=1.14.1,<1.15.0
+ ((">=1.14.1,<1.15.0") "")
;; scipy>=1.14.1
(("1.14.1") "1.12.0")
;; XXX: Can't detect opencv-python version. The input opencv
@@ -4626,13 +5231,13 @@ satellite.")
python-pytest-cov
python-pytest-doctestplus
python-requests-mock
- python-setuptools-next
+ python-setuptools
python-setuptools-scm
python-wheel))
(propagated-inputs
;; opencv provides OpenCV-Python which is Listed as install requirement.
(list opencv
- python-asdf
+ python-asdf-4
python-asdf-astropy
python-astropy
python-bayesicfitting
@@ -4833,6 +5438,7 @@ astronomical tables
(build-system pyproject-build-system)
(arguments
(list
+ ;; tests: 1338 passed, 350 warnings
#:test-flags
#~(list "--numprocesses" (number->string (parallel-job-count))
;; TypeError: SparseSolverBase.__init__() got an
@@ -4861,9 +5467,14 @@ astronomical tables
;; TypeError: SLIT_Starlets.function_2d() got an
;; unexpected keyword argument 'n_pix_x'
"test_pixelbased_modelling"
- ;; AssertionError: Arrays are not almost equal to 1
- ;; decimals ACTUAL: 0.8382375738251702
- "test_run_fit")
+ ;; XXX: These are precision errors in tests which
+ ;; need to be checked properly: AssertionError:
+ ;; Arrays are not almost equal ...
+ "test_run_fit"
+ "test_multiplane"
+ ;; ModuleNotFoundError: No module named
+ ;; 'astropy.cosmology._utils'
+ "test_short_and_laconic")
" and not "))))
(native-inputs
(list python-colossus
@@ -5146,7 +5757,7 @@ on:
python-pytest-doctestplus
python-pytest-mpl
python-setuptools
- python-setuptools-scm-next
+ python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-astropy
@@ -5206,7 +5817,7 @@ Carlo.")
(build-system pyproject-build-system)
(arguments
(list
- ;; 393 passed, 7 skipped, 31 deselected, 10 xfailed
+ ;; tests: 393 passed, 7 skipped, 10 xfailed
#:test-flags
#~(list "--numprocesses" (number->string (parallel-job-count))
"-k" (string-join
@@ -5235,7 +5846,8 @@ Carlo.")
;; Permission denied: '/homeless-shelter'
(setenv "HOME" "/tmp"))))))
(native-inputs
- (list python-dask
+ (list nss-certs-for-test
+ python-dask
python-pytest
python-pytest-astropy
python-pytest-mpl
@@ -5243,7 +5855,7 @@ Carlo.")
python-pytest-xdist
python-scipy
python-setuptools
- python-setuptools-scm-next
+ python-setuptools-scm
python-sunpy-minimal
python-wheel))
(propagated-inputs
@@ -5325,17 +5937,204 @@ profiles. In particular, PetroFit includes tools for performing accurate
photometry, segmentations, Petrosian profiling, and Sérsic fitting.")
(license license:bsd-3)))
+(define-public python-photutils
+ (package
+ (name "python-photutils")
+ (version "2.3.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "photutils" version))
+ (sha256
+ (base32 "1xyrnf0ynh8l3dad8s93dyqk3m9gvmxgvrji1nb9yillfzvjfxcl"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; tests: 1843 passed, 22 skipped
+ #:test-flags
+ #~(list "--pyargs" "photutils"
+ "--numprocesses" (number->string (min 8 (parallel-job-count))))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion "/tmp"
+ (apply invoke "pytest" "-vv" test-flags))))))))
+ (native-inputs
+ (list python-cython-3
+ python-extension-helpers
+ python-pytest-astropy
+ python-pytest-xdist
+ python-setuptools
+ python-setuptools-scm))
+ (propagated-inputs
+ (list python-astropy
+ python-bottleneck
+ python-gwcs
+ python-matplotlib
+ python-numpy
+ python-rasterio
+ python-regions
+ python-scikit-image
+ python-scipy
+ python-shapely
+ python-tqdm))
+ (home-page "https://github.com/astropy/photutils")
+ (synopsis "Source detection and photometry")
+ (description
+ "Photutils is an Astropy package for detection and photometry of
+astronomical sources.")
+ (license license:bsd-3)))
+
+(define-public python-pint-pulsar
+ (package
+ (name "python-pint-pulsar")
+ (version "1.1.4")
+ (source
+ (origin
+ (method git-fetch) ; no tests data in the PyPI tarball
+ (uri (git-reference
+ (url "https://github.com/nanograv/PINT")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0522p1gns52vzgj1l89s1s3idi40910hv4dpbhy4r1ijmwfb3kdg"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k" (string-join
+ ;; Tests failing with assertion on not correct precision
+ ;; or missing data files.
+ (list "not test_astropy_observatory"
+ "test_copy_wideband_fitter_object"
+ "test_IERS_B_builtin_agree_with_IERS_Auto_dX"
+ "test_astropy_observatory"
+ "test_time_construction_jds_exact[tdb]"
+ "test_copy_toa_object"
+ "test_copy_residuals"
+ "test_copy_fitter_object")
+ " and not ")
+ ;; XXX: The most of the tests require additional data, select
+ ;; files where they may run without it and check how to enable
+ ;; more.
+ "tests/test_Galactic.py"
+ "tests/test_all_component_and_model_builder.py"
+ "tests/test_astrometry.py"
+ "tests/test_astropy_observatory.py"
+ "tests/test_astropy_times.py"
+ "tests/test_astropy_version.py"
+ "tests/test_binary_generic.py"
+ "tests/test_binconvert.py"
+ "tests/test_compare.py"
+ "tests/test_compare_model.py"
+ "tests/test_compare_model_ecl_vs_icrs.py"
+ "tests/test_convert_parfile.py"
+ "tests/test_copy.py"
+ "tests/test_covariance_matrix.py"
+ "tests/test_datafiles.py"
+ "tests/test_derived_quantities.py"
+ "tests/test_derivedparams.py"
+ "tests/test_dmxrange_add_sub.py"
+ "tests/test_erfautils.py"
+ "tests/test_eventstats.py"
+ "tests/test_funcpar.py"
+ "tests/test_kepler.py"
+ "tests/test_leapsec.py"
+ "tests/test_model_manual.py"
+ "tests/test_numpy.py"
+ "tests/test_observatory_envar.py"
+ "tests/test_observatory_metadata.py"
+ "tests/test_parfile.py"
+ "tests/test_parunits.py"
+ "tests/test_pb.py"
+ "tests/test_phase.py"
+ "tests/test_pickle.py"
+ "tests/test_plk_widget.py"
+ "tests/test_plot_utils.py"
+ "tests/test_plrednoise.py"
+ "tests/test_pmtransform_units.py"
+ "tests/test_precision.py"
+ "tests/test_prefix_param_inheritance.py"
+ "tests/test_priors.py"
+ "tests/test_process_parfile.py"
+ "tests/test_pulsar_mjd.py"
+ "tests/test_pulsar_position.py"
+ "tests/test_reduced_precision.py"
+ "tests/test_satobs.py"
+ "tests/test_t2binary2pint.py"
+ "tests/test_tcb2tdb.py"
+ "tests/test_templates.py"
+ "tests/test_variety_parfiles.py"
+ "tests/test_version.py")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'remove-deprecated-scripts
+ ;; ImportError: cannot import name 'CompositeMCMCFitter' from
+ ;; 'pint.mcmc_fitter'.
+ ;;
+ ;; Removed in 1.1.3: Broken fitter class `CompositeMCMCFitter`
+ ;; (this fitter was added seemingly to deal with combined radio and
+ ;; high-energy datasets, but has since been broken for a while.)
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("event_optimize_multiple.*") "")))))))
+ (native-inputs
+ (list python-pytest
+ python-setuptools
+ python-versioneer
+ python-wheel))
+ (propagated-inputs
+ (list python-astropy
+ python-corner
+ python-emcee
+ python-jplephem
+ python-loguru
+ python-matplotlib
+ python-nestle
+ python-numdifftools
+ python-numpy
+ python-pyerfa
+ python-scipy
+ python-uncertainties))
+ (home-page "https://github.com/nanograv/PINT")
+ (synopsis "Software for high-precision pulsar timing")
+ (description
+ "PINT is not TEMPO3 - package providing a Pulsar Timing, written in
+Python from scratch.
+Features:
+@itemize
+@item a robust system to produce high-precision timing results that is
+completely independent of TEMPO and Tempo2
+@item a system that is easy to extend and modify due to a good design
+and the use of a modern programming language, techniques, and libraries
+@end itemize")
+ (license license:bsd-3)))
+
(define-public python-pixell
(package
(name "python-pixell")
- (version "0.29.0")
+ (version "0.30.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pixell" version))
(sha256
- (base32 "17ivl01j2a6j6frzxdmzb4bdbs94n8rkipz2lh3zhhkx17djlbfh"))))
+ (base32 "0ncqqwvpg47yihlplzmhn8za8y7wab5k71n87nz8bcvzj8gnmpvw"))))
(build-system pyproject-build-system)
+ (arguments
+ (list #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ ;; XXX: To prevent sanity check faileur in dependent
+ ;; packages, Cython, Coveralls and Pytests are not required
+ ;; during runtime.
+ (lambda _
+ (substitute* "pyproject.toml"
+ ((" 'cython',") "")
+ ((" 'coveralls>=1.5',") "")
+ ((" 'pytest>=4.6',") "")))))))
(native-inputs
(list gfortran
meson-python
@@ -5345,8 +6144,6 @@ photometry, segmentations, Petrosian profiling, and Sérsic fitting.")
python-pytest))
(propagated-inputs
(list python-astropy
- python-coveralls
- python-cython ; check why it needs in installation
python-dateutil
python-ducc0
python-h5py
@@ -5367,6 +6164,145 @@ binned galaxy positions or shear) in cylindrical projection, but its core
functionality is more general.")
(license license:bsd-3)))
+;; XXX: The project is archived, maintained fork is available see
+;; <https://github.com/poliastro/poliastro/issues/1640>.
+;; Maintained fork <https://github.com/pleiszenburg/hapsira>.
+(define-public python-poliastro
+ (package
+ (name "python-poliastro")
+ (version "0.17.0")
+ (source
+ (origin
+ ;; PyPi tarball lacks tests.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/poliastro/poliastro")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1iclyjp0cvm6hp5qf4fzklszxvhj3idkxgb6a9h7xzg9bf5j5gi2"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-m" "not remote_data"
+ ;; TODO: Review failing tests later when any upstream
+ ;; suggestions are provided:
+ ;; https://github.com/poliastro/poliastro/issues/1618
+ "--ignore=tests/test_czml.py"
+ "-k" (string-append
+ ;; This fails with "ufunc 'isfinite' not
+ ;; supported for the input types"
+ "not test_porkchop_plotting"
+ " and not test_maneuver_constructor_raises_error_if_invalid_delta_v"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "pyproject.toml"
+ (("5.0,<6") "5.0,<7"))))
+ (add-after 'unpack 'matplotlib-compatibility
+ (lambda _
+ (substitute* "src/poliastro/plotting/static.py"
+ (("import numpy as np.*" m)
+ (string-append m "\
+import itertools\n"))
+ (("( +)self._ax = ax.*" m indent)
+ (string-append m indent
+ "\
+self.colors = itertools.cycle(plt.rcParams[\"axes.prop_cycle\"].by_key()[\"color\"])\n"))
+ (("color = next\\(self._ax._get_lines.prop_cycler\\)\\[\"color\"\\]")
+ "color = next(self.colors)"))))
+ ;; NOTE: Tests take about 7-10 minutes to pass.
+ (add-before 'check 'prepare-test-environment
+ (lambda _
+ (setenv "HOME" "/tmp"))))))
+ (native-inputs
+ (list python-coverage
+ python-hypothesis
+ python-mypy
+ python-flit-core
+ python-pytest
+ python-pytest-cov
+ python-pytest-doctestplus
+ python-pytest-mpl
+ python-pytest-mypy))
+ (propagated-inputs
+ (list python-astropy-6
+ python-astroquery
+ python-czml3
+ python-jplephem
+ python-matplotlib
+ python-numba
+ python-numpy
+ python-pandas
+ python-plotly
+ python-pyerfa
+ python-scipy))
+ (home-page "https://www.poliastro.space/")
+ (synopsis "Astrodynamics in Python")
+ (description
+ "POLIASTRO is a Python library for interactive Astrodynamics and Orbital
+Mechanics, with a focus on ease of use, speed, and quick visualization. It
+provides a simple and intuitive API, and handles physical quantities with
+units.
+
+Some features include orbit propagation, solution of the Lambert's problem,
+conversion between position and velocity vectors and classical orbital
+elements and orbit plotting, among others. It focuses on interplanetary
+applications, but can also be used to analyze artificial satellites in
+Low-Earth Orbit (LEO).")
+ (license license:expat)))
+
+(define-public python-poppy
+ (package
+ (name "python-poppy")
+ (version "1.1.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "poppy" version))
+ (sha256
+ (base32 "0mvnd9rlglb1cqhaavd2lyxnvi4xmc133x50rzzlh00xn0gyxgfq"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--numprocesses" (number->string (parallel-job-count))
+ "--ignore=docs/exts/numfig.py")))
+ (native-inputs
+ (list python-docutils
+ python-pytest
+ python-pytest-astropy
+ python-pytest-xdist
+ python-setuptools-scm
+ python-wheel))
+ (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-numexpr
+ python-numpy
+ python-scipy))
+ (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-pvextractor
(package
(name "python-pvextractor")
@@ -5428,6 +6364,96 @@ position-frequency slice.")
(list python-setuptools
python-wheel)))))
+(define-public python-pyavm
+ (package
+ (name "python-pyavm")
+ (version "0.9.6")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "PyAVM" version))
+ (sha256
+ (base32 "0vgjqvddq4a5lnmg8msm7fwqs3r6fc748xzvnhyvc387h0z8pdxk"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pillow
+ python-pytest
+ python-setuptools
+ python-setuptools-scm
+ python-wheel))
+ (propagated-inputs
+ (list python-astropy
+ python-numpy))
+ (home-page "https://astrofrog.github.io/pyavm/")
+ (synopsis "Simple pure-python AVM meta-data handling")
+ (description
+ "PyAVM is a module to represent, read, and write metadata following the
+@acronym{AVM, Astronomy Visualization Metadata} standard provided by
+@url{https://www.virtualastronomy.org/avm_metadata.php, vamp} project.")
+ (license license:expat)))
+
+(define-public python-pycpl
+ (package
+ (name "python-pycpl")
+ (version "1.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://ftp.eso.org/pub/dfs/pipelines/libraries/pycpl/pycpl-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "0kfzx4k8z2k0ms6q8f16wqr120drd8fqrw9qpnks419pyc8cr5xp"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list cmake-minimal
+ pybind11
+ python-pandas
+ python-pytest
+ python-scipy
+ python-setuptools))
+ (inputs
+ (list cpl))
+ (propagated-inputs
+ (list python-astropy))
+ (home-page "https://www.eso.org/sci/software/pycpl/pycpl-site/")
+ (synopsis "Python bindings for ESO's CPL")
+ (description
+ "PyCPL provides Python3 language bindings for the complete programming
+API of the @acronym{European Southern Observatory, ESO} @acronym{Common
+Pipeline Library, CPL} toolkit, including the CPL plugin interface.")
+ (properties '((upstream-name . "pycpl")))
+ (license license:bsd-3)))
+
+(define-public python-pydl
+ (package
+ (name "python-pydl")
+ (version "1.0.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pydl" version))
+ (sha256
+ (base32 "0z08c05qf0ix4h348n0hhxixn1wipdm55g9z6qys24z41ywf69jh"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest-astropy
+ python-pytest-mock
+ python-setuptools
+ python-setuptools-scm))
+ (propagated-inputs
+ (list python-astropy
+ python-scipy))
+ (home-page "https://github.com/weaverba137/pydl")
+ (synopsis "IDL astronomy routines converted to Python")
+ (description
+ "This package consists of Python replacements for functions that are part
+of the @url{https://www.nv5geospatialsoftware.com/Products/IDL, IDL} built-in
+library or part of astronomical IDL libraries. The emphasis is on reproducing
+results of the astronomical library functions. Only the bare minimum of IDL
+built-in functions are implemented to support this.")
+ (license license:bsd-3)))
+
(define-public python-pyerfa
(package
(name "python-pyerfa")
@@ -5478,21 +6504,54 @@ Astronomical Union (IAU). All C routines are wrapped as Numpy universal
functions, so that they can be called with scalar or array inputs.")
(license license:bsd-3)))
+(define-public python-pyesorex
+ (package
+ (name "python-pyesorex")
+ (version "1.0.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://ftp.eso.org/pub/dfs/pipelines/libraries/pyesorex/pyesorex-"
+ version ".tar.gz"))
+ (sha256
+ (base32 "1ynb9q9aj51mdva1b76fkz7mlw5q8nlfs8f5f70bhila8iincjca"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest
+ python-setuptools))
+ (propagated-inputs
+ (list python-pycpl))
+ (native-search-paths
+ (list (search-path-specification
+ (variable "PYESOREX_PLUGIN_DIR")
+ (files '("lib/esopipes-plugins")))))
+ (home-page "https://www.eso.org/sci/software/pycpl/pycpl-site/")
+ (synopsis "Alternative Python CLI for ESO's Rex")
+ (description
+ "PyEsoRex is a command line tool which can serve as a drop-in replacement
+of EsoRex, which can execute both, existing pipeline recipes implemented using
+the @acronym{Common Pipeline Library, CPL} C API, and recipes implemented
+using the PyCPL Python API.")
+ (properties '((upstream-name . "pyesorex")))
+ (license license:bsd-3)))
+
(define-public python-pyhalo
(package
(name "python-pyhalo")
- (version "1.4.1")
+ (version "1.4.3")
(source
(origin
(method url-fetch)
(uri (pypi-uri "pyhalo" version))
(sha256
- (base32 "06zdcr82fzzn6zkjralmv9qv7qjyjkni1p1rg60bvl8h013v3xp6"))))
+ (base32 "1yh5acjiwkfm4sjiydksg9187k3lwsads1p9zy0ck7wb6jwxrj81"))))
(build-system pyproject-build-system)
(arguments
(list
- ;; ValueError: The truth value of an array with more than one element is
- ;; ambiguous. Use a.any() or a.all()
+ ;; tests: 194 passed, 3 deselected, 119 warnings
+ ;; ValueError: The truth value of an array with more than one element
+ ;; is ambiguous. Use a.any() or a.all()
#:test-flags #~(list "-k" "not test_vmax")
#:phases
#~(modify-phases %standard-phases
@@ -5533,6 +6592,94 @@ also transltes halo properties (mass, concentration, redshift, etc) into
angular units for lensing computations with lenstronomy.")
(license license:expat)))
+(define-public python-pynbody
+ (package
+ (name "python-pynbody")
+ (version "1.6.0.post0")
+ (source
+ (origin
+ (method git-fetch) ;PyPi doesn't have not prebuit version.
+ (uri (git-reference
+ (url "https://github.com/pynbody/pynbody")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0rl9ais4yc6kdijq1il4vi3mplp7z6bcih4x55axhan5n3n7riwi"))
+ (modules '((guix build utils)))
+ (snippet
+ ;; Symlink goes to not existing directory.
+ #~(for-each delete-file '("docs/testdata"
+ "docs/tutorials/example_code/testdata")))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:test-flags #~(list
+ ;; Disable tests which need to download additional
+ ;; 1.0GiB+ of test data archive from
+ ;; http://star.ucl.ac.uk/~app/testdata.tar.gz
+ ;; https://github.com/pynbody/pynbody/blob/ \
+ ;; f4bd482dc47532831b3ec115c7cb07149d61bfc5/ \
+ ;; .github/workflows/build-test.yaml#L41
+ ;; See <https://github.com/pynbody/pynbody/issues/778>
+ "--ignore=tests/copy_on_access_test.py"
+ "--ignore=tests/gravity_test.py"
+ "--ignore=tests/adaptahop_test.py"
+ "--ignore=tests/ahf_halos_test.py"
+ "--ignore=tests/array_test.py"
+ "--ignore=tests/bridge_test.py"
+ "--ignore=tests/family_test.py"
+ "--ignore=tests/partial_tipsy_test.py"
+ "--ignore=tests/snapshot_test.py"
+ "--ignore=tests/test_profile.py"
+ "--ignore=tests/gadget_test.py"
+ "--ignore=tests/gadgethdf_test.py"
+ "--ignore=tests/grafic_test.py"
+ "--ignore=tests/halotools_test.py"
+ "--ignore=tests/nchilada_test.py"
+ "--ignore=tests/ramses_new_ptcl_format_test.py"
+ "--ignore=tests/ramses_test.py"
+ "--ignore=tests/rockstar_test.py"
+ "--ignore=tests/sph_image_test.py"
+ "--ignore=tests/sph_smooth_test.py"
+ "--ignore=tests/subfind_test.py"
+ "--ignore=tests/subfindhdf_gadget4_test.py"
+ "--ignore=tests/tipsy_test.py"
+ "-k"
+ (string-append
+ "not test_div_curl_smoothing"
+ " and not test_float_kd"
+ " and not test_kd_delete"
+ " and not test_kd_issue_88"
+ " and not test_kdtree_from_existing_kdtree"
+ " and not test_kdtree_shared_mem"
+ " and not test_neighbour_list"
+ " and not test_particles_in_sphere"
+ " and not test_periodic_smoothing"
+ " and not test_smooth"
+ " and not test_smooth_WendlandC2"))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-compiler
+ (lambda _
+ (setenv "CC" #$(cc-for-target)))))))
+ (native-inputs
+ (list python-cython
+ python-pandas
+ python-pytest
+ python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list python-h5py
+ python-matplotlib
+ python-numpy
+ python-posix-ipc
+ python-scipy))
+ (home-page "https://pynbody.github.io/pynbody/index.html")
+ (synopsis "Light-weight astronomical N-body/SPH analysis for python")
+ (description "@code{Pynbody} is an analysis framework for N-body and hydrodynamic
+astrophysical simulations supporting PKDGRAV/Gasoline, Gadget, Gadget4/Arepo,
+N-Chilada and RAMSES AMR outputs.")
+ (license license:gpl3+)))
+
(define-public python-pyregion
(package
(name "python-pyregion")
@@ -5588,6 +6735,105 @@ Features:
@end itemize")
(license license:expat)))
+(define-public python-pysat
+ (package
+ (name "python-pysat")
+ (version "3.2.2")
+ (source
+ (origin
+ (method git-fetch) ; no tests data in the PyPI tarball
+ (uri (git-reference
+ (url "https://github.com/pysat/pysat")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0gm71zafigwc94s37wqyl86yjabpq6wx9izwxag74wg1ynhqyvf0"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--durations=10" ; report 10 slowest tests
+ ;; Tests require pysatSpaceWeather which is not packed yet.
+ "--ignore=pysat/tests/test_utils_files.py"
+ "-k" "not test_from_os")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'pre-check
+ (lambda _
+ ;; Do not run test coverage.
+ (substitute* "pyproject.toml"
+ ((".*addopts.*cov.*") ""))
+ ;; No such file or directory: '/homeless-shelter/.pysat'
+ (setenv "HOME" "/tmp")
+ (mkdir "pysatData")
+ (invoke "python" "-c"
+ "import pysat; pysat.params['data_dirs'] = 'pysatData'"))))))
+ (native-inputs
+ (list python-pytest
+ python-pytest-xdist
+ python-setuptools
+ python-wheel))
+ (propagated-inputs
+ (list python-dask
+ python-netcdf4
+ python-numpy
+ python-pandas
+ python-portalocker
+ python-scipy
+ python-toolz
+ python-xarray))
+ (home-page "https://github.com/pysat/pysat")
+ (synopsis "Supports science analysis across disparate data platforms")
+ (description
+ "The Python Satellite Data Analysis Toolkit (pysat) provides a simple and
+flexible interface for robust data analysis from beginning to end - including
+downloading, loading, cleaning, managing, processing, and analyzing
+data. Pysat's plug-in design allows analysis support for any data, including
+user provided data sets.")
+ (license license:bsd-3)))
+
+(define-public python-pysiaf
+ (package
+ (name "python-pysiaf")
+ (version "0.24.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pysiaf" version))
+ (sha256
+ (base32 "0jgs50jmisv7b7am677q2c3kqjk0fch8gpvijzhdllhkav9wdhs0"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--numprocesses" (number->string (parallel-job-count))
+ ;; Disable 2 failing tests, see
+ ;; <https://github.com/spacetelescope/pysiaf/issues/338>
+ "-k" (string-append "not test_write_jwst_siaf_xlsx"
+ " and not test_write_jwst_siaf_xml" ))))
+ (native-inputs
+ (list python-pytest
+ python-pytest-xdist
+ python-setuptools
+ python-setuptools-scm
+ python-wheel))
+ (propagated-inputs
+ (list python-astropy
+ python-lxml
+ python-matplotlib
+ python-numpy
+ python-openpyxl
+ python-requests
+ python-scipy))
+ (home-page "https://pysiaf.readthedocs.io/")
+ (synopsis "Handling SIAF for space telescopes")
+ (description
+ "@code{pysiaf} is a python package to access, interpret, maintain, and
+generate @acronym{Handling of Science Instrument Aperture Files, SIAF}, in
+particular for JWST. Tools for applying the frame transformations, plotting,
+comparison, and validation are provided.")
+ (license license:bsd-3)))
+
(define-public python-pysiril
(package
(name "python-pysiril")
@@ -5618,16 +6864,16 @@ natively in Siril.")
(define-public python-pysm3
(package
(name "python-pysm3")
- (version "3.4.1a1")
+ (version "3.4.2")
(source
(origin
(method git-fetch) ; no tests data in the PyPI tarball
(uri (git-reference
- (url "https://github.com/galsci/pysm")
- (commit version)))
+ (url "https://github.com/galsci/pysm")
+ (commit version)))
(file-name (git-file-name name version))
(sha256
- (base32 "0rp22d1ckln9j490ga5snk0xb28qal1i10m4kqmhg7sfkw7dnnzs"))))
+ (base32 "0r8njxss389hqz1nxixamhclays6blyrq7qnrzs2776w9c0cv6vb"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -5636,36 +6882,44 @@ natively in Siril.")
;; <https://healpy.github.io/healpy-data>
;; <https://portal.nersc.gov/project/cmb/pysm-data>
#~(list "-k" (string-join
- (list "not test_model"
+ (list "not test_bandpass_unit_conversion"
"test_bandpass_unit_conversion_CMB2MJysr"
"test_bandpass_unit_conversion_MJysr2KRJ"
"test_cmb_lensed"
+ "test_cmb_lensed_delens"
+ "test_cmb_lensed_l01"
+ "test_cmb_lensed_no_delens"
+ "test_cmb_lensed_with_patch_object"
"test_cmb_map"
"test_cmb_map_bandpass"
"test_co"
"test_co_model"
- "test_dust_model"
- "test_model_d12"
"test_d10_vs_d11"
+ "test_dust_model"
"test_dust_model_353"
"test_gnilc_857"
+ "test_healpix_output_nside"
"test_highfreq_dust_model"
+ "test_model"
+ "test_model_d12"
"test_presmoothed"
- "test_sky_max_nside"
- "test_sky_max_nside_highres"
"test_read_map_unit"
"test_read_map_unit_dimensionless"
- "test_healpix_output_nside"
+ "test_s6_vs_s5"
+ "test_sky_max_nside"
+ "test_sky_max_nside_highres"
"test_smoothing_healpix"
"test_smoothing_healpix_beamwindow"
- "test_s6_vs_s5"
"test_synch_44"
"test_synch_model_noscaling"
"test_synch_model_s7_44"
"test_synch_model_s7_noscaling"
"test_synchrotron_model"
- "test_bandpass_unit_conversion")
- " and not "))
+ ;; RuntimeError: This function has been removed. Use
+ ;; reproject.healpix2map(...method='harm').
+ "test_car_nosmoothing")
+ " and not ")
+ "tests")
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'set-version
@@ -5675,6 +6929,7 @@ natively in Siril.")
(list nss-certs-for-test
python-hatch-vcs
python-hatchling
+ python-nbval
python-netcdf4
python-pixell
python-psutil
@@ -5684,8 +6939,11 @@ natively in Siril.")
python-xarray))
(propagated-inputs
(list python-astropy
+ python-h5py
python-healpy
python-numba
+ python-numpy
+ python-scipy
python-toml))
(home-page "https://pysm3.readthedocs.io/")
(synopsis "Sky emission simulations for Cosmic Microwave Background experiments")
@@ -5697,6 +6955,100 @@ experiments. It is a large refactor of
memory usage, improving performance and run in parallel with MPI.")
(license license:bsd-3)))
+(define-public python-pysynphot
+ ;; XXX: 2.0.0 was released in 2021 there are a lot of changes since that
+ ;; time and it failed to build with python-astropy 6.0.0, use the latest
+ ;; upstream commit for now.
+ (let ((commit "54e9e2a624910c4d177ca70f8e9fb8110c8fae5b")
+ (revision "0"))
+ (package
+ (name "python-pysynphot")
+ (version (git-version "2.0.0" revision commit))
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spacetelescope/pysynphot")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "09sivpfqilk86zp8k5wmrs4g48m4kypn34jcy95y5h4ygbn5zbzy"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'build 'set-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" "2.0.0")))
+ (add-before 'check 'set-env-data-path
+ (lambda _
+ (setenv "PYSYN_CDBS" (string-append #$output "/crds")))))))
+ (native-inputs
+ (list python-pytest
+ python-pytest-remotedata
+ python-setuptools
+ python-setuptools-scm
+ python-wheel))
+ (propagated-inputs
+ (list python-astropy
+ python-beautifulsoup4
+ python-numpy
+ python-pytest-astropy-header
+ python-six))
+ (home-page "https://github.com/spacetelescope/pysynphot")
+ (synopsis "Python Synthetic Photometry Utilities")
+ (description
+ "Astrolib PySynphot (hereafter referred to only as pysynphot) is an
+object-oriented replacement for STSDAS SYNPHOT synthetic photometry package in
+IRAF. @code{pysynphot} simulates photometric data and spectra as they are
+observed with the Hubble Space Telescope (HST). Passbands for standard
+photometric systems are available, and users can incorporate their own filters,
+spectra, and data.")
+ (license license:bsd-3))))
+
+(define-public python-pyvo
+ (package
+ (name "python-pyvo")
+ (version "1.7")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyvo" version))
+ (sha256
+ (base32 "0813ws6g6mns3g3k4xgj54pcp6hw42q47psm7q8jswqhskpxkym6"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--pyargs" "pyvo"
+ ;; XXX: Some data file was not copied in install phase:
+ ;; urllib.error.URLError: <urlopen error [Errno 2] No such file
+ ;; or directory
+ ;; <.../lib/python3.11/site-packages/pyvo/mivot/writer/mivot-v1.xsd>.
+ "-k" (string-join
+ (list "not test_all_properties"
+ "test_extraction_from_votable_header")
+ " and not "))))
+ (native-inputs
+ (list python-pytest-astropy
+ python-pytest-doctestplus
+ python-requests-mock
+ python-setuptools
+ python-setuptools-scm
+ python-wheel))
+ (propagated-inputs
+ (list python-astropy
+ python-defusedxml ; extra requirements
+ python-pillow ; extra requirements
+ python-requests))
+ (home-page "https://github.com/astropy/pyvo")
+ (synopsis "Access Virtual Observatory data and services")
+ (description
+ "PyVO is a package providing access to remote data and services of the
+Virtual observatory (VO) using Python.")
+ (license license:bsd-3)))
+
(define-public python-pyxsim
(package
(name "python-pyxsim")
@@ -5752,6 +7104,129 @@ export the simulated X-ray events to other software packages to simulate the
end products of specific X-ray observatories.")
(license license:bsd-3)))
+(define-public python-raccoon
+ (package
+ (name "python-raccoon")
+ (version "1.0.0")
+ (source
+ (origin
+ ;; PyPi tarball lacks tests.
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/ajshajib/raccoon")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "1hn8g7zxga47yhk4y9nrbnz0n7apflczlaszr79h4lg6b4v4h9f4"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "-k" (string-join
+ ;; Three tests fail with error: AttributeError: module
+ ;; 'numpy' has no attribute 'trapezoid'.
+ (list "not test_clean_cube"
+ "test_clean_cube_with_min_n_amplitude_and_min_n_f"
+ "test_clean_cube_with_wiggle_detection_thresholds")
+ " and not "))))
+ (native-inputs
+ (list python-pytest
+ python-setuptools))
+ (propagated-inputs
+ (list python-astropy
+ python-matplotlib
+ python-numpy
+ python-scipy
+ python-statsmodels
+ python-tqdm))
+ (home-page "https://github.com/ajshajib/raccoon")
+ (synopsis "Clean modulation due to resampling noise in the JWST/NIRSpec IFS spectra")
+ (description
+ "Package Raccoon cleans the \"wiggles\" (i.e., low-frequency sinusoidal
+artifacts) in the JWST-NIRSpec IFS (integral field spectroscopy) data. These
+wiggles are caused by resampling noise or aliasing artifacts.")
+ (license license:bsd-3)))
+
+(define-public python-rad
+ (package
+ (name "python-rad")
+ (version "0.27.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "rad" version))
+ (sha256
+ (base32 "04vzqkcw6la5n2jw92khmqnizs2nf5vb27nknn3c6wj1jwfwl6bv"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; tests: 1253 passed, 1 skipped
+ #:test-flags
+ ;; Ignore tests requiring python-crds to break cycle:
+ ;; python-rad -> python-roman-datamodels -> python-crds -> python-rad
+ #~(list "--ignore=tests/test_schemas.py"
+ ;; E git.exc.InvalidGitRepositoryError
+ "--ignore=tests/test_versioning.py"
+ ;; E TypeError: the JSON object must be str, bytes or bytearray,
+ ;; not NoneType
+ "--ignore=tests/test_latest.py")))
+ (native-inputs
+ (list python-pytest
+ python-pytest-asdf-plugin
+ python-pytest-doctestplus
+ python-semantic-version
+ python-setuptools
+ python-setuptools-scm))
+ (propagated-inputs
+ (list python-asdf
+ python-asdf-astropy))
+ (home-page "https://github.com/spacetelescope/rad")
+ (synopsis "Roman Attribute Dictionary")
+ (description
+ "@acronym{RAD, The Roman Attribute Dictionary} is package which defines
+schemas for the Nancy Grace Roman Space Telescope shared attributes for
+processing and archive. These schemas are schemas for the ASDF file file
+format, which are used by ASDF to serialize and deserialize data for the Nancy
+Grace Roman Space Telescope.")
+ (license license:bsd-3)))
+
+(define-public python-radio-beam
+ (package
+ (name "python-radio-beam")
+ (version "0.3.9")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "radio_beam" version))
+ (sha256
+ (base32 "0i76hj6wyijbpxx7n1sm12f0qqw15srk6ikq2cr589lvrixylpwv"))))
+ (build-system pyproject-build-system)
+ (native-inputs
+ (list python-pytest-astropy
+ python-setuptools
+ python-setuptools-scm
+ python-wheel))
+ (propagated-inputs
+ (list python-astropy
+ python-matplotlib
+ python-numpy
+ python-scipy))
+ (home-page "https://radio-beam.readthedocs.io/en/latest/")
+ (synopsis "Operations for radio astronomy beams with Astropy")
+ (description
+ "Radio Beam is a simple toolkit for reading beam information from FITS
+headers and manipulating beams.
+Some example applications include:
+@itemize
+@item Convolution and deconvolution
+@item Unit conversion (Jy to/from K)
+@item Handle sets of beams for spectral cubes with varying resolution between
+channels
+@item Find the smallest common beam from a set of beams
+@item Add the beam shape to a matplotlib plot
+@end itemize")
+ (license license:bsd-3)))
+
(define-public python-radiospectra
(package
(name "python-radiospectra")
@@ -5769,6 +7244,8 @@ end products of specific X-ray observatories.")
#~(list "--numprocesses" (number->string (parallel-job-count)))
#:phases
#~(modify-phases %standard-phases
+ ;; XXX: It fails to check SunPy's optional inputs versions.
+ (delete 'sanity-check)
(add-before 'check 'set-home-env
(lambda _
;; Tests require HOME to be set.
@@ -5796,6 +7273,49 @@ end products of specific X-ray observatories.")
solar physics.")
(license license:bsd-2)))
+(define-public python-regions
+ (package
+ (name "python-regions")
+ (version "0.10")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "regions" version))
+ (sha256
+ (base32 "10cswrknj3qh9i1daynlx4ild66lwcyra5rs03h8s9j4l275274n"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--numprocesses" (number->string (parallel-job-count)))
+ #:phases
+ #~(modify-phases %standard-phases
+ (replace 'check
+ (lambda* (#:key tests? test-flags #:allow-other-keys)
+ (with-directory-excursion #$output
+ (apply invoke "pytest" "-vv" test-flags)))))))
+ (propagated-inputs
+ (list python-astropy
+ python-h5py
+ python-matplotlib
+ python-numpy
+ python-scipy
+ python-shapely))
+ (native-inputs
+ (list python-cython-3
+ python-extension-helpers
+ python-pytest-arraydiff
+ python-pytest-astropy
+ python-pytest-runner
+ python-pytest-xdist
+ python-setuptools
+ python-setuptools-scm
+ python-wheel))
+ (home-page "https://github.com/astropy/regions")
+ (synopsis "Package for region handling")
+ (description "Regions is an Astropy package for region handling.")
+ (license license:bsd-3)))
+
(define-public python-regularizepsf
(package
(name "python-regularizepsf")
@@ -5828,103 +7348,295 @@ solar physics.")
PSF} describing how the optical system spreads light from sources.")
(license license:expat)))
+(define-public python-reproject
+ (package
+ (name "python-reproject")
+ (version "0.14.1")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "reproject" version))
+ (sha256
+ (base32 "0yg5dga054xdwsx75q204h04gmrw0mgayc74l4rpymcbkckymj2k"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--arraydiff"
+ "--arraydiff-default-format=fits"
+ "--numprocesses" (number->string (parallel-job-count))
+ "--pyargs" "reproject")
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; setup.py was removed in a659a260bdd7635cddc8f33c4ea04a3b6d8c1f84
+ ;; for some unknown reason, which caused the package to fail to
+ ;; build. It is being recreated based on that commit.
+ ;; TODO: Check how to implement it in python-build-system.
+ (add-after 'unpack 'create-setup.py
+ (lambda _
+ (call-with-output-file "setup.py"
+ (lambda (port)
+ (format port "from setuptools import setup
+from extension_helpers import get_extensions
+setup(ext_modules=get_extensions())")))))
+ (add-before 'install 'writable-compiler
+ (lambda _
+ (make-file-writable "reproject/_compiler.c")))
+ (add-before 'check 'writable-compiler
+ (lambda _
+ (make-file-writable "reproject/_compiler.c")))
+ (add-before 'check 'prepare-test-environment
+ (lambda _
+ (setenv "HOME" "/tmp")
+ ;; Cython extensions have to be built before running the tests.
+ (invoke "python" "setup.py" "build_ext" "--inplace"))))))
+ (propagated-inputs
+ (list python-asdf
+ python-astropy
+ python-astropy-healpix
+ python-cloudpickle
+ python-dask
+ python-fsspec
+ python-gwcs
+ python-numpy
+ python-pyvo
+ python-scipy
+ python-shapely
+ python-zarr))
+ (native-inputs
+ (list python-cython-3
+ python-extension-helpers
+ python-asdf
+ python-gwcs
+ python-pytest-astropy
+ python-pytest-xdist
+ python-pyvo
+ ;; python-sunpy ; circular dependencies, test optional
+ python-setuptools-scm
+ python-wheel))
+ (home-page "https://reproject.readthedocs.io")
+ (synopsis "Astronomical image reprojection in Python")
+ (description
+ "This package provides a functionality to reproject astronomical images using
+various techniques via a uniform interface, where reprojection is the
+re-gridding of images from one world coordinate system to another e.g.
+changing the pixel resolution, orientation, coordinate system.")
+ (license license:bsd-3)))
+
+(define-public python-roman-datamodels
+ (package
+ (name "python-roman-datamodels")
+ (version "0.27.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "roman_datamodels" version))
+ (sha256
+ (base32 "1631jpv7mcrcka6bfxp04ih43wlm9pmqsqxckqyv6y9jgsipjxy3"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ ;; tests: 4185 passed, 1 skipped, 1 xfailed
+ #:test-flags
+ #~(list "--numprocesses" (number->string (parallel-job-count)))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'set-env
+ (lambda _
+ (setenv "HOME" "/tmp"))))))
+ (native-inputs
+ (list python-pandas
+ python-pytest
+ python-pytest-doctestplus
+ python-pytest-env
+ python-pytest-xdist
+ python-setuptools
+ python-setuptools-scm
+ python-wheel))
+ (propagated-inputs
+ (list python-asdf
+ python-asdf-astropy
+ python-asdf-standard
+ python-astropy
+ python-gwcs
+ python-lz4
+ python-numpy
+ python-pyarrow
+ python-rad))
+ (home-page "https://github.com/spacetelescope/roman_datamodels")
+ (synopsis "Roman Datamodels Support")
+ (description
+ "This package provides a Python package of Roman Datamodels for the
+calibration pipelines started with the @acronym{JWST, James Webb Space
+Telescope} calibration pipelines. The goal for the JWST pipelines was motivated
+primarily by the need to support FITS data files, specifically with isolating
+the details of where metadata and data were located in the FITS file from the
+representation of the same items within the Python code. That is not a concern
+for Roman since FITS format data files will not be used by the Roman calibration
+pipelines.")
+ (license license:bsd-3)))
+
(define-public python-romancal
- ;; The compatible version is not released yet, use the latest commit.
- (let ((commit "ae864a407fc16001d3a0370779caa381f994f718")
- (revision "0"))
- (package
- (name "python-romancal")
- (version (git-version "0.19.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/spacetelescope/romancal")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0dxgwy6qva8ss7xb6hlkck6kysikgmn0byprvj4kx1l82gm1sk0g"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "--color=no"
- "--numprocesses" (number->string (min 8 (parallel-job-count)))
- ;; XXX: Tests requiring network access or additional setup,
- ;; check how to run them locally.
- "--ignore=romancal/assign_wcs/tests/test_wcs.py"
- "--ignore=romancal/dark_current/tests/test_dark.py"
- "--ignore=romancal/dq_init/tests/test_dq_init.py"
- "--ignore=romancal/flatfield/tests/test_flatfield.py"
- "--ignore=romancal/flux/tests/test_flux_step.py"
- "--ignore=romancal/lib/engdb/tests/test_engdb_tools.py"
- "--ignore=romancal/linearity/tests/test_linearity.py"
- "--ignore=romancal/multiband_catalog/tests/test_multiband_catalog.py"
- "--ignore=romancal/orientation/tests/test_set_telescope_pointing.py"
- "--ignore=romancal/photom/tests/test_photom.py"
- "--ignore=romancal/ramp_fitting/tests/test_ramp_fit_cas22.py"
- "--ignore=romancal/ramp_fitting/tests/test_ramp_fit_likelihood.py"
- "--ignore=romancal/refpix/tests/test_step.py"
- "--ignore=romancal/resample/tests/test_resample.py"
- "--ignore=romancal/saturation/tests/test_saturation.py"
- "--ignore=romancal/skycell/tests/test_skycell.py"
- "--ignore=romancal/skycell/tests/test_skycell_match.py"
- "--ignore=romancal/skymatch/tests/test_skymatch.py"
- "--ignore=romancal/source_catalog/tests/test_psf.py"
- "--ignore=romancal/source_catalog/tests/test_source_catalog.py"
- "--ignore=romancal/stpipe/tests/test_core.py"
- "--ignore=romancal/tweakreg/tests/test_tweakreg.py")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "pyproject.toml"
- ;; XXX: scipy >=1.14.1
- ((" >=1.14.1") ""))))
- (add-before 'build 'set-version
- (lambda _
- (setenv "SETUPTOOLS_SCM_PRETEND_VERSION"
- #$(version-major+minor+point version)))))))
- (native-inputs
- (list nss-certs-for-test
- python-ci-watson
- python-deepdiff
- ;; python-edp ;not packaged
- python-pytest
- python-pytest-astropy
- python-pytest-xdist
- python-setuptools-next
- python-setuptools-scm
- python-stpreview
- python-wheel))
- (propagated-inputs
- (list python-asdf
- python-asdf-astropy
- python-astropy
- python-crds
- python-drizzle
- python-gwcs
- python-jsonschema
- python-numpy
- python-pandas
- python-photutils
- python-pyarrow
- python-pyparsing
- python-requests
- python-roman-datamodels
- python-scipy
- python-spherical-geometry
- python-stcal
- python-stpipe
- python-stpsf
- python-stsci-imagestats
- python-tweakwcs))
- (home-page "https://github.com/spacetelescope/romancal")
- (synopsis "Nancy Grace Roman Space Telescope observations processing library")
- (description
- "This package implements a functionality for calibration of science
+ (package
+ (name "python-romancal")
+ (version "0.20.2")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/spacetelescope/romancal")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "16aa8ylq6281k1z3yz0lzbw0ca9l7fgci1s14jqd9ymcmssnf4q4"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--color=no"
+ "--numprocesses" (number->string (min 8 (parallel-job-count)))
+ ;; XXX: Tests requiring network access or additional setup,
+ ;; check how to run them locally.
+ "--ignore=romancal/assign_wcs/tests/test_wcs.py"
+ "--ignore=romancal/dark_current/tests/test_dark.py"
+ "--ignore=romancal/dq_init/tests/test_dq_init.py"
+ "--ignore=romancal/flatfield/tests/test_flatfield.py"
+ "--ignore=romancal/flux/tests/test_flux_step.py"
+ "--ignore=romancal/lib/engdb/tests/test_engdb_tools.py"
+ "--ignore=romancal/linearity/tests/test_linearity.py"
+ "--ignore=romancal/multiband_catalog/tests/test_multiband_catalog.py"
+ "--ignore=romancal/orientation/tests/test_set_telescope_pointing.py"
+ "--ignore=romancal/photom/tests/test_photom.py"
+ "--ignore=romancal/ramp_fitting/tests/test_ramp_fit_cas22.py"
+ "--ignore=romancal/ramp_fitting/tests/test_ramp_fit_likelihood.py"
+ "--ignore=romancal/refpix/tests/test_step.py"
+ "--ignore=romancal/resample/tests/test_resample.py"
+ "--ignore=romancal/saturation/tests/test_saturation.py"
+ "--ignore=romancal/skycell/tests/test_skycell.py"
+ "--ignore=romancal/skycell/tests/test_skycell_match.py"
+ "--ignore=romancal/skymatch/tests/test_skymatch.py"
+ "--ignore=romancal/source_catalog/tests/test_psf.py"
+ "--ignore=romancal/source_catalog/tests/test_source_catalog.py"
+ "--ignore=romancal/stpipe/tests/test_core.py"
+ "--ignore=romancal/tweakreg/tests/test_tweakreg.py")
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-requirements
+ (lambda _
+ (substitute* "pyproject.toml"
+ ;; XXX: scipy >=1.14.1
+ ((" >=1.14.1") "")
+ (("stsci.imagestats >= 1.8.3")
+ ;; Cant' find the version even if it's added.
+ "stsci.imagestats"))))
+ (add-before 'build 'set-version
+ (lambda _
+ (setenv "SETUPTOOLS_SCM_PRETEND_VERSION"
+ #$(version-major+minor+point version)))))))
+ (native-inputs
+ (list nss-certs-for-test
+ python-ci-watson
+ python-deepdiff
+ ;; python-edp ;not packaged
+ python-pytest
+ python-pytest-astropy
+ python-pytest-xdist
+ python-setuptools
+ python-setuptools-scm
+ python-stpreview))
+ (propagated-inputs
+ (list python-asdf
+ python-asdf-astropy
+ python-astropy
+ python-crds
+ python-drizzle
+ python-gwcs
+ python-jsonschema
+ python-numpy
+ python-pandas
+ python-photutils
+ python-pyarrow
+ python-requests
+ python-roman-datamodels
+ python-scipy
+ python-spherical-geometry
+ python-stcal
+ python-stpipe
+ python-stsci-imagestats
+ python-tweakwcs
+ ;; [sdp]
+ python-pysiaf
+ ;; python-roman-photoz ;not packaged
+ python-stpreview))
+ (home-page "https://github.com/spacetelescope/romancal")
+ (synopsis "Nancy Grace Roman Space Telescope observations processing library")
+ (description
+ "This package implements a functionality for calibration of science
observations from the Nancy Grace Roman Space Telescope.")
- (license license:bsd-3))))
+ (license license:bsd-3)))
+
+(define-public python-sbpy
+ (package
+ (name "python-sbpy")
+ (version "0.5.0")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sbpy" version))
+ (sha256
+ (base32 "1xqi29rrh7v05zmvyl8gffrkrw5rlcxig1w6xw1v8f7ikydb5plv"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags
+ #~(list "--numprocesses" (number->string (parallel-job-count)))
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-before 'check 'set-home-env
+ (lambda _
+ ;; Tests require HOME to be set.
+ ;; No such file or directory: '/homeless-shelter/.astropy'
+ (setenv "HOME" "/tmp"))))))
+ (propagated-inputs
+ (list python-ads
+ python-astropy
+ python-astroquery
+ python-ginga
+ python-numpy
+ python-photutils
+ ;python-pyoorb ;not packed yet in Guix
+ python-pyyaml
+ python-scipy
+ python-synphot))
+ (native-inputs
+ (list python-pytest
+ python-pytest-astropy
+ python-pytest-doctestplus
+ python-pytest-remotedata
+ python-pytest-xdist
+ python-setuptools-scm))
+ (home-page "https://sbpy.org")
+ (synopsis "Python module for small-body planetary astronomy")
+ (description
+ "@code{sbpy} is a package for small-body planetary astronomy. It is
+meant to supplement functionality provided by @code{astropy} with functions
+and methods that are frequently used in the context of planetary astronomy
+with a clear focus on asteroids and comets.
+Features:
+@itemize
+@item observation planning tools tailored to moving objects
+@item photometry models for resolved and unresolved observations
+@item wrappers and tools for astrometry and orbit fitting
+@item spectroscopy analysis tools and models for reflected solar light and
+emission from gas
+@item cometary gas and dust coma simulation and analysis tools
+@item asteroid thermal models for flux estimation and size/albedo estimation
+@item image enhancement tools for comet comae and PSF subtraction tools
+@item lightcurve and shape analysis tools
+@item access tools for various databases for orbital and physical data, as
+well as ephemerides services
+@end itemize")
+ (license license:bsd-3)))
(define-public python-sep
(package/inherit libsep
@@ -5948,12 +7660,76 @@ observations from the Nancy Grace Roman Space Telescope.")
(list python-cython
python-pytest
python-setuptools
- python-setuptools-scm-next
+ python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-numpy))
(synopsis "Python library for Source Extraction and Photometry")))
+(define-public python-sep-pjw
+ (package
+ (name "python-sep-pjw")
+ (version "1.3.8")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sep_pjw" version))
+ (sha256
+ (base32 "0lhxfq1acc6qc8nszfdrpwq6dizaypz3b6frknfv5qm59mb488r0"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list
+ #:test-flags #~(list "test.py")))
+ (native-inputs
+ (list python-cython
+ python-pytest
+ python-setuptools
+ python-setuptools-scm
+ python-wheel))
+ (propagated-inputs
+ (list python-numpy
+ python-sep))
+ (home-page "https://github.com/PJ-Watson/sep-pjw")
+ (synopsis "Alternative fork of SEP library")
+ (description
+ "This package provides an alternative maintained fork of SEP python
+library with bug fixtures.")
+ (license (list license:expat license:lgpl3+ license:bsd-3))))
+
+(define-public python-sgp4
+ (package
+ (name "python-sgp4")
+ (version "2.25")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "sgp4" version))
+ (sha256
+ (base32 "0x06mxdmk2rsbp7ymjvvbj8pwkf4y2w6g8p0znw9zmi5rinxr7p1"))))
+ (build-system pyproject-build-system)
+ (arguments
+ (list #:test-backend #~'custom
+ #:test-flags #~(list "-m" "sgp4.tests")))
+ (native-inputs
+ (list python-setuptools))
+ (propagated-inputs
+ (list python-numpy))
+ (home-page "https://github.com/brandon-rhodes/python-sgp4")
+ (synopsis "Track earth satellite TLE orbits using SGP4")
+ (description
+ "This package provides a Python implementation for computations of the
+position and velocity of an earth-orbiting satellite, given the satellite’s
+@acronym{TLE, Two-line element set} orbital elements from a source like
+@url{CelesTrak, https://celestrak.org/}.
+
+It implements the most recent version of @acronym{SGP4, Simplified General
+Perturbation models}, and is regularly run against the SGP4 test suite to make
+sure that its satellite position predictions agree to within 0.1 mm with the
+predictions of the standard distribution of the algorithm. This error is far
+less than the 1–3 km/day by which satellites themselves deviate from the ideal
+orbits described in TLE files.")
+ (license license:expat)))
+
(define-public python-sirilic
(package
(name "python-sirilic")
@@ -6286,13 +8062,13 @@ but has evolved to support other missions as well.")
(define-public python-space-dolphin
(package
(name "python-space-dolphin")
- (version "1.1.2")
+ (version "1.2.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "space_dolphin" version))
(sha256
- (base32 "0qxpb6ss0w4f6mnisri3i3a5g5dfa12a7iimdchzqql7r53x7xiq"))))
+ (base32 "162899av6mp0wkjbas07xkqjr70qbvirgnnch7hb501gz0rb50bh"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -6306,8 +8082,7 @@ but has evolved to support other missions as well.")
(setenv "NUMBA_CACHE_DIR" "/tmp"))))))
(native-inputs
(list ;; python-pytest
- python-setuptools-next
- python-wheel))
+ python-setuptools))
(propagated-inputs
(list python-astropy
python-corner
@@ -6374,7 +8149,7 @@ Computing Cluster, HPCC}
(native-inputs
(list python-photutils
python-pytest-astropy
- python-setuptools-scm-next
+ python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-astropy
@@ -6391,403 +8166,6 @@ instruments.")
(license (list license:bsd-3 ; licenses/LICENSE.rst, same as python-astropy
license:expat)))) ; licenses/KOSMOS_LICENSE
-(define-public python-jplephem
- (package
- (name "python-jplephem")
- (version "2.22")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "jplephem" version))
- (sha256
- (base32 "0b2rgb7pvwnl72pqjryf9c812mmdxr69fwiym7mnz05l2xrcr6hd"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? #:allow-other-keys)
- (when tests?
- (invoke "python" "-m" "unittest" "discover" "-s" "test")))))))
- (native-inputs
- (list python-setuptools
- python-wheel))
- (propagated-inputs
- (list python-numpy))
- (home-page "https://github.com/brandon-rhodes/python-jplephem")
- (synopsis "Python version of NASA DE4xx ephemerides")
- (description
- "@code{skyfield} computes positions for the stars, planets, and
-satellites in orbit around the Earth. Its results should agree with the
-positions generated by the United States Naval Observatory and their
-Astronomical Almanac to within 0.0005 arcseconds (half a @emph{mas} or
-milliarcsecond).")
- (license license:expat)))
-
-(define-public python-photutils
- (package
- (name "python-photutils")
- (version "2.2.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "photutils" version))
- (sha256
- (base32 "1h1bf8694pf9qdv9gf0934v6dk08d3ybrj858salqnfz6prnfnzb"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "--pyargs" "photutils"
- "--numprocesses" (number->string (min 8 (parallel-job-count))))
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? test-flags #:allow-other-keys)
- (when tests?
- (with-directory-excursion "/tmp"
- (apply invoke "pytest" "-vv" test-flags))))))))
- (propagated-inputs
- (list python-astropy
- python-bottleneck
- python-gwcs
- python-matplotlib
- python-numpy
- python-rasterio
- python-regions
- python-scikit-image
- python-scipy
- python-shapely
- python-tqdm))
- (native-inputs
- (list python-cython-3
- python-extension-helpers
- python-pytest-astropy
- python-pytest-xdist
- python-setuptools
- python-setuptools-scm))
- (home-page "https://github.com/astropy/photutils")
- (synopsis "Source detection and photometry")
- (description "Photutils is an Astropy package for detection and photometry
-of astronomical sources.")
- (license license:bsd-3)))
-
-;; XXX: The project is archived, maintained fork is available see
-;; <https://github.com/poliastro/poliastro/issues/1640>.
-;; Maintained fork <https://github.com/pleiszenburg/hapsira>.
-(define-public python-poliastro
- (package
- (name "python-poliastro")
- (version "0.17.0")
- (source
- (origin
- ;; PyPi tarball lacks tests.
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/poliastro/poliastro")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "1iclyjp0cvm6hp5qf4fzklszxvhj3idkxgb6a9h7xzg9bf5j5gi2"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "-m" "not remote_data"
- ;; TODO: Review failing tests later when any upstream
- ;; suggestions are provided:
- ;; https://github.com/poliastro/poliastro/issues/1618
- "--ignore=tests/test_czml.py"
- "-k" (string-append
- ;; This fails with "ufunc 'isfinite' not
- ;; supported for the input types"
- "not test_porkchop_plotting"
- " and not test_maneuver_constructor_raises_error_if_invalid_delta_v"))
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'relax-requirements
- (lambda _
- (substitute* "pyproject.toml"
- (("5.0,<6") "5.0,<7"))))
- (add-after 'unpack 'matplotlib-compatibility
- (lambda _
- (substitute* "src/poliastro/plotting/static.py"
- (("import numpy as np.*" m)
- (string-append m "\
-import itertools\n"))
- (("( +)self._ax = ax.*" m indent)
- (string-append m indent
- "\
-self.colors = itertools.cycle(plt.rcParams[\"axes.prop_cycle\"].by_key()[\"color\"])\n"))
- (("color = next\\(self._ax._get_lines.prop_cycler\\)\\[\"color\"\\]")
- "color = next(self.colors)"))))
- ;; NOTE: Tests take about 7-10 minutes to pass.
- (add-before 'check 'prepare-test-environment
- (lambda _
- (setenv "HOME" "/tmp"))))))
- (native-inputs
- (list python-coverage
- python-hypothesis
- python-mypy
- python-flit-core
- python-pytest
- python-pytest-cov
- python-pytest-doctestplus
- python-pytest-mpl
- python-pytest-mypy))
- (propagated-inputs
- (list python-astropy-6
- python-astroquery
- python-czml3
- python-jplephem
- python-matplotlib
- python-numba
- python-numpy
- python-pandas
- python-plotly
- python-pyerfa
- python-scipy))
- (home-page "https://www.poliastro.space/")
- (synopsis "Astrodynamics in Python")
- (description
- "POLIASTRO is a Python library for interactive Astrodynamics and Orbital
-Mechanics, with a focus on ease of use, speed, and quick visualization. It
-provides a simple and intuitive API, and handles physical quantities with
-units.
-
-Some features include orbit propagation, solution of the Lambert's problem,
-conversion between position and velocity vectors and classical orbital
-elements and orbit plotting, among others. It focuses on interplanetary
-applications, but can also be used to analyze artificial satellites in
-Low-Earth Orbit (LEO).")
- (license license:expat)))
-
-(define-public python-poppy
- (package
- (name "python-poppy")
- (version "1.1.2")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "poppy" version))
- (sha256
- (base32 "0mvnd9rlglb1cqhaavd2lyxnvi4xmc133x50rzzlh00xn0gyxgfq"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "--numprocesses" (number->string (parallel-job-count)))))
- (native-inputs
- (list python-docutils
- python-pytest
- python-pytest-astropy
- python-pytest-xdist
- python-setuptools-scm
- python-wheel))
- (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-numexpr
- python-numpy
- python-scipy))
- (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-pyavm
- (package
- (name "python-pyavm")
- (version "0.9.6")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "PyAVM" version))
- (sha256
- (base32 "0vgjqvddq4a5lnmg8msm7fwqs3r6fc748xzvnhyvc387h0z8pdxk"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pillow
- python-pytest
- python-setuptools
- python-setuptools-scm
- python-wheel))
- (propagated-inputs
- (list python-astropy
- python-numpy))
- (home-page "https://astrofrog.github.io/pyavm/")
- (synopsis "Simple pure-python AVM meta-data handling")
- (description
- "PyAVM is a module to represent, read, and write metadata following the
-@acronym{AVM, Astronomy Visualization Metadata} standard provided by
-@url{https://www.virtualastronomy.org/avm_metadata.php, vamp} project.")
- (license license:expat)))
-
-(define-public python-pyvo
- (package
- (name "python-pyvo")
- (version "1.7")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pyvo" version))
- (sha256
- (base32 "0813ws6g6mns3g3k4xgj54pcp6hw42q47psm7q8jswqhskpxkym6"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "--pyargs" "pyvo"
- ;; XXX: Some data file was not copied in install phase:
- ;; urllib.error.URLError: <urlopen error [Errno 2] No such file
- ;; or directory
- ;; <.../lib/python3.11/site-packages/pyvo/mivot/writer/mivot-v1.xsd>.
- "-k" (string-join
- (list "not test_all_properties"
- "test_extraction_from_votable_header")
- " and not "))))
- (native-inputs
- (list python-pytest-astropy
- python-pytest-doctestplus
- python-requests-mock
- python-setuptools
- python-setuptools-scm
- python-wheel))
- (propagated-inputs
- (list python-astropy
- python-defusedxml ; extra requirements
- python-pillow ; extra requirements
- python-requests))
- (home-page "https://github.com/astropy/pyvo")
- (synopsis "Access Virtual Observatory data and services")
- (description
- "PyVO is a package providing access to remote data and services of the
-Virtual observatory (VO) using Python.")
- (license license:bsd-3)))
-
-(define-public python-reproject
- (package
- (name "python-reproject")
- (version "0.14.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "reproject" version))
- (sha256
- (base32 "0yg5dga054xdwsx75q204h04gmrw0mgayc74l4rpymcbkckymj2k"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "--arraydiff"
- "--arraydiff-default-format=fits"
- "--numprocesses" (number->string (parallel-job-count))
- "--pyargs" "reproject")
- #:phases
- #~(modify-phases %standard-phases
- ;; setup.py was removed in a659a260bdd7635cddc8f33c4ea04a3b6d8c1f84
- ;; for some unknown reason, which caused the package to fail to
- ;; build. It is being recreated based on that commit.
- ;; TODO: Check how to implement it in python-build-system.
- (add-after 'unpack 'create-setup.py
- (lambda _
- (call-with-output-file "setup.py"
- (lambda (port)
- (format port "from setuptools import setup
-from extension_helpers import get_extensions
-setup(ext_modules=get_extensions())")))))
- (add-before 'install 'writable-compiler
- (lambda _
- (make-file-writable "reproject/_compiler.c")))
- (add-before 'check 'writable-compiler
- (lambda _
- (make-file-writable "reproject/_compiler.c")))
- (add-before 'check 'prepare-test-environment
- (lambda _
- (setenv "HOME" "/tmp")
- ;; Cython extensions have to be built before running the tests.
- (invoke "python" "setup.py" "build_ext" "--inplace"))))))
- (propagated-inputs
- (list python-asdf
- python-astropy
- python-astropy-healpix
- python-cloudpickle
- python-dask
- python-fsspec
- python-gwcs
- python-numpy
- python-pyvo
- python-scipy
- python-shapely
- python-zarr))
- (native-inputs
- (list python-cython-3
- python-extension-helpers
- python-asdf
- python-gwcs
- python-pytest-astropy
- python-pytest-xdist
- python-pyvo
- ;; python-sunpy ; circular dependencies, test optional
- python-setuptools-scm
- python-wheel))
- (home-page "https://reproject.readthedocs.io")
- (synopsis "Astronomical image reprojection in Python")
- (description
- "This package provides a functionality to reproject astronomical images using
-various techniques via a uniform interface, where reprojection is the
-re-gridding of images from one world coordinate system to another e.g.
-changing the pixel resolution, orientation, coordinate system.")
- (license license:bsd-3)))
-
-(define-public python-sgp4
- (package
- (name "python-sgp4")
- (version "2.24")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "sgp4" version))
- (sha256
- (base32 "0ll3gxjf697llh6nvisxnj2h4hl23nq1m24ymsykz8kf4ygj8man"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-setuptools
- python-wheel))
- (propagated-inputs
- (list python-numpy))
- (home-page "https://github.com/brandon-rhodes/python-sgp4")
- (synopsis "Track earth satellite TLE orbits using SGP4")
- (description
- "This package provides a Python implementation for computations of the
-position and velocity of an earth-orbiting satellite, given the satellite’s
-@acronym{TLE, Two-line element set} orbital elements from a source like
-@url{CelesTrak, https://celestrak.org/}.
-
-It implements the most recent version of @acronym{SGP4, Simplified General
-Perturbation models}, and is regularly run against the SGP4 test suite to make
-sure that its satellite position predictions agree to within 0.1 mm with the
-predictions of the standard distribution of the algorithm. This error is far
-less than the 1–3 km/day by which satellites themselves deviate from the ideal
-orbits described in TLE files.")
- (license license:expat)))
-
(define-public python-spectral-cube
(package
(name "python-spectral-cube")
@@ -6847,13 +8225,13 @@ of axis order, spatial projections, and spectral units that exist in the wild.
(define-public python-specutils
(package
(name "python-specutils")
- (version "2.0.0")
+ (version "2.1.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "specutils" version))
(sha256
- (base32 "0ngq4r7awkbwdbi7a8isj6iw66xk3s26yjp0c0qvl6wvf9hby59r"))))
+ (base32 "02yf0s0qcwhj7qn0l3glvdlap4pr15s4hm2ki14py2k5sfv8j0ab"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -6884,11 +8262,11 @@ of axis order, spatial projections, and spectral units that exist in the wild.
(setenv "HOME" "/tmp"))))))
(native-inputs
(list python-matplotlib
+ python-pytest-asdf-plugin
python-pytest-astropy
python-setuptools
python-setuptools-scm
- python-spectral-cube
- python-wheel))
+ python-spectral-cube))
(propagated-inputs
(list python-asdf
python-asdf-astropy
@@ -7075,13 +8453,13 @@ and CAS statistics), as well as fitting 2D Sérsic profiles.")
(define-public python-stcal
(package
(name "python-stcal")
- (version "1.14.1")
+ (version "1.15.0")
(source
(origin
(method url-fetch)
(uri (pypi-uri "stcal" version))
(sha256
- (base32 "1y3w1nlb4f56f9w7ql1al35mj2xv53cagrnpqknl1kh6r6qg7pqj"))))
+ (base32 "0q27dw3gsv03kik63rclpg0si8qb2k7l8lhszi2b1948kb0spwnn"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -7124,7 +8502,7 @@ and CAS statistics), as well as fitting 2D Sérsic profiles.")
python-pytest
python-pytest-xdist
python-pytest-doctestplus
- python-setuptools-next
+ python-setuptools
python-setuptools-scm
python-wheel))
(propagated-inputs
@@ -7172,14 +8550,15 @@ and CAS statistics), as well as fitting 2D Sérsic profiles.")
python-crds
python-psutil
python-pytest
+ python-pytest-asdf-plugin
python-pytest-doctestplus
python-pytest-xdist
python-scipy
- python-setuptools-next
- python-setuptools-scm-next
+ python-setuptools
+ python-setuptools-scm
python-wheel))
(propagated-inputs
- (list python-asdf
+ (list python-asdf-4
python-asdf-astropy
python-astropy
python-numpy))
@@ -7215,8 +8594,8 @@ implemented in the @acronym{JWST, James Webb Space Telescope} and
(native-inputs
(list python-pytest
python-pytest-doctestplus
- python-setuptools-next
- python-setuptools-scm-next
+ python-setuptools
+ python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-asdf
@@ -7246,7 +8625,7 @@ implementing calibration pipeline software.")
(native-inputs
(list python-pytest
python-roman-datamodels
- python-setuptools-next
+ python-setuptools
python-setuptools-scm
python-wheel))
(propagated-inputs
@@ -7283,7 +8662,7 @@ implementing calibration pipeline software.")
;; <https://github.com/spacetelescope/stpsf/issues/76>.
#:tests? #f))
(native-inputs
- (list python-setuptools-next
+ (list python-setuptools
python-setuptools-scm
python-wheel))
(propagated-inputs
@@ -7305,780 +8684,6 @@ science instruments plus the fine guidance sensor, including both direct
imaging, coronagraphic, and spectroscopic modes.")
(license license:bsd-3)))
-(define-public python-pynbody
- (package
- (name "python-pynbody")
- (version "1.6.0.post0")
- (source
- (origin
- (method git-fetch) ;PyPi doesn't have not prebuit version.
- (uri (git-reference
- (url "https://github.com/pynbody/pynbody")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0rl9ais4yc6kdijq1il4vi3mplp7z6bcih4x55axhan5n3n7riwi"))
- (modules '((guix build utils)))
- (snippet
- ;; Symlink goes to not existing directory.
- #~(for-each delete-file '("docs/testdata"
- "docs/tutorials/example_code/testdata")))))
- (build-system pyproject-build-system)
- (arguments
- (list #:test-flags #~(list
- ;; Disable tests which need to download additional
- ;; 1.0GiB+ of test data archive from
- ;; http://star.ucl.ac.uk/~app/testdata.tar.gz
- ;; https://github.com/pynbody/pynbody/blob/ \
- ;; f4bd482dc47532831b3ec115c7cb07149d61bfc5/ \
- ;; .github/workflows/build-test.yaml#L41
- ;; See <https://github.com/pynbody/pynbody/issues/778>
- "--ignore=tests/copy_on_access_test.py"
- "--ignore=tests/gravity_test.py"
- "--ignore=tests/adaptahop_test.py"
- "--ignore=tests/ahf_halos_test.py"
- "--ignore=tests/array_test.py"
- "--ignore=tests/bridge_test.py"
- "--ignore=tests/family_test.py"
- "--ignore=tests/partial_tipsy_test.py"
- "--ignore=tests/snapshot_test.py"
- "--ignore=tests/test_profile.py"
- "--ignore=tests/gadget_test.py"
- "--ignore=tests/gadgethdf_test.py"
- "--ignore=tests/grafic_test.py"
- "--ignore=tests/halotools_test.py"
- "--ignore=tests/nchilada_test.py"
- "--ignore=tests/ramses_new_ptcl_format_test.py"
- "--ignore=tests/ramses_test.py"
- "--ignore=tests/rockstar_test.py"
- "--ignore=tests/sph_image_test.py"
- "--ignore=tests/sph_smooth_test.py"
- "--ignore=tests/subfind_test.py"
- "--ignore=tests/subfindhdf_gadget4_test.py"
- "--ignore=tests/tipsy_test.py"
- "-k"
- (string-append
- "not test_div_curl_smoothing"
- " and not test_float_kd"
- " and not test_kd_delete"
- " and not test_kd_issue_88"
- " and not test_kdtree_from_existing_kdtree"
- " and not test_kdtree_shared_mem"
- " and not test_neighbour_list"
- " and not test_particles_in_sphere"
- " and not test_periodic_smoothing"
- " and not test_smooth"
- " and not test_smooth_WendlandC2"))
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'build 'set-compiler
- (lambda _
- (setenv "CC" #$(cc-for-target)))))))
- (native-inputs
- (list python-cython
- python-pandas
- python-pytest
- python-setuptools
- python-wheel))
- (propagated-inputs
- (list python-h5py
- python-matplotlib
- python-numpy
- python-posix-ipc
- python-scipy))
- (home-page "https://pynbody.github.io/pynbody/index.html")
- (synopsis "Light-weight astronomical N-body/SPH analysis for python")
- (description "@code{Pynbody} is an analysis framework for N-body and hydrodynamic
-astrophysical simulations supporting PKDGRAV/Gasoline, Gadget, Gadget4/Arepo,
-N-Chilada and RAMSES AMR outputs.")
- (license license:gpl3+)))
-
-(define-public python-pysat
- (package
- (name "python-pysat")
- (version "3.2.2")
- (source
- (origin
- (method git-fetch) ; no tests data in the PyPI tarball
- (uri (git-reference
- (url "https://github.com/pysat/pysat")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0gm71zafigwc94s37wqyl86yjabpq6wx9izwxag74wg1ynhqyvf0"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "--durations=10" ; report 10 slowest tests
- ;; Tests require pysatSpaceWeather which is not packed yet.
- "--ignore=pysat/tests/test_utils_files.py"
- "-k" "not test_from_os")
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'check 'pre-check
- (lambda _
- ;; Do not run test coverage.
- (substitute* "pyproject.toml"
- ((".*addopts.*cov.*") ""))
- ;; No such file or directory: '/homeless-shelter/.pysat'
- (setenv "HOME" "/tmp")
- (mkdir "pysatData")
- (invoke "python" "-c"
- "import pysat; pysat.params['data_dirs'] = 'pysatData'"))))))
- (native-inputs
- (list python-pytest
- python-pytest-xdist
- python-setuptools
- python-wheel))
- (propagated-inputs
- (list python-dask
- python-netcdf4
- python-numpy
- python-pandas
- python-portalocker
- python-scipy
- python-toolz
- python-xarray))
- (home-page "https://github.com/pysat/pysat")
- (synopsis "Supports science analysis across disparate data platforms")
- (description
- "The Python Satellite Data Analysis Toolkit (pysat) provides a simple and
-flexible interface for robust data analysis from beginning to end - including
-downloading, loading, cleaning, managing, processing, and analyzing
-data. Pysat's plug-in design allows analysis support for any data, including
-user provided data sets.")
- (license license:bsd-3)))
-
-(define-public python-pysiaf
- (package
- (name "python-pysiaf")
- (version "0.24.1")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "pysiaf" version))
- (sha256
- (base32 "0jgs50jmisv7b7am677q2c3kqjk0fch8gpvijzhdllhkav9wdhs0"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "--numprocesses" (number->string (parallel-job-count))
- ;; Disable 2 failing tests, see
- ;; <https://github.com/spacetelescope/pysiaf/issues/338>
- "-k" (string-append "not test_write_jwst_siaf_xlsx"
- " and not test_write_jwst_siaf_xml" ))))
- (native-inputs
- (list python-pytest
- python-pytest-xdist
- python-setuptools
- python-setuptools-scm
- python-wheel))
- (propagated-inputs
- (list python-astropy
- python-lxml
- python-matplotlib
- python-numpy
- python-openpyxl
- python-requests
- python-scipy))
- (home-page "https://pysiaf.readthedocs.io/")
- (synopsis "Handling SIAF for space telescopes")
- (description
- "@code{pysiaf} is a python package to access, interpret, maintain, and
-generate @acronym{Handling of Science Instrument Aperture Files, SIAF}, in
-particular for JWST. Tools for applying the frame transformations, plotting,
-comparison, and validation are provided.")
- (license license:bsd-3)))
-
-(define-public python-pysynphot
- ;; XXX: 2.0.0 was released in 2021 there are a lot of changes since that
- ;; time and it failed to build with python-astropy 6.0.0, use the latest
- ;; upstream commit for now.
- (let ((commit "54e9e2a624910c4d177ca70f8e9fb8110c8fae5b")
- (revision "0"))
- (package
- (name "python-pysynphot")
- (version (git-version "2.0.0" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/spacetelescope/pysynphot")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "09sivpfqilk86zp8k5wmrs4g48m4kypn34jcy95y5h4ygbn5zbzy"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'build 'set-version
- (lambda _
- (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" "2.0.0")))
- (add-before 'check 'set-env-data-path
- (lambda _
- (setenv "PYSYN_CDBS" (string-append #$output "/crds")))))))
- (native-inputs
- (list python-pytest
- python-pytest-remotedata
- python-setuptools
- python-setuptools-scm
- python-wheel))
- (propagated-inputs
- (list python-astropy
- python-beautifulsoup4
- python-numpy
- python-pytest-astropy-header
- python-six))
- (home-page "https://github.com/spacetelescope/pysynphot")
- (synopsis "Python Synthetic Photometry Utilities")
- (description
- "Astrolib PySynphot (hereafter referred to only as pysynphot) is an
-object-oriented replacement for STSDAS SYNPHOT synthetic photometry package in
-IRAF. @code{pysynphot} simulates photometric data and spectra as they are
-observed with the Hubble Space Telescope (HST). Passbands for standard
-photometric systems are available, and users can incorporate their own filters,
-spectra, and data.")
- (license license:bsd-3))))
-
-(define-public python-sbpy
- (package
- (name "python-sbpy")
- (version "0.5.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "sbpy" version))
- (sha256
- (base32 "1xqi29rrh7v05zmvyl8gffrkrw5rlcxig1w6xw1v8f7ikydb5plv"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "--numprocesses" (number->string (parallel-job-count)))
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'check 'set-home-env
- (lambda _
- ;; Tests require HOME to be set.
- ;; No such file or directory: '/homeless-shelter/.astropy'
- (setenv "HOME" "/tmp"))))))
- (propagated-inputs
- (list python-ads
- python-astropy
- python-astroquery
- python-ginga
- python-numpy
- python-photutils
- ;python-pyoorb ;not packed yet in Guix
- python-pyyaml
- python-scipy
- python-synphot))
- (native-inputs
- (list python-pytest
- python-pytest-astropy
- python-pytest-doctestplus
- python-pytest-remotedata
- python-pytest-xdist
- python-setuptools-scm))
- (home-page "https://sbpy.org")
- (synopsis "Python module for small-body planetary astronomy")
- (description
- "@code{sbpy} is a package for small-body planetary astronomy. It is
-meant to supplement functionality provided by @code{astropy} with functions
-and methods that are frequently used in the context of planetary astronomy
-with a clear focus on asteroids and comets.
-Features:
-@itemize
-@item observation planning tools tailored to moving objects
-@item photometry models for resolved and unresolved observations
-@item wrappers and tools for astrometry and orbit fitting
-@item spectroscopy analysis tools and models for reflected solar light and
-emission from gas
-@item cometary gas and dust coma simulation and analysis tools
-@item asteroid thermal models for flux estimation and size/albedo estimation
-@item image enhancement tools for comet comae and PSF subtraction tools
-@item lightcurve and shape analysis tools
-@item access tools for various databases for orbital and physical data, as
-well as ephemerides services
-@end itemize")
- (license license:bsd-3)))
-
-(define-public python-sep-pjw
- (package
- (name "python-sep-pjw")
- (version "1.3.8")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "sep_pjw" version))
- (sha256
- (base32 "0lhxfq1acc6qc8nszfdrpwq6dizaypz3b6frknfv5qm59mb488r0"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags #~(list "test.py")))
- (native-inputs
- (list python-cython
- python-pytest
- python-setuptools
- python-setuptools-scm-next
- python-wheel))
- (propagated-inputs
- (list python-numpy
- python-sep))
- (home-page "https://github.com/PJ-Watson/sep-pjw")
- (synopsis "Alternative fork of SEP library")
- (description
- "This package provides an alternative maintained fork of SEP python
-library with bug fixtures.")
- (license (list license:expat license:lgpl3+ license:bsd-3))))
-
-(define-public python-asdf-standard
- (package
- (name "python-asdf-standard")
- (version "1.3.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "asdf_standard" version))
- (sha256
- (base32
- "0r7dxbiwngpwwjdbs2vqk94v1vjsgyilswkq180d5slx74grcn2r"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-asdf-bootstrap
- python-asdf-transform-schemas-bootstrap
- python-astropy-minimal
- python-jsonschema
- python-pypa-build
- python-pytest
- python-packaging
- python-setuptools-next
- python-setuptools-scm
- python-wheel))
- (home-page "https://asdf-standard.readthedocs.io/")
- (synopsis "ASDF standard schemas")
- (description
- "This package provides Python implementation of @acronym{ASDF, Advanced
-Scientific Data Format} - a proposed next generation interchange format for
-scientific data. ASDF aims to exist in the same middle ground that made FITS
-so successful, by being a hybrid text and binary format: containing human
-editable metadata for interchange, and raw binary data that is fast to load
-and use. Unlike FITS, the metadata is highly structured and is designed
-up-front for extensibility.")
- (license license:bsd-3)))
-
-(define-public python-asdf-coordinates-schemas
- (hidden-package
- (package
- (name "python-asdf-coordinates-schemas")
- (version "0.4.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "asdf_coordinates_schemas" version))
- (sha256
- (base32 "1i5w1v74b84ygbd9pw9cs35bjaqs35f5iavazhjpbycqr1pf8rvh"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "--numprocesses" (number->string (parallel-job-count)))))
- (native-inputs
- (list python-pytest
- python-pytest-xdist
- python-setuptools-next
- python-setuptools-scm
- python-wheel))
- (propagated-inputs
- (list python-asdf))
- (home-page "https://github.com/asdf-format/asdf-coordinates-schemas")
- (synopsis "ASDF coordinates schemas")
- (description
- "This package provides ASDF schemas for validating coordinates tags.
-Users should not need to install this directly; instead, install an
-implementation package such as asdf-astropy.")
- (license license:bsd-3))))
-
-(define-public python-asdf-fits-schemas
- (hidden-package
- ;; This package was never released and has been archived. The schemas in
- ;; this package were never removed from and will continue to be maintained
- ;; in <https://github.com/asdf-format/asdf-standard>.
- (let ((commit "6321c0ae4e44c9a59ccf81a446f9d9e22fd42b55")
- (revision "2"))
- (package
- (name "python-asdf-fits-schemas")
- (version (git-version "0.0.1" revision commit))
- (source
- (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/asdf-format/asdf-fits-schemas")
- (commit commit)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0p0m1sgnv9yqk0l0w15skvfshl47x0gc7lg6p2x83158hjyix5q6"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:tests? #f ; cycle with python-asdf
- #:phases
- #~(modify-phases %standard-phases
- (add-before 'build 'set-version
- (lambda _
- (setenv "SETUPTOOLS_SCM_PRETEND_VERSION" "0.0.1"))))))
- (native-inputs
- (list python-setuptools
- python-setuptools-scm
- python-wheel))
- (propagated-inputs
- (list python-asdf-standard
- python-importlib-resources))
- (home-page "https://github.com/asdf-format/asdf-fits-schemas")
- (synopsis "ASDF schemas to support the FITS format")
- (description
- "This package provides ASDF schemas for validating FITS tags.")
- (license license:bsd-3)))))
-
-(define-public python-asdf-wcs-schemas
- (hidden-package
- (package
- (name "python-asdf-wcs-schemas")
- (version "0.5.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "asdf_wcs_schemas" version))
- (sha256
- (base32 "1dar2pzf2plwyl1rbmnv8fqvx1ljgpf3z39d4ybmn690djjdsyxg"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags #~(list "tests")))
- (native-inputs
- (list python-asdf
- python-pytest
- python-pytest-openfiles
- python-setuptools-next
- python-setuptools-scm
- python-wheel))
- (propagated-inputs
- (list python-asdf-coordinates-schemas
- python-asdf-standard
- python-asdf-transform-schemas))
- (home-page "https://github.com/asdf-format/asdf-wcs-schemas")
- (synopsis "ASDF WCS Schemas")
- (description
- "This package provides ASDF schemas for validating World Coordinate
-System (WCS) tags. Users should not need to install this directly; instead,
-install an implementation package such as gwcs.")
- (license license:bsd-3))))
-
-(define-public python-pint-pulsar
- (package
- (name "python-pint-pulsar")
- (version "1.1.3")
- (source
- (origin
- (method git-fetch) ; no tests data in the PyPI tarball
- (uri (git-reference
- (url "https://github.com/nanograv/PINT")
- (commit version)))
- (file-name (git-file-name name version))
- (sha256
- (base32 "0n66z7v30q1981hx4q5vy3mibrh453gak8dd938038r5mwddya3f"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "-k" (string-join
- ;; Tests failing with assertion on not correct precision
- ;; or missing data files.
- (list "not test_astropy_observatory"
- "test_copy_wideband_fitter_object"
- "test_IERS_B_builtin_agree_with_IERS_Auto_dX"
- "test_astropy_observatory"
- "test_time_construction_jds_exact[tdb]"
- "test_copy_toa_object"
- "test_copy_residuals"
- "test_copy_fitter_object")
- " and not ")
- ;; XXX: The most of the tests require additional data, select
- ;; files where they may run without it and check how to enable
- ;; more.
- "tests/test_Galactic.py"
- "tests/test_all_component_and_model_builder.py"
- "tests/test_astrometry.py"
- "tests/test_astropy_observatory.py"
- "tests/test_astropy_times.py"
- "tests/test_astropy_version.py"
- "tests/test_binary_generic.py"
- "tests/test_binconvert.py"
- "tests/test_compare.py"
- "tests/test_compare_model.py"
- "tests/test_compare_model_ecl_vs_icrs.py"
- "tests/test_convert_parfile.py"
- "tests/test_copy.py"
- "tests/test_covariance_matrix.py"
- "tests/test_datafiles.py"
- "tests/test_derived_quantities.py"
- "tests/test_derivedparams.py"
- "tests/test_dmxrange_add_sub.py"
- "tests/test_erfautils.py"
- "tests/test_eventstats.py"
- "tests/test_funcpar.py"
- "tests/test_kepler.py"
- "tests/test_leapsec.py"
- "tests/test_model_manual.py"
- "tests/test_numpy.py"
- "tests/test_observatory_envar.py"
- "tests/test_observatory_metadata.py"
- "tests/test_parfile.py"
- "tests/test_parunits.py"
- "tests/test_pb.py"
- "tests/test_phase.py"
- "tests/test_pickle.py"
- "tests/test_plk_widget.py"
- "tests/test_plot_utils.py"
- "tests/test_plrednoise.py"
- "tests/test_pmtransform_units.py"
- "tests/test_precision.py"
- "tests/test_prefix_param_inheritance.py"
- "tests/test_priors.py"
- "tests/test_process_parfile.py"
- "tests/test_pulsar_mjd.py"
- "tests/test_pulsar_position.py"
- "tests/test_reduced_precision.py"
- "tests/test_satobs.py"
- "tests/test_t2binary2pint.py"
- "tests/test_tcb2tdb.py"
- "tests/test_templates.py"
- "tests/test_variety_parfiles.py"
- "tests/test_version.py")
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'remove-deprecated-scripts
- ;; ImportError: cannot import name 'CompositeMCMCFitter' from
- ;; 'pint.mcmc_fitter'.
- ;;
- ;; Removed in 1.1.3: Broken fitter class `CompositeMCMCFitter`
- ;; (this fitter was added seemingly to deal with combined radio and
- ;; high-energy datasets, but has since been broken for a while.)
- (lambda _
- (substitute* "pyproject.toml"
- (("event_optimize_multiple.*") "")))))))
- (native-inputs
- (list python-pytest
- python-setuptools
- python-versioneer
- python-wheel))
- (propagated-inputs
- (list python-astropy
- python-corner
- python-emcee
- python-jplephem
- python-loguru
- python-matplotlib
- python-nestle
- python-numdifftools
- python-numpy
- python-pyerfa
- python-scipy
- python-uncertainties))
- (home-page "https://github.com/nanograv/PINT")
- (synopsis "Software for high-precision pulsar timing")
- (description
- "PINT is not TEMPO3 - package providing a Pulsar Timing, written in
-Python from scratch.
-Features:
-@itemize
-@item a robust system to produce high-precision timing results that is
-completely independent of TEMPO and Tempo2
-@item a system that is easy to extend and modify due to a good design
-and the use of a modern programming language, techniques, and libraries
-@end itemize")
- (license license:bsd-3)))
-
-(define-public python-rad
- (package
- (name "python-rad")
- (version "0.26.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "rad" version))
- (sha256
- (base32 "0vxkjsj9bdl84076lbric4jn531jv46i2wwfxak50i5mik8r7zjg"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- ;; 1131 passed, 1 skipped
- #:test-flags
- ;; Ignore tests requiring python-crds to break cycle:
- ;; python-rad -> python-roman-datamodels -> python-crds -> python-rad
- #~(list "--ignore=tests/test_schemas.py"
- ;; E git.exc.InvalidGitRepositoryError
- "--ignore=tests/test_versioning.py"
- ;; E TypeError: the JSON object must be str, bytes or bytearray,
- ;; not NoneType
- "--ignore=tests/test_latest.py")))
- (native-inputs
- (list python-pytest
- python-pytest-doctestplus
- python-semantic-version
- python-setuptools-next
- python-setuptools-scm
- python-wheel))
- (propagated-inputs
- (list python-asdf
- python-asdf-astropy))
- (home-page "https://github.com/spacetelescope/rad")
- (synopsis "Roman Attribute Dictionary")
- (description
- "@acronym{RAD, The Roman Attribute Dictionary} is package which defines
-schemas for the Nancy Grace Roman Space Telescope shared attributes for
-processing and archive. These schemas are schemas for the ASDF file file
-format, which are used by ASDF to serialize and deserialize data for the Nancy
-Grace Roman Space Telescope.")
- (license license:bsd-3)))
-
-(define-public python-radio-beam
- (package
- (name "python-radio-beam")
- (version "0.3.9")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "radio_beam" version))
- (sha256
- (base32 "0i76hj6wyijbpxx7n1sm12f0qqw15srk6ikq2cr589lvrixylpwv"))))
- (build-system pyproject-build-system)
- (native-inputs
- (list python-pytest-astropy
- python-setuptools
- python-setuptools-scm
- python-wheel))
- (propagated-inputs
- (list python-astropy
- python-matplotlib
- python-numpy
- python-scipy))
- (home-page "https://radio-beam.readthedocs.io/en/latest/")
- (synopsis "Operations for radio astronomy beams with Astropy")
- (description
- "Radio Beam is a simple toolkit for reading beam information from FITS
-headers and manipulating beams.
-Some example applications include:
-@itemize
-@item Convolution and deconvolution
-@item Unit conversion (Jy to/from K)
-@item Handle sets of beams for spectral cubes with varying resolution between
-channels
-@item Find the smallest common beam from a set of beams
-@item Add the beam shape to a matplotlib plot
-@end itemize")
- (license license:bsd-3)))
-
-(define-public python-regions
- (package
- (name "python-regions")
- (version "0.10")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "regions" version))
- (sha256
- (base32 "10cswrknj3qh9i1daynlx4ild66lwcyra5rs03h8s9j4l275274n"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "--numprocesses" (number->string (parallel-job-count)))
- #:phases
- #~(modify-phases %standard-phases
- (replace 'check
- (lambda* (#:key tests? test-flags #:allow-other-keys)
- (with-directory-excursion #$output
- (apply invoke "pytest" "-vv" test-flags)))))))
- (propagated-inputs
- (list python-astropy
- python-h5py
- python-matplotlib
- python-numpy
- python-scipy
- python-shapely))
- (native-inputs
- (list python-cython-3
- python-extension-helpers
- python-pytest-arraydiff
- python-pytest-astropy
- python-pytest-runner
- python-pytest-xdist
- python-setuptools
- python-setuptools-scm
- python-wheel))
- (home-page "https://github.com/astropy/regions")
- (synopsis "Package for region handling")
- (description "Regions is an Astropy package for region handling.")
- (license license:bsd-3)))
-
-(define-public python-roman-datamodels
- (package
- (name "python-roman-datamodels")
- (version "0.26.0")
- (source
- (origin
- (method url-fetch)
- (uri (pypi-uri "roman_datamodels" version))
- (sha256
- (base32 "0kiv139q6q3pjlalb16nqcyib8hmd9svr4y24s7g0as08x09d7zl"))))
- (build-system pyproject-build-system)
- (arguments
- (list
- #:test-flags
- #~(list "--numprocesses" (number->string (parallel-job-count)))
- #:phases
- #~(modify-phases %standard-phases
- (add-after 'unpack 'set-env
- (lambda _
- (setenv "HOME" "/tmp"))))))
- (native-inputs
- (list python-pandas
- python-pytest
- python-pytest-doctestplus
- python-pytest-env
- python-pytest-xdist
- python-setuptools-next
- python-setuptools-scm
- python-wheel))
- (propagated-inputs
- (list python-asdf
- python-asdf-astropy
- python-asdf-standard
- python-astropy
- python-gwcs
- python-lz4
- python-numpy
- python-pyarrow
- python-rad))
- (home-page "https://github.com/spacetelescope/roman_datamodels")
- (synopsis "Roman Datamodels Support")
- (description
- "This package provides a Python package of Roman Datamodels for the
-calibration pipelines started with the @acronym{JWST, James Webb Space
-Telescope} calibration pipelines. The goal for the JWST pipelines was motivated
-primarily by the need to support FITS data files, specifically with isolating
-the details of where metadata and data were located in the FITS file from the
-representation of the same items within the Python code. That is not a concern
-for Roman since FITS format data files will not be used by the Roman calibration
-pipelines.")
- (license license:bsd-3)))
-
(define-public python-stsci-image
(package
(name "python-stsci-image")
@@ -8100,8 +8705,8 @@ pipelines.")
(invoke "python" "setup.py" "build_ext" "--inplace"))))))
(native-inputs
(list python-pytest
- python-setuptools-next
- python-setuptools-scm-next
+ python-setuptools
+ python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-numpy
@@ -8148,20 +8753,19 @@ task}.")
(define-public python-stsci-skypac
(package
(name "python-stsci-skypac")
- (version "1.0.10")
+ (version "1.0.11")
(source
(origin
(method url-fetch)
(uri (pypi-uri "stsci_skypac" version))
(sha256
- (base32 "0amfknfxzrmia0d8x83i9h2v5760ynvfgfs0kzpb1ib0vyaci671"))))
+ (base32 "1pfgcgcgwvlil4m0v7d6raya70s74knimfh8yn634kapf24xxy1k"))))
(build-system pyproject-build-system)
(arguments
(list #:tests? #f)) ; no tests in PyPI or git
(native-inputs
(list python-setuptools
- python-setuptools-scm-next
- python-wheel))
+ python-setuptools-scm))
(propagated-inputs
(list python-astropy
python-numpy
@@ -8236,7 +8840,7 @@ processing functions: @code{xyxymatch}, @code{geomap}.")
python-pytest-astropy-header
python-pytest-doctestplus
python-setuptools
- python-setuptools-scm-next
+ python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-astropy
@@ -8344,7 +8948,7 @@ packages for HST.")
(list nss-certs-for-test
python-pytest
python-setuptools
- python-setuptools-scm-next
+ python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-astropy
@@ -8386,12 +8990,13 @@ Telescope, HST}).")
;; For tests: Permission denied: '/homeless-shelter'
(setenv "HOME" "/tmp"))))))
(native-inputs
- (list python-dask
+ (list nss-certs-for-test
+ python-dask
python-pytest-astropy
python-pytest-mpl
python-pytest-xdist
python-setuptools
- python-setuptools-scm-next
+ python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-astropy
@@ -8429,16 +9034,16 @@ Telescope, HST}).")
(lambda _
(setenv "HOME" "/tmp"))))))
(native-inputs
- (list python-pytest
+ (list nss-certs-for-test
+ python-pytest
python-pytest-arraydiff
python-pytest-doctestplus
python-pytest-xdist
python-reproject
python-setuptools
- python-setuptools-scm-next
+ python-setuptools-scm
python-streamtracer
- python-sympy
- python-wheel))
+ python-sympy))
(propagated-inputs
(list python-astropy
python-numpy
@@ -8492,7 +9097,7 @@ and @code{astropy}.")
(delete 'sanity-check))))
(native-inputs
(list python-setuptools
- python-setuptools-scm-next
+ python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-corner
@@ -8517,23 +9122,30 @@ SunPy.")
(define-public python-sunpy
(package
(name "python-sunpy")
- (version "6.1.1")
+ (version "7.0.1")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sunpy" version))
(sha256
- (base32 "1nqk5q4gd7w59zsps8gyzh6r1mmpzia0z5494za6na5vn2qsc2f6"))))
+ (base32 "1q7z74jf9r65clrq7g6mqqap6455krfp4mxbjs3039jk5gs8d47m"))))
(build-system pyproject-build-system)
(arguments
(list
+ ;; tests: 2439 passed, 3 xfailed, 35 warnings
#:test-flags
#~(list "--pyargs" "sunpy"
"--numprocesses" (number->string (min 8 (parallel-job-count)))
- ;; Test introduces a time bomb and fails with error: ValueError:
+ "-m" "not remote_data"
+ ;; [1] Test introduces a time bomb and fails with error: ValueError:
;; interpolating from IERS_Auto using predictive values that are
;; more than 30.0 days old.
- "-k" "not test_print_params")
+ ;; [2,3] Failed: DID NOT RAISE <class 'ModuleNotFoundError'>
+ "-k" (string-join
+ (list "not test_print_params" ;1
+ "test_main_nonexisting_module" ;2
+ "test_main_stdlib_module") ;3
+ " and not "))
#:phases
#~(modify-phases %standard-phases
(add-after 'unpack 'remove-test-files
@@ -8553,20 +9165,19 @@ SunPy.")
(with-directory-excursion "/tmp"
(apply invoke "pytest" "-vv" test-flags))))))))
(native-inputs
- (list opencv ; For tests, includes OpenCV-Python
+ (list nss-certs-for-test
+ opencv ; For tests, includes OpenCV-Python
python-aiohttp
python-extension-helpers
python-hvpy
python-jplephem
;; python-mplcairo ; Not packed yet in Guix
- python-packaging
python-pytest-astropy
python-pytest-mock
python-pytest-mpl
python-pytest-xdist
python-setuptools
- python-setuptools-scm-next
- python-wheel))
+ python-setuptools-scm))
(propagated-inputs
(list python-asdf
python-asdf-astropy
@@ -8583,10 +9194,12 @@ SunPy.")
python-matplotlib
python-mpl-animators
python-numpy
+ python-packaging
python-pandas
python-parfive
python-pyerfa
python-reproject
+ python-requests
python-scikit-image
python-scipy
;; python-spiceypy ; Not packed yet in Guix, long journey.
@@ -8610,14 +9223,15 @@ to the SolarSoft data analysis environment.")
((#:tests? _ #t) #f)))
(native-inputs
(list python-setuptools
- python-setuptools-scm-next
+ python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-astropy-minimal
python-fsspec
python-mpl-animators
python-parfive
- python-pyerfa)))))
+ python-pyerfa
+ python-requests)))))
(define-public python-sunpy-soar
(package
@@ -8660,17 +9274,20 @@ to the SolarSoft data analysis environment.")
" and not "))
#:phases
#~(modify-phases %standard-phases
+ ;; XXX: It fails to check SunPy's optional inputs versions.
+ (delete 'sanity-check)
(add-before 'check 'set-home-env
(lambda _
;; Tests require HOME to be set.
;; Permission denied: '/homeless-shelter'
(setenv "HOME" "/tmp"))))))
(native-inputs
- (list python-pytest
+ (list nss-certs-for-test
+ python-pytest
python-pytest-doctestplus
python-responses
python-setuptools
- python-setuptools-scm-next
+ python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-astropy
@@ -8687,31 +9304,20 @@ to the SolarSoft data analysis environment.")
(define-public python-sunraster
(package
(name "python-sunraster")
- (version "0.6.0")
+ (version "0.6.2")
(source
(origin
(method url-fetch)
(uri (pypi-uri "sunraster" version))
(sha256
- (base32 "1nyrhn7if7xpl97k6nzsxymdi6b77n61xlh1il3m58rdrjyp5q81"))))
+ (base32 "0rpxarw108igdgxvdz1g63yhyam6mgkpp7l1kkcxqyqv9najnrh4"))))
(build-system pyproject-build-system)
(arguments
(list
#:test-flags
#~(list "--numprocesses" (number->string (parallel-job-count))
"--ignore=docs/data_types/raster.rst"
- "--ignore=docs/data_types/spectrogram.rst"
- "-k" (string-join
- ;; XXX: Reported upstream:
- ;; <https://github.com/sunpy/sunraster/issues/281>
- (list "not test_apply_exposure_time_correction"
- "test_ndcube_components_after_slicing"
- "test_read_spice_l2_fits_multiple_files_dumbbells"
- "test_read_spice_l2_fits_multiple_rasters_multiple_windows"
- "test_read_spice_l2_fits_multiple_rasters_single_window"
- "test_read_spice_l2_fits_multiple_sns_multiple_windows"
- "test_read_spice_l2_fits_single_file_dumbbells")
- " and not "))
+ "--ignore=docs/data_types/spectrogram.rst")
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'pre-check
@@ -8720,14 +9326,14 @@ to the SolarSoft data analysis environment.")
;; '/homeless-shelter'
(setenv "HOME" "/tmp"))))))
(native-inputs
- (list python-pytest
+ (list nss-certs-for-test
+ python-pytest
python-pytest-astropy
python-pytest-doctestplus
python-pytest-xdist
- python-setuptools-next
- python-setuptools-scm-next
- python-sunpy-minimal
- python-wheel))
+ python-setuptools
+ python-setuptools-scm
+ python-sunpy-minimal))
(propagated-inputs
(list python-astropy
python-ndcube
@@ -8745,14 +9351,19 @@ analyze spectrogram data.")
(version "1.3.2")
(source
(origin
- (method url-fetch)
- (uri (pypi-uri "suntime" version))
+ (method git-fetch) ; no tests data in the PyPI tarball
+ (uri (git-reference
+ (url "https://github.com/SatAgro/suntime")
+ (commit (string-append "v" version))))
+ (file-name (git-file-name name version))
(sha256
- (base32 "1kyd1r6zcs0jmh5gq74adrnb1h7dfr1mzjq4k4vbngfiga8gfd28"))))
+ (base32 "145jqwnl8frg49981xcli1l13h73m40gkbnpwa88lhva03j7y1k2"))))
(build-system pyproject-build-system)
+ (arguments
+ (list #:test-flags #~(list "tests.py")))
(native-inputs
- (list python-setuptools
- python-wheel))
+ (list python-pytest
+ python-setuptools))
(propagated-inputs
(list python-dateutil))
(home-page "https://github.com/SatAgro/suntime")
@@ -8832,8 +9443,8 @@ of the old packages.")
(native-inputs
(list python-pytest
python-scipy
- python-setuptools-next
- python-setuptools-scm-next
+ python-setuptools
+ python-setuptools-scm
python-wheel))
(propagated-inputs
(list python-astropy
@@ -8929,6 +9540,9 @@ using (multivariate) polynomials.")
#:build-backend "setuptools.build_meta"
#:test-flags
#~(list "--numprocesses" (number->string (parallel-job-count))
+ ;; Failed: 'yield' keyword is allowed in fixtures, but not in
+ ;; tests (test_recipe)
+ "--ignore=doc/source/cookbook/tests/test_cookbook.py"
"-k" (string-join
;; Tests requiring networking.
(list "not test_load_sample_timeout"
@@ -8938,7 +9552,10 @@ using (multivariate) polynomials.")
"test_registry_byte_size_dtype"
"test_registry_byte_size_sign"
;; AssertionError: Arrays are not equal
- "test_field_cut_off_axis_octree")
+ "test_field_cut_off_axis_octree"
+ ;; UserWarning: pkg_resources is deprecated as an
+ ;; API
+ "test_glue_data_object")
" and not "))
#:phases
#~(modify-phases %standard-phases
@@ -9014,13 +9631,13 @@ using (multivariate) polynomials.")
(define-public python-yt-astro-analysis
(package
(name "python-yt-astro-analysis")
- (version "1.1.3")
+ (version "1.1.4")
(source
(origin
(method url-fetch)
(uri (pypi-uri "yt_astro_analysis" version))
(sha256
- (base32 "1fb3sdp6hq2c4c28pd33v9yj14x9l7qizf3y3qpl594qdq1ffmpi"))))
+ (base32 "0dy96084wvb7ccnnp22b6wacyjzn1n62i4mwq0q7nkp90bzx44a2"))))
(build-system pyproject-build-system)
(arguments
(list
@@ -9035,9 +9652,7 @@ using (multivariate) polynomials.")
(native-inputs
(list python-cython
python-pytest
- python-setuptools
- python-tomli
- python-wheel))
+ python-setuptools))
(propagated-inputs
(list python-h5py
python-numpy
@@ -9284,7 +9899,7 @@ It can be used to calculate the trajectory of satellites.")
(define-public siril
(package
(name "siril")
- (version "1.4.0-beta3")
+ (version "1.4.0-beta4")
(source
(origin
(method git-fetch)
@@ -9292,12 +9907,31 @@ It can be used to calculate the trajectory of satellites.")
(url "https://gitlab.com/free-astro/siril")
(commit version)))
(sha256
- (base32 "1frvi6879zh4bzm5smdy0scpjmj5pg2i81wb2wa4ikq1dq227x8k"))
- (file-name (git-file-name name version))))
+ (base32 "104wb5m2bb51mi3yqndp0s69281i6px5dxcwlldhjp85cwp3qv51"))
+ (file-name (git-file-name name version))
+ (modules '((guix build utils)))
+ (snippet
+ #~(begin
+ ;; Remove bundled libraries.
+ (for-each delete-file-recursively
+ (list "subprojects/healpix_cxx"
+ ;; TODO: Package htmesh, it's included in KSarts
+ ;; - URL: <https://invent.kde.org/education/kstars>
+ ;; - File: <kstars/htmesh>
+ ;; "subprojects/htmesh"
+ ;;
+ ;; TODO: Package kplot - Cairo plotting library
+ ;; <https://github.com/kristapsdz/kplot>.
+ ;; "subprojects/kplot"
+ "subprojects/wcslib"
+ "subprojects/librtprocess"
+ "subprojects/yyjson"))))))
(build-system meson-build-system)
(arguments
(list
#:glib-or-gtk? #t
+ #:configure-flags
+ #~(list "--wrap-mode=nodownload")
#:imported-modules `(,@%meson-build-system-modules
(guix build glib-or-gtk-build-system))
#:modules '((guix build meson-build-system)
@@ -9331,9 +9965,10 @@ It can be used to calculate the trajectory of satellites.")
ffms2
fftwf
gdk-pixbuf
- gtksourceview-4
gsl
gtk+
+ gtksourceview-4
+ healpix-cxx
json-glib
lcms-next
@@ -9471,7 +10106,7 @@ astronomical fields. SkyMaker is part of the
(define-public splash
(package
(name "splash")
- (version "3.11.4")
+ (version "3.11.5")
(source
(origin
(method git-fetch)
@@ -9480,7 +10115,7 @@ astronomical fields. SkyMaker is part of the
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "13p4hjdpr0yacgh8v3lf5vy1d0hdh5axbwpgi91wafm0xx6zpgkv"))))
+ (base32 "1sdfgn2rh1gq3n1ya55qhv9j8bf700f2lhp2k9avy1aix903ry36"))))
(build-system gnu-build-system)
(arguments
;; FIXME: Tests failed
@@ -9580,23 +10215,18 @@ deconvolution). Such post-processing is not performed by Stackistry.")
(license license:gpl3+)))
(define-public stellarium
- ;; XXX: 25.1 does not provide option to build with system MD4C, see
- ;; <https://github.com/Stellarium/stellarium/issues/4267>, using the latest
- ;; commit.
- (let ((commit "045915b9dca754f6eec1bdc311428eb3e98d1002")
- (revision "2"))
- (package
+ (package
(name "stellarium")
- (version (git-version "25.1" revision commit))
+ (version "25.2")
(source
(origin
(method git-fetch)
(uri (git-reference
- (url "https://github.com/Stellarium/stellarium")
- (commit commit)))
+ (url "https://github.com/Stellarium/stellarium")
+ (commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "1nrjfa1aq0inrbr66w8n8lqjkn0nsssjfl0dfrc4maynjp63gqkq"))))
+ (base32 "0fxdvybdcnlkjkyx1kqc7gg7p55qd4h1ri0mmn1xj2g5fxsbs0nr"))))
(build-system qt-build-system)
;; TODO: Complete documentation build and split into dedicated outputs.
(arguments
@@ -9605,11 +10235,11 @@ deconvolution). Such post-processing is not performed by Stackistry.")
#:tests? #f
#:configure-flags
#~(list "-DENABLE_GPS=1"
- ;; TODO: Enable when all of the dependencies are available for Qt6.
- "-DENABLE_QT6=0"
"-DENABLE_TESTING=0"
(string-append "-DCMAKE_CXX_FLAGS=-isystem "
- #$(this-package-input "qtserialport") "/include/qt5"))
+ #$(this-package-input "qtpositioning") "/include/qt6"
+ " -isystem "
+ #$(this-package-input "qtserialport") "/include/qt6"))
#:phases
#~(modify-phases %standard-phases
(add-before 'check 'set-offscreen-display
@@ -9617,24 +10247,25 @@ deconvolution). Such post-processing is not performed by Stackistry.")
(setenv "QT_QPA_PLATFORM" "offscreen")
(setenv "HOME" "/tmp"))))))
(inputs
- (list calcmysky-qt5
+ (list calcmysky
+ eigen
+ glm
gpsd
indi
libnova
md4c
nlopt
openssl
- qtbase-5
- qtcharts-5
- qtlocation-5
- qtmultimedia-5
+ qtbase
+ qtcharts
+ qtlocation
+ qtmultimedia
qtpositioning
- qtscript-5
- qtserialport-5
+ qtserialport
qttranslations
- qtwayland-5
- qtwebengine-5
- qxlsx-qt5
+ qtwayland
+ qtwebengine
+ qxlsx
zlib))
(native-inputs
(list doxygen
@@ -9643,7 +10274,7 @@ deconvolution). Such post-processing is not performed by Stackistry.")
mesa
perl
python-wrapper
- qttools-5))
+ qttools))
(home-page "https://stellarium.org/")
(synopsis "3D sky viewer")
(description
@@ -9651,7 +10282,7 @@ deconvolution). Such post-processing is not performed by Stackistry.")
3D, just like what you see with the naked eye, binoculars, or a telescope. It
can be used to control telescopes over a serial port for tracking celestial
objects.")
- (license license:gpl2+))))
+ (license license:gpl2+)))
(define-public stuff
;; XXX: No version tag available in GitHub.
@@ -9896,6 +10527,80 @@ See related paper
@url{https://ui.adsabs.harvard.edu/abs/2006MNRAS.369..655H/abstract}.")
(license license:gpl3+)))
+(define-public tenmon
+ (package
+ (name "tenmon")
+ (version "20250915")
+ (source
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://gitea.nouspiro.space/nou/tenmon")
+ (commit version)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32 "0ay95kdsmv4xli25l7khga4ldwy4irrfc15649s3mgqcd5gl3pfw"))))
+ (build-system cmake-build-system)
+ (arguments
+ (list
+ #:tests? #f ;no test target
+ #:configure-flags
+ #~(list "-DCMAKE_C_FLAGS=-Wno-error=implicit-function-declaration")
+ #:phases
+ #~(modify-phases %standard-phases
+ ;; libxisf is expected to be found as git submodule, link it before
+ ;; build.
+ (add-after 'unpack 'link-libxisf
+ (lambda _
+ (rmdir "libXISF")
+ (symlink #+(package-source (this-package-native-input "libxisf"))
+ (string-append (getcwd) "/libXISF")))))))
+ (native-inputs
+ (list git-minimal/pinned
+ libxisf-for-tenmon
+ pkg-config ))
+ (inputs
+ (list cfitsio
+ glu
+ gsl
+ libexif
+ libraw
+ qtbase
+ qtcharts
+ qtdeclarative
+ wcslib
+ zstd
+ (list zstd "lib")))
+ (home-page "https://nouspiro.space/?page_id=206")
+ (synopsis "FITS and XISF image viewer, converter and indexer")
+ (description
+ "FITS/XISF image viewer with multithreaded image loading. It is intended
+primarily for viewing astro photos and images with support of following
+formats:
+
+@itemize
+@item FITS 8, 16 bit integer and 32 bit float
+@item XISF 8, 16 bit integer and 32 bit float
+@item RAW CR2, DNG, NEF
+@item JPEG, PNG, BMP, GIF, PBM, PGM, PPM and SVG images
+@end itemize
+
+Features:
+@itemize
+@item using same stretch function as PixInsight
+@item OpenGL accelerated drawing
+@item index and search FITS XISF header data
+@item quick mark images and then copy/move marked files
+@item convert FITS <-> XISF
+@item convert FITS/XISF -> JPEG/PNG
+@item image statistics mean, media, min, max
+@item support for WCS
+@item thumbnails
+@item convert CFA images to colour - debayer
+@item color space aware
+@end itemize")
+ (license license:gpl3+)))
+
(define-public unsio
;; There is no versioned tag, use the latest commit.
(let ((commit "ac48210ec24432ec3ad330c4203e7eb21876a921")
@@ -9934,7 +10639,7 @@ n-body file formats (nemo, Gadget binaries 1 and 2, Gadget hdf5, Ramses).")
(define-public uraniborg
(package
(name "uraniborg")
- (version "0.0.8")
+ (version "0.0.12")
(source
(origin
(method git-fetch)
@@ -9943,23 +10648,23 @@ n-body file formats (nemo, Gadget binaries 1 and 2, Gadget hdf5, Ramses).")
(commit (string-append "v" version))))
(file-name (git-file-name name version))
(sha256
- (base32 "0jr4sj42cg1b1n74yag1a4rbysk53s9a3qbd3sg5qaabvjs534v1"))))
+ (base32 "1n24c7ihz49piry36sfvig9qag948k4wkn9a7b5v7c1yax5ab4ap"))))
(build-system go-build-system)
(arguments
(list
- #:tests? #f ; XXX: tests require some config files which are not in Git
#:install-source? #f
#:import-path "bitbucket.org/dpnash/uraniborg"
#:phases
#~(modify-phases %standard-phases
(add-before 'build 'patch-config
- ;; TODO: This might be patched in the upstream, see
- ;; <https://codeberg.org/astronexus/uraniborg/issues/1>.
(lambda* (#:key import-path #:allow-other-keys)
(with-directory-excursion (string-append "src/" import-path)
(substitute* "consts.go"
- (("config/") (string-append #$output "/etc/uraniborg/"))
- (("data/") (string-append #$output "/share/uraniborg/data/")))
+ (("DEFAULT_BASE_DIR = \".\"") (format #f "DEFAULT_BASE_DIR = ~s" #$output))
+ (("\"config\"") (format #f "~s" "etc/uraniborg"))
+ (("\"data\"") (format #f "~s" "share/uraniborg/data"))
+ (("\"charts\"") (format #f "~s" "share/uraniborg/charts"))
+ (("\"fonts\"") (format #f "~s" "share/uraniborg/fonts")))
(substitute* (find-files "config" ".*\\.yaml$")
(("fonts/") (string-append #$output "/share/uraniborg/fonts/"))))))
(add-after 'install 'install-runtime-files
@@ -9967,11 +10672,19 @@ n-body file formats (nemo, Gadget binaries 1 and 2, Gadget hdf5, Ramses).")
(with-directory-excursion (string-append "src/" import-path)
(let ((etc (string-append #$output "/etc/uraniborg"))
(data (string-append #$output "/share/uraniborg/data"))
+ (charts (string-append #$output "/share/uraniborg/charts"))
(fonts (string-append #$output "/share/uraniborg/fonts")))
(copy-recursively "config" etc)
+ (copy-recursively "charts" charts)
(copy-recursively "fonts" fonts)
- (system* "gunzip" "data/athyg_32_subset.csv.gz")
- (install-file "data/athyg_32_subset.csv" data))))))))
+ (system* "gunzip" "data/athyg_33_subset.csv.gz")
+ (install-file "data/athyg_33_subset.csv" data)))))
+ (delete 'check)
+ (add-after 'install-runtime-files 'post-install-check
+ (lambda* (#:key tests? import-path #:allow-other-keys)
+ (when tests?
+ (with-directory-excursion (string-append "src/" import-path)
+ (invoke "go" "test" "-v" "./..."))))))))
(native-inputs
(list go-codeberg-org-astronexus-brahe
go-dario-cat-mergo
@@ -9990,7 +10703,10 @@ from the HYG catalog.
@code{uraniborg} lets you view the sky from both the solar system and from any
star in the AT-HYG catalog with a known distance (over 2.5 million stars
-currently).")
+currently).
+
+Base directory containing custom config, data, charts and fonts may be
+adjusted with command line option @code{-b}, by default set to store path.")
(license (list license:asl2.0 ;; Roboto fonts
license:silofl1.1 ;; Noto Sans fonts
license:gpl3+))))
@@ -10014,7 +10730,6 @@ currently).")
(build-system go-build-system)
(arguments
(list
- #:go go-1.24
#:install-source? #f
#:import-path "codeberg.org/astronexus/uranimator"))
(native-inputs