| 1 | ;;; GNU Guix --- Functional package management for GNU |
| 2 | ;;; Copyright © 2016 John Darrington <[email protected]> |
| 3 | ;;; Copyright © 2018–2023 Tobias Geerinckx-Rice <[email protected]> |
| 4 | ;;; Copyright © 2018-2023 Efraim Flashner <[email protected]> |
| 5 | ;;; Copyright © 2019 by Amar Singh <[email protected]> |
| 6 | ;;; Copyright © 2020 R Veera Kumar <[email protected]> |
| 7 | ;;; Copyright © 2020, 2021 Guillaume Le Vaillant <[email protected]> |
| 8 | ;;; Copyright © 2021-2026 Sharlatan Hellseher <[email protected]> |
| 9 | ;;; Copyright © 2021, 2022 Vinicius Monego <[email protected]> |
| 10 | ;;; Copyright © 2021 Greg Hogan <[email protected]> |
| 11 | ;;; Copyright © 2021 Foo Chuan Wei <[email protected]> |
| 12 | ;;; Copyright © 2023-2024 Iliya Tikhonenko <[email protected]> |
| 13 | ;;; Copyright © 2023 Andreas Enge <[email protected]> |
| 14 | ;;; Copyright © 2023, 2025 Simon Tournier <[email protected]> |
| 15 | ;;; Copyright © 2024-2025 Ricardo Wurmus <[email protected]> |
| 16 | ;;; Copyright © 2024 Andy Tai <[email protected]> |
| 17 | ;;; Copyright © 2024-2025 Artyom V. Poptsov <[email protected]> |
| 18 | ;;; Copyright © 2025 Vasilii Smirnov <[email protected]> |
| 19 | ;;; Copyright © 2025 Daniel Ziltener <[email protected]> |
| 20 | ;;; Copyright © 2025-2026 Hugo Buddelmeijer <[email protected]> |
| 21 | ;;; Copyright © 2025, 2026 Brendan Tildesley <[email protected]> |
| 22 | ;;; |
| 23 | ;;; This file is part of GNU Guix. |
| 24 | ;;; |
| 25 | ;;; GNU Guix is free software; you can redistribute it and/or modify it |
| 26 | ;;; under the terms of the GNU General Public License as published by |
| 27 | ;;; the Free Software Foundation; either version 3 of the License, or (at |
| 28 | ;;; your option) any later version. |
| 29 | ;;; |
| 30 | ;;; GNU Guix is distributed in the hope that it will be useful, but |
| 31 | ;;; WITHOUT ANY WARRANTY; without even the implied warranty of |
| 32 | ;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 33 | ;;; GNU General Public License for more details. |
| 34 | ;;; |
| 35 | ;;; You should have received a copy of the GNU General Public License |
| 36 | ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. |
| 37 | |
| 38 | (define-module (gnu packages astronomy) |
| 39 | #:use-module ((guix licenses) #:prefix license:) |
| 40 | #:use-module (guix build-system ant) |
| 41 | #:use-module (guix build-system cargo) |
| 42 | #:use-module (guix build-system cmake) |
| 43 | #:use-module (guix build-system copy) |
| 44 | #:use-module (guix build-system gnu) |
| 45 | #:use-module (guix build-system go) |
| 46 | #:use-module (guix build-system meson) |
| 47 | #:use-module (guix build-system pyproject) |
| 48 | #:use-module (guix build-system qt) |
| 49 | #:use-module (guix download) |
| 50 | #:use-module (guix gexp) |
| 51 | #:use-module (guix git-download) |
| 52 | #:use-module (guix packages) |
| 53 | #:use-module (guix utils) |
| 54 | #:use-module (gnu packages) |
| 55 | #:use-module (gnu packages algebra) |
| 56 | #:use-module (gnu packages audio) |
| 57 | #:use-module (gnu packages autotools) |
| 58 | #:use-module (gnu packages base) |
| 59 | #:use-module (gnu packages bash) |
| 60 | #:use-module (gnu packages bison) |
| 61 | #:use-module (gnu packages boost) |
| 62 | #:use-module (gnu packages build-tools) |
| 63 | #:use-module (gnu packages c) |
| 64 | #:use-module (gnu packages check) |
| 65 | #:use-module (gnu packages cmake) |
| 66 | #:use-module (gnu packages compression) |
| 67 | #:use-module (gnu packages curl) |
| 68 | #:use-module (gnu packages databases) |
| 69 | #:use-module (gnu packages documentation) |
| 70 | #:use-module (gnu packages compiler-tools) |
| 71 | #:use-module (gnu packages fontutils) |
| 72 | #:use-module (gnu packages fortran-xyz) |
| 73 | #:use-module (gnu packages freedesktop) |
| 74 | #:use-module (gnu packages gcc) |
| 75 | #:use-module (gnu packages geo) |
| 76 | #:use-module (gnu packages gettext) |
| 77 | #:use-module (gnu packages ghostscript) |
| 78 | #:use-module (gnu packages gl) |
| 79 | #:use-module (gnu packages glib) |
| 80 | #:use-module (gnu packages gnome) |
| 81 | #:use-module (gnu packages golang) |
| 82 | #:use-module (gnu packages golang-maths) |
| 83 | #:use-module (gnu packages golang-xyz) |
| 84 | #:use-module (gnu packages gperf) |
| 85 | #:use-module (gnu packages gps) |
| 86 | #:use-module (gnu packages graph) |
| 87 | #:use-module (gnu packages graphviz) |
| 88 | #:use-module (gnu packages gtk) |
| 89 | #:use-module (gnu packages image) |
| 90 | #:use-module (gnu packages image-processing) |
| 91 | #:use-module (gnu packages imagemagick) |
| 92 | #:use-module (gnu packages jupyter) |
| 93 | #:use-module (gnu packages libevent) |
| 94 | #:use-module (gnu packages libusb) |
| 95 | #:use-module (gnu packages linux) |
| 96 | #:use-module (gnu packages lua) |
| 97 | #:use-module (gnu packages machine-learning) |
| 98 | #:use-module (gnu packages markup) |
| 99 | #:use-module (gnu packages maths) |
| 100 | #:use-module (gnu packages mpi) |
| 101 | #:use-module (gnu packages multiprecision) |
| 102 | #:use-module (gnu packages ncurses) |
| 103 | #:use-module (gnu packages netpbm) |
| 104 | #:use-module (gnu packages nss) |
| 105 | #:use-module (gnu packages onc-rpc) |
| 106 | #:use-module (gnu packages parallel) |
| 107 | #:use-module (gnu packages pdf) |
| 108 | #:use-module (gnu packages perl) |
| 109 | #:use-module (gnu packages photo) |
| 110 | #:use-module (gnu packages pkg-config) |
| 111 | #:use-module (gnu packages plotutils) |
| 112 | #:use-module (gnu packages popt) |
| 113 | #:use-module (gnu packages pretty-print) |
| 114 | #:use-module (gnu packages python) |
| 115 | #:use-module (gnu packages python-build) |
| 116 | #:use-module (gnu packages python-check) |
| 117 | #:use-module (gnu packages python-compression) |
| 118 | #:use-module (gnu packages python-crypto) |
| 119 | #:use-module (gnu packages python-graphics) |
| 120 | #:use-module (gnu packages python-science) |
| 121 | #:use-module (gnu packages python-web) |
| 122 | #:use-module (gnu packages python-xyz) |
| 123 | #:use-module (gnu packages qt) |
| 124 | #:use-module (gnu packages readline) |
| 125 | #:use-module (gnu packages rust) |
| 126 | #:use-module (gnu packages serialization) |
| 127 | #:use-module (gnu packages specifications) |
| 128 | #:use-module (gnu packages sphinx) |
| 129 | #:use-module (gnu packages sqlite) |
| 130 | #:use-module (gnu packages statistics) |
| 131 | #:use-module (gnu packages swig) |
| 132 | #:use-module (gnu packages textutils) |
| 133 | #:use-module (gnu packages time) |
| 134 | #:use-module (gnu packages tls) |
| 135 | #:use-module (gnu packages version-control) |
| 136 | #:use-module (gnu packages video) |
| 137 | #:use-module (gnu packages vim) |
| 138 | #:use-module (gnu packages web) |
| 139 | #:use-module (gnu packages wxwidgets) |
| 140 | #:use-module (gnu packages xiph) |
| 141 | #:use-module (gnu packages xml) |
| 142 | #:use-module (gnu packages xorg) |
| 143 | #:use-module (ice-9 match) |
| 144 | #:use-module (ice-9 format) |
| 145 | #:use-module (srfi srfi-1)) |
| 146 | |
| 147 | (define-public alfa |
| 148 | (package |
| 149 | (name "alfa") |
| 150 | (version "2.3") |
| 151 | (source (origin |
| 152 | (method git-fetch) |
| 153 | (uri (git-reference |
| 154 | (url "https://github.com/rwesson/ALFA") |
| 155 | (commit (string-append "v" version)))) |
| 156 | (sha256 |
| 157 | (base32 |
| 158 | "1wi7pjra49qyyz8qz2qcgjcjck16ld0zczavxqn2xksdx1p99ajs")) |
| 159 | (file-name (git-file-name name version)))) |
| 160 | (build-system gnu-build-system) |
| 161 | (arguments |
| 162 | (list #:parallel-build? #f |
| 163 | #:make-flags #~(list (string-append "PREFIX=" |
| 164 | #$output) |
| 165 | (string-append "VERSION=" |
| 166 | #$version)) |
| 167 | #:tests? (not (or (%current-target-system) |
| 168 | ;; The test suite consumes all disk space |
| 169 | (target-riscv64?))) |
| 170 | #:test-target "fittest" |
| 171 | #:phases #~(modify-phases %standard-phases |
| 172 | (delete 'configure) |
| 173 | (delete 'check) |
| 174 | (add-after 'install 'post-install-check |
| 175 | (assoc-ref %standard-phases 'check))))) |
| 176 | (inputs (list cfitsio gfortran)) |
| 177 | (home-page "https://nebulousresearch.org/codes/alfa/") |
| 178 | (synopsis "Automated line fitting algorithm") |
| 179 | (description |
| 180 | "This package provides @acronym{ALFA, Automatic line fitting algorithm}, |
| 181 | which can identify and fit hundreds of lines in emission line spectra in just a |
| 182 | few seconds with following features: |
| 183 | @itemize |
| 184 | |
| 185 | @item A population of synthetic spectra is generated using a reference line |
| 186 | catalogue. |
| 187 | |
| 188 | @item The goodness of fit for each synthetic spectrum is calculated. The best |
| 189 | sets of parameters are retained and the rest discarded. |
| 190 | |
| 191 | @item A new population of synthetic spectra is obtained by averaging pairs of |
| 192 | the best performers. |
| 193 | |
| 194 | @item A small fraction of the parameters of the lines in the new generation are |
| 195 | randomly altered. |
| 196 | |
| 197 | @item The process repeats until a good fit is obtained. |
| 198 | @end itemize") |
| 199 | (license license:gpl3))) |
| 200 | |
| 201 | (define-public aocommon |
| 202 | (let ((commit "5f3f28099f354cfd4d077ed461c365ba46eb9ffb") |
| 203 | (revision "4")) |
| 204 | (package |
| 205 | (name "aocommon") |
| 206 | (version (git-version "0.0.0" revision commit)) |
| 207 | (source |
| 208 | (origin |
| 209 | (method git-fetch) |
| 210 | (uri (git-reference |
| 211 | (url "https://gitlab.com/aroffringa/aocommon") |
| 212 | (commit commit))) |
| 213 | (sha256 |
| 214 | (base32 "0a5bmjpx6g0hpr9v9njsmlza0inckcmhfhnkk3lipg32rl6b5398")) |
| 215 | (file-name (git-file-name name version)))) |
| 216 | (build-system copy-build-system) |
| 217 | (arguments |
| 218 | (list #:install-plan |
| 219 | #~'(("include/aocommon" "include/aocommon") |
| 220 | ("CMake" "CMake")))) |
| 221 | (home-page "https://gitlab.com/aroffringa/aocommon") |
| 222 | (synopsis "Collection of functionality that is reused in astronomical applications") |
| 223 | (description |
| 224 | "This package provides source-only AOCommon collection of functionality that is |
| 225 | reused in several astronomical applications, such as @code{wsclean}, |
| 226 | @code{aoflagger}, @code{DP3} and @code{everybeam}.") |
| 227 | (license license:gpl3+)))) |
| 228 | |
| 229 | (define-public aoflagger |
| 230 | (package |
| 231 | (name "aoflagger") |
| 232 | (version "3.5.0") |
| 233 | (source |
| 234 | (origin |
| 235 | (method git-fetch) |
| 236 | (uri (git-reference |
| 237 | (url "https://gitlab.com/aroffringa/aoflagger") |
| 238 | (commit (string-append "v" version)))) |
| 239 | (sha256 |
| 240 | (base32 "08r36xjw6hf3zc7w6qyk8bm049bzyl264ah0g03shzsci91lp8q9")) |
| 241 | (file-name (git-file-name name version)))) |
| 242 | (build-system cmake-build-system) |
| 243 | (arguments |
| 244 | (list |
| 245 | ;; Tests require external files download from |
| 246 | ;; https://www.astron.nl/citt/ci_data/aoflagger/ |
| 247 | #:tests? #f |
| 248 | #:configure-flags |
| 249 | #~(list (string-append "-DCASACORE_ROOT_DIR=" |
| 250 | #$(this-package-input "casacore"))) |
| 251 | #:phases |
| 252 | #~(modify-phases %standard-phases |
| 253 | ;; aocommon and pybind11 are expected to be found as git submodules, |
| 254 | ;; link them before build. |
| 255 | (add-after 'unpack 'link-submodule-package |
| 256 | (lambda _ |
| 257 | (rmdir "external/aocommon") |
| 258 | (symlink #$(this-package-native-input "aocommon") |
| 259 | (string-append (getcwd) "/external/aocommon"))))))) |
| 260 | (native-inputs |
| 261 | (list aocommon |
| 262 | boost |
| 263 | pkg-config |
| 264 | python |
| 265 | pybind11-2)) |
| 266 | (inputs |
| 267 | (list casacore |
| 268 | cfitsio |
| 269 | fftw |
| 270 | gsl |
| 271 | gtkmm |
| 272 | hdf5 |
| 273 | libpng |
| 274 | libsigc++ |
| 275 | libxml2 |
| 276 | lua |
| 277 | openblas |
| 278 | zlib)) |
| 279 | (home-page "https://gitlab.com/aroffringa/aoflagger") |
| 280 | (synopsis "Astronomical tool that can find and remove radio-frequency interference") |
| 281 | (description |
| 282 | "AOFlagger is a tool that can find and remove radio-frequency |
| 283 | interference (RFI) in radio astronomical observations. It can make use of Lua |
| 284 | scripts to make flagging strategies flexible, and the tools are applicable to |
| 285 | a wide set of telescopes.") |
| 286 | (license license:gpl3+))) |
| 287 | |
| 288 | (define-public astroterm |
| 289 | (package |
| 290 | (name "astroterm") |
| 291 | (version "1.2.0") |
| 292 | (source |
| 293 | (origin |
| 294 | (method git-fetch) |
| 295 | (uri (git-reference |
| 296 | (url "https://github.com/da-luce/astroterm") |
| 297 | (commit (string-append "v" version)))) |
| 298 | (file-name (git-file-name name version)) |
| 299 | (sha256 |
| 300 | (base32 "1p6rxv18gp989fmydbp75mrqxffjlqwp6xkdk18jj322hri0lidv")))) |
| 301 | (build-system meson-build-system) |
| 302 | (arguments |
| 303 | (list |
| 304 | #:phases |
| 305 | #~(modify-phases %standard-phases |
| 306 | (add-before 'configure 'copy-bsc5 |
| 307 | (lambda _ |
| 308 | (let* ((ybsc-input #+(this-package-native-input "specification-ybsc")) |
| 309 | (ybsc-file (string-append ybsc-input "/share/ybsc5"))) |
| 310 | (copy-file ybsc-file "./data/ybsc5")))) |
| 311 | (add-before 'configure 'fix-embed-sh-ref |
| 312 | (lambda _ |
| 313 | (substitute* "meson.build" |
| 314 | (("'../scripts/embed.sh'") |
| 315 | "meson.source_root() / 'scripts/embed.sh'"))))))) |
| 316 | (native-inputs |
| 317 | (list pkg-config python-wrapper specification-ybsc xxd)) |
| 318 | (inputs |
| 319 | (list ncurses argtable3)) |
| 320 | (home-page "https://github.com/da-luce/astroterm") |
| 321 | (synopsis "Planetarium for your terminal") |
| 322 | (description |
| 323 | "@code{astroterm} is a terminal-based star map written in C. It displays |
| 324 | the real-time positions of stars, planets, constellations, and more, all |
| 325 | within your terminal - no telescope required!") |
| 326 | (license license:expat))) |
| 327 | |
| 328 | (define-public calceph |
| 329 | (package |
| 330 | (name "calceph") |
| 331 | (version "5.0.0") |
| 332 | (source |
| 333 | (origin |
| 334 | (method git-fetch) |
| 335 | (uri (git-reference |
| 336 | (url "https://gitlab.obspm.fr/imcce_calceph/calceph") |
| 337 | (commit (string-append name "_" |
| 338 | (string-replace-substring version "." "_"))))) |
| 339 | (sha256 |
| 340 | (base32 "01ms8mfvbb3qf2qnkpd0biqpjawzfjkblfaw489czl78ad2hfa3d")) |
| 341 | (file-name (git-file-name name version)))) |
| 342 | (build-system cmake-build-system) |
| 343 | (native-inputs |
| 344 | (list gfortran)) |
| 345 | (home-page "https://www.imcce.fr/inpop/calceph") |
| 346 | (synopsis "Astronomical library to access the binary planetary ephemeris files") |
| 347 | (description |
| 348 | "The CALCEPH Library is designed to access the binary planetary ephemeris files, |
| 349 | such INPOPxx and JPL DExxx ephemeris files, (called @code{original JPL binary} or |
| 350 | @code{INPOP 2.0 or 3.0 binary} ephemeris files in the next sections) and the SPICE |
| 351 | kernel files (called @code{SPICE} ephemeris files in the next sections). At the |
| 352 | moment, supported SPICE files are: |
| 353 | |
| 354 | @itemize |
| 355 | @item text Planetary Constants Kernel (KPL/PCK) files; |
| 356 | @item binary PCK (DAF/PCK) files; |
| 357 | @item binary SPK (DAF/SPK) files containing segments of type 1, 2, 3, 5, 8, 9, |
| 358 | 12, 13, 17, 18, 19, 20, 21, 102, 103 and 120; |
| 359 | @item meta kernel (KPL/MK) files; |
| 360 | @item frame kernel (KPL/FK) files (only basic support). |
| 361 | @end itemize\n") |
| 362 | (license license:cecill))) |
| 363 | |
| 364 | (define-public calcmysky |
| 365 | (package |
| 366 | (name "calcmysky") |
| 367 | (version "0.4.0") |
| 368 | (source |
| 369 | (origin |
| 370 | (method git-fetch) |
| 371 | (uri (git-reference |
| 372 | (url "https://github.com/10110111/CalcMySky") |
| 373 | (commit (string-append "v" version)))) |
| 374 | (file-name (git-file-name name version)) |
| 375 | (sha256 |
| 376 | (base32 "0yavkxb15j8ylgsk6jbw3ni0vcky2wpmcl12qnv2py4j0cpcgq02")))) |
| 377 | (build-system cmake-build-system) |
| 378 | (arguments |
| 379 | (list #:configure-flags |
| 380 | #~(list "-DQT_VERSION=6" |
| 381 | "-DCMAKE_CXX_FLAGS=-fPIC"))) |
| 382 | (inputs |
| 383 | (list eigen glm qtbase)) |
| 384 | (home-page "https://10110111.github.io/CalcMySky/") |
| 385 | (synopsis "Simulator of light scattering by planetary atmospheres") |
| 386 | (description |
| 387 | "CalcMySky is a software package that simulates scattering of light by the |
| 388 | atmosphere to render daytime and twilight skies (without stars). Its primary |
| 389 | purpose is to enable realistic view of the sky in applications such as |
| 390 | planetaria. Secondary objective is to make it possible to explore atmospheric |
| 391 | effects such as glories, fogbows etc., as well as simulate unusual environments |
| 392 | such as on Mars or an exoplanet orbiting a star with a non-solar spectrum of |
| 393 | radiation. |
| 394 | |
| 395 | This package consists of three parts: |
| 396 | |
| 397 | @itemize |
| 398 | @item @code{calcmysky} utility that does the precomputation of the atmosphere |
| 399 | model to enable rendering. |
| 400 | |
| 401 | @item @code{libShowMySky} library that lets the applications render the |
| 402 | atmosphere model. |
| 403 | |
| 404 | @item @code{ShowMySky} preview GUI that makes it possible to preview the |
| 405 | rendering of the atmosphere model and examine its properties. |
| 406 | @end itemize") |
| 407 | (license (list license:gpl2 |
| 408 | license:gpl3)))) |
| 409 | |
| 410 | (define-public casacore |
| 411 | (package |
| 412 | (name "casacore") |
| 413 | (version "3.8.1") |
| 414 | (source |
| 415 | (origin |
| 416 | (method git-fetch) |
| 417 | (uri (git-reference |
| 418 | (url "https://github.com/casacore/casacore") |
| 419 | (commit (string-append "v" version)))) |
| 420 | (file-name (git-file-name name version)) |
| 421 | (sha256 |
| 422 | (base32 "13h1vkm64fhmdxyc9nnysj12wk5cjghs5pkmdrar6myqfazis2p0")))) |
| 423 | (build-system cmake-build-system) |
| 424 | (arguments |
| 425 | (list |
| 426 | ;; Note: There are multiple failures in |
| 427 | ;; tests which require additional measures data. They are |
| 428 | ;; distributed via FTP without any license: |
| 429 | ;; ftp://ftp.astron.nl/outgoing/Measures/ |
| 430 | ;; TODO: Check how to fix tests. |
| 431 | #:tests? #f |
| 432 | #:parallel-build? #t |
| 433 | #:configure-flags |
| 434 | #~(list "-DBUILD_PYTHON3=ON" |
| 435 | "-DBUILD_PYTHON=OFF" |
| 436 | "-DUSE_HDF5=ON" |
| 437 | "-DUSE_OPENMP=OFF" |
| 438 | "-DUSE_THREADS=ON" |
| 439 | (string-append "-DDATA_DIR=" #$output "/data") |
| 440 | (string-append "-DPYTHON3_EXECUTABLE=" |
| 441 | #$(this-package-input "python") "/bin") |
| 442 | (string-append "-DPYTHON3_INCLUDE_DIR=" |
| 443 | #$(this-package-input "python") "/include") |
| 444 | (string-append "-DPYTHON3_LIBRARY=" |
| 445 | #$(this-package-input "python") "/lib")) |
| 446 | #:phases |
| 447 | #~(modify-phases %standard-phases |
| 448 | (add-after 'unpack 'set-env |
| 449 | (lambda _ |
| 450 | (setenv "HOME" "/tmp"))) |
| 451 | (add-after 'unpack 'use-absolute-rm |
| 452 | (lambda* (#:key inputs #:allow-other-keys) |
| 453 | (substitute* "casa/OS/test/tFile.run" |
| 454 | (("/bin/rm") |
| 455 | (search-input-file inputs "/bin/rm"))))) |
| 456 | (add-after 'unpack 'use-absolute-python3 |
| 457 | (lambda _ |
| 458 | (substitute* "build-tools/casacore_floatcheck" |
| 459 | (("#!/usr/bin/env python") |
| 460 | (string-append "#!" (which "python3")))))) |
| 461 | ;; NOTE: (Sharlatan-20220611T200837+0100): Workaround for casacore |
| 462 | ;; tests stuck with missing "qsub" issue. |
| 463 | ;; https://github.com/casacore/casacore/issues/1122 |
| 464 | (add-after 'unpack 'patch-pre-test-checks |
| 465 | (lambda _ |
| 466 | (substitute* "build-tools/casacore_assay" |
| 467 | (("QSUBP=.*$") "QSUBP=\n") |
| 468 | (("YODP=.*$") "YODP=\n")))) |
| 469 | ;; XXX: It fails to find the stdlib types when the gfortran header |
| 470 | ;; is used. Remove gfortran from CPLUS_INCLUDE_PATH as a |
| 471 | ;; workaround. Taken from <https://issues.guix.gnu.org/73439#45>. |
| 472 | (add-after 'set-paths 'hide-gfortran |
| 473 | (lambda _ |
| 474 | (let ((gfortran #$(this-package-input "gfortran"))) |
| 475 | (setenv "CPLUS_INCLUDE_PATH" |
| 476 | (string-join |
| 477 | (delete (string-append gfortran "/include/c++") |
| 478 | (string-split (getenv "CPLUS_INCLUDE_PATH") #\:)) |
| 479 | ":")))))))) |
| 480 | (native-inputs |
| 481 | (list bison |
| 482 | boost |
| 483 | flex |
| 484 | readline)) |
| 485 | (inputs |
| 486 | (list cfitsio |
| 487 | fftw |
| 488 | fftwf |
| 489 | gfortran |
| 490 | gsl |
| 491 | hdf5 |
| 492 | libdeflate |
| 493 | ncurses |
| 494 | openblas |
| 495 | python |
| 496 | python-numpy |
| 497 | wcslib)) |
| 498 | (home-page "https://casacore.github.io/casacore/") |
| 499 | (synopsis "Suite of C++ libraries for radio astronomy data processing") |
| 500 | (description |
| 501 | "The casacore package contains the core libraries of the old |
| 502 | AIPS++/CASA (Common Astronomy Software Application) package. This split was |
| 503 | made to get a better separation of core libraries and applications. |
| 504 | @url{https://casa.nrao.edu/, CASA} is now built on top of Casacore.") |
| 505 | (license license:gpl2+))) |
| 506 | |
| 507 | (define-public casacore-data |
| 508 | ;; Meeasures data is updated daily and distributed via Westerbork Synthesis |
| 509 | ;; Radio Telescope (WSRT) FTP server. |
| 510 | (package |
| 511 | (name "casacore-data") |
| 512 | (version "20260715-160001") |
| 513 | (source |
| 514 | (origin |
| 515 | (method url-fetch) |
| 516 | (uri (string-append "ftp://ftp.astron.nl/outgoing/Measures/" |
| 517 | "WSRT_Measures_" version ".ztar")) |
| 518 | (sha256 |
| 519 | (base32 "1mrajq3wjnixm0j7lmfjr8pyn3y5ajviisx24r4vib6ybkg7lq7i")))) |
| 520 | (build-system copy-build-system) |
| 521 | (arguments |
| 522 | (list |
| 523 | #:patch-shebangs? #f |
| 524 | #:strip-binaries? #f |
| 525 | #:validate-runpath? #f |
| 526 | #:install-plan |
| 527 | #~'(("ephemerides" "share/casacore-data/ephemerides") |
| 528 | ("geodetic" "share/casacore-data/geodetic")) |
| 529 | #:phases |
| 530 | #~(modify-phases %standard-phases |
| 531 | (add-before 'install 'unpack-measures |
| 532 | (lambda _ |
| 533 | (invoke "tar" "xvzf" |
| 534 | (string-append "WSRT_Measures_" #$version ".ztar")) |
| 535 | (invoke "rm" "-vf" |
| 536 | (string-append "WSRT_Measures_" #$version ".ztar"))))))) |
| 537 | (home-page "https://astron.nl") |
| 538 | (synopsis "Measures data for Casacore") |
| 539 | (description "Westerbork Synthesis Radio Telescope (WSRT) measures data.") |
| 540 | (license license:public-domain))) |
| 541 | |
| 542 | (define-public ccfits |
| 543 | (package |
| 544 | (name "ccfits") |
| 545 | (version "2.7") |
| 546 | ;; Updater struggles to determine the version, check for the latest one on |
| 547 | ;; <https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/ccfits/> or on the |
| 548 | ;; home page. |
| 549 | (source |
| 550 | (origin |
| 551 | (method url-fetch) |
| 552 | (uri (string-append |
| 553 | "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/ccfits/v" |
| 554 | version "/CCfits-" version ".tar.gz")) |
| 555 | (sha256 |
| 556 | (base32 "06mhvvdsaqvk3cc309gv6zd4lcxm5q5aialaq0n77gzczv94cdgn")))) |
| 557 | (build-system cmake-build-system) |
| 558 | (arguments |
| 559 | (list |
| 560 | #:configure-flags |
| 561 | #~(list "-DBUILD_SHARED_LIBS=ON" |
| 562 | "-DTESTS=ON"))) |
| 563 | (inputs (list cfitsio zlib)) |
| 564 | (home-page "https://heasarc.gsfc.nasa.gov/docs/software/fitsio/ccfits/") |
| 565 | (synopsis "C++ interface to the CFITSIO") |
| 566 | (description |
| 567 | "CCfits is an object oriented interface to the cfitsio library. It is |
| 568 | designed to make the capabilities of cfitsio available to programmers working |
| 569 | in C++. It is written in ANSI C++ and implemented using the C++ Standard |
| 570 | Library with namespaces, exception handling, and member template functions.") |
| 571 | (license (license:non-copyleft "file://License.txt" |
| 572 | "See License.txt in the distribution.")))) |
| 573 | |
| 574 | (define-public celestia |
| 575 | ;; 1.6.4 was placed in 2023 while master migrated to Qt6, use the latest |
| 576 | ;; commit for now. |
| 577 | (let ((commit "6de0339a85be38e85e2ad34f58850700be4342c5") |
| 578 | (revision "1")) |
| 579 | (package |
| 580 | (name "celestia") |
| 581 | (version (git-version "1.6.4" revision commit)) |
| 582 | (source |
| 583 | (origin |
| 584 | (method git-fetch) |
| 585 | (uri (git-reference |
| 586 | (url "https://github.com/celestiaproject/celestia") |
| 587 | (commit commit))) |
| 588 | (file-name (git-file-name name version)) |
| 589 | (sha256 |
| 590 | (base32 "0jjcirjnvj670m2xmcsmvqxpk303mb7bf3y41zrr53rgykqd7ypf")))) |
| 591 | (build-system cmake-build-system) |
| 592 | (arguments |
| 593 | (list |
| 594 | #:tests? #f ;no tests were found |
| 595 | #:configure-flags |
| 596 | #~(list "-DENABLE_FFMPEG=ON" |
| 597 | "-DENABLE_GLES=ON" |
| 598 | "-DENABLE_LIBAVIF=ON" |
| 599 | "-DENABLE_QT6=ON" |
| 600 | "-DENABLE_TOOLS=ON" |
| 601 | "-DUSE_QT6=ON") |
| 602 | #:phases |
| 603 | #~(modify-phases %standard-phases |
| 604 | ;; TODO: Wrap celestia-content instead of copying it, if possible. |
| 605 | (add-after 'install 'install-content |
| 606 | (lambda _ |
| 607 | (copy-recursively |
| 608 | (string-append #$(this-package-native-input "celestia-content") |
| 609 | "/share") |
| 610 | (string-append #$output "/share"))))))) |
| 611 | (native-inputs |
| 612 | (list boost |
| 613 | celestia-content |
| 614 | gettext-minimal |
| 615 | pkg-config)) |
| 616 | (inputs |
| 617 | (list eigen |
| 618 | ffmpeg |
| 619 | fmt |
| 620 | freetype |
| 621 | glu |
| 622 | gperf |
| 623 | libavif |
| 624 | libepoxy |
| 625 | libjpeg-turbo |
| 626 | libpng |
| 627 | mesa |
| 628 | qtbase |
| 629 | qtwayland)) |
| 630 | (propagated-inputs |
| 631 | (list lua |
| 632 | perl)) |
| 633 | (home-page "https://celestia.space/") |
| 634 | (synopsis "Real-time 3D visualization of space") |
| 635 | (description |
| 636 | "This simulation program lets you explore our universe in three |
| 637 | dimensions. Celestia simulates many different types of celestial objects. |
| 638 | From planets and moons to star clusters and galaxies, you can visit every |
| 639 | object in the expandable database and view it from any point in space and |
| 640 | time. The position and movement of solar system objects is calculated |
| 641 | accurately in real time at any rate desired.") |
| 642 | (license license:gpl2+)))) |
| 643 | |
| 644 | (define-public celestia-content |
| 645 | ;; No releases or version tags. |
| 646 | (let ((commit "eab93932c85fa315f370477ee8c6b7e15f12c327") |
| 647 | (revision "11")) |
| 648 | (package |
| 649 | (name "celestia-content") |
| 650 | (version (git-version "0.0.0" revision commit)) |
| 651 | (source |
| 652 | (origin |
| 653 | (method git-fetch) |
| 654 | (uri (git-reference |
| 655 | (url "https://github.com/CelestiaProject/CelestiaContent") |
| 656 | (commit commit))) |
| 657 | (file-name (git-file-name name version)) |
| 658 | (sha256 |
| 659 | (base32 "02l00x86v4bd0yfyjk8c5mjhkmnw0xdmzgndkygpls6f6wc7qf38")))) |
| 660 | (build-system cmake-build-system) |
| 661 | (arguments |
| 662 | (list |
| 663 | #:tests? #f)) ;no tests were found |
| 664 | (native-inputs |
| 665 | (list gettext-minimal |
| 666 | imagemagick)) |
| 667 | (home-page "https://celestia.space/") |
| 668 | (synopsis "Data files for Celestia space simulator") |
| 669 | (description |
| 670 | "This package provides data content for Celestia. |
| 671 | @itemize |
| 672 | @item Scientific Data Base |
| 673 | @item Texture maps |
| 674 | @item 3D Models |
| 675 | @end itemize") |
| 676 | (license license:gpl2+)))) |
| 677 | |
| 678 | (define-public cext |
| 679 | (package |
| 680 | (name "cext") |
| 681 | (version "1.3.2") |
| 682 | (source |
| 683 | (origin |
| 684 | (method url-fetch) |
| 685 | (uri (string-append |
| 686 | "https://ftp.eso.org/pub/dfs/pipelines/libraries/cext/" |
| 687 | "cext-" version ".tar.gz")) |
| 688 | (sha256 |
| 689 | (base32 "0790f8h5mczbc6whr8rcfajbr5jwh70m25xmdrsjdbb3191k49b2")))) |
| 690 | (build-system gnu-build-system) |
| 691 | ;; I could not find actual homepage of the project on |
| 692 | ;; <https://www.eso.org/public/about-eso/>. |
| 693 | (home-page "https://www.eso.org/public/") |
| 694 | (synopsis "ESO's C Library Extensions") |
| 695 | (description |
| 696 | "This package provdies @code{libcext} - ESO's C Library Extensions. It |
| 697 | is a C utility library,which is used to implement ESO's Common Pipeline |
| 698 | Library (CPL). This package provides the libcext library including the |
| 699 | on-line reference manual.") |
| 700 | (license license:gpl2+))) |
| 701 | |
| 702 | (define-public cfitsio |
| 703 | (package |
| 704 | (name "cfitsio") |
| 705 | (version "4.7.0") |
| 706 | (source |
| 707 | (origin |
| 708 | (method git-fetch) |
| 709 | (uri (git-reference |
| 710 | ;; FTP: https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/ |
| 711 | (url "https://github.com/HEASARC/cfitsio") |
| 712 | (commit (string-append name "-" version)))) |
| 713 | (file-name (git-file-name name version)) |
| 714 | (sha256 |
| 715 | (base32 "1a7fgsvyv3zgi5ni1c3brxrq7ivq63881hdxp8c1pyhzqsa74klk")))) |
| 716 | (build-system gnu-build-system) |
| 717 | (arguments |
| 718 | (list |
| 719 | #:configure-flags |
| 720 | #~(list "--enable-reentrant" |
| 721 | (string-append "--with-bzip2=" #$(this-package-input "bzip2"))))) |
| 722 | (native-inputs (list gfortran)) |
| 723 | (inputs (list bzip2 curl zlib)) |
| 724 | (home-page "https://heasarc.gsfc.nasa.gov/fitsio/fitsio.html") |
| 725 | (synopsis "Library for reading and writing FITS files") |
| 726 | (description |
| 727 | "CFITSIO provides simple high-level routines for reading and writing |
| 728 | @acronym{Flexible Image Transport System,FITS} files that insulate the |
| 729 | programmer from the internal complexities of the FITS format. CFITSIO also |
| 730 | provides many advanced features for manipulating and filtering the information |
| 731 | in FITS files.") |
| 732 | (license (license:non-copyleft "file://License.txt" |
| 733 | "See License.txt in the distribution.")))) |
| 734 | |
| 735 | ;;; The version is required for gnuastro. It fails on check phase with a |
| 736 | ;;; newer version. |
| 737 | (define-public cfitsio-4.4 |
| 738 | (package |
| 739 | (inherit cfitsio) |
| 740 | (version "4.4.1") |
| 741 | (source |
| 742 | (origin |
| 743 | (method url-fetch) |
| 744 | (uri (string-append |
| 745 | "https://heasarc.gsfc.nasa.gov/FTP/software/fitsio/c/" |
| 746 | "cfitsio-" version ".tar.gz")) |
| 747 | (sha256 |
| 748 | (base32 "098x1l8ijwsjp2ivp3v7pamrmpgwj5xmgb4yppm9w3w044zxr8b6")))) |
| 749 | (arguments |
| 750 | (list |
| 751 | #:configure-flags |
| 752 | #~(list "--enable-reentrant" |
| 753 | (string-append "--with-bzip2=" #$(this-package-input "bzip2"))) |
| 754 | #:phases |
| 755 | #~(modify-phases %standard-phases |
| 756 | (add-after 'unpack 'patch-paths |
| 757 | (lambda _ |
| 758 | (substitute* "Makefile.in" (("/bin/") "")))) |
| 759 | (delete 'check) |
| 760 | ;; TODO: Testing steps are sourced from docs/fitsio.pdf, implement |
| 761 | ;; the logic in Guile in the future. |
| 762 | (add-after 'install 'post-install-check |
| 763 | (lambda* (#:key tests? #:allow-other-keys) |
| 764 | (when tests? |
| 765 | (invoke "make" "testprog") |
| 766 | (with-output-to-file "testprog.lis" (lambda _(invoke "./testprog"))) |
| 767 | (invoke "diff" "-r" "testprog.lis" "testprog.out") |
| 768 | (invoke "cmp" "-l" "testprog.fit" "testprog.std"))))))))) |
| 769 | |
| 770 | (define-public cianna |
| 771 | (package |
| 772 | (name "cianna") |
| 773 | ;; Project does not publish regular releases, see: |
| 774 | ;; <https://github.com/Deyht/CIANNA/issues/3>. |
| 775 | (properties '((commit . "7e22ab36c9ee2ad32e22c54772fd40687b8bcd0a") |
| 776 | (revision . "1"))) |
| 777 | (version (git-version "1.0.1.4" |
| 778 | (assoc-ref properties 'revision) |
| 779 | (assoc-ref properties 'commit))) |
| 780 | (source |
| 781 | (origin |
| 782 | (method git-fetch) |
| 783 | (uri (git-reference |
| 784 | (url "https://github.com/Deyht/CIANNA") |
| 785 | (commit (assoc-ref properties 'commit)))) |
| 786 | (file-name (git-file-name name version)) |
| 787 | (sha256 |
| 788 | (base32 "0922n0frvvzia5il1jjxs7yzjrlzymn790c6rbyddz9xnxrp99jd")))) |
| 789 | (build-system cmake-build-system) |
| 790 | (arguments |
| 791 | (list |
| 792 | #:tests? #f ;no tests |
| 793 | #:build-type "Release" |
| 794 | #:configure-flags |
| 795 | #~(list "-DUSE_BLAS=ON" "-DBUILD_MODULE=OFF" "-DUSE_CUDA=OFF") |
| 796 | #:phases |
| 797 | #~(modify-phases %standard-phases |
| 798 | (replace 'install ;no install rule |
| 799 | (lambda _ |
| 800 | (let ((bin (string-append #$output "/bin"))) |
| 801 | (install-file "cianna" bin))))))) |
| 802 | (inputs |
| 803 | (list openblas)) |
| 804 | (home-page "https://github.com/Deyht/CIANNA") |
| 805 | (synopsis "Deep learning framework for astronomical data analysis") |
| 806 | (description |
| 807 | "This package provides a @acronym{CIANNA, Convolutional Interactive |
| 808 | Artificial Neural Networks by/for Astrophysicists} - a general-purpose deep |
| 809 | learning framework primarily developed and used for astronomical data |
| 810 | analysis.") |
| 811 | (license license:asl2.0))) |
| 812 | |
| 813 | (define-public cpl |
| 814 | (package |
| 815 | (name "cpl") |
| 816 | (version "7.4") |
| 817 | (source |
| 818 | (origin |
| 819 | (method url-fetch) |
| 820 | (uri (string-append |
| 821 | "https://ftp.eso.org/pub/dfs/pipelines/libraries/cpl/cpl-" |
| 822 | version ".tar.gz")) |
| 823 | (sha256 |
| 824 | (base32 "1m4brm7dizwsld56q43mrwvld3390af5irgk8848iayyx5ki85v3")))) |
| 825 | (build-system gnu-build-system) |
| 826 | (arguments |
| 827 | ;; pycpl expects to find a lib/esopipes-plugins directory. This is |
| 828 | ;; overruled by the PYESOREX_PLUGIN_DIR search path, but the default |
| 829 | ;; directory is still consulted and therefore needs to exist. |
| 830 | (list |
| 831 | #:phases |
| 832 | #~(modify-phases %standard-phases |
| 833 | (add-after 'install 'create-plugins-directory |
| 834 | (lambda _ |
| 835 | (mkdir-p (string-append #$output "/lib/esopipes-plugins"))))))) |
| 836 | (native-inputs |
| 837 | (list automake |
| 838 | autoconf |
| 839 | libtool |
| 840 | pkg-config |
| 841 | perl)) |
| 842 | (inputs |
| 843 | (list cext |
| 844 | cfitsio |
| 845 | wcslib |
| 846 | fftw |
| 847 | fftwf)) |
| 848 | (home-page "https://www.eso.org/sci/software/cpl/") |
| 849 | (synopsis "Common Pipeline Library for astronomical data reduction") |
| 850 | (description |
| 851 | "The @acronym{CPL, Common Pipeline Library} comprises a set of ISO-C |
| 852 | libraries that provide a comprehensive, efficient and robust software toolkit |
| 853 | to develop astronomical data-reduction tasks (known as recipes). These |
| 854 | data-reduction tasks can then be executed manually by a user, or can be |
| 855 | triggered in an automated data-reduction framework (known as pipelines) which |
| 856 | are used at @acronym{ESO, European Southern Observatory} to monitor the health |
| 857 | status of @acronym{VLT, Very Large Telescope} instruments, for quick-look data |
| 858 | processing at the observatory, and the creation of data products available |
| 859 | from the ESO archive facility.") |
| 860 | (license license:gpl2+))) |
| 861 | |
| 862 | (define-public cpl-7.3 |
| 863 | (package |
| 864 | (inherit cpl) |
| 865 | (version "7.3.4") |
| 866 | (source |
| 867 | (origin |
| 868 | (method url-fetch) |
| 869 | (uri (string-append |
| 870 | "https://ftp.eso.org/pub/dfs/pipelines/libraries/cpl/cpl-" |
| 871 | version ".tar.gz")) |
| 872 | (sha256 |
| 873 | (base32 "090xp9scg34z60iiklf8w7gmbjbja3sdv7xk97pn8llklvks8xgi")))) |
| 874 | (inputs |
| 875 | (list cfitsio |
| 876 | wcslib |
| 877 | fftw |
| 878 | fftwf)))) |
| 879 | |
| 880 | (define-public erfa |
| 881 | (package |
| 882 | (name "erfa") |
| 883 | (version "2.0.1") |
| 884 | (source |
| 885 | (origin |
| 886 | (method git-fetch) |
| 887 | (uri (git-reference |
| 888 | (url "https://github.com/liberfa/erfa") |
| 889 | (commit (string-append "v" version)))) |
| 890 | (file-name (git-file-name name version)) |
| 891 | (sha256 |
| 892 | (base32 "1hxjbcvdlq4871r17fphbaf3bd8dsjagp1rdb3j8v6kr4f1dil9n")))) |
| 893 | (build-system gnu-build-system) |
| 894 | (native-inputs |
| 895 | (list automake autoconf libtool pkg-config)) |
| 896 | (home-page "https://github.com/liberfa/erfa") |
| 897 | (synopsis "Essential Routines for Fundamental Astronomy") |
| 898 | (description |
| 899 | "The @acronym{ERFA, Essential Routines for Fundamental Astronomy} C library |
| 900 | contains key algorithms for astronomy, and is based on the @acronym{SOFA, |
| 901 | Standards of Fundamental Astronomy} library published by the @acronym{IAU, |
| 902 | International Astronomical Union}.") |
| 903 | (license license:bsd-3))) |
| 904 | |
| 905 | (define-public esorex |
| 906 | (package |
| 907 | (name "esorex") |
| 908 | (version "3.13.11") |
| 909 | (source |
| 910 | (origin |
| 911 | (method url-fetch) |
| 912 | (uri (string-append |
| 913 | "https://ftp.eso.org/pub/dfs/pipelines/libraries/esorex/esorex-" |
| 914 | version ".tar.gz")) |
| 915 | (sha256 |
| 916 | (base32 "04mvmrkannmjcb59v6r30xyd6w3mw4f64lcsrk71083d9i73ijia")))) |
| 917 | (build-system gnu-build-system) |
| 918 | (native-inputs |
| 919 | (list automake |
| 920 | autoconf |
| 921 | libtool |
| 922 | pkg-config |
| 923 | perl)) |
| 924 | (inputs |
| 925 | (list cext |
| 926 | cfitsio |
| 927 | cpl |
| 928 | wcslib)) |
| 929 | (native-search-paths |
| 930 | (list (search-path-specification |
| 931 | (variable "ESOREX_PLUGIN_DIR") |
| 932 | (files '("lib/esopipes-plugins"))))) |
| 933 | (home-page "https://www.eso.org/sci/software/cpl/esorex.html") |
| 934 | (synopsis "The European Southern Observatory Recipe Execution Tool") |
| 935 | (description |
| 936 | "EsoRex is the @acronym{European Southern Observatory, ESO} Recipe |
| 937 | Execution Tool. It can list, configure and execute @acronym{Common Pipeline |
| 938 | Library, CPL}-based recipes from the command line.") |
| 939 | ;; Set a rerlease-monitoring-url because the ftp directory includes |
| 940 | ;; prereleases that should not be refreshed to. |
| 941 | (properties `((release-monitoring-url |
| 942 | . "https://www.eso.org/sci/software/cpl/download.html"))) |
| 943 | (license license:gpl2+))) |
| 944 | |
| 945 | (define-public eye |
| 946 | (package |
| 947 | (name "eye") |
| 948 | (version "1.4.1") |
| 949 | (source |
| 950 | (origin |
| 951 | (method git-fetch) |
| 952 | (uri (git-reference |
| 953 | (url "https://github.com/astromatic/eye") |
| 954 | (commit version))) |
| 955 | (file-name (git-file-name name version)) |
| 956 | (sha256 |
| 957 | (base32 "1j8rpgz3fjp6fw0qmxgfqycf3n01fzxds4w12vgyrhbnk658ia41")))) |
| 958 | (build-system gnu-build-system) |
| 959 | (arguments |
| 960 | (list |
| 961 | #:configure-flags |
| 962 | #~(list "CPPFLAGS=-fcommon"))) ; fix build with GCC 10 |
| 963 | (home-page "https://www.astromatic.net/software/eye") |
| 964 | (synopsis "Small image feature detector using machine learning") |
| 965 | (description |
| 966 | "In @acronym{EyE, Enhance Your Extraction} an artificial neural network |
| 967 | connected to pixels of a moving window (@dfn{retina}) is trained to associate |
| 968 | these input stimuli to the corresponding response in one or several output |
| 969 | image(s). The resulting filter can be loaded in SExtractor to operate |
| 970 | complex, wildly non-linear filters on astronomical images. Typical |
| 971 | applications of EyE include adaptive filtering, feature detection and cosmetic |
| 972 | corrections.") |
| 973 | (license license:cecill))) |
| 974 | |
| 975 | (define-public fitsverify |
| 976 | (package |
| 977 | (name "fitsverify") |
| 978 | (version "4.22") |
| 979 | (source |
| 980 | (origin |
| 981 | (method url-fetch) |
| 982 | (uri (string-append "https://heasarc.gsfc.nasa.gov/docs/software/ftools/" |
| 983 | name "/" name "-" version ".tar.gz")) |
| 984 | (sha256 |
| 985 | (base32 "1d0qvgmrpv09qm4vi4n26frx4qb3mrdn261rs6vvrvg0lw1yhibc")))) |
| 986 | (build-system gnu-build-system) |
| 987 | (arguments |
| 988 | (list |
| 989 | #:tests? #f ;no tests |
| 990 | #:phases |
| 991 | #~(modify-phases %standard-phases |
| 992 | (delete 'configure) ; no configure |
| 993 | (replace 'build |
| 994 | (lambda* _ |
| 995 | ;; Build steps are taken from Debian's package definition. |
| 996 | (invoke #$(cc-for-target) "-o" #$name |
| 997 | "ftverify.c" |
| 998 | "fvrf_data.c" |
| 999 | "fvrf_file.c" |
| 1000 | "fvrf_head.c" |
| 1001 | "fvrf_key.c" |
| 1002 | "fvrf_misc.c" |
| 1003 | "-DSTANDALONE" |
| 1004 | "-lcfitsio" |
| 1005 | "-lm"))) |
| 1006 | (replace 'install |
| 1007 | (lambda _ |
| 1008 | (install-file #$name (string-append #$output "/bin"))))))) |
| 1009 | (inputs |
| 1010 | (list cfitsio)) |
| 1011 | (home-page "https://heasarc.gsfc.nasa.gov/docs/software/ftools/fitsverify/index.html") |
| 1012 | (synopsis "FITS File Format-Verification Tool") |
| 1013 | (description |
| 1014 | "Fitsverify is a computer program that rigorously checks whether a |
| 1015 | @acronym{FITS, Flexible Image Transport System} data file conforms to the |
| 1016 | requirements defined in Version 3.0 of the |
| 1017 | @url{http://fits.gsfc.nasa.gov/fits_documentation.html, FITS Standard |
| 1018 | document}.") |
| 1019 | (properties |
| 1020 | '((release-monitoring-url . |
| 1021 | "https://heasarc.gsfc.nasa.gov/docs/software/ftools/fitsverify/"))) |
| 1022 | ;; The license is the same as for CFITSIO, see |
| 1023 | ;; URL: <https://salsa.debian.org/debian-astro-team/fitsverify> |
| 1024 | ;; File: <debian/copyright> |
| 1025 | (license (license:non-copyleft "file://License.txt" |
| 1026 | "See License.txt in the distribution.")))) |
| 1027 | |
| 1028 | (define-public genetic |
| 1029 | (package |
| 1030 | (name "genetic") |
| 1031 | (version "1.5.0") |
| 1032 | (source |
| 1033 | (origin |
| 1034 | (method git-fetch) |
| 1035 | (uri (git-reference |
| 1036 | (url "https://github.com/pynbody/genetic") |
| 1037 | (commit (string-append "v" version)))) |
| 1038 | (file-name (git-file-name name version)) |
| 1039 | (sha256 |
| 1040 | (base32 "0pwvr8bvnbp6d16f51hy981pdlrqz9yf9fh2wvxl958ikyjmaaiy")))) |
| 1041 | (build-system cmake-build-system) |
| 1042 | (arguments |
| 1043 | (list |
| 1044 | #:phases |
| 1045 | #~(modify-phases %standard-phases |
| 1046 | (add-after 'unpack 'link-highfive |
| 1047 | (lambda _ |
| 1048 | (rmdir "genetIC/HighFive") |
| 1049 | (symlink #+(package-source (this-package-native-input "highfive")) |
| 1050 | (string-append (getcwd) "/HighFive")))) |
| 1051 | (add-before 'check 'delete-problematic-tests |
| 1052 | (lambda _ |
| 1053 | (with-directory-excursion "../source/genetIC/tests" |
| 1054 | (for-each delete-file-recursively |
| 1055 | ;; XXX: Some NumPy related tests failed with "Arrays |
| 1056 | ;; are not almost equal to <...> decimals", it |
| 1057 | ;; might need attention. |
| 1058 | (list "test_06c_stray_subsampling" |
| 1059 | "test_09a_border_safety" |
| 1060 | "test_10a_gadget" |
| 1061 | "test_10b_gadget_zoom_varimass" |
| 1062 | "test_10c_gadget_zoom_ptype" |
| 1063 | "test_10d_gadget_flagged_particles" |
| 1064 | "test_10e_gadget_zoom_ptype_resample" |
| 1065 | "test_10g_gadget_multifile_baryons" |
| 1066 | "test_10h_gadget_zoom_ptype_gas" |
| 1067 | "test_10i_gadget_zoom_ptype_autopad" |
| 1068 | "test_14_velocity_modif" |
| 1069 | "test_17_reversal" |
| 1070 | "test_19_rounding_errors" |
| 1071 | "test_22_angular_momentum_modif" |
| 1072 | "test_26_gadgethdf" |
| 1073 | "test_26a_gadgethdf_multifile_baryons" |
| 1074 | ;; Error "File zoomtest.txt not found" on line |
| 1075 | ;; 27 ("idfile zoomtest.txt") |
| 1076 | "test_10f_gadget_multifile"))))) |
| 1077 | (replace 'check |
| 1078 | (lambda* (#:key tests? #:allow-other-keys) |
| 1079 | (when tests? |
| 1080 | (with-directory-excursion "../source/genetIC/tests" |
| 1081 | ;; Matplotlib needs to write access. |
| 1082 | (setenv "HOME" "/tmp") |
| 1083 | (invoke "./run_tests.sh")))))))) |
| 1084 | (native-inputs |
| 1085 | (list boost |
| 1086 | git-minimal/pinned |
| 1087 | highfive |
| 1088 | pkg-config |
| 1089 | python-pynbody |
| 1090 | python-wrapper)) |
| 1091 | (inputs |
| 1092 | (list fftw |
| 1093 | fftwf |
| 1094 | gsl |
| 1095 | hdf5)) |
| 1096 | (home-page "https://github.com/pynbody/genetic") |
| 1097 | (synopsis "Genetically-modified initial conditions generator") |
| 1098 | (description |
| 1099 | "GenetIC is a code to generate initial conditions for cosmological |
| 1100 | simulations, especially for zoom simulations of galaxies. It provides support |
| 1101 | for \"genetic modifications\" as described by e.g. |
| 1102 | @url{https://arxiv.org/abs/1504.07250, Roth et al 2015}, |
| 1103 | @url{https://arxiv.org/abs/1706.04615, Rey & Pontzen 2018}. It also supports |
| 1104 | 'splicing' as described by @url{https://arxiv.org/abs/2107.03407, Cadiou et al |
| 1105 | 2021}.") |
| 1106 | (license license:gpl3+))) |
| 1107 | |
| 1108 | (define-public ginga |
| 1109 | (package |
| 1110 | (name "ginga") |
| 1111 | (version "7.4.0") |
| 1112 | (source |
| 1113 | (origin |
| 1114 | (method git-fetch) |
| 1115 | (uri (git-reference |
| 1116 | (url "https://github.com/ejeschke/ginga") |
| 1117 | (commit (string-append "v" version)))) |
| 1118 | (file-name (git-file-name name version)) |
| 1119 | (sha256 |
| 1120 | (base32 "1a1bsqfyy4ahcqsbc68a7xyii2hcdvylyn4wmggihdagb8ym3hwp")))) |
| 1121 | (build-system pyproject-build-system) |
| 1122 | (arguments |
| 1123 | (list |
| 1124 | #:phases |
| 1125 | #~(modify-phases %standard-phases |
| 1126 | (add-after 'unpack 'relax-requirements |
| 1127 | (lambda _ |
| 1128 | (substitute* "setup.cfg" |
| 1129 | ;; All tests passed with older Pillow, remove when it's |
| 1130 | ;; updated. |
| 1131 | (("pillow>=12.3.0") "pillow")))) |
| 1132 | (add-before 'sanity-check 'set-home |
| 1133 | (lambda _ |
| 1134 | (setenv "HOME" "/tmp")))))) |
| 1135 | (native-inputs |
| 1136 | (list python-attrs |
| 1137 | python-pytest-doctestplus |
| 1138 | python-pytest-astropy |
| 1139 | python-pytest-astropy-header |
| 1140 | python-setuptools |
| 1141 | python-setuptools-scm)) |
| 1142 | (inputs |
| 1143 | (list python-astropy |
| 1144 | python-numpy |
| 1145 | python-packaging |
| 1146 | python-pillow |
| 1147 | python-puremagic |
| 1148 | python-pyyaml |
| 1149 | python-qtpy |
| 1150 | ;; [optional] |
| 1151 | opencv |
| 1152 | python-astroquery |
| 1153 | python-dateutil |
| 1154 | python-exif-read |
| 1155 | python-matplotlib |
| 1156 | python-photutils |
| 1157 | python-pillow-heif |
| 1158 | python-pycairo |
| 1159 | python-pyqt-6 |
| 1160 | python-pyside-6 |
| 1161 | python-scipy |
| 1162 | python-tornado)) |
| 1163 | (home-page "https://ejeschke.github.io/ginga/") |
| 1164 | (synopsis "Scientific image viewer and toolkit for FITS files") |
| 1165 | (description |
| 1166 | "Ginga is a toolkit designed for building viewers for scientific image |
| 1167 | data in Python, visualizing 2D pixel data in numpy arrays. It can view |
| 1168 | astronomical data such as contained in files based on the FITS (Flexible Image |
| 1169 | Transport System) file format. It is written and is maintained by software |
| 1170 | engineers at the National Astronomical Observatory of Japan (NAOJ), the Space |
| 1171 | Telescope Science Institute (STScI), and other contributing entities. |
| 1172 | |
| 1173 | The Ginga toolkit centers around an image display object which supports |
| 1174 | zooming and panning, color and intensity mapping, a choice of several |
| 1175 | automatic cut levels algorithms and canvases for plotting scalable geometric |
| 1176 | forms. In addition to this widget, a general purpose \"reference\" FITS |
| 1177 | viewer is provided, based on a plugin framework. A fairly complete set of |
| 1178 | standard plugins are provided for features that we expect from a modern FITS |
| 1179 | viewer: panning and zooming windows, star catalog access, cuts, star |
| 1180 | pick/FWHM, thumbnails, etc.") |
| 1181 | (license license:bsd-3))) |
| 1182 | |
| 1183 | (define-public glnemo2 |
| 1184 | (package |
| 1185 | (name "glnemo2") |
| 1186 | (version "1.21.0") |
| 1187 | (source |
| 1188 | (origin |
| 1189 | (method git-fetch) |
| 1190 | (uri (git-reference |
| 1191 | (url "https://gitlab.lam.fr/jclamber/glnemo2") |
| 1192 | (commit version))) |
| 1193 | (file-name (git-file-name name version)) |
| 1194 | (sha256 |
| 1195 | (base32 "1jmmxszh8d2jmfghig36nhykff345mqnpssfa64d0r7l9cnfp3cn")))) |
| 1196 | (build-system cmake-build-system) |
| 1197 | (arguments |
| 1198 | (list |
| 1199 | #:tests? #f ; No test target |
| 1200 | #:configure-flags |
| 1201 | #~(list "CPPFLAGS=-fcommon" |
| 1202 | (string-append "-DCMAKE_C_FLAGS=" |
| 1203 | " -Wno-error=implicit-function-declaration" |
| 1204 | " -Wno-error=implicit-int" |
| 1205 | " -Wno-error=int-conversion")) |
| 1206 | #:phases |
| 1207 | #~(modify-phases %standard-phases |
| 1208 | (add-after 'unpack 'patch-libraries-paths |
| 1209 | (lambda _ |
| 1210 | (substitute* "CMakeLists.txt" |
| 1211 | ;; There is some not straightforward logic on how to set |
| 1212 | ;; the installation prefix for the project; inherit it |
| 1213 | ;; from the build-system default flags. |
| 1214 | (("CMAKE_INSTALL_PREFIX \"/usr\"") |
| 1215 | "CMAKE_INSTALL_PREFIX") |
| 1216 | (("/usr/include/CCfits") |
| 1217 | (string-append |
| 1218 | #$(this-package-input "ccfits") "/include/CCfits")) |
| 1219 | (("/usr/include/tirpc") |
| 1220 | (string-append |
| 1221 | #$(this-package-input "libtirpc") "/include/tirpc")) |
| 1222 | ;; It tries to detect library in two "predictable" paths, |
| 1223 | ;; required during the link phase. |
| 1224 | (("/usr/lib64/libtirpc.so") |
| 1225 | (string-append |
| 1226 | #$(this-package-input "libtirpc") "/lib/libtirpc.so")))))))) |
| 1227 | (inputs |
| 1228 | (list ccfits |
| 1229 | cfitsio |
| 1230 | glm |
| 1231 | glu |
| 1232 | hdf5 |
| 1233 | libtirpc |
| 1234 | qtbase-5 |
| 1235 | zlib)) |
| 1236 | (home-page "https://projets.lam.fr/projects/glnemo2/wiki/Wiki") |
| 1237 | (synopsis "3D interactive visualization program for n-body like particles") |
| 1238 | (description |
| 1239 | "GLNEMO2 is an interactive 3D visualization program which displays |
| 1240 | particles positions of the different components (gas, stars, disk, dark |
| 1241 | matter halo, bulge) of an N-body snapshot. It is a tool for running |
| 1242 | N-body simulations from isolated galaxies to cosmological simulations. |
| 1243 | It has a graphical user interface (based on QT 5.X API), uses a fast |
| 1244 | 3D engine (OPenGL and GLSL), and is generic with the possibility to load |
| 1245 | different kinds of input files.") |
| 1246 | (license license:cecill))) |
| 1247 | |
| 1248 | (define-public gnuastro |
| 1249 | (package |
| 1250 | (name "gnuastro") |
| 1251 | (version "0.24") |
| 1252 | (source |
| 1253 | (origin |
| 1254 | (method url-fetch) |
| 1255 | (uri (string-append "mirror://gnu/gnuastro/gnuastro-" |
| 1256 | version ".tar.lz")) |
| 1257 | (sha256 |
| 1258 | (base32 |
| 1259 | "0z2i5cx4wx1m90nyg98f653gwdil86mi0w55sg8rick4rg2a9ifz")))) |
| 1260 | (build-system gnu-build-system) |
| 1261 | (arguments |
| 1262 | '(#:configure-flags '("--disable-static"))) |
| 1263 | (inputs |
| 1264 | (list cfitsio-4.4 |
| 1265 | curl |
| 1266 | gsl |
| 1267 | libgit2 |
| 1268 | libjpeg-turbo |
| 1269 | libtiff |
| 1270 | wcslib |
| 1271 | zlib)) |
| 1272 | (native-inputs |
| 1273 | (list libtool lzip)) |
| 1274 | (home-page "https://www.gnu.org/software/gnuastro/") |
| 1275 | (synopsis "Astronomy utilities") |
| 1276 | (description "The GNU Astronomy Utilities (Gnuastro) is a suite of |
| 1277 | programs for the manipulation and analysis of astronomical data.") |
| 1278 | (license license:gpl3+))) |
| 1279 | |
| 1280 | (define-public gpredict |
| 1281 | (package |
| 1282 | (name "gpredict") |
| 1283 | (version "2.6") |
| 1284 | (source |
| 1285 | (origin |
| 1286 | (method git-fetch) |
| 1287 | (uri (git-reference |
| 1288 | (url "https://github.com/csete/gpredict") |
| 1289 | (commit (string-append "v" version)))) |
| 1290 | (file-name (git-file-name name version)) |
| 1291 | (sha256 |
| 1292 | (base32 "1np1fif9jgmv3s28lcwc4pvkx386bwf9v08g5ix8izqm4wvk8l9s")))) |
| 1293 | (build-system gnu-build-system) |
| 1294 | (arguments |
| 1295 | (list |
| 1296 | #:phases |
| 1297 | #~(modify-phases %standard-phases |
| 1298 | (replace 'bootstrap |
| 1299 | (lambda _ |
| 1300 | (invoke "autoreconf" "-vif") |
| 1301 | (invoke "intltoolize" "--force" "--automake")))))) |
| 1302 | (native-inputs |
| 1303 | (list autoconf |
| 1304 | automake |
| 1305 | gettext-minimal |
| 1306 | (list glib "bin") ; glib-gettextize |
| 1307 | intltool |
| 1308 | libtool |
| 1309 | pkg-config)) |
| 1310 | (inputs |
| 1311 | (list curl |
| 1312 | glib |
| 1313 | goocanvas |
| 1314 | gtk+)) |
| 1315 | (home-page "https://oz9aec.dk/gpredict/") |
| 1316 | (synopsis "Satellite tracking and orbit prediction application") |
| 1317 | (description |
| 1318 | "Gpredict is a real-time satellite tracking and orbit prediction |
| 1319 | application. It can track a large number of satellites and display their |
| 1320 | position and other data in lists, tables, maps, and polar plots (radar view). |
| 1321 | Gpredict can also predict the time of future passes for a satellite, and |
| 1322 | provide you with detailed information about each pass. |
| 1323 | |
| 1324 | Some core features of Gpredict include: |
| 1325 | |
| 1326 | @itemize |
| 1327 | @item Tracking of a large number of satellites only limited by the physical |
| 1328 | memory and processing power of the computer |
| 1329 | @item Display the tracking data in lists, maps, polar plots and any |
| 1330 | combination of these |
| 1331 | @item Have many modules open at the same either in a notebook or in their own |
| 1332 | windows. The modules can also run in full-screen mode |
| 1333 | @item You can use many ground stations |
| 1334 | @item Predict upcoming passes |
| 1335 | @item Gpredict can run in real-time, simulated real-time (fast forward and |
| 1336 | backward), and manual time control |
| 1337 | @item Detailed information both the real time and non-real time modes |
| 1338 | @item Doppler tuning of radios via Hamlib rigctld |
| 1339 | @item Antenna rotator control via Hamlib rotctld |
| 1340 | @end itemize") |
| 1341 | (license license:gpl2+))) |
| 1342 | |
| 1343 | (define-public hdrl |
| 1344 | (package |
| 1345 | (name "hdrl") |
| 1346 | (version "1.6.0") |
| 1347 | (source |
| 1348 | (origin |
| 1349 | (method url-fetch) |
| 1350 | (uri (string-append |
| 1351 | "https://ftp.eso.org/pub/dfs/pipelines/libraries/hdrl/hdrl-" |
| 1352 | version ".tar.gz")) |
| 1353 | (sha256 |
| 1354 | (base32 "0y1kp5i7847liw8zr1m5mw3hl5ygcr5lm5m2plx024pn001b8z34")))) |
| 1355 | (build-system gnu-build-system) |
| 1356 | (arguments |
| 1357 | (list |
| 1358 | #:configure-flags |
| 1359 | #~(list "--enable-standalone" |
| 1360 | (string-append "CC=" #$(cc-for-target)) |
| 1361 | (string-append "--prefix=" #$output)) |
| 1362 | #:phases |
| 1363 | #~(modify-phases %standard-phases |
| 1364 | (add-after 'unpack 'skip-tests |
| 1365 | (lambda _ |
| 1366 | ;; Test tries to download calibration data from |
| 1367 | ;; <https://ftp.eso.org/pub/dfs/pipelines/gravity/finals2000A.data> |
| 1368 | ;; 2.3M. |
| 1369 | (substitute* "tests/Makefile.am" |
| 1370 | ((".*hdrl_download-test.*") "")))) |
| 1371 | (replace 'bootstrap |
| 1372 | (lambda _ |
| 1373 | (invoke "autoreconf" "-vif")))))) |
| 1374 | (native-inputs |
| 1375 | (list automake |
| 1376 | autoconf |
| 1377 | libtool |
| 1378 | pkg-config)) |
| 1379 | (inputs |
| 1380 | (list cfitsio |
| 1381 | fftwf |
| 1382 | cpl-7.3 ;CPL (headers) was not found on your system for v7.4 |
| 1383 | curl |
| 1384 | erfa |
| 1385 | gsl |
| 1386 | wcslib)) |
| 1387 | ;; I could not find actual homepage of the project on |
| 1388 | ;; <https://www.eso.org/public/about-eso/>. |
| 1389 | (home-page "https://www.eso.org/public/") |
| 1390 | (synopsis "ESO High-level Data Reduction Library") |
| 1391 | (description |
| 1392 | "@acronym{High-level Data Reduction Library, HDRL} provides |
| 1393 | instrument-independent, high-level scientific functions for ESO data reduction |
| 1394 | pipelines. It aims to concentrate cross-pipeline algorithms in a single |
| 1395 | place, verify and homogenize algorithms, implement error propagation, and is |
| 1396 | extensively tested. Pipeline developers and instrument consortia can use HDRL |
| 1397 | so that bug-fixes and improvements benefit all pipelines that use it. |
| 1398 | |
| 1399 | This package includes the HDRL library (built on top of the ESO |
| 1400 | @acronym{Common Pipeline Library, CPL}, unit tests, and documentation. The |
| 1401 | library covers functionalities such as: overscan, bias, dark, flat, bad-pixel |
| 1402 | handling, Strehl, fringing, catalogue operations, efficiency and response |
| 1403 | computation, refraction and airmass, pattern noise, resampling, limiting |
| 1404 | magnitude, and barycentric correction.") |
| 1405 | (license license:gpl2+))) |
| 1406 | |
| 1407 | (define* (healpix-source #:key version sha256-base32-hash) |
| 1408 | ;; The sources of HEALPix contains 6 independent packages (Fortran90, IDL, |
| 1409 | ;; C, C++, Java and Python) and distributed together with libsharp. There |
| 1410 | ;; is also a fresh C++ tarball which does not follow the naming pattern |
| 1411 | ;; e.g. healpix_cxx-3.82.1.tar.gz. |
| 1412 | (origin |
| 1413 | (method url-fetch) |
| 1414 | (uri |
| 1415 | (let* ((name "Healpix") |
| 1416 | (version-list (string-split version #\.)) |
| 1417 | (name+version (format #f "~a_~{~a.~a~a~}" name version-list))) |
| 1418 | (string-append "mirror://sourceforge/healpix/" |
| 1419 | name+version "/" name+version "_" "2024Nov13.tar.gz"))) |
| 1420 | (sha256 |
| 1421 | (base32 sha256-base32-hash )))) |
| 1422 | |
| 1423 | (define-public healpix |
| 1424 | (package |
| 1425 | (name "healpix") |
| 1426 | (version "3.8.3") |
| 1427 | (source |
| 1428 | (healpix-source |
| 1429 | #:version version |
| 1430 | #:sha256-base32-hash "1nhxad4zbk6qm6zblvyvyaavfq7vy8asq150n83dfvsrzj7c2xl8")) |
| 1431 | (build-system gnu-build-system) |
| 1432 | (arguments |
| 1433 | (list |
| 1434 | #:tests? #f ; no tests |
| 1435 | #:make-flags |
| 1436 | #~(list "shared" |
| 1437 | "AR=ar -rsv" |
| 1438 | "OPT=-O2 -Wall" |
| 1439 | "PIC=-fPIC" |
| 1440 | (string-append "CC=" #$(cc-for-target)) |
| 1441 | (string-append "CFITSIO_INCDIR=" |
| 1442 | #$(this-package-input "cfitsio") "/include") |
| 1443 | (string-append "CFITSIO_LIBDIR=" |
| 1444 | #$(this-package-input "cfitsio") "/lib") |
| 1445 | (string-append "INCDIR=" #$output "/include") |
| 1446 | (string-append "LIBDIR=" #$output "/lib")) |
| 1447 | #:phases |
| 1448 | #~(modify-phases %standard-phases |
| 1449 | (delete 'configure) ; no configure |
| 1450 | (add-after 'unpack 'chdir-c |
| 1451 | (lambda _ |
| 1452 | (chdir "src/C/subs"))) |
| 1453 | (add-before 'install 'set-output-directories |
| 1454 | (lambda _ |
| 1455 | (mkdir-p (string-append #$output "/include")) |
| 1456 | (mkdir-p (string-append #$output "/lib"))))))) |
| 1457 | (native-inputs |
| 1458 | (list pkg-config autoconf automake)) |
| 1459 | (inputs |
| 1460 | (list cfitsio)) |
| 1461 | (home-page "https://healpix.sourceforge.io/") |
| 1462 | (synopsis "Representation of spherical data") |
| 1463 | (description |
| 1464 | "@acronym{HEALPix, Hierarchical Equal Area isoLatitude Pixelation} of a |
| 1465 | sphere produces a subdivision of a spherical surface in which each pixel |
| 1466 | covers the same surface area as every other pixel. This package provides the |
| 1467 | dynamic library for the C language implementation of HEALPix.") |
| 1468 | (license license:gpl2+))) |
| 1469 | |
| 1470 | (define-public healpix-cxx |
| 1471 | (package |
| 1472 | (inherit healpix) |
| 1473 | (name "healpix-cxx") |
| 1474 | (arguments |
| 1475 | (list |
| 1476 | #:phases |
| 1477 | #~(modify-phases %standard-phases |
| 1478 | (add-after 'unpack 'chdir-cxx |
| 1479 | (lambda _ |
| 1480 | (chdir "src/cxx"))) |
| 1481 | (add-after 'chdir-cxx 'adjust-unit-tests |
| 1482 | (lambda _ |
| 1483 | (substitute* "configure.ac" |
| 1484 | ;; Run unit tests using serial harness, taken from |
| 1485 | ;; <https://salsa.debian.org/debian-astro-team/healpix-cxx/>. |
| 1486 | (("foreign subdir-objects -Wall -Werror") |
| 1487 | "foreign serial-tests subdir-objects -Wall -Werror")))) |
| 1488 | (replace 'bootstrap |
| 1489 | (lambda _ |
| 1490 | (invoke "aclocal") |
| 1491 | (invoke "automake" "--add-missing") |
| 1492 | (invoke "autoconf")))))) |
| 1493 | (inputs (modify-inputs inputs |
| 1494 | (prepend libsharp zlib))) |
| 1495 | (description |
| 1496 | (string-replace-substring (package-description healpix) |
| 1497 | "C language" |
| 1498 | "C++ language")))) |
| 1499 | |
| 1500 | (define-public imppg |
| 1501 | (package |
| 1502 | (name "imppg") |
| 1503 | (version "2.1.0") |
| 1504 | (source |
| 1505 | (origin |
| 1506 | (method git-fetch) |
| 1507 | (uri (git-reference |
| 1508 | (url "https://github.com/GreatAttractor/imppg") |
| 1509 | (commit (string-append "v" version)))) |
| 1510 | (file-name (git-file-name name version)) |
| 1511 | (sha256 |
| 1512 | (base32 "1fcssjpavjyvjwwbbcs2i0b0sk409hl7x8il88d7xviggfiyh1hm")))) |
| 1513 | (build-system cmake-build-system) |
| 1514 | (native-inputs |
| 1515 | (list boost |
| 1516 | pkg-config)) |
| 1517 | (inputs |
| 1518 | (list cfitsio |
| 1519 | freeimage |
| 1520 | glew |
| 1521 | lua |
| 1522 | wxwidgets)) |
| 1523 | (home-page "https://github.com/GreatAttractor/imppg") |
| 1524 | (synopsis "Astronomical Image Post-Proccessor (ImPPG)") |
| 1525 | (description |
| 1526 | "ImPPG performs Lucy-Richardson deconvolution, unsharp masking, |
| 1527 | brightness normalization and tone curve adjustment. It can also apply |
| 1528 | previously specified processing settings to multiple images. All operations |
| 1529 | are performed using 32-bit floating-point arithmetic. |
| 1530 | |
| 1531 | Supported input formats: FITS, BMP, JPEG, PNG, TIFF (most of bit depths and |
| 1532 | compression methods), TGA and more. Images are processed in grayscale and can |
| 1533 | be saved as: BMP 8-bit; PNG 8-bit; TIFF 8-bit, 16-bit, 32-bit |
| 1534 | floating-point (no compression, LZW- or ZIP-compressed), FITS 8-bit, 16-bit, |
| 1535 | 32-bit floating-point.") |
| 1536 | (license license:gpl3+))) |
| 1537 | |
| 1538 | (define-public indi |
| 1539 | (package |
| 1540 | (name "indi") |
| 1541 | (version "2.2.4.2") |
| 1542 | (source |
| 1543 | (origin |
| 1544 | (method git-fetch) |
| 1545 | (uri (git-reference |
| 1546 | (url "https://github.com/indilib/indi") |
| 1547 | (commit (string-append "v" version)))) |
| 1548 | (file-name (git-file-name name version)) |
| 1549 | (sha256 |
| 1550 | (base32 "0w3izplv2790zj9494sfbgmiw5qmkl1lrcggblilf7zb87qqx10c")))) |
| 1551 | (build-system cmake-build-system) |
| 1552 | (arguments |
| 1553 | (list |
| 1554 | #:parallel-tests? #f ; Socket address collisions between tests |
| 1555 | #:configure-flags |
| 1556 | #~(list "-DINDI_BUILD_UNITTESTS=ON" |
| 1557 | "-DINDI_BUILD_INTEGTESTS=ON" |
| 1558 | "-DCMAKE_INSTALL_LIBDIR=lib" |
| 1559 | ;; See: <https://github.com/indilib/indi/issues/2422>. |
| 1560 | "-DFIX_WARNINGS=OFF" |
| 1561 | (string-append "-DCMAKE_INSTALL_PREFIX=" #$output) |
| 1562 | (string-append "-DUDEVRULES_INSTALL_DIR=" #$output |
| 1563 | "/lib/udev/rules.d")) |
| 1564 | #:phases |
| 1565 | #~(modify-phases %standard-phases |
| 1566 | (add-after 'unpack 'patch-udev-rules |
| 1567 | (lambda _ |
| 1568 | (substitute* (list "drivers/auxiliary/99-indi_auxiliary.rules" |
| 1569 | "drivers/video/80-dbk21-camera.rules") |
| 1570 | (("/bin/sh") (which "sh")) |
| 1571 | (("/sbin/modprobe") |
| 1572 | (string-append #$(this-package-input "kmod") |
| 1573 | "/bin/modprobe"))))) |
| 1574 | (replace 'check |
| 1575 | (lambda* (#:key tests? #:allow-other-keys) |
| 1576 | (when tests? |
| 1577 | (with-directory-excursion "integs" |
| 1578 | (invoke "ctest" "-V" "--output-on-failure")) |
| 1579 | (with-directory-excursion "test" |
| 1580 | (invoke "ctest" "-V")))))))) |
| 1581 | (native-inputs |
| 1582 | (list googletest |
| 1583 | pkg-config)) |
| 1584 | (inputs |
| 1585 | (list cfitsio |
| 1586 | curl |
| 1587 | fftw |
| 1588 | gsl |
| 1589 | kmod |
| 1590 | libev |
| 1591 | libjpeg-turbo |
| 1592 | libnova |
| 1593 | libtiff |
| 1594 | libusb |
| 1595 | zlib)) |
| 1596 | (home-page "https://www.indilib.org") |
| 1597 | (synopsis "Library for astronimical instrumentation control") |
| 1598 | (description |
| 1599 | "INDI (Instrument-Neutral Device Interface) is a distributed XML-based |
| 1600 | control protocol designed to operate astronomical instrumentation. INDI is |
| 1601 | small, flexible, easy to parse, scalable, and stateless. It supports common |
| 1602 | DCS functions such as remote control, data acquisition, monitoring, and a lot |
| 1603 | more.") |
| 1604 | (license (list license:bsd-3 |
| 1605 | license:gpl2+ |
| 1606 | license:lgpl2.0+ |
| 1607 | license:lgpl2.1+)))) |
| 1608 | |
| 1609 | ;; For [email protected], remove when a fresh version is released. |
| 1610 | (define-public indi-2.2.1 |
| 1611 | (hidden-package |
| 1612 | (package |
| 1613 | (inherit indi) |
| 1614 | (name "indi") |
| 1615 | (version "2.2.1.1") |
| 1616 | (source |
| 1617 | (origin |
| 1618 | (method git-fetch) |
| 1619 | (uri (git-reference |
| 1620 | (url "https://github.com/indilib/indi") |
| 1621 | (commit (string-append "v" version)))) |
| 1622 | (file-name (git-file-name name version)) |
| 1623 | (sha256 |
| 1624 | (base32 "06p1hdvbs63nmrkzhp9mqw4ayvhx1wbh1w80ikq896k30i9sx5g0"))))))) |
| 1625 | |
| 1626 | (define-public iraf-community |
| 1627 | (package |
| 1628 | (name "iraf-community") |
| 1629 | (version "2.18.1") |
| 1630 | (source |
| 1631 | (origin |
| 1632 | (method git-fetch) |
| 1633 | (uri (git-reference |
| 1634 | (url "https://github.com/iraf-community/iraf") |
| 1635 | (commit (string-append "v" version)))) |
| 1636 | (file-name (git-file-name name version)) |
| 1637 | (sha256 |
| 1638 | (base32 "1bp88lgciibkm83jbmv8nazz8mzcrl1vlmll853fib6pwiikd015")))) |
| 1639 | (build-system gnu-build-system) |
| 1640 | (arguments |
| 1641 | (list |
| 1642 | ;; XXX: All tests fail, figure out how to fix them. |
| 1643 | #:tests? #f |
| 1644 | ;; It fails with segmentation fault in parallel build |
| 1645 | #:parallel-build? #f |
| 1646 | ;; No such file or directory .../lib/iraf/lib/libmemdbg.a |
| 1647 | #:validate-runpath? #f |
| 1648 | #:make-flags |
| 1649 | #~(list (format #f "IRAFARCH=~a" (cond (#$(target-hurd?) "hurd") |
| 1650 | (#$(target-64bit?) "linux64") |
| 1651 | (else "linux"))) |
| 1652 | "MNAME=linux64" |
| 1653 | (string-append "CC=" #$(cc-for-target)) |
| 1654 | (string-append "prefix=" #$output)) |
| 1655 | #:phases |
| 1656 | #~(modify-phases %standard-phases |
| 1657 | (delete 'configure) ;; no configure |
| 1658 | (add-after 'unpack 'patch-paths |
| 1659 | (lambda* (#:key inputs #:allow-other-keys) |
| 1660 | (substitute* (list "test/run_tests" |
| 1661 | "unix/boot/spp/xc.c" |
| 1662 | "unix/f2c/libf2c/makefile.u" |
| 1663 | "unix/f2c/src/changes" |
| 1664 | "unix/f2c/src/main.c" |
| 1665 | "unix/f2c/src/makefile.u" |
| 1666 | "unix/f2c/trim_f2c.sh" |
| 1667 | "unix/hlib/f77.sh" |
| 1668 | "unix/hlib/irafarch.sh" |
| 1669 | "unix/hlib/irafcl.sh" |
| 1670 | "unix/hlib/mkfloat" |
| 1671 | "unix/hlib/mkiraf.sh" |
| 1672 | "unix/hlib/mkmlist.sh" |
| 1673 | "unix/os/zoscmd.c") |
| 1674 | (("/bin/sh") (which "sh"))) |
| 1675 | (substitute* "unix/hlib/irafarch.sh" |
| 1676 | (("/usr/bin/uname") (search-input-file inputs "/bin/uname")) |
| 1677 | (("/bin/uname") (search-input-file inputs "/bin/uname"))) |
| 1678 | (substitute* "Makefile" |
| 1679 | (("DESTDIR./etc/iraf") "prefix)/etc/iraf"))))))) |
| 1680 | (native-inputs |
| 1681 | (list bison flex perl)) |
| 1682 | (inputs |
| 1683 | (list curl expat ncurses readline zlib)) |
| 1684 | (home-page "https://iraf-community.github.io/") |
| 1685 | (synopsis "Image Reduction and Analysis Facility") |
| 1686 | (description |
| 1687 | "IRAF is the Image Reduction and Analysis Facility, a general purpose |
| 1688 | software system for the reduction and analysis of astronomical data. IRAF was |
| 1689 | written by the @acronym{NOAO, National Optical Astronomy Observatories} in |
| 1690 | Tucson, Arizona. This package provides a community successor of the last IRAF |
| 1691 | release from 2013.") |
| 1692 | ;; It's multi licenses project but primary one is MIT (Expat) it was |
| 1693 | ;; checked with upstream, see |
| 1694 | ;; <https://github.com/iraf-community/iraf/issues/403>. |
| 1695 | (license license:expat))) |
| 1696 | |
| 1697 | (define-public java-cds-healpix |
| 1698 | ;; XXX: Upstream bundles java-commons-math3 available in Guix, find out how |
| 1699 | ;; to use the system package instead of it. |
| 1700 | (package |
| 1701 | (name "java-cds-healpix") |
| 1702 | (version "0.30.3") |
| 1703 | (source |
| 1704 | (origin |
| 1705 | (method git-fetch) |
| 1706 | (uri (git-reference |
| 1707 | (url "https://github.com/cds-astro/cds-healpix-java") |
| 1708 | (commit (string-append "v" version)))) |
| 1709 | (file-name (git-file-name name version)) |
| 1710 | (sha256 |
| 1711 | (base32 "1wi5ni6j0rvjyhz80g1gglxdimf7gnfa1kx8a3c2przzbwya0j8d")))) |
| 1712 | (build-system ant-build-system) |
| 1713 | (arguments |
| 1714 | (list |
| 1715 | #:jar-name "cdshealpix.jar" |
| 1716 | #:source-dir "src/main/java/cds/healpix" |
| 1717 | #:test-dir "src/test")) |
| 1718 | (home-page "https://github.com/cds-astro/cds-healpix-java") |
| 1719 | (synopsis "CDS HEALPix library in Java") |
| 1720 | (description |
| 1721 | "This package provides a @acronym{Centre de Données astronomiques de |
| 1722 | Strasbourg, CDS} implementation in Java of the @acronym{Hierarchical Equal |
| 1723 | Area isoLatitude Pixelization of a sphere , HEALPix} tessellation.") |
| 1724 | (license license:bsd-3))) |
| 1725 | |
| 1726 | (define-public libnova |
| 1727 | (package |
| 1728 | (name "libnova") |
| 1729 | (version "0.16") |
| 1730 | (source |
| 1731 | (origin |
| 1732 | (method git-fetch) |
| 1733 | (uri (git-reference |
| 1734 | (url "https://git.code.sf.net/p/libnova/libnova.git") |
| 1735 | (commit (string-append "v" version)))) |
| 1736 | (file-name (git-file-name name version)) |
| 1737 | (sha256 |
| 1738 | (base32 |
| 1739 | "0icwylwkixihzni0kgl0j8dx3qhqvym6zv2hkw2dy6v9zvysrb1b")))) |
| 1740 | (build-system gnu-build-system) |
| 1741 | (arguments |
| 1742 | (list |
| 1743 | #:phases |
| 1744 | #~(modify-phases %standard-phases |
| 1745 | (add-after 'unpack 'patch-git-version |
| 1746 | (lambda _ |
| 1747 | (substitute* "./git-version-gen" |
| 1748 | (("/bin/sh") (which "sh")))))))) |
| 1749 | (native-inputs |
| 1750 | (list autoconf automake libtool)) |
| 1751 | (home-page "https://libnova.sourceforge.net/") |
| 1752 | (synopsis "Celestial mechanics, astrometry and astrodynamics library") |
| 1753 | (description |
| 1754 | "Libnova is a general purpose, double precision, Celestial Mechanics, |
| 1755 | Astrometry and Astrodynamics library.") |
| 1756 | (license (list license:lgpl2.0+ |
| 1757 | license:gpl2+)))) ; examples/transforms.c & lntest/*.c |
| 1758 | |
| 1759 | (define-public libpasastro |
| 1760 | (package |
| 1761 | (name "libpasastro") |
| 1762 | (version "1.4.4") |
| 1763 | (source |
| 1764 | (origin |
| 1765 | (method git-fetch) |
| 1766 | (uri (git-reference |
| 1767 | (url "https://github.com/pchev/libpasastro") |
| 1768 | (commit (string-append "v" version)))) |
| 1769 | (file-name (git-file-name name version)) |
| 1770 | (sha256 |
| 1771 | (base32 "0y8naadlcd0ybh0qnfpdz4rqfb5sml7x8hx4isk4r7d84iy4cl61")))) |
| 1772 | (build-system gnu-build-system) |
| 1773 | (arguments |
| 1774 | (list |
| 1775 | #:tests? #f ; no tests provided |
| 1776 | #:make-flags |
| 1777 | #~(list |
| 1778 | ;; Keep OS detection for the case when Hurd would be suitable to try. |
| 1779 | #$@(if (target-linux?) '("OS_TARGET=linux") '()) |
| 1780 | ;; Enable buildtime CPU detection where supported, |
| 1781 | ;; and set a suitable CPU target variable. |
| 1782 | #$@(match (or (%current-target-system) |
| 1783 | (%current-system)) |
| 1784 | ("i686-linux" |
| 1785 | '("CPU_TARGET=i386")) |
| 1786 | ("x86_64-linux" |
| 1787 | '("CPU_TARGET=x86_64")) |
| 1788 | ;; There is no a case for RISCV in upstream, attempt to treat it |
| 1789 | ;; as ARM. |
| 1790 | ((or "armhf-linux" "aarch64-linux" "riscv64") |
| 1791 | '("CPU_TARGET=armv7l")) |
| 1792 | (_ '())) |
| 1793 | (string-append "PREFIX=" #$output)) |
| 1794 | #:phases |
| 1795 | #~(modify-phases %standard-phases |
| 1796 | (delete 'configure)))) |
| 1797 | (home-page "https://github.com/pchev/libpasastro") |
| 1798 | (synopsis "Interface to astronomy library for use from Pascal program") |
| 1799 | (description |
| 1800 | "This package provides shared libraries to interface Pascal program with |
| 1801 | standard astronomy libraries: |
| 1802 | |
| 1803 | @itemize |
| 1804 | @item @code{libpasgetdss.so}: Interface with GetDSS to work with DSS images. |
| 1805 | @item @code{libpasplan404.so}: Interface with Plan404 to compute planets |
| 1806 | position. |
| 1807 | @item @code{libpaswcs.so}: Interface with libwcs to work with FITS WCS. |
| 1808 | @item @code{libpasspice.so}: To work with NAIF/SPICE kernel. |
| 1809 | @end itemize") |
| 1810 | (license license:gpl2+))) |
| 1811 | |
| 1812 | (define-public libsep |
| 1813 | (package |
| 1814 | (name "libsep") |
| 1815 | (version "1.4.1") |
| 1816 | (source |
| 1817 | (origin |
| 1818 | (method git-fetch) |
| 1819 | (uri (git-reference |
| 1820 | (url "https://github.com/kbarbary/sep") |
| 1821 | (commit (string-append "v" version)))) |
| 1822 | (file-name (git-file-name name version)) |
| 1823 | (sha256 |
| 1824 | (base32 "1ni02sf3pcg438mi26csdcwsbq1v5mnxlna2aiwxj0mhq2psb1rw")))) |
| 1825 | (build-system cmake-build-system) |
| 1826 | (arguments |
| 1827 | (list |
| 1828 | #:make-flags |
| 1829 | #~(list (string-append "CC=" #$(cc-for-target)) |
| 1830 | (string-append "PREFIX=" #$output)) |
| 1831 | #:modules '((guix build cmake-build-system) |
| 1832 | ((guix build gnu-build-system) #:prefix gnu:) |
| 1833 | (guix build utils)) |
| 1834 | #:phases |
| 1835 | #~(modify-phases %standard-phases |
| 1836 | (replace 'check |
| 1837 | (lambda* (#:rest args) |
| 1838 | (with-directory-excursion "../source" |
| 1839 | (apply (assoc-ref gnu:%standard-phases 'check) |
| 1840 | #:test-target "test" args))))))) |
| 1841 | (native-inputs |
| 1842 | (list python-wrapper)) |
| 1843 | (home-page "https://github.com/kbarbary/sep") |
| 1844 | (synopsis "Astronomical source extraction and photometry library") |
| 1845 | (description |
| 1846 | "SEP makes the core algorithms of |
| 1847 | @url{https://www.astromatic.net/software/sextractor/, sextractor} available as |
| 1848 | a library of stand-alone functions and classes. These operate directly on |
| 1849 | in-memory arrays (no FITS files or configuration files). The code is derived |
| 1850 | from the Source Extractor code base (written in C) and aims to produce results |
| 1851 | compatible with Source Extractor whenever possible. SEP consists of a C |
| 1852 | library with no dependencies outside the standard library, and a Python module |
| 1853 | that wraps the C library in a Pythonic API. The Python wrapper operates on |
| 1854 | NumPy arrays with NumPy as its only dependency.") |
| 1855 | (license (list license:expat license:lgpl3+ license:bsd-3)))) |
| 1856 | |
| 1857 | (define-public libsharp |
| 1858 | (package |
| 1859 | (name "libsharp") |
| 1860 | (version "3.8.2") |
| 1861 | (source |
| 1862 | (healpix-source |
| 1863 | #:version version |
| 1864 | #:sha256-base32-hash "09x1lafq01gzk16yvmz2pdhrxnqfjp3b2p9hlgy0dbrdg82ryqj7")) |
| 1865 | (build-system gnu-build-system) |
| 1866 | (arguments |
| 1867 | (list |
| 1868 | #:phases |
| 1869 | #~(modify-phases %standard-phases |
| 1870 | (add-after 'unpack 'chdir-libsharp |
| 1871 | (lambda _ |
| 1872 | (chdir "src/common_libraries/libsharp")))))) |
| 1873 | (home-page "https://healpix.sourceforge.io/") |
| 1874 | (synopsis "Efficient spherical harmonic transforms at arbitrary spins") |
| 1875 | (description |
| 1876 | "This package provides a librari for spherical harmonic |
| 1877 | transforms (SHTs), which evolved from the libpsht library, addressing several |
| 1878 | of its shortcomings, such as adding MPI support for distributed memory systems |
| 1879 | and SHTs of fields with arbitrary spin, but also supporting new developments |
| 1880 | in CPU instruction sets like the Advanced Vector Extensions (AVX) or fused |
| 1881 | multiply-accumulate (FMA) instructions. The library is implemented in |
| 1882 | portable C99 and provides an interface that can be easily accessed from other |
| 1883 | programming languages such as C++, Fortran, Python etc. Generally, libsharp's |
| 1884 | performance is at least on par with that of its predecessor; however, |
| 1885 | significant improvements were made to the algorithms for scalar SHTs, which |
| 1886 | are roughly twice as fast when using the same CPU capabilities. |
| 1887 | |
| 1888 | Supporting paper is available at https://arxiv.org/abs/1303.4945") |
| 1889 | (license license:gpl2+))) |
| 1890 | |
| 1891 | (define-public libskry |
| 1892 | (package |
| 1893 | (name "libskry") |
| 1894 | (version "0.3.0") |
| 1895 | (source |
| 1896 | (origin |
| 1897 | (method git-fetch) |
| 1898 | (uri (git-reference |
| 1899 | (url "https://github.com/GreatAttractor/libskry") |
| 1900 | (commit (string-append "v" version)))) |
| 1901 | (file-name (git-file-name name version)) |
| 1902 | (sha256 |
| 1903 | (base32 "14kwng0j8wqzlb0gqg3ayq36l15dpz7kvxc56fa47j55b376bwh6")))) |
| 1904 | (build-system gnu-build-system) |
| 1905 | (arguments |
| 1906 | `(#:make-flags |
| 1907 | (list |
| 1908 | (string-append |
| 1909 | "LIBAV_INCLUDE_PATH=" (assoc-ref %build-inputs "ffmpeg") "/include")) |
| 1910 | #:phases |
| 1911 | (modify-phases %standard-phases |
| 1912 | (delete 'configure) ;; no configure provided |
| 1913 | (delete 'check) ;; no tests provided |
| 1914 | (replace 'install |
| 1915 | ;; The Makefile lacks an ‘install’ target. |
| 1916 | (lambda* (#:key outputs #:allow-other-keys) |
| 1917 | (let* ((out (assoc-ref outputs "out")) |
| 1918 | (lib (string-append out "/lib")) |
| 1919 | (include (string-append out "/include"))) |
| 1920 | (copy-recursively "bin" lib) |
| 1921 | (copy-recursively "include" include)) |
| 1922 | #t))))) |
| 1923 | (inputs |
| 1924 | (list ffmpeg-4)) |
| 1925 | (home-page "https://github.com/GreatAttractor/libskry") |
| 1926 | (synopsis "Astronimical lucky imaging library") |
| 1927 | (description |
| 1928 | "@code{libskry} implements the lucky imaging principle of astronomical |
| 1929 | imaging: creating a high-quality still image out of a series of many |
| 1930 | thousands) low quality ones") |
| 1931 | (license license:gpl3+))) |
| 1932 | |
| 1933 | (define-public libxisf |
| 1934 | (package |
| 1935 | (name "libxisf") |
| 1936 | (version "0.2.13") |
| 1937 | (source |
| 1938 | (origin |
| 1939 | (method git-fetch) |
| 1940 | (uri (git-reference |
| 1941 | (url "https://gitea.nouspiro.space/nou/libXISF") |
| 1942 | (commit (string-append "v" version)))) |
| 1943 | (file-name (git-file-name name version)) |
| 1944 | (sha256 |
| 1945 | (base32 "0zhj4xijr374c9raddxw8ibawx0n66lqvypgpccb81g41qkkdkmx")))) |
| 1946 | (build-system cmake-build-system) |
| 1947 | (arguments |
| 1948 | (list #:configure-flags #~(list "-DUSE_BUNDLED_LIBS=OFF"))) |
| 1949 | (native-inputs |
| 1950 | (list pkg-config)) |
| 1951 | (inputs |
| 1952 | (list lz4 pugixml zlib)) |
| 1953 | (home-page "https://nouspiro.space/?page_id=306") |
| 1954 | (synopsis "Astronomical library to load and write XISF file format") |
| 1955 | (description |
| 1956 | "LibXISF is C++ library that can read and write @acronym{XISF,Extensible |
| 1957 | Image Serialization Format} files produced by @url{https://pixinsight.com/, |
| 1958 | PixInsight}. It implements |
| 1959 | @url{https://pixinsight.com/doc/docs/XISF-1.0-spec/XISF-1.0-spec.html, XISF |
| 1960 | 1.0 specification}.") |
| 1961 | (license license:gpl3+))) |
| 1962 | |
| 1963 | (define-public libxisf-for-tenmon |
| 1964 | ;; This is an exact commit required for tenmon git submodule. |
| 1965 | (let ((commit "556bb22d2675ee6072c6224fef3da0fb5d93db41") |
| 1966 | (revision "0")) |
| 1967 | (hidden-package |
| 1968 | (package |
| 1969 | (inherit libxisf) |
| 1970 | (name "libxisf") |
| 1971 | (version (git-version "0.2.13" revision commit)) |
| 1972 | (source |
| 1973 | (origin |
| 1974 | (method git-fetch) |
| 1975 | (uri (git-reference |
| 1976 | (url "https://gitea.nouspiro.space/nou/libXISF") |
| 1977 | (commit commit))) |
| 1978 | (file-name (git-file-name name version)) |
| 1979 | (sha256 |
| 1980 | (base32 "037dijy0ql1mwm8nddwawlf3ms6w30kxdlkrjjprfsss80ssn30k")))))))) |
| 1981 | |
| 1982 | (define-public missfits |
| 1983 | (package |
| 1984 | (name "missfits") |
| 1985 | (version "2.8.0") |
| 1986 | (source |
| 1987 | (origin |
| 1988 | (method git-fetch) |
| 1989 | (uri (git-reference |
| 1990 | (url "https://github.com/astromatic/missfits") |
| 1991 | (commit version))) |
| 1992 | (file-name (git-file-name name version)) |
| 1993 | (sha256 |
| 1994 | (base32 "12ndvrr3l5j7ph2i5f3qf0wqmv5ymsyjzxnnypqajsvliw72iprh")))) |
| 1995 | (build-system gnu-build-system) |
| 1996 | (arguments |
| 1997 | (list |
| 1998 | #:configure-flags |
| 1999 | #~(list |
| 2000 | ;; Address this link error: |
| 2001 | ;; ld: ... multiple definition of ... first defined here |
| 2002 | "CPPFLAGS=-fcommon"))) |
| 2003 | (home-page "https://www.astromatic.net/software/missfits") |
| 2004 | (synopsis "FITS files Maintenance program") |
| 2005 | (description |
| 2006 | "MissFITS is a program that performs basic maintenance and packaging tasks |
| 2007 | on FITS files: |
| 2008 | |
| 2009 | @itemize |
| 2010 | @item add/edit FITS header keywords |
| 2011 | @item split/join @acronym{MEF, Multi-Extension-FITS} files |
| 2012 | @item unpack/pack FITS data-cubes |
| 2013 | @item create/check/update FITS checksums, using |
| 2014 | @uref{http://www.adass.org/adass/proceedings/adass94/seamanr.html, |
| 2015 | R. Seaman's protocol} |
| 2016 | @end itemize\n") |
| 2017 | (license license:gpl3+))) |
| 2018 | |
| 2019 | (define-public phd2 |
| 2020 | (package |
| 2021 | (name "phd2") |
| 2022 | (version "2.6.14dev1") |
| 2023 | (source |
| 2024 | (origin |
| 2025 | (method git-fetch) |
| 2026 | (uri (git-reference |
| 2027 | (url "https://github.com/OpenPHDGuiding/phd2") |
| 2028 | (commit (string-append "v" version)))) |
| 2029 | (file-name (git-file-name name version)) |
| 2030 | (sha256 |
| 2031 | (base32 "1dlwiz3m43j6hw2garqhpv53mz495h5nw2kcs81zizg157h6wyr2")) |
| 2032 | (modules '((guix build utils))) |
| 2033 | (snippet #~(delete-all-but "thirdparty" "thirdparty.cmake")))) |
| 2034 | (build-system cmake-build-system) |
| 2035 | (arguments |
| 2036 | (list |
| 2037 | #:configure-flags |
| 2038 | #~(list "-DOPENSOURCE_ONLY=yes" |
| 2039 | "-DUSE_SYSTEM_CFITSIO=yes" |
| 2040 | "-DUSE_SYSTEM_EIGEN3=yes" |
| 2041 | "-DUSE_SYSTEM_GTEST=yes" |
| 2042 | "-DUSE_SYSTEM_LIBINDI=yes" |
| 2043 | "-DUSE_SYSTEM_LIBUSB=yes"))) |
| 2044 | (native-inputs |
| 2045 | (list gettext-minimal |
| 2046 | googletest |
| 2047 | perl |
| 2048 | pkg-config |
| 2049 | python)) |
| 2050 | (inputs |
| 2051 | (list cfitsio |
| 2052 | curl |
| 2053 | eigen |
| 2054 | gtk+ |
| 2055 | indi |
| 2056 | libnova |
| 2057 | libusb |
| 2058 | opencv |
| 2059 | wxwidgets |
| 2060 | zlib)) |
| 2061 | (home-page "https://openphdguiding.org") |
| 2062 | (synopsis "Teleskope guiding software") |
| 2063 | (description |
| 2064 | "PHD2 is the enhanced,second generation version of the PHD guiding |
| 2065 | software from Stark Labs.") |
| 2066 | (license license:bsd-3))) |
| 2067 | |
| 2068 | (define-public planetary-system-stacker |
| 2069 | (package |
| 2070 | (name "planetary-system-stacker") |
| 2071 | (version "0.9.8") |
| 2072 | ;; There is no tag for releases after 0.8.31; this commit corresponds to |
| 2073 | ;; version 0.9.8. |
| 2074 | (properties |
| 2075 | '((commit . "304952a8ac8e991e111e3fe2dba95a6ca4304b4e") |
| 2076 | (revision . "0"))) |
| 2077 | (source |
| 2078 | (origin |
| 2079 | (method git-fetch) |
| 2080 | (uri (git-reference |
| 2081 | (url "https://github.com/Rolf-Hempel/PlanetarySystemStacker") |
| 2082 | (commit (assoc-ref properties 'commit)))) |
| 2083 | (file-name (git-file-name name version)) |
| 2084 | (sha256 |
| 2085 | (base32 "0ngzmr8b7xavivw76xfdqsgmi0k7n7qwmvqqawrdl7ygs5p2mnil")))) |
| 2086 | (build-system pyproject-build-system) |
| 2087 | (arguments |
| 2088 | (list |
| 2089 | #:tests? #false ;none included |
| 2090 | #:phases |
| 2091 | '(modify-phases %standard-phases |
| 2092 | (add-after 'unpack 'compatibility |
| 2093 | (lambda _ |
| 2094 | (substitute* "planetary_system_stacker/planetary_system_stacker.py" |
| 2095 | (("import pip") "") |
| 2096 | (("pip.__version__") "''")))) |
| 2097 | (add-after 'unpack 'relax-requirements |
| 2098 | (lambda _ |
| 2099 | (substitute* "setup.py" |
| 2100 | (("numpy <.*'") "numpy'") |
| 2101 | (("'opencv-python'") "") ;not detected, but it's available |
| 2102 | ((", <3.7'") "'"))))))) |
| 2103 | (inputs |
| 2104 | (list opencv |
| 2105 | python-astropy |
| 2106 | python-matplotlib |
| 2107 | python-numpy |
| 2108 | python-pyqt |
| 2109 | python-psutil |
| 2110 | python-scipy |
| 2111 | python-scikit-image)) |
| 2112 | (home-page "https://github.com/Rolf-Hempel/PlanetarySystemStacker") |
| 2113 | (synopsis |
| 2114 | "Stack frames of planetary system objects to produce a sharp image") |
| 2115 | (description |
| 2116 | "This software lets you produce a sharp image of a planetary system |
| 2117 | object (moon, sun, planets) from many seeing-affected frames using the \"lucky |
| 2118 | imaging\" technique. Input to the program can be either video files or |
| 2119 | directories containing still images.") |
| 2120 | (license license:gpl3))) |
| 2121 | |
| 2122 | (define-public psfex |
| 2123 | (package |
| 2124 | (name "psfex") |
| 2125 | (version "3.24.2") |
| 2126 | (source |
| 2127 | (origin |
| 2128 | (method git-fetch) |
| 2129 | (uri (git-reference |
| 2130 | (url "https://github.com/astromatic/psfex") |
| 2131 | (commit version))) |
| 2132 | (file-name (git-file-name name version)) |
| 2133 | (sha256 |
| 2134 | (base32 "0ykgzyxnxjxqk6b8jng006wjilg4fqaxclpfn8plg6brk1qf39sn")))) |
| 2135 | (build-system gnu-build-system) |
| 2136 | (arguments |
| 2137 | (list |
| 2138 | #:configure-flags |
| 2139 | #~(list "CPPFLAGS=-fcommon" |
| 2140 | "--enable-openblas" |
| 2141 | "--enable-plplot" |
| 2142 | (string-append "--with-fftw-libdir=" |
| 2143 | #$(this-package-input "fftw") "/lib") |
| 2144 | (string-append "--with-fftw-incdir=" |
| 2145 | #$(this-package-input "fftw") "/include") |
| 2146 | (string-append "--with-openblas-libdir=" |
| 2147 | #$(this-package-input "openblas") "/lib") |
| 2148 | (string-append "--with-openblas-incdir=" |
| 2149 | #$(this-package-input "openblas") "/include") |
| 2150 | (string-append "--with-plplot-libdir=" |
| 2151 | #$(this-package-input "plplot") "/lib") |
| 2152 | (string-append "--with-plplot-incdir=" |
| 2153 | #$(this-package-input "plplot") "/include")))) |
| 2154 | (native-inputs |
| 2155 | (list autoconf automake libtool pkg-config)) |
| 2156 | (inputs |
| 2157 | (list openblas fftw fftwf plplot)) |
| 2158 | (home-page "https://www.astromatic.net/software/psfex/") |
| 2159 | (synopsis "Astronomical PSF modelling and quality assessment") |
| 2160 | (description |
| 2161 | "@acronym{PSFEx, PSF Extractor} extracts models of the @acronym{PSF, |
| 2162 | Point Spread Function} from FITS images processed with SExtractor, and |
| 2163 | measures the quality of images. The generated PSF models can be used for |
| 2164 | model-fitting photometry or morphological analyses.") |
| 2165 | (license license:gpl3+))) |
| 2166 | |
| 2167 | (define-public python-acstools |
| 2168 | (package |
| 2169 | (name "python-acstools") |
| 2170 | (version "3.8.2") |
| 2171 | (source |
| 2172 | (origin |
| 2173 | (method git-fetch) |
| 2174 | (uri (git-reference |
| 2175 | (url "https://github.com/spacetelescope/acstools") |
| 2176 | (commit version))) |
| 2177 | (file-name (git-file-name name version)) |
| 2178 | (sha256 |
| 2179 | (base32 "00s4g9fksa0i0w4l4wqc775a5k1lk0r3nf7g8882bkfafqdc9ava")))) |
| 2180 | (build-system pyproject-build-system) |
| 2181 | (arguments |
| 2182 | (list |
| 2183 | #:test-flags |
| 2184 | #~(list |
| 2185 | ;; OSError: No SIMPLE card found, this file does not appear to be a |
| 2186 | ;; valid FITS file. If this is really a FITS file, try with |
| 2187 | ;; ignore_missing_simple=True |
| 2188 | "--deselect=acstools/tests/test_wfc_findsat_mrt.py::test_WfcWrapper"))) |
| 2189 | (native-inputs |
| 2190 | (list python-ci-watson |
| 2191 | python-pytest |
| 2192 | python-pytest-astropy-header |
| 2193 | python-pytest-remotedata |
| 2194 | python-setuptools |
| 2195 | python-setuptools-scm)) |
| 2196 | (propagated-inputs |
| 2197 | (list python-astropy |
| 2198 | python-numpy |
| 2199 | python-pyyaml |
| 2200 | python-requests |
| 2201 | ;; [optional] |
| 2202 | python-dask |
| 2203 | python-matplotlib |
| 2204 | python-photutils |
| 2205 | python-scikit-image |
| 2206 | python-scipy |
| 2207 | python-stsci-imagestats |
| 2208 | python-stsci-tools)) |
| 2209 | (home-page "https://github.com/spacetelescope/acstools") |
| 2210 | (synopsis "Hubble Space Telescope Advanced Camera for Surveys Tools") |
| 2211 | (description |
| 2212 | "Python Tools for HST ACS (Advanced Camera for Surveys) Data.") |
| 2213 | (license license:bsd-3))) |
| 2214 | |
| 2215 | (define-public python-adari-core |
| 2216 | (package |
| 2217 | (name "python-adari-core") |
| 2218 | (version "4.3.0") |
| 2219 | (source |
| 2220 | (origin |
| 2221 | (method url-fetch) |
| 2222 | (uri (string-append |
| 2223 | "https://ftp.eso.org/pub/dfs/pipelines/libraries/adari_core/" |
| 2224 | "adari_core-" version ".tar.gz")) |
| 2225 | (sha256 |
| 2226 | (base32 "152p32miwhpiwkd7lcdxljby20w15qf63s00brp9ilvxmy2cqdn4")))) |
| 2227 | (build-system pyproject-build-system) |
| 2228 | (arguments |
| 2229 | (list |
| 2230 | ;; Some custom ESO Python module is missing: |
| 2231 | ;; E ModuleNotFoundError: No module named 'inst_reports' |
| 2232 | #:tests? #f)) |
| 2233 | (native-inputs |
| 2234 | (list python-setuptools)) |
| 2235 | (propagated-inputs |
| 2236 | (list python-astropy |
| 2237 | python-fastapi |
| 2238 | python-matplotlib |
| 2239 | python-pydantic |
| 2240 | python-requests |
| 2241 | python-requests-unixsocket |
| 2242 | python-uvicorn)) |
| 2243 | ;; I could not find actual homepage of the project on |
| 2244 | ;; <https://www.eso.org/public/about-eso/>. |
| 2245 | (home-page "https://arxiv.org/abs/2510.00147") |
| 2246 | (synopsis "Visualizing the quality of VLT data") |
| 2247 | (description |
| 2248 | "ADARI (Astronomical DAta Reporting Infrastructure) is a system designed |
| 2249 | for creating graphical reports of astronomical data so that the quality of |
| 2250 | these products can be assessed. It has been designed from the ground up to be |
| 2251 | backend-agnostic, meaning the same ADARI code can be sent to a web plotting |
| 2252 | API, or a code-based plotting API, with no alteration.") |
| 2253 | (license license:bsd-3))) |
| 2254 | |
| 2255 | (define-public python-ads |
| 2256 | (package |
| 2257 | (name "python-ads") |
| 2258 | (version "0.12.7") |
| 2259 | (source |
| 2260 | (origin |
| 2261 | (method url-fetch) |
| 2262 | (uri (pypi-uri "ads" version)) |
| 2263 | (sha256 |
| 2264 | (base32 "156y3zp0nm77976rwsxjjdh7yvggas8s6m0nm523khvn4lq8f9n0")))) |
| 2265 | (build-system pyproject-build-system) |
| 2266 | (arguments |
| 2267 | (list |
| 2268 | #:test-flags |
| 2269 | ;; Assertion errors: |
| 2270 | ;; |
| 2271 | ;; You are lazy loading attributes via 'bibtex', and so are making |
| 2272 | ;; multiple calls to the API. This will impact your overall rate |
| 2273 | ;; limits. bibtex should be queried with ads.ExportQuery(); You will hit |
| 2274 | ;; API ratelimits very quickly otherwise. |
| 2275 | #~(list (string-append "--deselect=ads/tests/test_search.py" |
| 2276 | "::TestArticle::test_get_field_bibtex")))) |
| 2277 | (native-inputs |
| 2278 | (list nss-certs-for-test |
| 2279 | python-httpretty |
| 2280 | python-pytest |
| 2281 | python-setuptools)) |
| 2282 | (propagated-inputs |
| 2283 | (list python-mock |
| 2284 | python-requests |
| 2285 | python-six |
| 2286 | python-werkzeug)) |
| 2287 | (home-page "http://www.github.com/andycasey/ads/") |
| 2288 | (synopsis "Python client to NASA's Astrophysics Data System") |
| 2289 | (description |
| 2290 | "This package provides a Python Module to Interact with NASA's |
| 2291 | @acronym{Astrophysics Data System,ADS}.") |
| 2292 | (license license:expat))) |
| 2293 | |
| 2294 | (define-public python-aiapy |
| 2295 | (package |
| 2296 | (name "python-aiapy") |
| 2297 | (version "0.12.1") |
| 2298 | (source |
| 2299 | (origin |
| 2300 | (method git-fetch) |
| 2301 | (uri (git-reference |
| 2302 | (url "https://github.com/LM-SAL/aiapy") |
| 2303 | (commit (string-append "v" version)))) |
| 2304 | (file-name (git-file-name name version)) |
| 2305 | (sha256 |
| 2306 | (base32 "0q5h4rfl9l8linnxmbkj605rd4laczpdjamy1kpw7qgwc3a6aamq")))) |
| 2307 | (build-system pyproject-build-system) |
| 2308 | (arguments |
| 2309 | (list |
| 2310 | ;; tests: 47 passed, 82 skipped, 133 warnings |
| 2311 | #:phases |
| 2312 | #~(modify-phases %standard-phases |
| 2313 | (add-before 'check 'set-HOME |
| 2314 | (lambda _ |
| 2315 | (setenv "HOME" "/tmp")))))) |
| 2316 | (native-inputs |
| 2317 | (list nss-certs-for-test |
| 2318 | python-hissw |
| 2319 | python-pytest |
| 2320 | python-pytest-astropy |
| 2321 | python-pytest-doctestplus |
| 2322 | python-setuptools |
| 2323 | python-setuptools-scm)) |
| 2324 | (propagated-inputs |
| 2325 | (list python-astropy |
| 2326 | python-matplotlib |
| 2327 | python-numpy |
| 2328 | python-sunpy)) |
| 2329 | (home-page "https://aia.lmsal.com/") |
| 2330 | (synopsis "Library for AIA data analysis") |
| 2331 | (description |
| 2332 | "aiapy is a Python package for analyzing data from the @acronym{AIA, |
| 2333 | Atmospheric Imaging Assembly} instrument onboard NASA's @acronym{SDO, Solar |
| 2334 | Dynamics Observatory} spacecraft.") |
| 2335 | (license license:bsd-3))) |
| 2336 | |
| 2337 | (define-public python-aplpy |
| 2338 | (package |
| 2339 | (name "python-aplpy") |
| 2340 | (version "2.2.1") |
| 2341 | (source |
| 2342 | (origin |
| 2343 | (method git-fetch) |
| 2344 | (uri (git-reference |
| 2345 | (url "https://github.com/aplpy/aplpy") |
| 2346 | (commit (string-append "v" version)))) |
| 2347 | (file-name (git-file-name name version)) |
| 2348 | (sha256 |
| 2349 | (base32 "181718r5pjzvsw66hn0aq2q1lxpj0fvcp1jyb5cqldq2yhkjk863")))) |
| 2350 | (build-system pyproject-build-system) |
| 2351 | (arguments |
| 2352 | (list |
| 2353 | #:test-flags #~(list "--pyargs" "aplpy") |
| 2354 | #:phases |
| 2355 | #~(modify-phases %standard-phases |
| 2356 | (add-after 'unpack 'patch-manifest.in |
| 2357 | ;; See: <https://codeberg.org/guix/guix/issues/4393>. |
| 2358 | (lambda* (#:key name source inputs #:allow-other-keys) |
| 2359 | (let ((port (open-file "MANIFEST.in" "w"))) |
| 2360 | (for-each |
| 2361 | (lambda (file) |
| 2362 | (display "include " port) |
| 2363 | (display file port) |
| 2364 | (display "\n" port)) |
| 2365 | (find-files ".")) |
| 2366 | (close port)))) |
| 2367 | (add-after 'unpack 'set-env |
| 2368 | (lambda _ |
| 2369 | (setenv "HOME" "/tmp")))))) |
| 2370 | (native-inputs |
| 2371 | (list python-pytest-astropy |
| 2372 | python-pytest-mpl |
| 2373 | python-setuptools |
| 2374 | python-setuptools-scm)) |
| 2375 | (propagated-inputs |
| 2376 | (list python-astropy |
| 2377 | python-matplotlib |
| 2378 | python-numpy |
| 2379 | python-pillow |
| 2380 | python-pyavm |
| 2381 | python-pyregion |
| 2382 | python-reproject |
| 2383 | python-scikit-image |
| 2384 | python-shapely)) |
| 2385 | (home-page "http://aplpy.github.io") |
| 2386 | (synopsis "Astronomical Plotting Library in Python") |
| 2387 | (description |
| 2388 | "@acronym{APLpy, the Astronomical Plotting Library in Python} is a Python |
| 2389 | module aimed at producing publication-quality plots of astronomical imaging |
| 2390 | data in FITS format. The module uses @code{matplotlib}, a powerful and |
| 2391 | interactive plotting package. It is capable of creating output files in |
| 2392 | several graphical formats, including EPS, PDF, PS, PNG, and SVG. |
| 2393 | |
| 2394 | Main features: |
| 2395 | @itemize |
| 2396 | @item Make plots interactively or using scripts |
| 2397 | @item Show grayscale, colorscale, and 3-color RGB images of FITS files |
| 2398 | @item Generate co-aligned FITS cubes to make 3-color RGB images |
| 2399 | @item Make plots from FITS files with arbitrary WCS (e.g. position-velocity) |
| 2400 | @item Slice multi-dimensional FITS cubes |
| 2401 | @item Overlay any number of contour sets |
| 2402 | @item Overlay markers with fully customizable symbols |
| 2403 | @item Plot customizable shapes like circles, ellipses, and rectangles |
| 2404 | @item Overlay ds9 region files |
| 2405 | @item Overlay coordinate grids |
| 2406 | @item Show colorbars, scalebars, and beams |
| 2407 | @item Customize the appearance of labels and ticks |
| 2408 | @item Hide, show, and remove different contour and marker layers |
| 2409 | @item Pan, zoom, and save any view as a full publication-quality plot |
| 2410 | @item Save plots as EPS, PDF, PS, PNG, and SVG |
| 2411 | @end itemize") |
| 2412 | (license license:expat))) |
| 2413 | |
| 2414 | (define-public python-asdf |
| 2415 | (package |
| 2416 | (name "python-asdf") |
| 2417 | (version "5.3.1") |
| 2418 | (source |
| 2419 | (origin |
| 2420 | (method git-fetch) |
| 2421 | (uri (git-reference |
| 2422 | (url "https://github.com/asdf-format/asdf") |
| 2423 | (commit version))) |
| 2424 | (file-name (git-file-name name version)) |
| 2425 | (sha256 |
| 2426 | (base32 "0dbzpqmi38z6iab52f3mlsx4xq1kld6dag5l6msq9z5m7lr4kcnb")))) |
| 2427 | (build-system pyproject-build-system) |
| 2428 | (arguments |
| 2429 | (list |
| 2430 | ;; tests: 2150 passed, 2 xfailed |
| 2431 | #:test-flags |
| 2432 | #~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))) |
| 2433 | #:phases |
| 2434 | #~(modify-phases %standard-phases |
| 2435 | (add-after 'unpack 'patch-manifest.in |
| 2436 | ;; See: <https://codeberg.org/guix/guix/issues/4393>. |
| 2437 | (lambda* (#:key name source inputs #:allow-other-keys) |
| 2438 | (let ((port (open-file "MANIFEST.in" "w"))) |
| 2439 | (for-each |
| 2440 | (lambda (file) |
| 2441 | (display "include " port) |
| 2442 | (display file port) |
| 2443 | (display "\n" port)) |
| 2444 | (find-files ".")) |
| 2445 | (close port))))))) |
| 2446 | (native-inputs |
| 2447 | (list python-psutil |
| 2448 | python-pytest |
| 2449 | python-pytest-remotedata |
| 2450 | python-pytest-xdist |
| 2451 | python-setuptools |
| 2452 | python-setuptools-scm |
| 2453 | python-syrupy)) |
| 2454 | (propagated-inputs |
| 2455 | (list python-asdf-standard |
| 2456 | python-attrs ;for vendorized jsonschema |
| 2457 | python-importlib-metadata |
| 2458 | python-jmespath |
| 2459 | python-numpy |
| 2460 | python-packaging |
| 2461 | python-pyyaml |
| 2462 | python-semantic-version |
| 2463 | ;; [optional] |
| 2464 | python-fsspec |
| 2465 | python-lz4)) |
| 2466 | (home-page "https://github.com/asdf-format/asdf") |
| 2467 | (synopsis "Python tools to handle ASDF files") |
| 2468 | (description |
| 2469 | "The Advanced Scientific Data Format (ASDF) is a next-generation |
| 2470 | interchange format for scientific data. This package contains the Python |
| 2471 | implementation of the ASDF Standard.") |
| 2472 | (license license:bsd-3))) |
| 2473 | |
| 2474 | (define-public python-asdf-astropy |
| 2475 | (package |
| 2476 | (name "python-asdf-astropy") |
| 2477 | (version "0.11.0") |
| 2478 | (source |
| 2479 | (origin |
| 2480 | (method git-fetch) |
| 2481 | (uri (git-reference |
| 2482 | (url "https://github.com/astropy/asdf-astropy") |
| 2483 | (commit version))) |
| 2484 | (file-name (git-file-name name version)) |
| 2485 | (sha256 |
| 2486 | (base32 "1a2ly230c6rrizv78mgzfcdysn2fhp1lfcc1004igr98adabwy3l")))) |
| 2487 | (build-system pyproject-build-system) |
| 2488 | (arguments |
| 2489 | (list |
| 2490 | ;; tests: 4438 passed, 2 skipped |
| 2491 | #:test-flags |
| 2492 | #~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))) |
| 2493 | #:phases |
| 2494 | #~(modify-phases %standard-phases |
| 2495 | (add-after 'install 'include-package-data |
| 2496 | ;; XXX: Check why resources stopped being copied with setuptools |
| 2497 | ;; in 0.11.0 version. |
| 2498 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 2499 | (copy-recursively "asdf_astropy/resources" |
| 2500 | (string-append (site-packages inputs outputs) |
| 2501 | "/asdf_astropy/resources")))) |
| 2502 | (add-before 'check 'set-HOME |
| 2503 | (lambda _ |
| 2504 | (setenv "HOME" "/tmp")))))) |
| 2505 | (native-inputs |
| 2506 | (list python-pytest |
| 2507 | python-pytest-asdf-plugin |
| 2508 | python-pytest-astropy |
| 2509 | python-pytest-xdist |
| 2510 | python-scipy |
| 2511 | python-setuptools |
| 2512 | python-setuptools-scm)) |
| 2513 | (propagated-inputs |
| 2514 | (list python-asdf |
| 2515 | python-asdf-coordinates-schemas |
| 2516 | python-asdf-standard |
| 2517 | python-asdf-transform-schemas |
| 2518 | python-astropy-minimal |
| 2519 | python-numpy |
| 2520 | python-packaging)) |
| 2521 | (home-page "https://github.com/astropy/asdf-astropy") |
| 2522 | (synopsis "ASDF serialization support for astropy") |
| 2523 | (description |
| 2524 | "This package includes plugins that provide ASDF serialization support for |
| 2525 | Astropy objects.") |
| 2526 | (license license:bsd-3))) |
| 2527 | |
| 2528 | (define-public python-asdf-bootstrap |
| 2529 | (hidden-package |
| 2530 | (package/inherit python-asdf |
| 2531 | (name "python-asdf-bootstrap") |
| 2532 | (arguments |
| 2533 | (substitute-keyword-arguments arguments |
| 2534 | ((#:tests? #t #t) #f))) |
| 2535 | (native-inputs |
| 2536 | (list python-setuptools |
| 2537 | python-setuptools-scm)) |
| 2538 | (propagated-inputs |
| 2539 | (modify-inputs propagated-inputs |
| 2540 | (replace "python-asdf-standard" |
| 2541 | python-asdf-standard-bootstrap)))))) |
| 2542 | |
| 2543 | (define-public python-asdf-compression |
| 2544 | (package |
| 2545 | (name "python-asdf-compression") |
| 2546 | (version "0.1.0") |
| 2547 | (source |
| 2548 | (origin |
| 2549 | (method git-fetch) |
| 2550 | (uri (git-reference |
| 2551 | (url "https://github.com/asdf-format/asdf-compression") |
| 2552 | (commit version))) |
| 2553 | (file-name (git-file-name name version)) |
| 2554 | (sha256 |
| 2555 | (base32 "0fd2d5raglp1nwjy0hr3kckk518xrph451zymlw58jgwg5l1vq3m")))) |
| 2556 | (build-system pyproject-build-system) |
| 2557 | (native-inputs |
| 2558 | (list python-numpy |
| 2559 | python-pytest |
| 2560 | python-setuptools |
| 2561 | python-setuptools-scm)) |
| 2562 | (propagated-inputs |
| 2563 | (list python-asdf |
| 2564 | python-blosc |
| 2565 | python-lz4 |
| 2566 | python-zstandard)) |
| 2567 | (home-page "https://github.com/asdf-format/asdf-compression") |
| 2568 | (synopsis "ASDF extension to support various compression algorithms") |
| 2569 | (description |
| 2570 | "This package includes a plugin for the Python library ASDF to add support for |
| 2571 | reading and writing various compression algorithms including: |
| 2572 | @url{https://www.blosc.org/python-blosc/reference.html, |
| 2573 | Blosc},@url{https://python-lz4.readthedocs.io/en/stable/lz4.frame.html, LZ4 |
| 2574 | Frame},@url{http://facebook.github.io/zstd/, Zstandard}.") |
| 2575 | (license license:bsd-3))) |
| 2576 | |
| 2577 | (define-public python-asdf-coordinates-schemas |
| 2578 | (package |
| 2579 | (name "python-asdf-coordinates-schemas") |
| 2580 | (version "0.5.1") |
| 2581 | (source |
| 2582 | (origin |
| 2583 | (method url-fetch) |
| 2584 | (uri (pypi-uri "asdf_coordinates_schemas" version)) |
| 2585 | (sha256 |
| 2586 | (base32 "1qilyzmb0nzpj7ss22xqwvi2dy7b706f2v4y5f7wn9rg67y75kyr")))) |
| 2587 | (build-system pyproject-build-system) |
| 2588 | (arguments |
| 2589 | (list |
| 2590 | ;; tests: 257 passed |
| 2591 | #:test-flags |
| 2592 | #~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))))) |
| 2593 | (native-inputs |
| 2594 | (list python-pytest |
| 2595 | python-pytest-asdf-plugin |
| 2596 | python-pytest-xdist |
| 2597 | python-setuptools |
| 2598 | python-setuptools-scm)) |
| 2599 | (propagated-inputs |
| 2600 | (list python-asdf |
| 2601 | python-asdf-standard)) |
| 2602 | (home-page "https://github.com/asdf-format/asdf-coordinates-schemas") |
| 2603 | (synopsis "ASDF coordinates schemas") |
| 2604 | (description |
| 2605 | "This package provides ASDF schemas for validating coordinates tags. |
| 2606 | Users should not need to install this directly; instead, install an |
| 2607 | implementation package such as asdf-astropy.") |
| 2608 | (license license:bsd-3))) |
| 2609 | |
| 2610 | (define-public python-asdf-standard |
| 2611 | (package |
| 2612 | (name "python-asdf-standard") |
| 2613 | (version "1.5.0") |
| 2614 | (source |
| 2615 | (origin |
| 2616 | (method url-fetch) |
| 2617 | (uri (pypi-uri "asdf_standard" version)) |
| 2618 | (sha256 |
| 2619 | (base32 "0rjrzqrqx18k3qkkrnyif62y837lqxrl6j1lyrr9zws3s7vwlhjr")))) |
| 2620 | (build-system pyproject-build-system) |
| 2621 | ;; tests: 470 passed, 19 skipped |
| 2622 | (native-inputs |
| 2623 | (list python-asdf-bootstrap |
| 2624 | python-packaging |
| 2625 | python-pytest |
| 2626 | python-pytest-asdf-plugin |
| 2627 | python-pyyaml |
| 2628 | python-setuptools |
| 2629 | python-setuptools-scm)) |
| 2630 | (home-page "https://asdf-standard.readthedocs.io/") |
| 2631 | (synopsis "ASDF standard schemas") |
| 2632 | (description |
| 2633 | "This package provides Python implementation of @acronym{ASDF, Advanced |
| 2634 | Scientific Data Format} - a proposed next generation interchange format for |
| 2635 | scientific data. ASDF aims to exist in the same middle ground that made FITS |
| 2636 | so successful, by being a hybrid text and binary format: containing human |
| 2637 | editable metadata for interchange, and raw binary data that is fast to load |
| 2638 | and use. Unlike FITS, the metadata is highly structured and is designed |
| 2639 | up-front for extensibility.") |
| 2640 | (license license:bsd-3))) |
| 2641 | |
| 2642 | (define-public python-asdf-standard-bootstrap |
| 2643 | (hidden-package |
| 2644 | (package/inherit python-asdf-standard |
| 2645 | (name "python-asdf-standard-bootstrap") |
| 2646 | (arguments |
| 2647 | (list #:tests? #f)) |
| 2648 | (native-inputs |
| 2649 | (list python-setuptools |
| 2650 | python-setuptools-scm))))) |
| 2651 | |
| 2652 | (define-public python-asdf-transform-schemas |
| 2653 | (package |
| 2654 | (name "python-asdf-transform-schemas") |
| 2655 | (version "0.6.0") |
| 2656 | (source |
| 2657 | (origin |
| 2658 | (method url-fetch) |
| 2659 | (uri (pypi-uri "asdf_transform_schemas" version)) |
| 2660 | (sha256 |
| 2661 | (base32 "0clp3a2ldfhvsh5c7zqd7nr2bvv62a89aaf8p4a2vzgzjvhghl0g")))) |
| 2662 | (build-system pyproject-build-system) |
| 2663 | (arguments |
| 2664 | (list |
| 2665 | ;; XXX: Check why all tests fail in this file. |
| 2666 | #:test-flags #~(list "--deselect=tests/test_invalid.py"))) |
| 2667 | (native-inputs |
| 2668 | (list python-asdf-bootstrap |
| 2669 | python-pytest |
| 2670 | python-setuptools |
| 2671 | python-setuptools-scm)) |
| 2672 | (propagated-inputs |
| 2673 | (list python-asdf-standard)) |
| 2674 | (home-page "https://github.com/asdf-format/asdf-transform-schemas") |
| 2675 | (synopsis "ASDF schemas for transforms") |
| 2676 | (description |
| 2677 | "This package provides ASDF schemas for validating transform tags. |
| 2678 | Users should not need to install this directly; instead, install an |
| 2679 | implementation package such as asdf-astropy.") |
| 2680 | (license license:bsd-3))) |
| 2681 | |
| 2682 | (define-public python-asdf-transform-schemas-bootstrap |
| 2683 | (hidden-package |
| 2684 | (package/inherit python-asdf-transform-schemas |
| 2685 | (name "python-asdf-transform-schemas-bootstrap") |
| 2686 | (arguments |
| 2687 | (list #:tests? #f)) |
| 2688 | (native-inputs |
| 2689 | (list python-setuptools |
| 2690 | python-setuptools-scm)) |
| 2691 | (propagated-inputs |
| 2692 | (list python-asdf-standard-bootstrap))))) |
| 2693 | |
| 2694 | (define-public python-asdf-wcs-schemas |
| 2695 | (package |
| 2696 | (name "python-asdf-wcs-schemas") |
| 2697 | (version "0.5.0") |
| 2698 | (source |
| 2699 | (origin |
| 2700 | (method url-fetch) |
| 2701 | (uri (pypi-uri "asdf_wcs_schemas" version)) |
| 2702 | (sha256 |
| 2703 | (base32 "1dar2pzf2plwyl1rbmnv8fqvx1ljgpf3z39d4ybmn690djjdsyxg")))) |
| 2704 | (build-system pyproject-build-system) |
| 2705 | (arguments |
| 2706 | (list |
| 2707 | #:test-flags #~(list "tests"))) |
| 2708 | (native-inputs |
| 2709 | (list python-asdf |
| 2710 | python-pytest |
| 2711 | python-pytest-openfiles |
| 2712 | python-setuptools |
| 2713 | python-setuptools-scm)) |
| 2714 | (propagated-inputs |
| 2715 | (list python-asdf-coordinates-schemas |
| 2716 | python-asdf-standard |
| 2717 | python-asdf-transform-schemas)) |
| 2718 | (home-page "https://github.com/asdf-format/asdf-wcs-schemas") |
| 2719 | (synopsis "ASDF WCS Schemas") |
| 2720 | (description |
| 2721 | "This package provides ASDF schemas for validating World Coordinate |
| 2722 | System (WCS) tags. Users should not need to install this directly; instead, |
| 2723 | install an implementation package such as gwcs.") |
| 2724 | (license license:bsd-3))) |
| 2725 | |
| 2726 | (define-public python-asdf-zarr |
| 2727 | (package |
| 2728 | (name "python-asdf-zarr") |
| 2729 | ;; 0.0.4 (2024-06-28); to support latest Zarr. |
| 2730 | (properties '((commit . "06a7b4baf6d98c95dc03bb76de671e614f771a4f") |
| 2731 | (revision . "1"))) |
| 2732 | (version (git-version "0.0.4" |
| 2733 | (assoc-ref properties 'revision) |
| 2734 | (assoc-ref properties 'commit))) |
| 2735 | (source |
| 2736 | (origin |
| 2737 | (method git-fetch) |
| 2738 | (uri (git-reference |
| 2739 | (url "https://github.com/asdf-format/asdf-zarr") |
| 2740 | (commit (assoc-ref properties 'commit)))) |
| 2741 | (file-name (git-file-name name version)) |
| 2742 | (sha256 |
| 2743 | (base32 "11gj9d3lhv3a3ygfpyiddrfqridg6f363s9mjdl8ygji08lz5mrb")))) |
| 2744 | (build-system pyproject-build-system) |
| 2745 | (native-inputs |
| 2746 | (list python-pytest |
| 2747 | python-pytest-asyncio |
| 2748 | python-setuptools |
| 2749 | python-setuptools-scm)) |
| 2750 | (propagated-inputs |
| 2751 | (list python-asdf |
| 2752 | python-fsspec |
| 2753 | python-zarr)) |
| 2754 | (home-page "https://github.com/asdf-format/asdf-zarr") |
| 2755 | (synopsis "Asdf extension to support Zarr arrays") |
| 2756 | (description |
| 2757 | "This package includes an extension for the Python library asdf to add |
| 2758 | support for reading and writing chunked |
| 2759 | @url{https://zarr.readthedocs.io/en/stable/,Zarr} arrays, a file storage |
| 2760 | format for chunked, compressed, N-dimensional arrays based on an open-source |
| 2761 | specification.") |
| 2762 | (license license:bsd-3))) |
| 2763 | |
| 2764 | (define-public python-astlib |
| 2765 | (package |
| 2766 | (name "python-astlib") |
| 2767 | (version "0.13.2") |
| 2768 | (source |
| 2769 | (origin |
| 2770 | (method url-fetch) |
| 2771 | (uri (pypi-uri "astlib" version)) |
| 2772 | (sha256 |
| 2773 | (base32 "0kaqb6k5rsgggg8k00x30s8055l2w6f70bsqpqv82lgnrdwgkx7j")))) |
| 2774 | (build-system pyproject-build-system) |
| 2775 | (native-inputs |
| 2776 | (list python-pytest |
| 2777 | python-setuptools)) |
| 2778 | (propagated-inputs |
| 2779 | (list python-astropy |
| 2780 | python-matplotlib |
| 2781 | python-numpy |
| 2782 | python-scipy)) |
| 2783 | (home-page "https://astlib.readthedocs.io") |
| 2784 | (synopsis "Plots with World Coordinate System information") |
| 2785 | (description |
| 2786 | "This package provides a set of Python modules for producing simple plots, |
| 2787 | statistics, common calculations, coordinate conversions, and manipulating FITS |
| 2788 | images with World Coordinate System (WCS) information.") |
| 2789 | (license license:lgpl2.1))) |
| 2790 | |
| 2791 | (define-public python-astral |
| 2792 | (package |
| 2793 | (name "python-astral") |
| 2794 | (version "3.2") |
| 2795 | (source |
| 2796 | (origin |
| 2797 | (method url-fetch) |
| 2798 | (uri (pypi-uri "astral" version)) |
| 2799 | (sha256 |
| 2800 | (base32 "121xag65rmv6pszbi3d206yz3jfwmpkf0jxjrxrd2scy5r0knz4v")))) |
| 2801 | (build-system pyproject-build-system) |
| 2802 | (arguments |
| 2803 | (list |
| 2804 | #:test-flags |
| 2805 | ;; XXX: Disable tests which require newer version of python-pytz. |
| 2806 | ;; No time zone found with key Pacific/Auckland |
| 2807 | #~(list "-k" (string-append |
| 2808 | "not test_TimezoneLookup" |
| 2809 | " and not test_Sun" |
| 2810 | " and not test_Dawn" |
| 2811 | " and not test_Sunrise" |
| 2812 | " and not test_SolarNoon" |
| 2813 | " and not test_Dusk" |
| 2814 | " and not test_Sunset" |
| 2815 | " and not test_SolarElevation" |
| 2816 | " and not test_SolarAzimuth" |
| 2817 | " and not test_TimeAtAltitude" |
| 2818 | " and not test_MoonNoDate" |
| 2819 | " and not test_lookup" |
| 2820 | " and not test_tzinfo" |
| 2821 | " and not test_australia" |
| 2822 | " and not test_adak" |
| 2823 | " and not test_australia" |
| 2824 | " and not test_Elevation_NonNaive" |
| 2825 | " and not test_Wellington" |
| 2826 | " and not test_Sun_Local_tzinfo" |
| 2827 | " and not test_Sun_Local_str" |
| 2828 | " and not test_SolarZenith_London" |
| 2829 | " and not test_SolarZenith_Riyadh" |
| 2830 | " and not test_moonrise_utc" |
| 2831 | " and not test_moonrise_wellington" |
| 2832 | " and not test_moonset_wellington")) |
| 2833 | #:phases |
| 2834 | #~(modify-phases %standard-phases |
| 2835 | (add-before 'check 'prepare-test-environment |
| 2836 | (lambda _ |
| 2837 | (setenv "HOME" "/tmp")))))) |
| 2838 | (native-inputs |
| 2839 | (list python-freezegun |
| 2840 | python-poetry-core |
| 2841 | python-pytest |
| 2842 | python-setuptools-scm)) |
| 2843 | (propagated-inputs |
| 2844 | (list python-pytest python-pytz)) |
| 2845 | (home-page "https://github.com/sffjunkie/astral") |
| 2846 | (synopsis "Calculations for the position of the sun and moon") |
| 2847 | (description "Astral is a Python module that calculates times for various |
| 2848 | positions of the sun: dawn, sunrise, solar noon, sunset, dusk, solar |
| 2849 | elevation, solar azimuth, rahukaalam, and the phases of the moon.") |
| 2850 | (license license:asl2.0))) |
| 2851 | |
| 2852 | (define-public python-astroalign |
| 2853 | (package |
| 2854 | (name "python-astroalign") |
| 2855 | (version "2.6.2") |
| 2856 | (source |
| 2857 | (origin |
| 2858 | (method git-fetch) |
| 2859 | (uri (git-reference |
| 2860 | (url "https://github.com/quatrope/astroalign") |
| 2861 | (commit (string-append "v" version)))) |
| 2862 | (file-name (git-file-name name version)) |
| 2863 | (sha256 |
| 2864 | (base32 "0jcnv0gll0p7aqykmn9qffyzfq4gm3py5g20v6xxwf91vr85xrl3")))) |
| 2865 | (build-system pyproject-build-system) |
| 2866 | (native-inputs |
| 2867 | (list python-astropy-minimal |
| 2868 | python-ccdproc |
| 2869 | python-pillow |
| 2870 | python-pytest |
| 2871 | python-setuptools)) |
| 2872 | (propagated-inputs |
| 2873 | (list python-numpy |
| 2874 | python-scikit-image |
| 2875 | python-scipy |
| 2876 | python-sep)) |
| 2877 | (home-page "https://astroalign.readthedocs.io/") |
| 2878 | (synopsis "Astrometric Alignment of Images") |
| 2879 | (description |
| 2880 | "ASTROALIGN is a python module that will try to align two stellar |
| 2881 | astronomical images, especially when there is no WCS information available.") |
| 2882 | (license license:expat))) |
| 2883 | |
| 2884 | (define-public python-astrocut |
| 2885 | (package |
| 2886 | (name "python-astrocut") |
| 2887 | (version "1.3.0") |
| 2888 | (source |
| 2889 | (origin |
| 2890 | (method url-fetch) |
| 2891 | (uri (pypi-uri "astrocut" version)) |
| 2892 | (sha256 |
| 2893 | (base32 "1w9r48wdq2x6z6gmzr36nlqvm30hcdrrxn395hf21rxdqjiklh9w")))) |
| 2894 | (build-system pyproject-build-system) |
| 2895 | (arguments |
| 2896 | (list |
| 2897 | ;; tests: 119 passed, 1 skipped, 39 deselected, 3 warnings |
| 2898 | #:test-flags |
| 2899 | #~(list "--deselect=docs/astrocut/index.rst::index.rst" |
| 2900 | #$@(map (lambda (ls) |
| 2901 | (string-append "--deselect=" |
| 2902 | "astrocut/tests/" |
| 2903 | (string-join ls "::"))) |
| 2904 | ;; botocore.exceptions.EndpointConnectionError: Could |
| 2905 | ;; not connect to the endpoint URL: |
| 2906 | ;; "https://stpubdata.s3.amazonaws.com/<...>" |
| 2907 | '(("test_cube_cut.py" "test_s3_cube_cut") |
| 2908 | ("test_cube_cut.py" "test_multithreading") |
| 2909 | ("test_cutouts.py" "test_fits_cut") |
| 2910 | ("test_fits_cutout.py" "test_fits_cutout_cloud") |
| 2911 | ("test_tess_cube_cutout.py" |
| 2912 | "test_tess_cube_cutout_s3") |
| 2913 | ("test_tess_cube_cutout.py" |
| 2914 | "test_tess_cube_cutout_threads") |
| 2915 | ("test_tess_footprint_cutout.py" |
| 2916 | "test_cube_cut_from_footprint") |
| 2917 | ("test_tess_footprint_cutout.py" |
| 2918 | "test_get_tess_sectors") |
| 2919 | ("test_tess_footprint_cutout.py" |
| 2920 | "test_get_tess_sectors_invalid_coordinates") |
| 2921 | ("test_tess_footprint_cutout.py" |
| 2922 | "test_get_tess_sectors_no_matches") |
| 2923 | ("test_tess_footprint_cutout.py" |
| 2924 | "test_ra_dec_crossmatch_point") |
| 2925 | ("test_tess_footprint_cutout.py" |
| 2926 | "test_ra_dec_crossmatch_poly") |
| 2927 | ("test_tess_footprint_cutout.py" |
| 2928 | "test_tess_footprint_cutout") |
| 2929 | ("test_tess_footprint_cutout.py" |
| 2930 | "test_tess_footprint_cutout_all_sequences") |
| 2931 | ("test_tess_footprint_cutout.py" |
| 2932 | "test_tess_footprint_cutout_invalid_sequence") |
| 2933 | ("test_tess_footprint_cutout.py" |
| 2934 | "test_tess_footprint_cutout_multi_sequence") |
| 2935 | ("test_tess_footprint_cutout.py" |
| 2936 | "test_tess_footprint_cutout_outside_coords") |
| 2937 | ("test_tess_footprint_cutout.py" |
| 2938 | "test_tess_footprint_cutout_write_as_tpf") |
| 2939 | ;; assert (np.int64(16) - np.int64(12)) == 5 |
| 2940 | ("test_utils.py" "test_get_cutout_limits") |
| 2941 | ;; assert np.False_ where np.False_ = <built-in |
| 2942 | ;; method all of numpy.ndarray object at |
| 2943 | ;; 0x7fff553cde90>() |
| 2944 | ("test_utils.py" "test_get_cutout_wcs")))))) |
| 2945 | (native-inputs |
| 2946 | (list nss-certs-for-test |
| 2947 | python-pytest |
| 2948 | python-astroquery |
| 2949 | python-pytest-astropy |
| 2950 | python-setuptools |
| 2951 | python-setuptools-scm)) |
| 2952 | (propagated-inputs |
| 2953 | (list python-asdf |
| 2954 | python-astropy |
| 2955 | python-cachetools |
| 2956 | python-fsspec |
| 2957 | python-gwcs |
| 2958 | python-pillow |
| 2959 | python-requests |
| 2960 | python-s3fs |
| 2961 | python-s3path |
| 2962 | python-scipy |
| 2963 | python-spherical-geometry |
| 2964 | ;; [optional] |
| 2965 | python-stdatamodels)) |
| 2966 | (home-page "https://astrocut.readthedocs.io") |
| 2967 | (synopsis "Cutout tools for astronomical images") |
| 2968 | (description |
| 2969 | "Astrocut provides tools for making cutouts from sets of astronomical |
| 2970 | images with shared footprints. It is under active development. |
| 2971 | |
| 2972 | Three main areas of functionality are included: |
| 2973 | @itemize |
| 2974 | @item solving the specific problem of creating image cutouts from sectors of |
| 2975 | @acronym{Transiting Exoplanet Survey Satellite, TESS} full-frame images |
| 2976 | @item general fits file cutouts including from single images and sets of |
| 2977 | images with the shared WCS/pixel scale |
| 2978 | @item cutout post-processing functionality, including centering cutouts along |
| 2979 | a path (for moving targets) and combining cutouts |
| 2980 | @end itemize") |
| 2981 | (license license:bsd-3))) |
| 2982 | |
| 2983 | (define-public python-astrodata |
| 2984 | (package |
| 2985 | (name "python-astrodata") |
| 2986 | (version "3.0.0") |
| 2987 | (source |
| 2988 | (origin |
| 2989 | (method git-fetch) |
| 2990 | (uri (git-reference |
| 2991 | (url "https://github.com/GeminiDRSoftware/astrodata") |
| 2992 | (commit version))) |
| 2993 | (file-name (git-file-name name version)) |
| 2994 | (sha256 |
| 2995 | (base32 "0bcs283v8fgz4a175pdgiiin8sx4vcbviarsqzwzzhamsha6azwh")))) |
| 2996 | (build-system pyproject-build-system) |
| 2997 | (arguments |
| 2998 | (list |
| 2999 | ;; tests: 985 passed, 6 skipped, 61 deselected |
| 3000 | #:test-flags |
| 3001 | ;; Tests depend on unpackaged DRAGON's module "gemini_instruments". |
| 3002 | #~(list "--ignore=tests/integration/" |
| 3003 | ;; Access to https://archive.gemini.edu/file is required to |
| 3004 | ;; download test data. |
| 3005 | "--deselect=tests/unit/test_provenance.py::test_convert_provhistory" |
| 3006 | #$@(map (lambda (test) (string-append "--deselect=" |
| 3007 | "tests/unit/" |
| 3008 | "test_fits.py::" |
| 3009 | test)) |
| 3010 | (list "test_attributes" |
| 3011 | "test_can_add_and_del_extension" |
| 3012 | "test_copy" |
| 3013 | "test_crop" |
| 3014 | "test_crop_ext" |
| 3015 | "test_do_arith_and_retain_features" |
| 3016 | "test_extver3" |
| 3017 | "test_from_hdulist" |
| 3018 | "test_header" |
| 3019 | "test_header_collection" |
| 3020 | "test_paths" |
| 3021 | "test_phu" |
| 3022 | "test_read_no_extensions" |
| 3023 | "test_set_a_keyword_on_phu_deprecated" |
| 3024 | "test_slice" |
| 3025 | "test_slice_data" |
| 3026 | "test_slice_multiple" |
| 3027 | "test_slice_single_element")) |
| 3028 | #$@(map (lambda (test) (string-append "--deselect=" |
| 3029 | "tests/unit/" |
| 3030 | "test_object_construction.py::" |
| 3031 | test)) |
| 3032 | (list "test_append_array_to_extension_with_arbitrary_name" |
| 3033 | "test_append_array_to_extension_with_name_sci" |
| 3034 | "test_append_array_to_root_no_name" |
| 3035 | "test_append_array_to_root_with_arbitrary_name" |
| 3036 | "test_append_array_to_root_with_name_sci" |
| 3037 | "test_append_dq_var" |
| 3038 | "test_append_nddata_to_root_no_name" |
| 3039 | "test_append_nddata_to_root_with_arbitrary_name" |
| 3040 | "test_append_non_single_slice" |
| 3041 | "test_append_single_slice" |
| 3042 | "test_append_slice_to_extension" |
| 3043 | "test_append_whole_instance" |
| 3044 | "test_can_read_data" |
| 3045 | "test_delete_arbitrary_attribute_from_ad" |
| 3046 | "test_delete_named_associated_extension")) |
| 3047 | #$@(map (lambda (test) (string-append "--deselect=" |
| 3048 | "tests/unit/" |
| 3049 | "test_testing.py::" |
| 3050 | test)) |
| 3051 | (list "test_ADCompare_header_matching" |
| 3052 | "test_ADCompare_header_matching_flip" |
| 3053 | "test_ADCompare_init" |
| 3054 | "test_ADCompare_missing_refcat" |
| 3055 | "test_ADCompare_numext" |
| 3056 | "test_ADCompare_run_comparison" |
| 3057 | "test_ADCompare_wcs" |
| 3058 | "test_ad_compare" |
| 3059 | "test_download_file_path_subpath" |
| 3060 | "test_download_from_archive" |
| 3061 | "test_download_from_archive_None_sub_path" |
| 3062 | "test_download_memory_leaks" |
| 3063 | "test_warning_if_no_cache_path")) |
| 3064 | #$@(map (lambda (test) (string-append "--deselect=" |
| 3065 | "tests/unit/" |
| 3066 | "test_wcs.py::" |
| 3067 | test)) |
| 3068 | (list "test_gwcs_creation" |
| 3069 | "test_loglinear_axis" |
| 3070 | "test_reading_and_writing_sliced_image" |
| 3071 | "test_remove_unused_world_axis")) |
| 3072 | "-k" "not test_script_executes[script0-]"))) |
| 3073 | (native-inputs |
| 3074 | (list python-docutils |
| 3075 | python-poetry-core |
| 3076 | python-poetry-dynamic-versioning |
| 3077 | python-objgraph |
| 3078 | python-pytest |
| 3079 | python-pytest-doctestplus |
| 3080 | python-tomli)) |
| 3081 | (propagated-inputs |
| 3082 | (list python-asdf |
| 3083 | python-astropy |
| 3084 | python-gwcs |
| 3085 | python-jsonschema |
| 3086 | python-numpy)) |
| 3087 | (home-page "https://github.com/GeminiDRSoftware/astrodata") |
| 3088 | (synopsis "Managing astronomical data through a uniform interface") |
| 3089 | (description |
| 3090 | "@code{astrodata} is a package for managing astronomical data through a |
| 3091 | uniform interface. It is designed to be used with the |
| 3092 | @url{https://www.astropy.org/, Astropy package}. @code{astrodata} was created |
| 3093 | for use as part of the @url{https://github.com/GeminiDRSoftware/DRAGONS, |
| 3094 | DRAGONS} data reduction pipeline, but it is now implemented to be useful for |
| 3095 | any astronomical data reduction or analysis project. |
| 3096 | |
| 3097 | Unlike managing files using the @code{astropy.io.fits} package alone, |
| 3098 | @code{astrodata} is designed to be extendible to any data format, and to |
| 3099 | parse, respond to, and store metadata in a consistent, intentional way. This |
| 3100 | makes it especially useful for managing data from multiple instruments, |
| 3101 | telescopes, and data generation utilities.") |
| 3102 | (license license:bsd-3))) |
| 3103 | |
| 3104 | (define-public python-astrodendro |
| 3105 | (package |
| 3106 | (name "python-astrodendro") |
| 3107 | (version "0.3.1") |
| 3108 | (source |
| 3109 | (origin |
| 3110 | (method url-fetch) |
| 3111 | (uri (pypi-uri "astrodendro" version)) |
| 3112 | (sha256 |
| 3113 | (base32 "0pav2rq5q0wyr38g6z8ai4z2iqqc9x04iwll158yvkvgnv352m0i")))) |
| 3114 | (build-system pyproject-build-system) |
| 3115 | (native-inputs |
| 3116 | (list python-pytest python-setuptools python-setuptools-scm)) |
| 3117 | (propagated-inputs |
| 3118 | (list python-astropy |
| 3119 | python-h5py |
| 3120 | python-matplotlib |
| 3121 | python-numpy)) |
| 3122 | (home-page "https://dendrograms.readthedocs.io/") |
| 3123 | (synopsis "Astronomical dendrograms computation") |
| 3124 | (description |
| 3125 | "This package provides an way to compute dendrograms of observed or |
| 3126 | simulated Astronomical data in Python.") |
| 3127 | (license license:expat))) |
| 3128 | |
| 3129 | (define-public python-astromartini |
| 3130 | (package |
| 3131 | (name "python-astromartini") |
| 3132 | (version "3.0.0") |
| 3133 | (source |
| 3134 | (origin |
| 3135 | (method git-fetch) |
| 3136 | (uri (git-reference |
| 3137 | (url "https://github.com/kyleaoman/martini") |
| 3138 | (commit (string-append "v" version)))) |
| 3139 | (file-name (git-file-name name version)) |
| 3140 | (sha256 |
| 3141 | (base32 "0d3dqvfplhk9jbsczw3871qzds28hfld37a9nhpa8wcibwz41c0d")))) |
| 3142 | (build-system pyproject-build-system) |
| 3143 | (arguments |
| 3144 | (list |
| 3145 | ;; Tests are not thread save, see |
| 3146 | ;; <https://github.com/kyleaoman/martini/issues/98>. |
| 3147 | ;; |
| 3148 | ;; tests: 2786 passed, 6 skipped, 4 xfailed |
| 3149 | #:phases |
| 3150 | #~(modify-phases %standard-phases |
| 3151 | (add-before 'check 'pre-check |
| 3152 | (lambda _ |
| 3153 | ;; If the secret isn't available (e.g. github workflow on fork) |
| 3154 | ;; then skip: see |
| 3155 | ;; <tests/test_sources.py::TestTNGSource::test_tng_notebook>. |
| 3156 | (setenv "TNG_API_KEY" "")))))) |
| 3157 | (native-inputs |
| 3158 | (list python-pytest |
| 3159 | python-setuptools)) |
| 3160 | (propagated-inputs |
| 3161 | (list python-astropy |
| 3162 | python-numpy |
| 3163 | python-scipy |
| 3164 | python-tqdm |
| 3165 | ;; [optional] |
| 3166 | python-eaglesqltools |
| 3167 | ;; python-g3read ;not packaged yet in Guix |
| 3168 | python-gizmo-analysis |
| 3169 | python-h5py |
| 3170 | python-halo-analysis |
| 3171 | python-hdecompose |
| 3172 | python-matplotlib |
| 3173 | python-numba |
| 3174 | python-pyread-eagle |
| 3175 | python-requests |
| 3176 | python-swiftgalaxy |
| 3177 | python-utilities-awetzel)) |
| 3178 | (home-page "https://github.com/kyleaoman/martini") |
| 3179 | (synopsis "Synthetic datacube creation from simulations") |
| 3180 | (description |
| 3181 | "MARTINI is a modular package for the creation of synthetic resolved HI |
| 3182 | line observations (data cubes) of smoothed-particle hydrodynamics simulations |
| 3183 | of galaxies. The various aspects of the mock-observing process are divided |
| 3184 | logically into sub-modules handling the data cube, source, beam, |
| 3185 | noise,spectral model and SPH kernel. MARTINI is object-oriented: each |
| 3186 | sub-module provides a class (or classes) which can be configured as desired. |
| 3187 | For most sub-modules, base classes are provided to allow for straightforward |
| 3188 | customization. Instances of each sub-module class are given as parameters to |
| 3189 | the Martini class; a mock observation is then constructed by calling a handful |
| 3190 | of functions to execute the desired steps in the mock-observing process.") |
| 3191 | (license license:gpl3))) |
| 3192 | |
| 3193 | (define-public python-astroml |
| 3194 | (package |
| 3195 | (name "python-astroml") |
| 3196 | (version "1.0.2.post1") |
| 3197 | (source (origin |
| 3198 | (method url-fetch) |
| 3199 | (uri (pypi-uri "astroML" version)) |
| 3200 | (sha256 |
| 3201 | (base32 |
| 3202 | "14g2mcd5qdr3nn7icvjs84bjvx17l9glx81sbbna6v53i1x8l625")))) |
| 3203 | (build-system pyproject-build-system) |
| 3204 | (arguments |
| 3205 | (list |
| 3206 | ;; tests: 196 passed, 4 skipped, 3 deselected, 29 warnings |
| 3207 | #:test-flags |
| 3208 | '(list "--ignore-glob=examples/*" |
| 3209 | ;; Disable tests which are not compatible with Astropy 6.0.0, see |
| 3210 | ;; <https://github.com/astroML/astroML/issues/273>. |
| 3211 | "--ignore=astroML/density_estimation/tests/test_bayesian_blocks.py" |
| 3212 | "--ignore=astroML/density_estimation/tests/test_bayesian_blocks.py" |
| 3213 | "--ignore=astroML/density_estimation/tests/test_hist_binwidth.py" |
| 3214 | "--ignore=astroML/density_estimation/tests/test_hist_binwidth.py" |
| 3215 | ;; Disable tests with NumPy, see |
| 3216 | ;; <https://github.com/astroML/astroML/issues/281>. |
| 3217 | "--ignore=astroML/tests/test_resample.py" |
| 3218 | "-k" (string-append "not astroML.density_estimation.empirical.EmpiricalDistribution" |
| 3219 | " and not astroML.utils.utils.log_multivariate_gaussian" |
| 3220 | " and not test_generate_RW")) |
| 3221 | #:phases |
| 3222 | '(modify-phases %standard-phases |
| 3223 | (add-after 'unpack 'patch-build-system |
| 3224 | (lambda _ |
| 3225 | (substitute* "setup.cfg" |
| 3226 | ;; Do not error out on deprecations |
| 3227 | ((" error::DeprecationWarning.*") "") |
| 3228 | ;; Do not test examples |
| 3229 | (("testspaths = astroML doc examples") |
| 3230 | "testspaths = astroML")))) |
| 3231 | (add-after 'unpack 'matplotlib-compatibility |
| 3232 | (lambda _ |
| 3233 | (substitute* "astroML/plotting/tools.py" |
| 3234 | (("^( *)ax.(lines|patches|tables|artists|images).clear.*" _ indent type) |
| 3235 | (string-append indent "for art in ax." type ":\n" |
| 3236 | indent " art.remove()\n"))))) |
| 3237 | ;; See commit e1c779de1f0ce4cb499dbda6c23d14f76b98e430 |
| 3238 | (add-after 'unpack 'scipy-compatibility |
| 3239 | (lambda _ |
| 3240 | (substitute* "astroML/dimensionality/iterative_pca.py" |
| 3241 | (("sym_pos=True") "assume_a=\"pos\"")))) |
| 3242 | (add-before 'check 'pre-check |
| 3243 | ;; Some tests need this |
| 3244 | (lambda _ |
| 3245 | (setenv "HOME" "/tmp")))))) |
| 3246 | (native-inputs |
| 3247 | (list python-pytest |
| 3248 | python-pytest-astropy |
| 3249 | python-pytest-astropy-header |
| 3250 | python-pytest-doctestplus |
| 3251 | python-pytest-remotedata |
| 3252 | python-setuptools)) |
| 3253 | (propagated-inputs |
| 3254 | (list python-astropy |
| 3255 | python-matplotlib |
| 3256 | python-numpy |
| 3257 | python-scikit-learn |
| 3258 | python-scipy)) |
| 3259 | (home-page "https://astroml.org") |
| 3260 | (synopsis "Tools for machine learning and data mining in astronomy") |
| 3261 | (description "This package provides tools for machine learning and data |
| 3262 | mining in astronomy.") |
| 3263 | (license license:bsd-2))) |
| 3264 | |
| 3265 | (define-public python-astronify |
| 3266 | (package |
| 3267 | (name "python-astronify") |
| 3268 | (version "0.11") |
| 3269 | (source |
| 3270 | (origin |
| 3271 | (method url-fetch) |
| 3272 | (uri (pypi-uri "astronify" version)) |
| 3273 | (sha256 |
| 3274 | (base32 "1nl8rbpg6b9v3mny90spv7g9aqx2lfnnrmxv0nm3d458mgikgagc")))) |
| 3275 | (build-system pyproject-build-system) |
| 3276 | (arguments |
| 3277 | (list |
| 3278 | #:phases |
| 3279 | #~(modify-phases %standard-phases |
| 3280 | ;; TODO: Report upstream: ModuleNotFoundError: No module named |
| 3281 | ;; 'packagename'. |
| 3282 | (add-after 'unpack 'fix-setup.cfg |
| 3283 | (lambda _ |
| 3284 | (substitute* "setup.cfg" |
| 3285 | (("astropy-package-template-example.*") ""))))))) |
| 3286 | (native-inputs |
| 3287 | (list python-pytest-astropy |
| 3288 | python-setuptools |
| 3289 | python-setuptools-scm)) |
| 3290 | (propagated-inputs |
| 3291 | (list python-astropy |
| 3292 | python-matplotlib |
| 3293 | python-notebook |
| 3294 | python-pyo |
| 3295 | python-requests |
| 3296 | python-scipy)) |
| 3297 | (home-page "https://github.com/spacetelescope/astronify") |
| 3298 | (synopsis "Sonification of astronomical data") |
| 3299 | (description |
| 3300 | "Astronify is a Python package for sonifying astronomical data - turning |
| 3301 | telescope observations into sound.") |
| 3302 | (license license:bsd-3))) |
| 3303 | |
| 3304 | (define-public python-astroplan |
| 3305 | (package |
| 3306 | (name "python-astroplan") |
| 3307 | (version "0.10.1") |
| 3308 | (source |
| 3309 | (origin |
| 3310 | (method url-fetch) |
| 3311 | (uri (pypi-uri "astroplan" version)) |
| 3312 | (sha256 |
| 3313 | (base32 "0nb97fz0mlypdlvs09wyh0z7mxw0d6aqqkd9yfzhlqz1fwrprn9r")))) |
| 3314 | (build-system pyproject-build-system) |
| 3315 | (arguments |
| 3316 | (list |
| 3317 | ;; tests: 44 passed, 31 deselected, 135 warnings |
| 3318 | #:test-flags |
| 3319 | #~(list "--ignore=doc/" |
| 3320 | "--ignore=astroplan/constraints.py" |
| 3321 | "--ignore=astroplan/target.py" |
| 3322 | ;; Network access is required to download test data. |
| 3323 | "--ignore=astroplan/tests/test_scheduling.py" |
| 3324 | "--deselect=astroplan/plots/tests/test_sky.py::test_timezone" |
| 3325 | "-k" (string-join |
| 3326 | (list "not test_at_night_basic" |
| 3327 | "test_FixedTarget_from_name" |
| 3328 | "test_altitude_constraint" |
| 3329 | "test_caches_shapes" |
| 3330 | "test_compare_airmass_constraint_and_observer" |
| 3331 | "test_compare_altitude_constraint_and_observer" |
| 3332 | "test_docs_example" |
| 3333 | "test_eclipses" |
| 3334 | "test_eq_observer" |
| 3335 | "test_event_observable" |
| 3336 | "test_galactic_plane_separation" |
| 3337 | "test_get_skycoord" |
| 3338 | "test_hash_observer" |
| 3339 | "test_is_night" |
| 3340 | "test_local_time_constraint_hawaii_tz" |
| 3341 | "test_local_time_constraint_utc" |
| 3342 | "test_moon_illumination" |
| 3343 | "test_moon_separation" |
| 3344 | "test_observability_table" |
| 3345 | "test_observer_lon_lat_el" |
| 3346 | "test_regression_airmass_141" |
| 3347 | "test_regression_shapes" |
| 3348 | "test_sun_separation" |
| 3349 | "test_tonight") |
| 3350 | " and not ")) |
| 3351 | #:phases |
| 3352 | #~(modify-phases %standard-phases |
| 3353 | (add-before 'check 'pre-check |
| 3354 | (lambda _ |
| 3355 | (setenv "HOME" "/tmp")))))) |
| 3356 | (native-inputs |
| 3357 | (list nss-certs-for-test |
| 3358 | python-ephem |
| 3359 | python-pytest-astropy |
| 3360 | python-pytest-mpl |
| 3361 | python-setuptools |
| 3362 | python-setuptools-scm |
| 3363 | tzdata-for-tests)) |
| 3364 | (propagated-inputs |
| 3365 | (list python-astropy |
| 3366 | python-astroquery |
| 3367 | python-matplotlib |
| 3368 | python-numpy |
| 3369 | python-pytz)) |
| 3370 | (home-page "https://github.com/astropy/astroplan") |
| 3371 | (synopsis "Observation planning package for astronomers") |
| 3372 | (description |
| 3373 | "This package provides a flexible toolbox for observation planning and |
| 3374 | scheduling. When complete, the goal is to be easy for Python beginners and new |
| 3375 | observers to to pick up, but powerful enough for observatories preparing nightly |
| 3376 | and long-term schedules. |
| 3377 | |
| 3378 | Features: |
| 3379 | @itemize |
| 3380 | @item calculate rise/set/meridian transit times, alt/az positions for targets at |
| 3381 | observatories anywhere on Earth |
| 3382 | @item built-in plotting convenience functions for standard observation planning |
| 3383 | plots (airmass, parallactic angle, sky maps) |
| 3384 | @item determining observability of sets of targets given an arbitrary set of |
| 3385 | constraints (i.e., altitude, airmass, moon separation/illumination, etc.) |
| 3386 | @end itemize") |
| 3387 | (license license:bsd-3))) |
| 3388 | |
| 3389 | (define-public python-astropy |
| 3390 | (package |
| 3391 | (name "python-astropy") |
| 3392 | (version "8.0.1") |
| 3393 | (source |
| 3394 | (origin |
| 3395 | (method url-fetch) |
| 3396 | (uri (pypi-uri "astropy" version)) |
| 3397 | (sha256 |
| 3398 | (base32 "1nji4flblxsq9mgiahx3r3wyfkdr5nir2iqab76r98hzp7ak3jj5")) |
| 3399 | (modules '((guix build utils))) |
| 3400 | (patches |
| 3401 | ;; Do not download updated iers data on the fly. Refresh the |
| 3402 | ;; python-astropy-iers-data package instead. |
| 3403 | ;; That is, the python-astropy-iers-data package contains tables with |
| 3404 | ;; an expiration date, for example with leap second information. |
| 3405 | ;; The astropy.time package will try to download updated data |
| 3406 | ;; once the current date is within 5 months of the expiration date. |
| 3407 | ;; For reproducibility reasons it is more idiomatic to disable the |
| 3408 | ;; downloading and instead regularly update python-astropy-iers-data. |
| 3409 | ;; In particular some tests python-astropy and some dependent packages |
| 3410 | ;; will fail 5 months 'into the future' because they will trigger this |
| 3411 | ;; downloading of data. This patch ensures that these packages can |
| 3412 | ;; still be build with guix time-machine. |
| 3413 | ;; E.g., this command, using a commit before this patch, will fail: |
| 3414 | ;; guix time-machine --commit=86813d5779253bb50002d79ab791eeda5a8b4729 |
| 3415 | ;; -- build python-astropy |
| 3416 | (search-patches "python-astropy-dont-download-iers-data.patch")) |
| 3417 | (snippet |
| 3418 | '(begin |
| 3419 | ;; Remove Python bundles. |
| 3420 | (with-directory-excursion "astropy/extern" |
| 3421 | (for-each delete-file-recursively '("ply" "configobj"))) |
| 3422 | ;; Remove cextern bundles. Check bundled versions against available |
| 3423 | ;; in Guix in the future update of astropy. |
| 3424 | ;; Linking against an external cfitsio version has been removed, |
| 3425 | ;; see https://github.com/astropy/astropy/pull/14311 |
| 3426 | (with-directory-excursion "cextern" |
| 3427 | (for-each delete-file-recursively '("expat" "wcslib"))))))) |
| 3428 | (build-system pyproject-build-system) |
| 3429 | (arguments |
| 3430 | (list |
| 3431 | ;; tests: 31959 passed, 410 skipped, 261 xfailed |
| 3432 | #:test-flags |
| 3433 | #~(list "--pyargs" "astropy" |
| 3434 | ;; XXX: Tests are not thread save when they are more than 8. |
| 3435 | "--numprocesses" (number->string (min 8 (parallel-job-count)))) |
| 3436 | #:phases |
| 3437 | #~(modify-phases %standard-phases |
| 3438 | (add-after 'unpack 'install-coordinates/sites.json |
| 3439 | (lambda _ |
| 3440 | (copy-file |
| 3441 | (string-append #$(this-package-native-input |
| 3442 | "specification-astropy-data") |
| 3443 | "/share/coordinates/sites.json") |
| 3444 | "astropy/coordinates/data/sites.json"))) |
| 3445 | (add-after 'unpack 'preparations |
| 3446 | (lambda _ |
| 3447 | ;; Use our own libraries in place of bundles. |
| 3448 | (setenv "ASTROPY_USE_SYSTEM_ALL" "1") |
| 3449 | ;; Relax xfail tests. |
| 3450 | (substitute* "pyproject.toml" |
| 3451 | (("xfail_strict = true") "xfail_strict = false")) |
| 3452 | ;; Replace reference to external ply. |
| 3453 | (substitute* (find-files "." "\\.py$") |
| 3454 | (("astropy.extern.ply") "ply")) |
| 3455 | ;; Replace reference to external configobj. |
| 3456 | (substitute* "astropy/config/configuration.py" |
| 3457 | (("from astropy.extern.configobj ") "")))) |
| 3458 | (add-before 'check 'pre-check |
| 3459 | (lambda _ |
| 3460 | (delete-file-recursively "astropy") |
| 3461 | (setenv "HOME" "/tmp") |
| 3462 | (setenv "OMP_NUM_THREADS" "1")))))) |
| 3463 | (native-inputs |
| 3464 | (list nss-certs-for-test |
| 3465 | pkg-config |
| 3466 | python-array-api-strict |
| 3467 | python-cython |
| 3468 | python-extension-helpers |
| 3469 | python-objgraph |
| 3470 | python-pytest |
| 3471 | python-pytest-astropy |
| 3472 | python-pytest-astropy-header |
| 3473 | python-pytest-doctestplus |
| 3474 | python-pytest-xdist |
| 3475 | python-setuptools |
| 3476 | python-setuptools-scm |
| 3477 | python-sgp4 |
| 3478 | python-skyfield |
| 3479 | python-threadpoolctl |
| 3480 | specification-astropy-data)) |
| 3481 | (inputs |
| 3482 | (list expat |
| 3483 | ;; XXX: One test fails with [email protected]: ValueError: ERROR 5 in |
| 3484 | ;; wcsset() at line 2895 of file wcs.c. |
| 3485 | wcslib-8.6)) |
| 3486 | (propagated-inputs |
| 3487 | (list python-astropy-iers-data-primary |
| 3488 | python-configobj ;to replace custom module |
| 3489 | python-numpy |
| 3490 | python-packaging |
| 3491 | python-ply ;to replace custom module |
| 3492 | python-pyerfa |
| 3493 | python-pyyaml |
| 3494 | ;; [optional] |
| 3495 | python-asdf-astropy |
| 3496 | python-beautifulsoup4 |
| 3497 | python-bleach |
| 3498 | python-bottleneck |
| 3499 | python-certifi |
| 3500 | python-dask |
| 3501 | python-fsspec |
| 3502 | python-h5py |
| 3503 | python-html5lib |
| 3504 | ;; python-ipydatagrid ;not packaged yet in Guix |
| 3505 | python-ipykernel |
| 3506 | python-ipython |
| 3507 | python-ipywidgets |
| 3508 | python-jplephem |
| 3509 | python-jupyter-core |
| 3510 | python-matplotlib |
| 3511 | python-mpmath |
| 3512 | python-narwhals |
| 3513 | python-pandas |
| 3514 | python-pyarrow |
| 3515 | python-pytz |
| 3516 | python-s3fs |
| 3517 | python-scipy |
| 3518 | python-sortedcontainers |
| 3519 | python-uncompresspy)) |
| 3520 | (home-page "https://www.astropy.org/") |
| 3521 | (synopsis "Core package for Astronomy in Python") |
| 3522 | (description |
| 3523 | "Astropy is a single core package for Astronomy in Python. It contains |
| 3524 | much of the core functionality and some common tools needed for performing |
| 3525 | astronomy and astrophysics.") |
| 3526 | (license license:bsd-3))) |
| 3527 | |
| 3528 | (define-public python-astropy-7 |
| 3529 | ;; tests: 31440 passed, 426 skipped, 262 xfailed |
| 3530 | (package |
| 3531 | (inherit python-astropy) |
| 3532 | (name "python-astropy") |
| 3533 | (version "7.2.2") |
| 3534 | (source |
| 3535 | (origin |
| 3536 | (inherit (package-source python-astropy)) |
| 3537 | (method url-fetch) |
| 3538 | (uri (pypi-uri "astropy" version)) |
| 3539 | (sha256 |
| 3540 | (base32 "1kamyh9xndli5a2ia8af83dbcqam6h0rqfv0jh2k78bgccjn13fl")))) |
| 3541 | (arguments |
| 3542 | (substitute-keyword-arguments arguments |
| 3543 | ((#:test-flags test-flags #~(list)) |
| 3544 | #~(list "--pyargs" "astropy" |
| 3545 | "--numprocesses" (number->string (min 8 (parallel-job-count))) |
| 3546 | ;; AssertionError: assert dtype('O') == 'U3' |
| 3547 | (string-append "--deselect=io/misc/tests/test_parquet.py" |
| 3548 | "::test_parquet_read_pandas"))))))) |
| 3549 | |
| 3550 | (define-public python-astropy-healpix |
| 3551 | (package |
| 3552 | (name "python-astropy-healpix") |
| 3553 | (version "2.0.1") |
| 3554 | (source |
| 3555 | (origin |
| 3556 | (method git-fetch) |
| 3557 | (uri (git-reference |
| 3558 | (url "https://github.com/astropy/astropy-healpix") |
| 3559 | (commit (string-append "v" version)))) |
| 3560 | (file-name (git-file-name name version)) |
| 3561 | (sha256 |
| 3562 | (base32 "1qjjy21bypld50xvvhx1ms5kxssqp3j52wb4l8n3cj5shpzfp203")))) |
| 3563 | (build-system pyproject-build-system) |
| 3564 | (arguments |
| 3565 | (list |
| 3566 | #:test-flags |
| 3567 | #~(list "--pyargs" "astropy_healpix") |
| 3568 | #:phases |
| 3569 | #~(modify-phases %standard-phases |
| 3570 | (add-before 'check 'remove-local-source |
| 3571 | (lambda _ |
| 3572 | (delete-file-recursively "astropy_healpix")))))) |
| 3573 | (native-inputs |
| 3574 | (list python-extension-helpers |
| 3575 | python-pytest |
| 3576 | python-setuptools |
| 3577 | python-setuptools-scm)) |
| 3578 | (propagated-inputs |
| 3579 | (list python-astropy |
| 3580 | python-numpy)) |
| 3581 | (home-page "https://github.com/astropy/astropy-healpix") |
| 3582 | (synopsis "HEALPix for Astropy") |
| 3583 | (description "This package provides HEALPix to the Astropy project.") |
| 3584 | (license license:bsd-3))) |
| 3585 | |
| 3586 | (define-public python-astropy-iers-data-primary |
| 3587 | ;; XXX: See: <https://codeberg.org/guix/guix/pulls/10344>. |
| 3588 | (hidden-package |
| 3589 | (package |
| 3590 | (name "python-astropy-iers-data-primary") |
| 3591 | (version "0.2026.7.6.1.1.20") |
| 3592 | (source |
| 3593 | (origin |
| 3594 | (method git-fetch) |
| 3595 | (uri (git-reference |
| 3596 | (url "https://github.com/astropy/astropy-iers-data") |
| 3597 | (commit (string-append "v" version)))) |
| 3598 | (file-name (git-file-name name version)) |
| 3599 | (sha256 |
| 3600 | (base32 "0apwrw8r5bvhmih11ffa8ja6adi66fvjfi9k0w8ilhv2f88b970g")))) |
| 3601 | (build-system pyproject-build-system) |
| 3602 | (arguments |
| 3603 | (list #:tests? #f)) ; no tests |
| 3604 | (native-inputs |
| 3605 | (list python-hatch-vcs |
| 3606 | python-hatchling)) |
| 3607 | (home-page "https://docs.astropy.org/en/latest/utils/iers.html") |
| 3608 | (synopsis "IERS Earth Rotation and Leap Second tables for Astropy core") |
| 3609 | (description |
| 3610 | "The @code{iers} package provides access to the tables provided by the |
| 3611 | @acronym{International Earth Rotation and Reference Systems, IERS} service, in |
| 3612 | particular the |
| 3613 | @url{https://www.iers.org/IERS/EN/DataProducts/EarthOrientationData/eop.html, |
| 3614 | Earth Orientation data} allowing interpolation of published UT1-UTC and polar |
| 3615 | motion values for given times. The UT1-UTC values are used in |
| 3616 | @url{https://docs.astropy.org/en/latest/time/index.html#astropy-time, Time and |
| 3617 | Dates (astropy.time)} to provide UT1 values, and the polar motions are used in |
| 3618 | @code{astropy.coordinates} to determine Earth orientation for |
| 3619 | celestial-to-terrestrial coordinate transformations.") |
| 3620 | (license license:bsd-3)))) |
| 3621 | |
| 3622 | (define-public python-astropy-iers-data |
| 3623 | ;; astropy-iers-data is updated quite often, refresh the main package with |
| 3624 | ;; Astropy or during planed refresh cycle. The latest version is safe to be |
| 3625 | ;; installed to user's profile, and it should come togather with |
| 3626 | ;; python-astropy. |
| 3627 | (package |
| 3628 | (inherit python-astropy-iers-data-primary) |
| 3629 | (name "python-astropy-iers-data") |
| 3630 | (version "0.2026.10.12.1.3.27") |
| 3631 | (source |
| 3632 | (origin |
| 3633 | (method git-fetch) |
| 3634 | (uri (git-reference |
| 3635 | (url "https://github.com/astropy/astropy-iers-data") |
| 3636 | (commit (string-append "v" version)))) |
| 3637 | (file-name (git-file-name name version)) |
| 3638 | (sha256 |
| 3639 | (base32 "1hmv3s4wkz2ib80kby0ll1yd8pfwzrm59qgdjvv6xlsr7ngha9c9")))) |
| 3640 | (properties |
| 3641 | (alist-delete 'hidden? |
| 3642 | (package-properties python-astropy-iers-data-primary))))) |
| 3643 | |
| 3644 | ;; XXX: Deprecated on <2026-08-06>. |
| 3645 | (define-public python-astropy-iers-data-next python-astropy-iers-data) |
| 3646 | |
| 3647 | ;; A bare minimal package, mainly to use in tests and reduce closure |
| 3648 | ;; size. Tests are left out in the main package to slim down native-inputs. |
| 3649 | (define-public python-astropy-minimal |
| 3650 | (package/inherit python-astropy |
| 3651 | (name "python-astropy-minimal") |
| 3652 | (arguments |
| 3653 | (substitute-keyword-arguments arguments |
| 3654 | ((#:tests? _ #t) #f))) |
| 3655 | (native-inputs |
| 3656 | (list nss-certs-for-test |
| 3657 | pkg-config |
| 3658 | python-cython |
| 3659 | python-extension-helpers |
| 3660 | python-setuptools-scm |
| 3661 | specification-astropy-data)) |
| 3662 | (propagated-inputs |
| 3663 | (list python-astropy-iers-data-primary |
| 3664 | python-configobj ;to replace custom module |
| 3665 | python-numpy |
| 3666 | python-packaging |
| 3667 | python-ply ;to replace custom module |
| 3668 | python-pyerfa |
| 3669 | python-pyyaml)))) |
| 3670 | |
| 3671 | (define-public python-astropydantic |
| 3672 | (package |
| 3673 | (name "python-astropydantic") |
| 3674 | (version "0.1.0") |
| 3675 | (source |
| 3676 | (origin |
| 3677 | (method git-fetch) |
| 3678 | (uri (git-reference |
| 3679 | (url "https://github.com/JBorrow/astropydantic") |
| 3680 | (commit version))) |
| 3681 | (file-name (git-file-name name version)) |
| 3682 | (sha256 |
| 3683 | (base32 "17h7p225szdd33654kzijqg506ym9q9y86bs4pfkiacdir4f1s4g")))) |
| 3684 | (build-system pyproject-build-system) |
| 3685 | (native-inputs |
| 3686 | (list python-fastapi |
| 3687 | python-httpx |
| 3688 | python-pytest |
| 3689 | python-setuptools)) |
| 3690 | (propagated-inputs |
| 3691 | (list python-astropy |
| 3692 | python-pydantic)) |
| 3693 | (home-page "https://github.com/JBorrow/astropydantic") |
| 3694 | (synopsis "Integrates Astropy's numerical types with Pydantic") |
| 3695 | (description |
| 3696 | "This package provides @code{pydantic} typing support for @code{astropy} |
| 3697 | unit types. Can be used to de(serialize) astropy quantities and units. |
| 3698 | |
| 3699 | Types: |
| 3700 | @itemize |
| 3701 | @item @code{AstroPydanticUnit}: an overlay for @code{astropy.units.UnitBase} |
| 3702 | (all unit types). |
| 3703 | @item @code{AstroPydanticQuantity}: an overlay for |
| 3704 | @code{astropy.units.Quantity}, including array types. |
| 3705 | @item @code{AstroPydanticTime}: an overlay for @code{astropy.time.Time}. |
| 3706 | @item @code{AstroPydanticICRS}: an overlay for @code{astropy.coordinates.ICRS} |
| 3707 | and @code{astropy.coordinates.SkyCoord}. |
| 3708 | @end itemize") |
| 3709 | (license license:expat))) |
| 3710 | |
| 3711 | (define-public python-astroquery |
| 3712 | (package |
| 3713 | (name "python-astroquery") |
| 3714 | (version "0.4.11") |
| 3715 | (source |
| 3716 | (origin |
| 3717 | (method url-fetch) |
| 3718 | (uri (pypi-uri "astroquery" version)) |
| 3719 | (sha256 |
| 3720 | (base32 "0crb0h39bs389y8x3vbl6kczbqwklnn9pkfmfgkhgyn7vndm4dsm")))) |
| 3721 | (build-system pyproject-build-system) |
| 3722 | (arguments |
| 3723 | (list |
| 3724 | ;; Tests are not thread save, see: |
| 3725 | ;; <https://github.com/astropy/astroquery/issues/2968>. |
| 3726 | ;; |
| 3727 | ;; tests: 1833 passed, 11 skipped, 2047 deselected, 2 xfailed |
| 3728 | #:test-flags |
| 3729 | #~(list "--pyargs" "astroquery" |
| 3730 | "-k" (string-join |
| 3731 | ;; E fixture 'tmp_cwd' not found |
| 3732 | (list "not test_download_cache" |
| 3733 | "test_download_local" |
| 3734 | "test_download_table" |
| 3735 | "test_read_uncompressed") |
| 3736 | " and not ")) |
| 3737 | #:phases |
| 3738 | #~(modify-phases %standard-phases |
| 3739 | (add-before 'check 'pre-check |
| 3740 | (lambda _ |
| 3741 | (setenv "HOME" "/tmp") |
| 3742 | (delete-file-recursively "astroquery")))))) |
| 3743 | (native-inputs |
| 3744 | (list nss-certs-for-test |
| 3745 | python-matplotlib |
| 3746 | python-pytest-astropy |
| 3747 | python-pytest-dependency |
| 3748 | python-pytest-doctestplus |
| 3749 | python-pytest-rerunfailures |
| 3750 | python-pytest-timeout |
| 3751 | python-setuptools)) |
| 3752 | (propagated-inputs |
| 3753 | (list python-astropy |
| 3754 | python-beautifulsoup4 |
| 3755 | python-html5lib |
| 3756 | python-keyring |
| 3757 | python-numpy |
| 3758 | python-pyvo |
| 3759 | python-requests |
| 3760 | ;; [optional] |
| 3761 | python-astropy-healpix |
| 3762 | python-boto3 |
| 3763 | python-mocpy |
| 3764 | python-regions)) |
| 3765 | (home-page "https://astroquery.readthedocs.io/en/latest/index.html") |
| 3766 | (synopsis "Access online astronomical data resources") |
| 3767 | (description |
| 3768 | "Astroquery is a package that contains a collection of tools to access |
| 3769 | online Astronomical data. Each web service has its own sub-package.") |
| 3770 | (license license:bsd-3))) |
| 3771 | |
| 3772 | (define-public python-astroscrappy |
| 3773 | (package |
| 3774 | (name "python-astroscrappy") |
| 3775 | (version "1.3.0") |
| 3776 | (source |
| 3777 | (origin |
| 3778 | (method url-fetch) |
| 3779 | (uri (pypi-uri "astroscrappy" version)) |
| 3780 | (sha256 |
| 3781 | (base32 "1jpj7df26w31brbkhc1xrqaz2ayz9w3s88ia5vq86als7sfhfs5q")))) |
| 3782 | (build-system pyproject-build-system) |
| 3783 | (arguments |
| 3784 | (list |
| 3785 | #:phases |
| 3786 | #~(modify-phases %standard-phases |
| 3787 | (replace 'check |
| 3788 | (lambda* (#:key tests? test-flags #:allow-other-keys) |
| 3789 | (with-directory-excursion #$output |
| 3790 | (apply invoke "pytest" "-vv" test-flags)))) |
| 3791 | (add-before 'check 'post-check |
| 3792 | (lambda _ |
| 3793 | (for-each delete-file-recursively |
| 3794 | (find-files #$output "__pycache__" #:directories? #t))))))) |
| 3795 | (native-inputs |
| 3796 | (list python-cython |
| 3797 | python-extension-helpers |
| 3798 | python-pytest-astropy |
| 3799 | python-scipy |
| 3800 | python-setuptools |
| 3801 | python-setuptools-scm)) |
| 3802 | (propagated-inputs |
| 3803 | (list python-astropy |
| 3804 | python-numpy)) |
| 3805 | (home-page "https://github.com/astropy/astroscrappy") |
| 3806 | (synopsis "Speedy Cosmic Ray Annihilation Package in Python") |
| 3807 | (description |
| 3808 | "Astro-SCRAPPY is designed to detect cosmic rays in images (numpy |
| 3809 | arrays), based on Pieter van Dokkum's L.A.Cosmic algorithm. Much of this was |
| 3810 | originally adapted from cosmics.py written by Malte Tewes. This is designed to |
| 3811 | be as fast as possible so some of the readability has been sacrificed, |
| 3812 | specifically in the C code.") |
| 3813 | (license license:bsd-3))) |
| 3814 | |
| 3815 | (define-public python-baseband |
| 3816 | (package |
| 3817 | (name "python-baseband") |
| 3818 | (version "4.3.0") |
| 3819 | (source |
| 3820 | (origin |
| 3821 | (method url-fetch) |
| 3822 | (uri (pypi-uri "baseband" version)) |
| 3823 | (sha256 |
| 3824 | (base32 "1yzgzdf8ri4blcpmnz5f3dv6in076vgbhbcqp37kjidlp4f4w05r")))) |
| 3825 | (build-system pyproject-build-system) |
| 3826 | (arguments |
| 3827 | (list |
| 3828 | ;; FIXME: Tests are broken during collection phase, see |
| 3829 | ;; <https://github.com/mhvk/baseband/issues/539>. |
| 3830 | #:tests? #f)) |
| 3831 | (native-inputs |
| 3832 | (list python-setuptools python-setuptools-scm)) |
| 3833 | (propagated-inputs |
| 3834 | (list python-astropy)) |
| 3835 | (home-page "https://github.com/mhvk/baseband") |
| 3836 | (synopsis "Radio baseband I/O") |
| 3837 | (description |
| 3838 | "Baseband is a package for reading and writing @acronym{VLBI, |
| 3839 | Very-long-baseline interferometry} and other radio baseband files, with the |
| 3840 | aim of simplifying and streamlining data conversion and standardization.") |
| 3841 | (license license:gpl3+))) |
| 3842 | |
| 3843 | (define-public python-bayesicfitting |
| 3844 | (package |
| 3845 | (name "python-bayesicfitting") |
| 3846 | (version "3.3.0") |
| 3847 | (source |
| 3848 | (origin |
| 3849 | (method git-fetch) |
| 3850 | (uri (git-reference |
| 3851 | (url "https://github.com/dokester/BayesicFitting") |
| 3852 | (commit (string-append "v" version)))) |
| 3853 | (file-name (git-file-name name version)) |
| 3854 | (sha256 |
| 3855 | (base32 "09yfyvpg6v5lnlw0yiia00vwfxmbxwa3c1a2b7viva548gmhkh8w")))) |
| 3856 | (build-system pyproject-build-system) |
| 3857 | (arguments |
| 3858 | (list |
| 3859 | ;; XXX: To run full tests suite is quite expansive, select the one which |
| 3860 | ;; is mentioned in <BayesicFitting/test/testall.csh>. |
| 3861 | #:test-flags #~(list "-m" "unittest" |
| 3862 | "discover" |
| 3863 | "-p" "TestUserModel.py" |
| 3864 | "--top-level-directory" ".") |
| 3865 | #:phases |
| 3866 | #~(modify-phases %standard-phases |
| 3867 | (replace 'check |
| 3868 | (lambda* (#:key tests? test-flags #:allow-other-keys) |
| 3869 | (when tests? |
| 3870 | (with-directory-excursion "BayesicFitting/test" |
| 3871 | (apply invoke "python" test-flags)))))))) |
| 3872 | (native-inputs |
| 3873 | (list python-setuptools)) |
| 3874 | (propagated-inputs |
| 3875 | (list python-astropy |
| 3876 | python-matplotlib |
| 3877 | python-numpy |
| 3878 | python-scipy)) |
| 3879 | (home-page "https://dokester.github.io/BayesicFitting/") |
| 3880 | (synopsis "Astronimical Bayesian fitting") |
| 3881 | (description |
| 3882 | "@code{BayesicFitting} is a package for model fitting and Bayesian |
| 3883 | evidence calculation, it is a Python version of the the fitter classes in |
| 3884 | @acronym{HCSS, Herschel Common Science System}. HCSS was the all encompassing |
| 3885 | software system for the operations and analysis of the ESA satellite Herschel.") |
| 3886 | (license license:gpl3+))) |
| 3887 | |
| 3888 | (define-public python-bdsf |
| 3889 | (package |
| 3890 | (name "python-bdsf") |
| 3891 | (version "1.14.1") |
| 3892 | (source |
| 3893 | (origin |
| 3894 | (method git-fetch) |
| 3895 | (uri (git-reference |
| 3896 | (url "https://github.com/lofar-astron/PyBDSF") |
| 3897 | (commit (string-append "v" version)))) |
| 3898 | (file-name (git-file-name name version)) |
| 3899 | (sha256 |
| 3900 | (base32 "1mdaicv5sxwdpi6z4c0x8wb3h1rcwjffd1w3izx4lvkjb00a5a0k")))) |
| 3901 | (build-system pyproject-build-system) |
| 3902 | (arguments |
| 3903 | (list |
| 3904 | #:phases |
| 3905 | #~(modify-phases %standard-phases |
| 3906 | (add-after 'unpack 'relax-requirements |
| 3907 | (lambda _ |
| 3908 | (substitute* "pyproject.toml" |
| 3909 | ;; This looks like not required, as the project was last time |
| 3910 | ;; updated in 2015, |
| 3911 | ;; <https://github.com/chrippa/backports.shutil_get_terminal_size>: |
| 3912 | ;; "A backport of the get_terminal_size function from Python |
| 3913 | ;; 3.3's shutil." |
| 3914 | ((".*backports.shutil_get_terminal_size.*") "")))) |
| 3915 | (replace 'check |
| 3916 | (lambda* (#:key tests? test-flags #:allow-other-keys) |
| 3917 | (when tests? |
| 3918 | (with-directory-excursion "test" |
| 3919 | (invoke "python" "tbdsf_process_image.py")))))))) |
| 3920 | (native-inputs |
| 3921 | (list boost-with-numpy |
| 3922 | cmake-minimal |
| 3923 | gfortran |
| 3924 | python-meson |
| 3925 | python-pytest |
| 3926 | python-scikit-build |
| 3927 | python-setuptools |
| 3928 | python-setuptools-scm)) |
| 3929 | (propagated-inputs |
| 3930 | (list python-astropy |
| 3931 | python-numpy |
| 3932 | python-scipy)) |
| 3933 | (home-page "https://github.com/lofar-astron/PyBDSF") |
| 3934 | (synopsis "Blob Detector and Source Finder") |
| 3935 | (description |
| 3936 | "PyBDSF (the Python Blob Detection and Source Finder) is a tool designed |
| 3937 | to decompose radio interferometry images into sources and make available their |
| 3938 | properties for further use. PyBDSF can decompose an image into a set of |
| 3939 | Gaussians, shapelets, or wavelets as well as calculate spectral indices and |
| 3940 | polarization properties of sources and measure the psf variation across an |
| 3941 | image. PyBDSF uses an interactive environment based on CASA that will be |
| 3942 | familiar to most radio astronomers. Additionally, PyBDSF may also be used in |
| 3943 | Python scripts.") |
| 3944 | (license license:gpl3 ))) |
| 3945 | |
| 3946 | (define-public python-calcos |
| 3947 | (package |
| 3948 | (name "python-calcos") |
| 3949 | (version "3.6.2") |
| 3950 | (source |
| 3951 | (origin |
| 3952 | (method url-fetch) |
| 3953 | (uri (pypi-uri "calcos" version)) |
| 3954 | (sha256 |
| 3955 | (base32 "0f0idd6kdkzyq99zs3202d0nm2fjcdyjnk6wd1zy0w86vc8vmsx8")))) |
| 3956 | (build-system pyproject-build-system) |
| 3957 | (native-inputs |
| 3958 | (list python-ci-watson |
| 3959 | python-numpy |
| 3960 | python-pytest |
| 3961 | python-setuptools |
| 3962 | python-setuptools-scm)) |
| 3963 | (propagated-inputs |
| 3964 | (list python-astropy |
| 3965 | python-numpy |
| 3966 | python-scipy)) |
| 3967 | (home-page "https://hst-docs.stsci.edu/cosdhb/chapter-3-cos-calibration") |
| 3968 | (synopsis "Calibration software for Cosmic Origins Spectrograph") |
| 3969 | (description |
| 3970 | "This packages provides a calibration software for @acronym{COS, Cosmic |
| 3971 | Origins Spectrograph}.") |
| 3972 | (license license:bsd-3))) |
| 3973 | |
| 3974 | (define-public python-camb |
| 3975 | (package |
| 3976 | (name "python-camb") |
| 3977 | (version "2.0.3") |
| 3978 | (source |
| 3979 | (origin |
| 3980 | (method git-fetch) |
| 3981 | (uri (git-reference |
| 3982 | (url "https://github.com/cmbant/CAMB") |
| 3983 | (commit version))) |
| 3984 | (file-name (git-file-name name version)) |
| 3985 | (sha256 |
| 3986 | (base32 "1nish5xdpl8lrs6x5613plf4j84ya1q3q8wjd65dg2f8gnbxw5cl")))) |
| 3987 | (build-system pyproject-build-system) |
| 3988 | (arguments |
| 3989 | (list |
| 3990 | #:test-backend #~'unittest |
| 3991 | #:test-flags #~(list "camb.tests.camb_test") |
| 3992 | #:phases |
| 3993 | #~(modify-phases %standard-phases |
| 3994 | (add-before 'build 'disable-native-optimizations |
| 3995 | (lambda _ |
| 3996 | ;; Prevent compilation with -march=native, breaking |
| 3997 | ;; reproducibility and compatability |
| 3998 | (setenv "NONNATIVE" "1"))) |
| 3999 | ;; XXX: It may be set via FORUTILSPATH environment variable but |
| 4000 | ;; build fails with error: |
| 4001 | ;; mkdir: cannot create directory ‘Releaselib’: Read-only file system |
| 4002 | (add-after 'unpack 'copy-forutils |
| 4003 | (lambda _ |
| 4004 | ;; It's a git submodule to <https://github.com/cmbant/forutils>. |
| 4005 | (copy-recursively |
| 4006 | #+(package-source (this-package-native-input "fortran-forutils")) |
| 4007 | "forutils")))))) |
| 4008 | (native-inputs |
| 4009 | (list fortran-forutils |
| 4010 | gfortran |
| 4011 | python-packaging |
| 4012 | python-setuptools |
| 4013 | which)) ; for fortran/Makefile |
| 4014 | (propagated-inputs |
| 4015 | (list python-numpy |
| 4016 | python-packaging |
| 4017 | python-scipy |
| 4018 | python-sympy)) |
| 4019 | (home-page "https://camb.info/") |
| 4020 | (synopsis "Code for Anisotropies in the Microwave Background") |
| 4021 | (description |
| 4022 | "CAMB is a cosmology code for calculating cosmological observables, |
| 4023 | including @acronym{CMB, Cosmic microwave background}, lensing, source count |
| 4024 | and 21cm angular power spectra, matter power spectra, transfer functions and |
| 4025 | background evolution. The code is in Python, with numerical code implemented |
| 4026 | in fast modern Fortran.") |
| 4027 | (license license:gpl3+))) |
| 4028 | |
| 4029 | (define-public python-casa-cube |
| 4030 | (package |
| 4031 | (name "python-casa-cube") |
| 4032 | ;; PyPI lacks documentations, Git has no tags, use the latest commit from |
| 4033 | ;; master HEAD. |
| 4034 | (properties '((commit . "57c9dbc7130da236aff65a355047fcaa1a282292") |
| 4035 | (revision . "0"))) |
| 4036 | (version (git-version "0.1.0" |
| 4037 | (assoc-ref properties 'revision) |
| 4038 | (assoc-ref properties 'commit))) |
| 4039 | (source |
| 4040 | (origin |
| 4041 | (method git-fetch) |
| 4042 | (uri (git-reference |
| 4043 | (url "https://github.com/cpinte/casa_cube") |
| 4044 | (commit (assoc-ref properties 'commit)))) |
| 4045 | (file-name (git-file-name name version)) |
| 4046 | (sha256 |
| 4047 | (base32 "1g6d7ilvgl4fwj8gi4j7fwwasccycjd1m45fycf7aqzdwpnfi664")))) |
| 4048 | (outputs '("out" "doc")) |
| 4049 | (build-system pyproject-build-system) |
| 4050 | (arguments |
| 4051 | (list |
| 4052 | #:tests? #f ;no tests |
| 4053 | #:phases |
| 4054 | #~(modify-phases %standard-phases |
| 4055 | (add-before 'build 'set-home |
| 4056 | (lambda _ |
| 4057 | (setenv "HOME" "/tmp"))) |
| 4058 | (add-after 'install 'build-and-install-doc |
| 4059 | (lambda _ |
| 4060 | (let* ((data (string-append #$output:doc "/share")) |
| 4061 | (doc (string-append data "/doc/" #$name "-" #$version)) |
| 4062 | (man (string-append doc "/man/man1")) |
| 4063 | (html (string-append doc "/html"))) |
| 4064 | (invoke "make" "-C" "docs" "html" "man") |
| 4065 | (copy-recursively "docs/_build/html" html) |
| 4066 | (copy-recursively "docs/_build/man" man))))))) |
| 4067 | (native-inputs |
| 4068 | (list python-setuptools |
| 4069 | python-sphinx |
| 4070 | python-sphinx-rtd-theme)) |
| 4071 | (propagated-inputs |
| 4072 | (list python-astropy |
| 4073 | python-astroquery |
| 4074 | python-cmasher |
| 4075 | python-matplotlib |
| 4076 | python-numpy)) |
| 4077 | (home-page "https://github.com/cpinte/casa_cube") |
| 4078 | (synopsis "Plot data cube from CASA in Python") |
| 4079 | (description |
| 4080 | "casa_cube is a python package that provides an interface to data cubes |
| 4081 | generates by CASA or Gildas. It allows the user to perform simple tasks such |
| 4082 | plotting given channel maps, moment maps, line profile in various units, |
| 4083 | correcting for cloud extinction, reconvolving with a beam taper, trimming a |
| 4084 | cube. The syntax is similar to pymcfost to perform quick and easy comparison |
| 4085 | with models.") |
| 4086 | (license license:expat))) |
| 4087 | |
| 4088 | (define-public python-casa-formats-io |
| 4089 | (package |
| 4090 | (name "python-casa-formats-io") |
| 4091 | (version "0.3.0") |
| 4092 | (source (origin |
| 4093 | (method url-fetch) |
| 4094 | (uri (pypi-uri "casa-formats-io" version)) |
| 4095 | (sha256 |
| 4096 | (base32 |
| 4097 | "16qwr6yq86qgdb0lvnmfm5mn6g2d29b1vrmfv26v77kxm6szxr8h")))) |
| 4098 | (build-system pyproject-build-system) |
| 4099 | (arguments |
| 4100 | (list |
| 4101 | ;; tests: 17 passed, 58 skipped, 1 deselected, 1 xfailed, 25 warnings |
| 4102 | #:test-flags |
| 4103 | #~(list "--pyargs" "casa_formats_io" |
| 4104 | ;; AttributeError: module 'numpy' has no attribute 'product' |
| 4105 | "-k" "not test_ms_tables[.]") |
| 4106 | #:phases |
| 4107 | #~(modify-phases %standard-phases |
| 4108 | (add-before 'check 'remove-local-source |
| 4109 | (lambda _ |
| 4110 | (delete-file-recursively "casa_formats_io")))))) |
| 4111 | (native-inputs |
| 4112 | (list python-pytest |
| 4113 | python-pytest-openfiles |
| 4114 | python-setuptools |
| 4115 | python-setuptools-scm)) |
| 4116 | (propagated-inputs |
| 4117 | (list python-astropy |
| 4118 | python-click |
| 4119 | python-dask |
| 4120 | python-numpy)) |
| 4121 | (home-page "https://casa-formats-io.readthedocs.io/") |
| 4122 | (synopsis "Dask-based reader for CASA data") |
| 4123 | (description |
| 4124 | "The @code{casa-formats-io} package is a small package which implements |
| 4125 | functionality to read data stored in @acronym{CASA, Common Astronomy Software |
| 4126 | Applications} formats (such as @file{.image} datasets). This implementation |
| 4127 | is independent of and does not use @code{casacore}.") |
| 4128 | (license license:lgpl2.0))) |
| 4129 | |
| 4130 | (define-public python-casacore |
| 4131 | (package |
| 4132 | (name "python-casacore") |
| 4133 | (version "3.8.1") |
| 4134 | (source |
| 4135 | (origin |
| 4136 | (method git-fetch) |
| 4137 | (uri (git-reference |
| 4138 | (url "https://github.com/casacore/python-casacore") |
| 4139 | (commit (string-append "v" version)))) |
| 4140 | (file-name (git-file-name name version)) |
| 4141 | (sha256 |
| 4142 | (base32 "03hwv4xc913n2j85rlics88bla0dfrr37yjc5nlq8mwfcgzhdczx")))) |
| 4143 | (build-system pyproject-build-system) |
| 4144 | (arguments |
| 4145 | (list |
| 4146 | #:phases |
| 4147 | #~(modify-phases %standard-phases |
| 4148 | (add-after 'unpack 'set-casacore-data |
| 4149 | (lambda* (#:key inputs #:allow-other-keys) |
| 4150 | (setenv "CASACORE_DATA" |
| 4151 | (search-input-directory inputs "share/casacore-data"))))))) |
| 4152 | (native-inputs |
| 4153 | (list boost |
| 4154 | casacore-data |
| 4155 | cmake-minimal |
| 4156 | python-pytest |
| 4157 | python-scikit-build-core |
| 4158 | python-setuptools-scm)) |
| 4159 | (inputs |
| 4160 | (list casacore |
| 4161 | cfitsio |
| 4162 | hdf5 |
| 4163 | openblas |
| 4164 | wcslib)) |
| 4165 | (propagated-inputs |
| 4166 | (list python-numpy)) |
| 4167 | (home-page "https://casacore.github.io/python-casacore") |
| 4168 | (synopsis "Python wrapper for Casacore") |
| 4169 | (description |
| 4170 | "This package provides a wrapper around @code{casacore}, the radio |
| 4171 | astronomy library.") |
| 4172 | (license license:gpl3+))) |
| 4173 | |
| 4174 | (define-public python-ccdproc |
| 4175 | (package |
| 4176 | (name "python-ccdproc") |
| 4177 | (version "2.5.1") |
| 4178 | (source |
| 4179 | (origin |
| 4180 | (method url-fetch) |
| 4181 | (uri (pypi-uri "ccdproc" version)) |
| 4182 | (sha256 |
| 4183 | (base32 "1ymx9ssapv52m6flfvlhgjnvwmqdgv1qimyjvci8w66k9j4446q5")))) |
| 4184 | (build-system pyproject-build-system) |
| 4185 | (native-inputs |
| 4186 | (list python-hatch-vcs |
| 4187 | python-hatchling |
| 4188 | python-memory-profiler |
| 4189 | python-pytest-astropy)) |
| 4190 | (propagated-inputs |
| 4191 | (list python-astropy |
| 4192 | python-astroscrappy |
| 4193 | python-numpy |
| 4194 | python-reproject |
| 4195 | python-scikit-image |
| 4196 | python-scipy)) |
| 4197 | (home-page "http://ccdproc.readthedocs.io/") |
| 4198 | (synopsis "Basic data reductions of CCD images") |
| 4199 | (description "The ccdproc package provides many of the necessary tools for |
| 4200 | processing of CCD images built on a framework to provide error propagation and |
| 4201 | bad pixel tracking throughout the reduction process.") |
| 4202 | (license license:bsd-3))) |
| 4203 | |
| 4204 | (define-public python-cdasws |
| 4205 | (package |
| 4206 | (name "python-cdasws") |
| 4207 | (version "1.8.18") |
| 4208 | (source |
| 4209 | (origin |
| 4210 | (method url-fetch) |
| 4211 | (uri (pypi-uri "cdasws" version)) |
| 4212 | (sha256 |
| 4213 | (base32 "0pnfm96jwdrly4fc1yr1bw4rg8g869by3hli90bb1p1w4y7zsaiw")))) |
| 4214 | (build-system pyproject-build-system) |
| 4215 | (arguments |
| 4216 | (list #:tests? #f)) ;require network, and missing "context" module |
| 4217 | (native-inputs |
| 4218 | (list python-setuptools)) |
| 4219 | (propagated-inputs |
| 4220 | (list python-dateutil |
| 4221 | python-requests |
| 4222 | python-urllib3)) |
| 4223 | (home-page "https://cdaweb.gsfc.nasa.gov/WebServices/REST/") |
| 4224 | (synopsis |
| 4225 | "NASA's Coordinated Data Analysis System Web Service Client Library") |
| 4226 | (description |
| 4227 | "This package provides NASA's Coordinated Data Analysis System Web |
| 4228 | Service Client Library. |
| 4229 | |
| 4230 | The Coordinated Data Analysis System (CDAS) supports simultaneous |
| 4231 | multi-mission, multi-instrument selection and comparison of science data among |
| 4232 | a wide range of current space missions. While CDAWeb provides access to this |
| 4233 | data through an HTML-based user interface, these Web services provides a (Web) |
| 4234 | application programmming interface (API) to CDAS. If you are not a software |
| 4235 | developer and simply want to use the existing web (HTML) interface to CDAS, |
| 4236 | then return to the main CDAWeb page. If you are developing software that |
| 4237 | requires science data from any of the CDAWeb datasets, then the CDAS Web |
| 4238 | services will provide access to the data without having to explicitly |
| 4239 | find,download, and read the data files.") |
| 4240 | ;; NASA open source agreement version 1.3, BSD like. |
| 4241 | (license license:bsd-3))) |
| 4242 | |
| 4243 | (define-public python-cdflib |
| 4244 | (package |
| 4245 | (name "python-cdflib") |
| 4246 | (version "1.3.12") |
| 4247 | (source |
| 4248 | (origin |
| 4249 | (method git-fetch) |
| 4250 | (uri (git-reference |
| 4251 | (url "https://github.com/lasp/cdflib") |
| 4252 | (commit version))) |
| 4253 | (file-name (git-file-name name version)) |
| 4254 | (sha256 |
| 4255 | (base32 "0ajq39nyqzx9kina20i9pksnjhzqb9kq30gzlvyv1dfz0y49x2b0")))) |
| 4256 | (build-system pyproject-build-system) |
| 4257 | (arguments |
| 4258 | (list |
| 4259 | ;; tests: 81 passed, 1 skipped, 25 deselected, 17 warnings |
| 4260 | #:test-flags |
| 4261 | #~(list "-m" "not remote_data") |
| 4262 | #:phases |
| 4263 | #~(modify-phases %standard-phases |
| 4264 | (add-before 'check 'set-HOME |
| 4265 | (lambda _ |
| 4266 | (setenv "HOME" "/tmp")))))) |
| 4267 | (native-inputs |
| 4268 | (list python-astropy-minimal |
| 4269 | python-pytest |
| 4270 | python-setuptools |
| 4271 | python-setuptools-scm |
| 4272 | python-xarray)) |
| 4273 | (propagated-inputs |
| 4274 | (list python-numpy)) |
| 4275 | (home-page "https://github.com/lasp/cdflib") |
| 4276 | (synopsis "Python library to deal with NASA's CDF astronmical data format") |
| 4277 | (description |
| 4278 | "This package provides a Python @acronym{CDF, Computable Document Format} |
| 4279 | reader toolkit. |
| 4280 | |
| 4281 | It provides the following functionality: |
| 4282 | @itemize |
| 4283 | @item Ability to read variables and attributes from CDF files |
| 4284 | @item Writes CDF version 3 files |
| 4285 | @item Can convert between CDF time types (EPOCH/EPOCH16/TT2000) to other common |
| 4286 | time formats |
| 4287 | @item Can convert CDF files into XArray Dataset objects and vice versa, |
| 4288 | attempting to maintain ISTP compliance |
| 4289 | @end itemize") |
| 4290 | (license license:expat))) |
| 4291 | |
| 4292 | (define-public python-cdshealpix |
| 4293 | (package |
| 4294 | (name "python-cdshealpix") |
| 4295 | (version "0.8.1") |
| 4296 | (source |
| 4297 | (origin |
| 4298 | (method git-fetch) |
| 4299 | (uri (git-reference |
| 4300 | (url "https://github.com/cds-astro/cds-healpix-python") |
| 4301 | (commit (string-append "v" version)))) |
| 4302 | (file-name (git-file-name name version)) |
| 4303 | (sha256 |
| 4304 | (base32 "1168w75bq7xhrdd4wrhr84ffdkw8xfwi7pngv6kv4dpc5c5p729y")))) |
| 4305 | (build-system pyproject-build-system) |
| 4306 | (arguments |
| 4307 | (list |
| 4308 | #:imported-modules (append %cargo-build-system-modules |
| 4309 | %pyproject-build-system-modules) |
| 4310 | #:modules '(((guix build cargo-build-system) #:prefix cargo:) |
| 4311 | (guix build pyproject-build-system) |
| 4312 | (guix build utils)) |
| 4313 | ;; tests: 137 passed, 18 deselected, 18 warnings |
| 4314 | #:test-flags |
| 4315 | #~(list "--pyargs" "cdshealpix" |
| 4316 | #$@(map (lambda (test) (string-append "--deselect=tests/" |
| 4317 | "test_benchmark_healpix.py" |
| 4318 | test)) |
| 4319 | ;; Benchmark tests. |
| 4320 | (list "::test_lonlat_to_healpix_broadcast" |
| 4321 | "::test_lonlat_to_healpix_broadcast_multithread" |
| 4322 | "::test_lonlat_to_healpix_astropy_broadcast" |
| 4323 | "::test_lonlat_to_healpix" |
| 4324 | "::test_lonlat_to_healpix_multithread" |
| 4325 | "::test_lonlat_to_healpix_astropy" |
| 4326 | "::test_healpix_to_lonlat_broadcast" |
| 4327 | "::test_healpix_to_lonlat_broadcast_multithread" |
| 4328 | "::test_healpix_to_lonlat_astropy_broadcast" |
| 4329 | "::test_healpix_to_lonlat" |
| 4330 | "::test_healpix_to_lonlat_multithread" |
| 4331 | "::test_healpix_to_lonlat_astropy" |
| 4332 | "::test_healpix_vertices_lonlat" |
| 4333 | "::test_healpix_vertices_lonlat_multithread" |
| 4334 | "::test_healpix_vertices_lonlat_astropy" |
| 4335 | "::test_healpix_neighbours" |
| 4336 | "::test_cone_search" |
| 4337 | "::test_cone_search_astropy"))) |
| 4338 | #:phases |
| 4339 | #~(modify-phases %standard-phases |
| 4340 | (add-after 'unpack 'prepare-cargo-build-system |
| 4341 | (lambda args |
| 4342 | (for-each (lambda (phase) |
| 4343 | (format #t "Running cargo phase: ~a~%" phase) |
| 4344 | (apply (assoc-ref cargo:%standard-phases phase) |
| 4345 | #:cargo-target #$(cargo-triplet) |
| 4346 | args)) |
| 4347 | '(prepare-rust-crates |
| 4348 | unpack-rust-crates |
| 4349 | configure |
| 4350 | check-for-pregenerated-files |
| 4351 | patch-cargo-checksums)))) |
| 4352 | (add-before 'check 'pre-check |
| 4353 | (lambda _ |
| 4354 | (setenv "HOME" "/tmp") |
| 4355 | (delete-file-recursively "python/cdshealpix")))))) |
| 4356 | (native-inputs |
| 4357 | (list maturin |
| 4358 | python-astropy-healpix |
| 4359 | python-matplotlib |
| 4360 | python-pytest |
| 4361 | rust |
| 4362 | (list rust "cargo"))) |
| 4363 | (inputs |
| 4364 | (cargo-inputs 'python-cdshealpix)) |
| 4365 | (propagated-inputs |
| 4366 | (list python-astropy)) |
| 4367 | (home-page "https://github.com/cds-astro/cds-healpix-python") |
| 4368 | (synopsis "HEALPix manipulation library") |
| 4369 | (description |
| 4370 | "This package provides a HEALPix manipulation library. |
| 4371 | |
| 4372 | HEALPix describes a partionning of the sky into several equal area cells. |
| 4373 | This partionning is hierarchical meaning that each cell has a depth associated |
| 4374 | to it.") |
| 4375 | (license license:bsd-3))) |
| 4376 | |
| 4377 | (define-public python-cesium |
| 4378 | (package |
| 4379 | (name "python-cesium") |
| 4380 | (version "0.12.4") |
| 4381 | (source |
| 4382 | (origin |
| 4383 | (method git-fetch) |
| 4384 | (uri (git-reference |
| 4385 | (url "https://github.com/cesium-ml/cesium") |
| 4386 | (commit (string-append "v" version)))) |
| 4387 | (file-name (git-file-name name version)) |
| 4388 | (sha256 |
| 4389 | (base32 "0qmgixiasyv57xc5s6l62gvrcnywjqgzpwr9hwdrpx8awlf5zw9h")))) |
| 4390 | (build-system pyproject-build-system) |
| 4391 | (arguments |
| 4392 | (list |
| 4393 | #:test-flags |
| 4394 | ;; XXX: Current version might be not compatible with NumPy 2.4.6. |
| 4395 | #~(list (string-append "--deselect=lib/python3.12/site-packages/" |
| 4396 | "cesium/tests/test_featurize.py::test_impute")) |
| 4397 | #:phases |
| 4398 | #~(modify-phases %standard-phases |
| 4399 | ;; The installed test files contain the /gnu/store location, not the |
| 4400 | ;; location of the discovered test files from the build directory. |
| 4401 | ;; The test framework doesn't like this. The easiest way around |
| 4402 | ;; this mismatch is to jump to the output directory. |
| 4403 | (add-before 'check 'check-chdir |
| 4404 | (lambda _ (chdir #$output)))))) |
| 4405 | (native-inputs |
| 4406 | (list python-cython |
| 4407 | python-pytest |
| 4408 | python-setuptools |
| 4409 | python-setuptools-scm)) |
| 4410 | (propagated-inputs |
| 4411 | (list python-cloudpickle |
| 4412 | python-dask |
| 4413 | python-gatspy |
| 4414 | python-joblib |
| 4415 | python-numpy |
| 4416 | python-pandas |
| 4417 | python-scikit-learn |
| 4418 | python-scipy |
| 4419 | python-toolz)) |
| 4420 | (home-page "https://cesium-ml.org/") |
| 4421 | (synopsis "Library for time-series feature extraction and processing") |
| 4422 | (description |
| 4423 | "Cesium is an end-to-end machine learning platform for time-series, from |
| 4424 | calculation of features to model-building to predictions. Cesium has two main |
| 4425 | components - a Python library, and a web application platform that allows |
| 4426 | interactive exploration of machine learning pipelines. Take control over the |
| 4427 | workflow in a Python terminal or Jupyter notebook with the Cesium library, or |
| 4428 | upload your time-series files, select your machine learning model, and watch |
| 4429 | Cesium do feature extraction and evaluation right in your browser with the web |
| 4430 | application.") |
| 4431 | (license license:bsd-3))) |
| 4432 | |
| 4433 | (define-public python-chiantipy |
| 4434 | (package |
| 4435 | (name "python-chiantipy") |
| 4436 | (version "0.16.0") |
| 4437 | (source |
| 4438 | (origin |
| 4439 | (method git-fetch) |
| 4440 | (uri (git-reference |
| 4441 | (url "https://github.com/chianti-atomic/ChiantiPy") |
| 4442 | (commit (string-append "v" version)))) |
| 4443 | (file-name (git-file-name name version)) |
| 4444 | (sha256 |
| 4445 | (base32 "1h0vxmfcnc04bsj7mz2r6n2g23a2rpcg2sav3ldjgksw41sd42q3")))) |
| 4446 | (build-system pyproject-build-system) |
| 4447 | (arguments |
| 4448 | (list |
| 4449 | ;; XXX: tests require CHIANTI database |
| 4450 | ;; <https://www.chiantidatabase.org/chianti_download.html> (~500MiB |
| 4451 | ;; compressed) accessible via setting XUVTOP environment variable. |
| 4452 | #:tests? #f)) |
| 4453 | (native-inputs |
| 4454 | (list python-setuptools)) |
| 4455 | (propagated-inputs |
| 4456 | (list python-matplotlib |
| 4457 | python-numpy |
| 4458 | python-roman |
| 4459 | python-scipy)) |
| 4460 | (home-page "https://github.com/chianti-atomic/ChiantiPy") |
| 4461 | (synopsis "Python interface to the CHIANTI atomic database") |
| 4462 | (description |
| 4463 | "ChiantiPy is the Python interface to the |
| 4464 | @url{http://www.chiantidatabase.org/, CHIANTI atomic database} for |
| 4465 | astrophysical spectroscopy. It provides the capability to calculate the |
| 4466 | emission line and continuum spectrum of an optically thin plasma based on the |
| 4467 | data in the CHIANTI database.") |
| 4468 | (license license:isc))) |
| 4469 | |
| 4470 | (define-public python-ci-watson |
| 4471 | (package |
| 4472 | (name "python-ci-watson") |
| 4473 | (version "0.11.0") |
| 4474 | (source |
| 4475 | (origin |
| 4476 | (method url-fetch) |
| 4477 | (uri (pypi-uri "ci_watson" version)) |
| 4478 | (sha256 |
| 4479 | (base32 "0rwmfzgbfazfb511fq6ipcwr5n2n4ngz4whxjd7kbcyj56580dg6")))) |
| 4480 | (build-system pyproject-build-system) |
| 4481 | (native-inputs |
| 4482 | (list python-pytest-astropy-header |
| 4483 | python-pytest |
| 4484 | python-setuptools |
| 4485 | python-setuptools-scm)) |
| 4486 | (propagated-inputs |
| 4487 | (list python-colorama |
| 4488 | python-crds |
| 4489 | python-readchar |
| 4490 | python-requests)) |
| 4491 | (home-page "https://github.com/spacetelescope/ci_watson") |
| 4492 | (synopsis "Helper functions for STScI software") |
| 4493 | (description |
| 4494 | "This package contains a helper functionality to test ROMAN and JWST.") |
| 4495 | (license license:bsd-3))) |
| 4496 | |
| 4497 | (define-public python-cianna |
| 4498 | (package |
| 4499 | (inherit cianna) |
| 4500 | (name "python-cianna") |
| 4501 | (build-system pyproject-build-system) |
| 4502 | (arguments |
| 4503 | (list #:tests? #f)) |
| 4504 | (native-inputs |
| 4505 | (list cmake-minimal |
| 4506 | python-numpy |
| 4507 | python-setuptools)) |
| 4508 | (synopsis "Python bindings for CIANNA"))) |
| 4509 | |
| 4510 | (define-public python-clipy-like |
| 4511 | (package |
| 4512 | (name "python-clipy-like") |
| 4513 | (version "0.15") |
| 4514 | (source |
| 4515 | (origin |
| 4516 | (method git-fetch) |
| 4517 | (uri (git-reference |
| 4518 | (url "https://github.com/benabed/clipy") |
| 4519 | (commit (string-append "clipy_" version)))) |
| 4520 | (file-name (git-file-name name version)) |
| 4521 | (sha256 (base32 "0dg4l6ala51ip8ijhlpgli4giw6f1vg3dc4gxpq7pa719zwgfd9m")))) |
| 4522 | (build-system pyproject-build-system) |
| 4523 | (arguments |
| 4524 | (list #:tests? #f)) ;no tests |
| 4525 | (native-inputs |
| 4526 | (list python-flit-core)) |
| 4527 | (propagated-inputs |
| 4528 | (list python-astropy |
| 4529 | python-numpy)) |
| 4530 | (home-page "https://github.com/benabed/clipy") |
| 4531 | (synopsis "Pure Python CLIK implementation with JAX support") |
| 4532 | (description |
| 4533 | "@code{clipy} is a pure python implementation of most of |
| 4534 | @url{https://github.com/benabed/clik, CLIK} with JAX support (see here for the |
| 4535 | list of currently supported likelihoods).") |
| 4536 | (license license:expat))) |
| 4537 | |
| 4538 | (define-public python-cmyt |
| 4539 | (package |
| 4540 | (name "python-cmyt") |
| 4541 | (version "2.0.2") |
| 4542 | (source |
| 4543 | (origin |
| 4544 | (method git-fetch) |
| 4545 | (uri (git-reference |
| 4546 | (url "https://github.com/yt-project/cmyt") |
| 4547 | (commit (string-append "v" version)))) |
| 4548 | (file-name (git-file-name name version)) |
| 4549 | (sha256 |
| 4550 | (base32 "1d257xlgxc06x47k07xn5ml2kjqzc7dgjal4bl9x2w6b90xn0pm1")))) |
| 4551 | (build-system pyproject-build-system) |
| 4552 | (native-inputs |
| 4553 | (list python-colorspacious |
| 4554 | python-pytest |
| 4555 | python-pytest-mpl |
| 4556 | python-hatchling)) |
| 4557 | (propagated-inputs |
| 4558 | (list python-matplotlib |
| 4559 | python-numpy)) |
| 4560 | (home-page "https://yt-project.org/") |
| 4561 | (synopsis "Matplotlib colormaps from the yt project") |
| 4562 | (description |
| 4563 | "This package provides a range of colormaps designed for scientific use |
| 4564 | with Matplotlib. It includes perceptually uniform sequential colormaps such |
| 4565 | as @code{abre}, @code{dusk}, @code{kepl}, and @code{octarine}, as well as |
| 4566 | monochromatic sequential colormaps like @code{blue}, @code{green}, and |
| 4567 | @code{red}, and others (@code{algae}, @code{pastel}, and @code{xray}).") |
| 4568 | (license license:bsd-3))) |
| 4569 | |
| 4570 | (define-public python-cobaya |
| 4571 | (package |
| 4572 | (name "python-cobaya") |
| 4573 | ;; 3.6.2 (2026-03-27); to support changes in pythoncamb. see: |
| 4574 | ;; <https://github.com/CobayaSampler/cobaya/pull/495>. |
| 4575 | (properties '((commit . "b76b6fed2a6c8c5594c6f92d5058bef10079746a") |
| 4576 | (revision . "0"))) |
| 4577 | (version (git-version "3.6.2" |
| 4578 | (assoc-ref properties 'revision) |
| 4579 | (assoc-ref properties 'commit))) |
| 4580 | (source |
| 4581 | (origin |
| 4582 | (method git-fetch) |
| 4583 | (uri (git-reference |
| 4584 | (url "https://github.com/CobayaSampler/cobaya") |
| 4585 | (commit (assoc-ref properties 'commit)))) |
| 4586 | (file-name (git-file-name name version)) |
| 4587 | (sha256 |
| 4588 | (base32 "1ni2a7nr0vy49j2d5lh5zyv5bdpy735axxvh8b16r6wnhjv728pm")))) |
| 4589 | (build-system pyproject-build-system) |
| 4590 | (arguments |
| 4591 | (list |
| 4592 | ;; tests: 78 passed, 3 skipped, 94 xfailed |
| 4593 | #:test-flags |
| 4594 | #~(list "--numprocesses" (number->string (min 8 (parallel-job-count))) |
| 4595 | "--skip-not-installed" |
| 4596 | ;; [1] np.allclose mismatch array for get_Omega_nu_massive = |
| 4597 | ;; camb.get_Omega_nu_massive |
| 4598 | ;; [2] cobaya.component.ComponentNotFoundError: |
| 4599 | ;; 'planckpr4lensing' could not be found. Tried loading internal |
| 4600 | ;; and external classes. No component path was given. |
| 4601 | "-k" (string-append "not test_cosmo_omega_camb" |
| 4602 | " and not test_planck_NPIPE_p_CamSpec_camb")) |
| 4603 | #:phases |
| 4604 | #~(modify-phases %standard-phases |
| 4605 | (add-before 'check 'pre-check |
| 4606 | (lambda _ |
| 4607 | (setenv "HOME" "/tmp") |
| 4608 | (setenv "COBAYA_PACKAGES_PATH" "/tmp")))))) |
| 4609 | (native-inputs |
| 4610 | (list python-flaky |
| 4611 | python-pytest |
| 4612 | python-pytest-xdist |
| 4613 | python-setuptools)) |
| 4614 | (propagated-inputs |
| 4615 | (list python-dill |
| 4616 | python-fuzzywuzzy |
| 4617 | python-getdist |
| 4618 | python-numpy |
| 4619 | python-packaging |
| 4620 | python-pandas |
| 4621 | python-portalocker |
| 4622 | python-py-bobyqa |
| 4623 | python-pyyaml |
| 4624 | python-requests |
| 4625 | python-scipy |
| 4626 | python-tqdm |
| 4627 | python-typing-extensions |
| 4628 | ;; [optional] |
| 4629 | python-camb |
| 4630 | ;; python-classy ;not packaged yet in Guix |
| 4631 | python-iminuit |
| 4632 | python-matplotlib |
| 4633 | python-mpi4py |
| 4634 | python-numba |
| 4635 | python-pyside-6)) |
| 4636 | (home-page "https://github.com/CobayaSampler/cobaya") |
| 4637 | (synopsis "Code for Bayesian analysis in Cosmology") |
| 4638 | (description |
| 4639 | "@acronym{Cobaya, COde for BAYesian Analysis}, and Spanish for Guinea |
| 4640 | Pig) is a framework for sampling and statistical modelling: it allows you to |
| 4641 | explore an arbitrary prior or posterior using a range of Monte Carlo |
| 4642 | samplers (including the advanced MCMC sampler from CosmoMC, and the advanced |
| 4643 | nested sampler PolyChord). The results of the sampling can be analysed with |
| 4644 | GetDist. It supports MPI parallelization (and very soon HPC containerization |
| 4645 | with Docker/Shifter and Singularity).") |
| 4646 | (license license:lgpl3+))) |
| 4647 | |
| 4648 | (define-public python-colossus |
| 4649 | ;; There is no source distribution in PyPI and no version tags, use the |
| 4650 | ;; latest commit from the master HEAD. |
| 4651 | (let ((commit "b4811875b49006d258dac9ad23682917bcece102") |
| 4652 | (revision "0")) |
| 4653 | (package |
| 4654 | (name "python-colossus") |
| 4655 | (version (git-version "1.4.0" revision commit)) |
| 4656 | (source |
| 4657 | (origin |
| 4658 | (method git-fetch) |
| 4659 | (uri (git-reference |
| 4660 | (url "https://bitbucket.org/bdiemer/colossus") |
| 4661 | (commit commit))) |
| 4662 | (file-name (git-file-name name version)) |
| 4663 | (sha256 |
| 4664 | (base32 "1x0c5amnqf7aa98a7l79y5xx4fsirjln6fzi5b7lhc95k22q1sc0")))) |
| 4665 | (build-system pyproject-build-system) |
| 4666 | (arguments |
| 4667 | (list |
| 4668 | ;; tests: 178 passed, 5 warnings |
| 4669 | #:phases |
| 4670 | #~(modify-phases %standard-phases |
| 4671 | (add-before 'check 'pre-check |
| 4672 | (lambda _ |
| 4673 | (setenv "HOME" "/tmp")))))) |
| 4674 | (native-inputs |
| 4675 | (list python-astropy-minimal |
| 4676 | python-jsonpickle |
| 4677 | python-lenstronomy-minimal |
| 4678 | python-pytest |
| 4679 | python-scikit-image |
| 4680 | python-setuptools)) |
| 4681 | (propagated-inputs |
| 4682 | (list python-numpy |
| 4683 | python-scipy)) |
| 4684 | (home-page "https://bitbucket.org/bdiemer/colossus") |
| 4685 | (synopsis "Cosmology, halo, and large-scale structure tools") |
| 4686 | (description |
| 4687 | "@acronym{Colossus, COsmology haLO and large-Scale StrUcture toolS} is a |
| 4688 | Python toolkit for calculations pertaining to cosmology, the large-scale |
| 4689 | structure of the universe, and the properties of dark matter halos.") |
| 4690 | (license license:expat)))) |
| 4691 | |
| 4692 | (define-public python-coolest |
| 4693 | (package |
| 4694 | (name "python-coolest") |
| 4695 | (version "0.1.11") |
| 4696 | (source |
| 4697 | (origin |
| 4698 | (method git-fetch) |
| 4699 | (uri (git-reference |
| 4700 | (url "https://github.com/aymgal/COOLEST") |
| 4701 | (commit (string-append "v" version)))) |
| 4702 | (file-name (git-file-name name version)) |
| 4703 | (sha256 |
| 4704 | (base32 "1mdj5c91w1p2ch1y80y0x1y3ky30b95lzlscz2b6hl7jcf3n6jfb")))) |
| 4705 | (build-system pyproject-build-system) |
| 4706 | (arguments |
| 4707 | (list |
| 4708 | ;; tests: 120 passed, 81 warnings |
| 4709 | #:test-flags |
| 4710 | ;; Cycle with python-lenstronomy. |
| 4711 | #~(list "--ignore=test/api/profiles/light_test.py" |
| 4712 | "--ignore=test/api/profiles/mass_test.py"))) |
| 4713 | (native-inputs |
| 4714 | (list python-pytest |
| 4715 | python-scikit-image |
| 4716 | python-setuptools)) |
| 4717 | (propagated-inputs |
| 4718 | (list python-astropy |
| 4719 | python-getdist |
| 4720 | python-jsonpickle |
| 4721 | python-numpy |
| 4722 | python-pandas |
| 4723 | python-scipy)) |
| 4724 | (home-page "https://github.com/aymgal/COOLEST") |
| 4725 | (synopsis "Strong Gravitational Lensing Analyses") |
| 4726 | (description |
| 4727 | "The COde-independent Organized LEns STandard (COOLEST) defines a set of |
| 4728 | conventions to be shared across the strong lensing community, in order to |
| 4729 | consistently store, share and improve lens modeling analyses. In short, this |
| 4730 | project provides tools to manipulate lens models as a single, human-readable |
| 4731 | JSON template file alongside Python routines for visualizing and comparing |
| 4732 | lens models possibly obtained from different modeling codes.") |
| 4733 | (license license:gpl3))) |
| 4734 | |
| 4735 | (define-public python-corsikaio |
| 4736 | (package |
| 4737 | (name "python-corsikaio") |
| 4738 | (version "0.6.1") |
| 4739 | (source |
| 4740 | (origin |
| 4741 | (method git-fetch) |
| 4742 | (uri (git-reference |
| 4743 | (url "https://github.com/cta-observatory/pycorsikaio") |
| 4744 | (commit (string-append "v" version)))) |
| 4745 | (file-name (git-file-name name version)) |
| 4746 | (sha256 |
| 4747 | (base32 "0rnp1myhilkcr7mnv6x3cmxqjn0adgmb89crszn536qphsisyc35")))) |
| 4748 | (build-system pyproject-build-system) |
| 4749 | ;; tests: 51 passed |
| 4750 | (native-inputs |
| 4751 | (list python-pytest |
| 4752 | python-scipy |
| 4753 | python-setuptools |
| 4754 | python-setuptools-scm)) |
| 4755 | (propagated-inputs |
| 4756 | (list python-numpy |
| 4757 | python-zstandard)) |
| 4758 | (home-page "https://github.com/cta-observatory/pycorsikaio") |
| 4759 | (synopsis "Reader for CORSIKA binary output files") |
| 4760 | (description |
| 4761 | "This package implements a reader for |
| 4762 | @url{https://www.iap.kit.edu/corsika/, @acronym{CORSIKA, COsmic Ray |
| 4763 | SImulations for KAscade}} binary output files using NumPy.") |
| 4764 | (license license:expat))) |
| 4765 | |
| 4766 | (define-public python-cosmopy |
| 4767 | (package |
| 4768 | (name "python-cosmopy") |
| 4769 | (version "3.6") |
| 4770 | (source |
| 4771 | (origin |
| 4772 | (method url-fetch) |
| 4773 | (uri (pypi-uri "cosmopy" version)) |
| 4774 | (sha256 |
| 4775 | (base32 "16xlg0vyzdx1h5h28y8az48nhiqvx43yd9s30g3rk9ywl4r1j6h8")))) |
| 4776 | (build-system pyproject-build-system) |
| 4777 | (arguments |
| 4778 | (list |
| 4779 | #:phases |
| 4780 | #~(modify-phases %standard-phases |
| 4781 | (add-after 'unpack 'relax-requirements |
| 4782 | (lambda _ |
| 4783 | ;; See: <https://github.com/lzkelley/cosmopy/issues/6>. |
| 4784 | (substitute* "requirements.txt" |
| 4785 | (("future") ""))))))) |
| 4786 | (native-inputs |
| 4787 | (list python-pytest |
| 4788 | python-setuptools)) |
| 4789 | (propagated-inputs |
| 4790 | (list python-astropy |
| 4791 | python-click |
| 4792 | python-numpy |
| 4793 | python-scipy)) |
| 4794 | (home-page "https://github.com/lzkelley/cosmopy") |
| 4795 | (synopsis "Cosmological calculator in Python") |
| 4796 | (description |
| 4797 | "This package provides a CLI and Python module to quickly calculate |
| 4798 | cosmological parameters e.g. redshift or luminosity-distance.") |
| 4799 | (license license:expat))) |
| 4800 | |
| 4801 | (define-public python-costools |
| 4802 | (package |
| 4803 | (name "python-costools") |
| 4804 | (version "1.2.7") |
| 4805 | (source |
| 4806 | (origin |
| 4807 | (method url-fetch) |
| 4808 | (uri (pypi-uri "costools" version)) |
| 4809 | (sha256 |
| 4810 | (base32 "1ij503zshjf3hynhhqgvkyrgzma8a77v9nghvgij8xr852p2lqdy")))) |
| 4811 | (build-system pyproject-build-system) |
| 4812 | (native-inputs |
| 4813 | (list python-pytest |
| 4814 | python-setuptools |
| 4815 | python-setuptools-scm)) |
| 4816 | (propagated-inputs |
| 4817 | (list python-astropy |
| 4818 | python-calcos |
| 4819 | python-numpy |
| 4820 | python-stsci-tools)) |
| 4821 | (home-page "https://github.com/spacetelescope/costools") |
| 4822 | (synopsis "Tools for Cosmic Origins Spectrograph") |
| 4823 | (description |
| 4824 | "This package provides tools for @acronym{COS, Cosmic Origins |
| 4825 | Spectrograph}.") |
| 4826 | (license license:bsd-3))) |
| 4827 | |
| 4828 | (define-public python-crds |
| 4829 | (package |
| 4830 | (name "python-crds") |
| 4831 | (version "14.0.0") |
| 4832 | (source |
| 4833 | (origin |
| 4834 | (method git-fetch) |
| 4835 | (uri (git-reference |
| 4836 | (url "https://github.com/spacetelescope/crds") |
| 4837 | (commit version))) |
| 4838 | (file-name (git-file-name name version)) |
| 4839 | (sha256 |
| 4840 | (base32 "1xy4111ysk3h3wigmfh39q2h98ds5r3lh20m7d6zb0hkld4gkm9d")))) |
| 4841 | (build-system pyproject-build-system) |
| 4842 | (arguments |
| 4843 | (list |
| 4844 | ;; tests: 100 passed, 543 deselected |
| 4845 | #:test-flags |
| 4846 | ;; XXX: Tests require a complex set up and test data, try to run some |
| 4847 | ;; minimal portion of unit tests to persist package compatibility during |
| 4848 | ;; updates, see: |
| 4849 | ;; <https://github.com/spacetelescope/crds/blob/13.1.1/TESTING>. |
| 4850 | #~(list "-m" (string-join |
| 4851 | (list "not bestrefs" "cmdline" "core" "jwst" "hst" "rmap" "roman" |
| 4852 | "special" "synphot") |
| 4853 | " and not ") |
| 4854 | "--ignore=test/core/test_locking.py"))) |
| 4855 | (native-inputs |
| 4856 | (list python-mock |
| 4857 | python-moto |
| 4858 | python-pytest |
| 4859 | python-pytest-astropy |
| 4860 | python-pytest-doctestplus |
| 4861 | python-setuptools |
| 4862 | python-setuptools-scm |
| 4863 | python-stdatamodels-minimal |
| 4864 | python-stsynphot)) |
| 4865 | (propagated-inputs |
| 4866 | (list python-astropy |
| 4867 | python-numpy |
| 4868 | python-filelock |
| 4869 | python-asdf |
| 4870 | python-requests |
| 4871 | python-parsley |
| 4872 | ;; [optional] |
| 4873 | python-beautifulsoup4 |
| 4874 | ;; python-jwst |
| 4875 | python-roman-datamodels |
| 4876 | python-stsynphot)) |
| 4877 | (home-page "https://hst-crds.stsci.edu") |
| 4878 | (synopsis "Calibration Reference Data System for HST and JWST") |
| 4879 | (description |
| 4880 | "CRDS is a package used for working with astronomical reference files for |
| 4881 | the HST and JWST telescopes. CRDS is useful for performing various operations |
| 4882 | on reference files or reference file assignment rules. CRDS is used to |
| 4883 | assign, check, and compare reference files and rules, and also to predict |
| 4884 | those datasets which should potentially be reprocessed due to changes in |
| 4885 | reference files or assignment rules. CRDS has versioned rules which define |
| 4886 | the assignment of references for each type and instrument configuration. CRDS |
| 4887 | has web sites corresponding to each project @url{http://hst-crds.stsci.edu} or |
| 4888 | @url{https://jwst-crds.stsci.edu/} which record information about reference |
| 4889 | files and provide related services.") |
| 4890 | (license license:bsd-3))) |
| 4891 | |
| 4892 | ;; A bare minimal package, mainly to use in tests and reduce closure |
| 4893 | ;; size. Tests are left out in the main package to slim down native-inputs. |
| 4894 | (define-public python-crds-minimal |
| 4895 | (package/inherit python-crds |
| 4896 | (name "python-crds-minimal") |
| 4897 | (arguments |
| 4898 | (list #:tests? #f)) |
| 4899 | (native-inputs |
| 4900 | (list python-setuptools |
| 4901 | python-setuptools-scm)) |
| 4902 | (propagated-inputs |
| 4903 | (list python-astropy |
| 4904 | python-numpy |
| 4905 | python-filelock |
| 4906 | python-asdf |
| 4907 | python-requests |
| 4908 | python-parsley)))) |
| 4909 | |
| 4910 | (define-public python-ctapipe |
| 4911 | (package |
| 4912 | (name "python-ctapipe") |
| 4913 | (version "0.31.0") |
| 4914 | (source |
| 4915 | (origin |
| 4916 | (method git-fetch) |
| 4917 | (uri (git-reference |
| 4918 | (url "https://github.com/cta-observatory/ctapipe/") |
| 4919 | (commit (string-append "v" version)))) |
| 4920 | (file-name (git-file-name name version)) |
| 4921 | (sha256 |
| 4922 | (base32 "1xkm21nan9fxvfjgna4schm1fcq2m38a05nl4x7h4f5riwx7g2lw")))) |
| 4923 | (build-system pyproject-build-system) |
| 4924 | (arguments |
| 4925 | (list |
| 4926 | ;; tests: 174 passed, 14 warnings |
| 4927 | #:test-flags |
| 4928 | #~(list "--numprocesses" (number->string (min 8 (parallel-job-count))) |
| 4929 | "--pyargs" "ctapipe" |
| 4930 | "-m" "not vizier" |
| 4931 | "--durations=20") |
| 4932 | #:phases |
| 4933 | #~(modify-phases %standard-phases |
| 4934 | (add-after 'unpack 'remove-test-files |
| 4935 | ;; XXX: Tests require remote data and can't be ignored with |
| 4936 | ;; --ignore or --ignore-glob option when --pyargs is provided. |
| 4937 | ;; Check if the test data may be included to enable more. |
| 4938 | (lambda _ |
| 4939 | (with-directory-excursion "src/ctapipe" |
| 4940 | (for-each delete-file |
| 4941 | (list "coordinates/tests/test_coordinates.py" |
| 4942 | "calib/camera/tests/test_calibrator.py" |
| 4943 | "coordinates/tests/test_impact_distance.py" |
| 4944 | "coordinates/tests/test_utils.py" |
| 4945 | "core/tests/test_component.py" |
| 4946 | "core/tests/test_feature_generator.py" |
| 4947 | "core/tests/test_provenance.py" |
| 4948 | "core/tests/test_telescope_component.py" |
| 4949 | "core/tests/test_tool.py" |
| 4950 | "core/tests/test_traits.py" |
| 4951 | "image/muon/tests/test_intensity_fit.py" |
| 4952 | "image/muon/tests/test_processor.py" |
| 4953 | "image/muon/tests/test_ring_fitter.py" |
| 4954 | "image/tests/test_cleaning.py" |
| 4955 | "image/tests/test_concentration.py" |
| 4956 | "image/tests/test_extractor.py" |
| 4957 | "image/tests/test_hillas.py" |
| 4958 | "image/tests/test_image_cleaner_component.py" |
| 4959 | "image/tests/test_image_processor.py" |
| 4960 | "image/tests/test_invalid_pixels.py" |
| 4961 | "image/tests/test_leakage.py" |
| 4962 | "image/tests/test_modifications.py" |
| 4963 | "image/tests/test_morphology.py" |
| 4964 | "image/tests/test_reducer.py" |
| 4965 | "image/tests/test_timing_parameters.py" |
| 4966 | "image/tests/test_toy.py" |
| 4967 | "instrument/camera/tests/test_description.py" |
| 4968 | "instrument/camera/tests/test_geometry.py" |
| 4969 | "instrument/camera/tests/test_image_conversion.py" |
| 4970 | "instrument/camera/tests/test_readout.py" |
| 4971 | "instrument/tests/test_optics.py" |
| 4972 | "instrument/tests/test_psf_model.py" |
| 4973 | "instrument/tests/test_subarray.py" |
| 4974 | "instrument/tests/test_telescope.py" |
| 4975 | "instrument/tests/test_trigger.py" |
| 4976 | "io/tests/test_datawriter.py" |
| 4977 | "io/tests/test_event_source.py" |
| 4978 | "io/tests/test_eventseeker.py" |
| 4979 | "io/tests/test_hdf5.py" |
| 4980 | "io/tests/test_hdf5eventsource.py" |
| 4981 | "io/tests/test_hdf5monitoringsource.py" |
| 4982 | "io/tests/test_merge.py" |
| 4983 | "io/tests/test_plugin.py" |
| 4984 | "io/tests/test_preprocessing.py" |
| 4985 | "io/tests/test_prod2.py" |
| 4986 | "io/tests/test_simteleventsource.py" |
| 4987 | "io/tests/test_table_loader.py" |
| 4988 | "io/tests/test_toysource.py" |
| 4989 | "irf/tests/test_benchmarks.py" |
| 4990 | "irf/tests/test_optimize.py" |
| 4991 | "monitoring/tests/test_calculator.py" |
| 4992 | "monitoring/tests/test_interpolator.py" |
| 4993 | "monitoring/tests/test_outlier.py" |
| 4994 | "reco/tests/test_HillasReconstructor.py" |
| 4995 | "reco/tests/test_ImPACT.py" |
| 4996 | "reco/tests/test_hillas_intersection.py" |
| 4997 | "reco/tests/test_preprocessing.py" |
| 4998 | "reco/tests/test_reconstruction_methods.py" |
| 4999 | "reco/tests/test_reconstructor.py" |
| 5000 | "reco/tests/test_shower_processor.py" |
| 5001 | "reco/tests/test_sklearn.py" |
| 5002 | "reco/tests/test_telescope_event_handling.py" |
| 5003 | "tests/test_atmosphere.py" |
| 5004 | "tools/tests/test_apply_models.py" |
| 5005 | "tools/tests/test_astropy_cache.py" |
| 5006 | "tools/tests/test_calculate_pixel_stats.py" |
| 5007 | "tools/tests/test_compute_irf.py" |
| 5008 | "tools/tests/test_merge.py" |
| 5009 | "tools/tests/test_optimize_event_selection.py" |
| 5010 | "tools/tests/test_process.py" |
| 5011 | "tools/tests/test_process_ml.py" |
| 5012 | "tools/tests/test_tools.py" |
| 5013 | "tools/tests/test_train.py" |
| 5014 | "visualization/tests/test_bokeh.py" |
| 5015 | "visualization/tests/test_mpl.py" |
| 5016 | "utils/tests/test_datasets.py"))))) |
| 5017 | (add-before 'check 'pre-check |
| 5018 | (lambda _ |
| 5019 | (setenv "HOME" "/tmp") |
| 5020 | (delete-file-recursively "src")))))) |
| 5021 | (native-inputs |
| 5022 | (list nss-certs-for-test |
| 5023 | python-h5py |
| 5024 | python-pytest |
| 5025 | python-pytest-astropy-header |
| 5026 | python-pytest-xdist |
| 5027 | python-setuptools |
| 5028 | python-setuptools-scm |
| 5029 | python-tomli)) |
| 5030 | (propagated-inputs |
| 5031 | (list python-astropy |
| 5032 | python-docutils |
| 5033 | python-hist |
| 5034 | python-joblib |
| 5035 | python-numba |
| 5036 | python-numpy |
| 5037 | python-packaging |
| 5038 | python-psutil |
| 5039 | python-pyyaml |
| 5040 | python-requests |
| 5041 | python-scikit-learn |
| 5042 | python-scipy |
| 5043 | python-tables |
| 5044 | python-tqdm |
| 5045 | python-traitlets |
| 5046 | ;; [poptional] |
| 5047 | python-bokeh |
| 5048 | python-eventio |
| 5049 | python-iminuit |
| 5050 | python-matplotlib |
| 5051 | python-pyirf)) |
| 5052 | (home-page "https://github.com/cta-observatory/ctapipe/") |
| 5053 | (synopsis "Low-level data processing pipeline software for CTAO") |
| 5054 | (description |
| 5055 | "Event reconstruction framework for Imaging Atmospheric Cherenkov |
| 5056 | Telescopes developed for @acronym{CTAO, Cherenkov Telescope Array |
| 5057 | Observatory}.") |
| 5058 | (license license:bsd-3))) |
| 5059 | |
| 5060 | (define-public python-ctapipe-io-magic |
| 5061 | (package |
| 5062 | (name "python-ctapipe-io-magic") |
| 5063 | (version "0.5.8") |
| 5064 | (source |
| 5065 | (origin |
| 5066 | (method url-fetch) |
| 5067 | (uri (pypi-uri "ctapipe_io_magic" version)) |
| 5068 | (sha256 |
| 5069 | (base32 "1g574wgwrb6k25dcn9vnv8rypa4s3bc4mi16d9dksb4dbjizxiww")))) |
| 5070 | (build-system pyproject-build-system) |
| 5071 | (arguments |
| 5072 | ;; XXX: Tests require additional data, see: <download_test_data.sh>. |
| 5073 | (list |
| 5074 | #:tests? #f |
| 5075 | #:phases |
| 5076 | #~(modify-phases %standard-phases |
| 5077 | (add-before 'build 'set-ctapipe-env |
| 5078 | (lambda _ |
| 5079 | (setenv "CTAPIPE_DISABLE_NUMBA_CACHE" "1")))))) |
| 5080 | (native-inputs |
| 5081 | (list python-setuptools |
| 5082 | python-setuptools-scm)) |
| 5083 | (propagated-inputs |
| 5084 | (list python-astropy |
| 5085 | python-ctapipe |
| 5086 | python-numpy |
| 5087 | python-scipy |
| 5088 | python-uproot)) |
| 5089 | (home-page "https://github.com/cta-observatory/ctapipe_io_magic") |
| 5090 | (synopsis "Ctapipe plugin for reading calibrated MAGIC files") |
| 5091 | (description |
| 5092 | "This package provides a EventSource plugin for ctapipe, needed to read the |
| 5093 | calibrated data of the MAGIC telescope system.") |
| 5094 | (license license:bsd-3))) |
| 5095 | |
| 5096 | (define-public python-ctaplot |
| 5097 | (package |
| 5098 | (name "python-ctaplot") |
| 5099 | (version "0.6.6") |
| 5100 | (source |
| 5101 | (origin |
| 5102 | (method git-fetch) |
| 5103 | (uri (git-reference |
| 5104 | (url "https://github.com/cta-observatory/ctaplot") |
| 5105 | (commit (string-append "v" version)))) |
| 5106 | (file-name (git-file-name name version)) |
| 5107 | (sha256 |
| 5108 | (base32 "1qvi6vz3gc8gy3h7kqnmkab0sgin94hz92gb0syp7nr1likdcd6b")))) |
| 5109 | (build-system pyproject-build-system) |
| 5110 | (native-inputs |
| 5111 | (list python-pytest |
| 5112 | python-setuptools)) |
| 5113 | (propagated-inputs |
| 5114 | (list jupyter |
| 5115 | python-astropy |
| 5116 | python-ipywidgets |
| 5117 | python-matplotlib |
| 5118 | python-numpy |
| 5119 | python-pandas |
| 5120 | python-pyyaml |
| 5121 | python-scikit-learn |
| 5122 | python-scipy |
| 5123 | python-tables |
| 5124 | python-tqdm)) |
| 5125 | (home-page "https://github.com/cta-observatory/ctaplot") |
| 5126 | (synopsis "Plotting library for CTA and other IACT") |
| 5127 | (description |
| 5128 | "@code{ctaplot} provides low-level reconstruction quality-checks metrics |
| 5129 | computation and vizualisation for Imaging Atmospheric Cherenkov Telescopes |
| 5130 | such as CTA.") |
| 5131 | (license license:expat))) |
| 5132 | |
| 5133 | (define-public python-czml3 |
| 5134 | (package |
| 5135 | (name "python-czml3") |
| 5136 | (version "3.3.1") |
| 5137 | (source |
| 5138 | (origin |
| 5139 | (method git-fetch) |
| 5140 | (uri (git-reference |
| 5141 | ;; Maintainer of the project has been changed, see |
| 5142 | ;; <https://github.com/poliastro/czml3/issues/112>. |
| 5143 | (url "https://github.com/Stoops-ML/czml3") |
| 5144 | (commit (string-append "v" version)))) |
| 5145 | (file-name (git-file-name name version)) |
| 5146 | (sha256 |
| 5147 | (base32 "0hnlqn0jyazkkc6p81f9dsn7jgm37b7bmnvykxn1m7xchkhzc2hr")))) |
| 5148 | (build-system pyproject-build-system) |
| 5149 | ;; tests: 255 passed, 1 xfailed, 1 warning |
| 5150 | (native-inputs |
| 5151 | (list python-pytest |
| 5152 | python-setuptools)) |
| 5153 | (propagated-inputs |
| 5154 | (list python-dateutil |
| 5155 | python-numpy |
| 5156 | python-pydantic |
| 5157 | python-strenum |
| 5158 | python-typing-extensions |
| 5159 | python-w3lib)) |
| 5160 | (home-page "https://github.com/Stoops-ML/czml3") |
| 5161 | (synopsis "Python library to write CZML") |
| 5162 | (description |
| 5163 | "CZML3 is a Python library to write CZML, a JSON format for describing |
| 5164 | a time-dynamic graphical scene, primarily for display in a web browser running |
| 5165 | Cesium.") |
| 5166 | (license license:bsd-3))) |
| 5167 | |
| 5168 | (define-public python-dkist |
| 5169 | (package |
| 5170 | (name "python-dkist") |
| 5171 | (version "1.18.1") |
| 5172 | (source |
| 5173 | (origin |
| 5174 | (method git-fetch) |
| 5175 | (uri (git-reference |
| 5176 | (url "https://github.com/DKISTDC/dkist") |
| 5177 | (commit (string-append "v" version)))) |
| 5178 | (file-name (git-file-name name version)) |
| 5179 | (sha256 |
| 5180 | (base32 "0fqnww18lbyj1jmhx0kj4avxkk3rg6wik4irhdx462s73p48zs0f")))) |
| 5181 | (build-system pyproject-build-system) |
| 5182 | (arguments |
| 5183 | (list |
| 5184 | ;; tests: 492 passed, 7 skipped |
| 5185 | #:test-flags |
| 5186 | #~(list "--numprocesses" (number->string (min 8 (parallel-job-count))) |
| 5187 | ;; When python-pytest-benchmark is added: Benchmarks are |
| 5188 | ;; automatically disabled because xdist plugin is |
| 5189 | ;; active.Benchmarks cannot be performed reliably in a |
| 5190 | ;; parallelized environment. |
| 5191 | "--ignore=dkist/tests/test_benchmarks.py" |
| 5192 | ;; Network access is required. |
| 5193 | "--deselect=dkist/net/tests/test_client.py::test_fetch_with_headers") |
| 5194 | #:phases |
| 5195 | #~(modify-phases %standard-phases |
| 5196 | (add-after 'unpack 'relax-requirements |
| 5197 | (lambda _ |
| 5198 | (substitute* "pyproject.toml" |
| 5199 | (("platformdirs>=4.5") "platformdirs>=4.3.6")))) |
| 5200 | (add-before 'sanity-check 'set-home-env |
| 5201 | (lambda _ |
| 5202 | (setenv "HOME" "/tmp")))))) |
| 5203 | (native-inputs |
| 5204 | (list python-pydot |
| 5205 | python-pytest |
| 5206 | python-pytest-asdf-plugin |
| 5207 | python-pytest-doctestplus |
| 5208 | python-pytest-filter-subpackage |
| 5209 | python-pytest-httpserver |
| 5210 | python-pytest-lazy-fixtures |
| 5211 | python-pytest-xdist |
| 5212 | python-pytest-mock |
| 5213 | python-pytest-mpl |
| 5214 | python-pytest-remotedata |
| 5215 | python-pytest-xdist |
| 5216 | python-setuptools |
| 5217 | python-setuptools-scm)) |
| 5218 | (propagated-inputs |
| 5219 | (list python-aiohttp |
| 5220 | python-asdf |
| 5221 | python-asdf-astropy |
| 5222 | python-asdf-coordinates-schemas |
| 5223 | python-asdf-standard |
| 5224 | python-asdf-transform-schemas |
| 5225 | python-asdf-wcs-schemas |
| 5226 | python-astropy |
| 5227 | python-dask |
| 5228 | python-globus-sdk |
| 5229 | python-gwcs |
| 5230 | python-matplotlib |
| 5231 | python-ndcube |
| 5232 | python-numpy |
| 5233 | python-packaging |
| 5234 | python-parfive |
| 5235 | python-platformdirs |
| 5236 | python-sunpy |
| 5237 | python-tqdm)) |
| 5238 | (home-page "https://github.com/DKISTDC/dkist") |
| 5239 | (synopsis "Obtaining, processing and interacting with calibrated DKIST data") |
| 5240 | (description |
| 5241 | "The @acronym{DKIST, Daniel K. Inouye Solar Telescope} package aims to |
| 5242 | help you search, obtain and use DKIST data as part of your Python software.") |
| 5243 | (license license:bsd-3))) |
| 5244 | |
| 5245 | (define-public python-drizzle |
| 5246 | (package |
| 5247 | (name "python-drizzle") |
| 5248 | (version "2.2.0") |
| 5249 | (source |
| 5250 | (origin |
| 5251 | (method git-fetch) |
| 5252 | (uri (git-reference |
| 5253 | (url "https://github.com/spacetelescope/drizzle") |
| 5254 | (commit version))) |
| 5255 | (file-name (git-file-name name version)) |
| 5256 | (sha256 |
| 5257 | (base32 "1chy80svnbj2z215slxvnih097gh4c08wwchv2nk2ydmgra1bvli")))) |
| 5258 | (build-system pyproject-build-system) |
| 5259 | (arguments |
| 5260 | (list |
| 5261 | ;; tests: 257 passed, 9 xfailed |
| 5262 | #:phases |
| 5263 | #~(modify-phases %standard-phases |
| 5264 | (add-before 'check 'build-extensions |
| 5265 | (lambda _ |
| 5266 | ;; XXX: "drizzle/tests/data" is not part of the final package |
| 5267 | ;; which blocks using "--pyargs". |
| 5268 | ;; Cython extensions have to be built before running the tests. |
| 5269 | (invoke "python" "setup.py" "build_ext" "--inplace")))))) |
| 5270 | (native-inputs |
| 5271 | (list python-astropy-minimal |
| 5272 | python-gwcs |
| 5273 | python-pytest |
| 5274 | python-pytest-doctestplus |
| 5275 | python-setuptools |
| 5276 | python-setuptools-scm)) |
| 5277 | (propagated-inputs |
| 5278 | (list python-numpy)) |
| 5279 | (home-page "https://github.com/spacetelescope/drizzle") |
| 5280 | (synopsis "Combining dithered images into a single image") |
| 5281 | (description |
| 5282 | "The drizzle library is a Python package for combining dithered images |
| 5283 | into a single image. This library is derived from code used in DrizzlePac. |
| 5284 | Like DrizzlePac, most of the code is implemented in the C language. The |
| 5285 | biggest change from DrizzlePac is that this code passes an array that maps the |
| 5286 | input to output image into the C code, while the DrizzlePac code computes the |
| 5287 | mapping by using a Python callback. Switching to using an array allowed the |
| 5288 | code to be greatly simplified.") |
| 5289 | (license license:bsd-3))) |
| 5290 | |
| 5291 | (define-public python-drizzlepac |
| 5292 | (package |
| 5293 | (name "python-drizzlepac") |
| 5294 | (version "3.11.0") |
| 5295 | (source |
| 5296 | (origin |
| 5297 | (method git-fetch) |
| 5298 | (uri (git-reference |
| 5299 | (url "https://github.com/spacetelescope/drizzlepac") |
| 5300 | (commit (string-append "v" version)))) |
| 5301 | (file-name (git-file-name name version)) |
| 5302 | (sha256 |
| 5303 | (base32 "00f32b544i9jrgf6phzgbj3as3cfpqn7gl7wn1njl09gbfvy0yvw")))) |
| 5304 | (build-system pyproject-build-system) |
| 5305 | (arguments |
| 5306 | (list |
| 5307 | #:test-flags |
| 5308 | #~(list #$@(map (lambda (ls) (string-append "--deselect=tests/" |
| 5309 | (string-join ls "::"))) |
| 5310 | ;; Network access is required. |
| 5311 | '(("hap/test_pipeline.py" "TestSingleton" |
| 5312 | "test_astrometric_singleton[iaaua1n4q]") |
| 5313 | ("hap/test_svm_ci.py" "TestSVMCI" "test_svm_ci")))) |
| 5314 | #:phases |
| 5315 | #~(modify-phases %standard-phases |
| 5316 | (add-before 'check 'remove-local-source |
| 5317 | (lambda _ |
| 5318 | (delete-file-recursively "drizzlepac")))))) |
| 5319 | (native-inputs |
| 5320 | (list python-ci-watson |
| 5321 | python-crds-minimal |
| 5322 | python-markupsafe |
| 5323 | python-pytest |
| 5324 | python-pytest-remotedata |
| 5325 | python-setuptools |
| 5326 | python-setuptools-scm)) |
| 5327 | (propagated-inputs |
| 5328 | (list python-astrocut |
| 5329 | python-astropy |
| 5330 | python-astroquery |
| 5331 | python-bokeh |
| 5332 | python-fitsblender |
| 5333 | python-lxml |
| 5334 | python-matplotlib |
| 5335 | python-numpy |
| 5336 | python-pandas |
| 5337 | python-photutils |
| 5338 | python-pypdf |
| 5339 | python-stregion |
| 5340 | python-requests |
| 5341 | python-scikit-image |
| 5342 | python-scikit-learn |
| 5343 | python-scipy |
| 5344 | python-simplify-polyline |
| 5345 | python-spherical-geometry |
| 5346 | python-stsci-image |
| 5347 | python-stsci-imagestats |
| 5348 | python-stsci-skypac |
| 5349 | python-stsci-stimage |
| 5350 | python-stsci-tools |
| 5351 | python-stwcs |
| 5352 | python-tweakwcs)) |
| 5353 | (home-page "https://drizzlepac.readthedocs.io/") |
| 5354 | (synopsis "AstroDrizzle for HST images") |
| 5355 | (description |
| 5356 | "@acronym{Hubble Space Telescope , HST} image combination using the |
| 5357 | drizzle algorithm to combine astronomical images, to model image distortion, |
| 5358 | to remove cosmic rays, and generally to improve the fidelity of data in the |
| 5359 | final image.") |
| 5360 | (license license:bsd-3))) |
| 5361 | |
| 5362 | (define-public python-drms |
| 5363 | (package |
| 5364 | (name "python-drms") |
| 5365 | (version "0.9.1") |
| 5366 | (source |
| 5367 | (origin |
| 5368 | (method url-fetch) |
| 5369 | (uri (pypi-uri "drms" version)) |
| 5370 | (sha256 |
| 5371 | (base32 "1v651dddh38fdap0jb4mmnw8lkbvlcxd3jkcc21jlkp2lhpiqbsg")))) |
| 5372 | (build-system pyproject-build-system) |
| 5373 | (native-inputs |
| 5374 | (list python-astropy-minimal |
| 5375 | python-pytest-astropy |
| 5376 | python-setuptools |
| 5377 | python-setuptools-scm)) |
| 5378 | (propagated-inputs |
| 5379 | (list python-numpy |
| 5380 | python-packaging |
| 5381 | python-pandas)) |
| 5382 | (home-page "https://sunpy.org") |
| 5383 | (synopsis "Access astronomical HMI, AIA and MDI data with Python") |
| 5384 | (description |
| 5385 | "DRMS module provides an easy-to-use interface for accessing HMI, AIA and |
| 5386 | MDI data with Python. It uses the publicly accessible |
| 5387 | JSOC (@url{http://jsoc.stanford.edu/}) DRMS server by default, but can also be |
| 5388 | used with local NetDRMS sites.") |
| 5389 | (license license:bsd-2))) |
| 5390 | |
| 5391 | (define-public python-dust-extinction |
| 5392 | (package |
| 5393 | (name "python-dust-extinction") |
| 5394 | (version "1.7") |
| 5395 | (source |
| 5396 | (origin |
| 5397 | (method url-fetch) |
| 5398 | (uri (pypi-uri "dust_extinction" version)) |
| 5399 | (sha256 |
| 5400 | (base32 "0r0hm0x750712m3v0qkl9i1hj28zq12d8bhjk8pfh8n68kyfl8f4")))) |
| 5401 | (build-system pyproject-build-system) |
| 5402 | ;; tests: 365 passed, 41 skipped, 75 warnings |
| 5403 | (native-inputs |
| 5404 | (list python-pytest |
| 5405 | python-pytest-doctestplus |
| 5406 | python-setuptools)) |
| 5407 | (propagated-inputs |
| 5408 | (list python-astropy |
| 5409 | python-scipy)) |
| 5410 | (home-page "http://dust-extinction.readthedocs.io/") |
| 5411 | (synopsis "Interstellar Dust Extinction Models") |
| 5412 | (description |
| 5413 | "This package provides astronomical interstellar dust extinction curves |
| 5414 | implemented using the astropy.modeling framework.") |
| 5415 | (license license:bsd-3))) |
| 5416 | |
| 5417 | (define-public python-eaglesqltools |
| 5418 | (package |
| 5419 | (name "python-eaglesqltools") |
| 5420 | ;; 2.0.0 was published in 2018 on PyPI, where Git repository has no tags, |
| 5421 | ;; use the latest commit to have latest changes. |
| 5422 | (properties '((commit . "31732c696681adc27ee8ea3cd23ae06652f2401b") |
| 5423 | (revision . "0"))) |
| 5424 | (version (git-version "2.0.0" |
| 5425 | (assoc-ref properties 'revision) |
| 5426 | (assoc-ref properties 'commit))) |
| 5427 | (source |
| 5428 | (origin |
| 5429 | (method git-fetch) |
| 5430 | (uri (git-reference |
| 5431 | (url "https://github.com/kyleaoman/eagleSqlTools") |
| 5432 | (commit (assoc-ref properties 'commit)))) |
| 5433 | (file-name (git-file-name name version)) |
| 5434 | (sha256 |
| 5435 | (base32 "007inh0i3jk47agmvk10g4ifqi1grqp2s6ywx769pl95yn4y8435")))) |
| 5436 | (build-system pyproject-build-system) |
| 5437 | (arguments |
| 5438 | (list #:tests? #f)) ;no tests |
| 5439 | (native-inputs |
| 5440 | (list python-setuptools)) |
| 5441 | (propagated-inputs |
| 5442 | (list python-numpy)) |
| 5443 | (home-page "https://github.com/kyleaoman/eagleSqlTools") |
| 5444 | (synopsis "Python API for the EAGLE cosmological simulation database") |
| 5445 | (description |
| 5446 | "This package provides utilities for accessing |
| 5447 | @url{https://arxiv.org/abs/1510.01320, EAGLE public database}.") |
| 5448 | (license license:gpl3))) |
| 5449 | |
| 5450 | (define-public python-ebtelplusplus |
| 5451 | (package |
| 5452 | (name "python-ebtelplusplus") |
| 5453 | (version "0.6.0") |
| 5454 | (source |
| 5455 | (origin |
| 5456 | (method git-fetch) |
| 5457 | (uri (git-reference |
| 5458 | (url "https://github.com/rice-solar-physics/ebtelplusplus") |
| 5459 | (commit (string-append "v" version)))) |
| 5460 | (file-name (git-file-name name version)) |
| 5461 | (sha256 |
| 5462 | (base32 "1qj7rd1xa1q2z1m68ss47w289bjlc3pm68p7g16pr5xnj0w3g5l7")))) |
| 5463 | (build-system pyproject-build-system) |
| 5464 | (arguments |
| 5465 | (list #:test-flags #~(list "--pyargs" "ebtelplusplus") |
| 5466 | #:phases |
| 5467 | #~(modify-phases %standard-phases |
| 5468 | (add-before 'check 'remove-local-source |
| 5469 | (lambda _ |
| 5470 | (delete-file-recursively "ebtelplusplus")))))) |
| 5471 | (native-inputs |
| 5472 | (list boost |
| 5473 | python-hissw |
| 5474 | python-pytest |
| 5475 | python-pytest-astropy |
| 5476 | python-scikit-build-core |
| 5477 | python-setuptools-scm)) |
| 5478 | (propagated-inputs |
| 5479 | (list python-astropy)) |
| 5480 | (home-page "https://github.com/rice-solar-physics/ebtelplusplus") |
| 5481 | (synopsis "Zero-dimensional hydrodynamics of coronal loops") |
| 5482 | (description |
| 5483 | "ebtelplusplus is an implementation of the enthalpy-based thermal |
| 5484 | evolution of loops (EBTEL) model for doing efficient hydrodynamics of |
| 5485 | dynamically-heated solar coronal loops. ebtelplusplus decouples the electron |
| 5486 | and ion energy equations such that the two populations can evolve separately. |
| 5487 | This implementation also includes effects to due to cross-sectional area |
| 5488 | expansion.") |
| 5489 | (license license:gpl3+))) |
| 5490 | |
| 5491 | (define-public python-edps |
| 5492 | (package |
| 5493 | (name "python-edps") |
| 5494 | (version "1.8.1") |
| 5495 | (source |
| 5496 | (origin |
| 5497 | (method url-fetch) |
| 5498 | (uri (string-append |
| 5499 | "https://ftp.eso.org/pub/dfs/pipelines/libraries/edps/edps-" |
| 5500 | version ".tar.gz")) |
| 5501 | (sha256 |
| 5502 | (base32 "1fz7mr1kwb7jzid3l414z6qpcsfv205qxckjfgcqqxk08jawgnkz")))) |
| 5503 | (build-system pyproject-build-system) |
| 5504 | (arguments |
| 5505 | (list |
| 5506 | #:tests? #f)) ;no tests in tarball |
| 5507 | (native-inputs |
| 5508 | (list python-setuptools)) |
| 5509 | (propagated-inputs |
| 5510 | (list python-astropy |
| 5511 | python-fastapi |
| 5512 | python-networkx |
| 5513 | python-pyyaml |
| 5514 | python-requests |
| 5515 | python-uvicorn |
| 5516 | python-tinydb |
| 5517 | python-frozendict |
| 5518 | python-jinja2 |
| 5519 | python-pydantic |
| 5520 | python-psutil)) |
| 5521 | (home-page "https://www.eso.org/sci/software/edps.html") |
| 5522 | (synopsis "ESO's Data Processing System") |
| 5523 | (description |
| 5524 | "@acronym{European Southern Observatory Data Processing System EDPS} is a |
| 5525 | system to automatically organise data from ESO instruments for pipeline |
| 5526 | processing and running the pipeline on these data. It is used for quality |
| 5527 | control at ESO. The current public release is a beta version without a GUI. |
| 5528 | A GUI is being developed and the system is meant to eventually replace the |
| 5529 | older EsoReflex environment.") |
| 5530 | (properties '((upstream-name . "edps"))) |
| 5531 | (license license:bsd-3))) |
| 5532 | |
| 5533 | (define-public python-ephem |
| 5534 | (package |
| 5535 | (name "python-ephem") |
| 5536 | (version "4.2.1") |
| 5537 | (source |
| 5538 | (origin |
| 5539 | (method git-fetch) |
| 5540 | (uri (git-reference |
| 5541 | (url "https://github.com/brandon-rhodes/pyephem") |
| 5542 | (commit version))) |
| 5543 | (file-name (git-file-name name version)) |
| 5544 | (sha256 |
| 5545 | (base32 "1slb77iqmg3krh43iscpxljp8p41crpvn914gpxcnkgx8njraix1")))) |
| 5546 | (build-system pyproject-build-system) |
| 5547 | (arguments |
| 5548 | (list |
| 5549 | #:test-backend #~'unittest |
| 5550 | #:test-flags #~(list "discover" "ephem") |
| 5551 | #:phases |
| 5552 | #~(modify-phases %standard-phases |
| 5553 | (add-before 'check 'remove-local-source |
| 5554 | (lambda _ |
| 5555 | ;; See: <https://codeberg.org/guix/guix/issues/7243>. |
| 5556 | (delete-file-recursively "ephem")))))) |
| 5557 | (native-inputs |
| 5558 | (list python-pytest |
| 5559 | python-setuptools |
| 5560 | tzdata-for-tests)) |
| 5561 | (home-page "https://rhodesmill.org/pyephem/") |
| 5562 | (synopsis "Compute positions of the planets and stars") |
| 5563 | (description |
| 5564 | "PyEphem provides an @code{ephem} Python package for performing |
| 5565 | high-precision astronomy computations. |
| 5566 | |
| 5567 | The name ephem is short for the word ephemeris, which is the traditional term |
| 5568 | for a table giving the position of a planet, asteroid, or comet for a series |
| 5569 | of dates.") |
| 5570 | (license license:expat))) |
| 5571 | |
| 5572 | (define-public python-esutil |
| 5573 | (package |
| 5574 | (name "python-esutil") |
| 5575 | (version "0.6.16") |
| 5576 | (source |
| 5577 | (origin |
| 5578 | (method git-fetch) |
| 5579 | (uri (git-reference |
| 5580 | (url "https://github.com/esheldon/esutil") |
| 5581 | (commit version))) |
| 5582 | (file-name (git-file-name name version)) |
| 5583 | (sha256 |
| 5584 | (base32 "05csk5asq3si7gdq8mpfh288z10rs45ylpcrrcjx0009q52l95xq")))) |
| 5585 | (build-system pyproject-build-system) |
| 5586 | (arguments |
| 5587 | (list |
| 5588 | #:phases |
| 5589 | #~(modify-phases %standard-phases |
| 5590 | (add-before 'build 'relax-gcc-14-strictness |
| 5591 | (lambda _ |
| 5592 | (setenv "CFLAGS" (string-join |
| 5593 | (list "-g" "-O2" |
| 5594 | "-Wno-error=incompatible-pointer-types") |
| 5595 | " "))))))) |
| 5596 | (native-inputs |
| 5597 | (list python-pytest |
| 5598 | python-setuptools)) |
| 5599 | (propagated-inputs |
| 5600 | (list python-numpy |
| 5601 | python-scipy)) |
| 5602 | (home-page "https://github.com/esheldon/esutil") |
| 5603 | (synopsis "Numerical, scientific, and astrophysical computing utilities") |
| 5604 | (description |
| 5605 | "This package provides a wide variety of utilities, focused primarily on |
| 5606 | numerical python, statistics, and file input/output. Includes specialized |
| 5607 | tools for astronomers.") |
| 5608 | (license license:gpl2+))) |
| 5609 | |
| 5610 | (define-public python-euclidlike |
| 5611 | (package |
| 5612 | (name "python-euclidlike") |
| 5613 | ;; No PyPI release or Git version tags, use the latest commit. |
| 5614 | (properties '((commit . "48cc8b3727d72aa77eb30a42972d21a3b8ca6385") |
| 5615 | (revision . "1"))) |
| 5616 | (version (git-version "0.9.0" |
| 5617 | (assoc-ref properties 'revision) |
| 5618 | (assoc-ref properties 'commit))) |
| 5619 | (source |
| 5620 | (origin |
| 5621 | (method git-fetch) |
| 5622 | (uri (git-reference |
| 5623 | (url "https://github.com/GalSim-developers/GalSim-Euclid-Like") |
| 5624 | (commit (assoc-ref properties 'commit)))) |
| 5625 | (file-name (git-file-name name version)) |
| 5626 | (sha256 |
| 5627 | (base32 "1zy3sqkbm2iny3a7ila3cdr12p6msc1khbhq103gh03wpkxwi022")))) |
| 5628 | (build-system pyproject-build-system) |
| 5629 | (native-inputs |
| 5630 | (list python-pytest |
| 5631 | python-pytest-xdist |
| 5632 | python-setuptools)) |
| 5633 | (propagated-inputs |
| 5634 | (list python-astropy |
| 5635 | python-galsim |
| 5636 | python-numpy)) |
| 5637 | (home-page "https://galsim-developers.github.io/GalSim-Euclid-Like/") |
| 5638 | (synopsis "Helper functions to generate simulations of Euclid-Like images") |
| 5639 | (description |
| 5640 | "This package provides information about the Euclid space telescope and |
| 5641 | survey that is needed to produce simulations using GalSim. Some of the |
| 5642 | information provided is approximate, aimed towards fast simulations rather |
| 5643 | than full accuracy in representation of Euclid images. Places where the |
| 5644 | information is only approximate are flagged and described in the docstring, |
| 5645 | and we particularly highlight that the PSF is only approximate; for details, |
| 5646 | see the docstring of the @code{getPSF()} method. This library should enable |
| 5647 | generation of Euclid-like images of sufficient fidelity for preliminary |
| 5648 | exploration of object detection, photometry, deblending, and joint analysis |
| 5649 | with ground-based observatories. For applications requiring high precision |
| 5650 | such as weak lensing, the higher fidelity simulations available within the |
| 5651 | Euclid Consortium should be used.") |
| 5652 | ;; license = {text = "GalSim"} |
| 5653 | (license license:bsd-3))) |
| 5654 | |
| 5655 | (define-public python-eventio |
| 5656 | (package |
| 5657 | (name "python-eventio") |
| 5658 | (version "2.1.1") |
| 5659 | (source |
| 5660 | (origin |
| 5661 | (method git-fetch) |
| 5662 | (uri (git-reference |
| 5663 | (url "https://github.com/cta-observatory/pyeventio") |
| 5664 | (commit (string-append "v" version)))) |
| 5665 | (file-name (git-file-name name version)) |
| 5666 | (sha256 |
| 5667 | (base32 "1mk5ajfg8q3209lq6prqialdz2y9hpwi6pbkcgrrkrxmp0ws0hqf")))) |
| 5668 | (build-system pyproject-build-system) |
| 5669 | ;; tests: 163 passed, 3 skipped, 4 xfailed |
| 5670 | (native-inputs |
| 5671 | (list python-cython |
| 5672 | python-numpy |
| 5673 | python-pytest |
| 5674 | python-setuptools |
| 5675 | python-setuptools-scm)) |
| 5676 | (propagated-inputs |
| 5677 | (list python-corsikaio |
| 5678 | python-matplotlib |
| 5679 | python-numpy |
| 5680 | python-zstandard)) |
| 5681 | (home-page "https://github.com/cta-observatory/pyeventio") |
| 5682 | (synopsis "Python read-only implementation of the EventIO file format") |
| 5683 | (description |
| 5684 | "Python read-only implementation of the @code{EventIO} file format.") |
| 5685 | (license license:expat))) |
| 5686 | |
| 5687 | (define-public python-extinction |
| 5688 | (package |
| 5689 | (name "python-extinction") |
| 5690 | (version "0.4.9") |
| 5691 | (source |
| 5692 | (origin |
| 5693 | (method git-fetch) |
| 5694 | (uri (git-reference |
| 5695 | (url "https://github.com/sncosmo/extinction") |
| 5696 | (commit (string-append "v" version)))) |
| 5697 | (file-name (git-file-name name version)) |
| 5698 | (sha256 |
| 5699 | (base32 "19cq9dfmiwm77c928104jrzynga7h1y6x62z495d2qf0qji6v2d6")))) |
| 5700 | (build-system pyproject-build-system) |
| 5701 | (native-inputs |
| 5702 | (list python-cython |
| 5703 | python-pytest |
| 5704 | python-setuptools)) |
| 5705 | (propagated-inputs |
| 5706 | (list python-numpy)) |
| 5707 | (home-page "https://github.com/sncosmo/extinction") |
| 5708 | (synopsis "Fast interstellar dust extinction laws") |
| 5709 | (description |
| 5710 | "This package provides a cython-optimized implementation of empirical |
| 5711 | dust exitinction laws found in the literature.") |
| 5712 | (license license:expat))) |
| 5713 | |
| 5714 | (define-public python-fiasco |
| 5715 | (package |
| 5716 | (name "python-fiasco") |
| 5717 | (version "0.8.2") |
| 5718 | (source |
| 5719 | (origin |
| 5720 | (method git-fetch) |
| 5721 | (uri (git-reference |
| 5722 | (url "https://github.com/wtbarnes/fiasco") |
| 5723 | (commit (string-append "v" version)))) |
| 5724 | (file-name (git-file-name name version)) |
| 5725 | (sha256 |
| 5726 | (base32 "1drlfyppdvjkinic4gky4vgzmr2zva3xyl9xk2fzplx9pz97lgfv")))) |
| 5727 | (build-system pyproject-build-system) |
| 5728 | (arguments |
| 5729 | (list |
| 5730 | ;; Network access is required to fetch remote data from |
| 5731 | ;; <download.chiantidatabase.org>. |
| 5732 | #:tests? #f |
| 5733 | #:phases |
| 5734 | #~(modify-phases %standard-phases |
| 5735 | (add-after 'unpack 'patch-manifest.in |
| 5736 | ;; See: <https://codeberg.org/guix/guix/issues/4393>. |
| 5737 | (lambda* (#:key name source inputs #:allow-other-keys) |
| 5738 | (let ((port (open-file "MANIFEST.in" "w"))) |
| 5739 | (for-each |
| 5740 | (lambda (file) |
| 5741 | (display "include " port) |
| 5742 | (display file port) |
| 5743 | (display "\n" port)) |
| 5744 | (find-files "fiasco")) |
| 5745 | (close port))))))) |
| 5746 | (native-inputs |
| 5747 | (list nss-certs-for-test ;sanity-check fails without it |
| 5748 | python-setuptools |
| 5749 | python-setuptools-scm)) |
| 5750 | (propagated-inputs |
| 5751 | (list python-astropy |
| 5752 | python-fortranformat |
| 5753 | python-h5py |
| 5754 | python-numpy |
| 5755 | python-plasmapy)) |
| 5756 | (home-page "https://fiasco.readthedocs.io") |
| 5757 | (synopsis "Python interface to the CHIANTI atomic database") |
| 5758 | (description |
| 5759 | "fiasco provides a Python interface to |
| 5760 | @url{http://www.chiantidatabase.org/, CHIANTI}, an atomic database for |
| 5761 | astrophysical spectroscopy. In addition to several high-level abstractions of |
| 5762 | the atomic data, fiasco also provides many common atomic physics |
| 5763 | calculations.") |
| 5764 | (license license:bsd-3))) |
| 5765 | |
| 5766 | (define-public python-fits-schema |
| 5767 | (package |
| 5768 | (name "python-fits-schema") |
| 5769 | ;; 0.5.6 (2022-04-14), there are NumPy 2 comparability changes which are |
| 5770 | ;; available on master HEAD, use the latest commit for now. |
| 5771 | (properties '((commit . "e638ea7595597b8ecfe0761886e7052e58b81a2d") |
| 5772 | (revision . "1"))) |
| 5773 | (version (git-version "0.5.6" |
| 5774 | (assoc-ref properties 'revision) |
| 5775 | (assoc-ref properties 'commit))) |
| 5776 | (source |
| 5777 | (origin |
| 5778 | (method git-fetch) |
| 5779 | (uri (git-reference |
| 5780 | (url "https://github.com/VODF/fits_schema") |
| 5781 | (commit (assoc-ref properties 'commit)))) |
| 5782 | (file-name (git-file-name name version)) |
| 5783 | (sha256 |
| 5784 | (base32 "0rj9xwlr9clnlvw0nvr0ynpvwny380pnjynw45c7znnhlnh02dn0")))) |
| 5785 | (build-system pyproject-build-system) |
| 5786 | (native-inputs |
| 5787 | (list python-pytest |
| 5788 | python-setuptools |
| 5789 | python-setuptools-scm)) |
| 5790 | (propagated-inputs |
| 5791 | (list python-astropy |
| 5792 | python-numpy)) |
| 5793 | (home-page "https://github.com/VODF/fits_schema") |
| 5794 | (synopsis "Schemata for FITS files") |
| 5795 | (description |
| 5796 | "This package provides a Python definition and validation schemata for FITS |
| 5797 | files.") |
| 5798 | (license license:expat))) |
| 5799 | |
| 5800 | (define-public python-fits-schema-0.5.6 |
| 5801 | ;; The latest fits_schema removed HeaderSchema class requiring for |
| 5802 | ;; python-ogadf-schema, drop this variant when a fresh release is published. |
| 5803 | (package |
| 5804 | (inherit python-fits-schema) |
| 5805 | (name "python-fits-schema") |
| 5806 | (version "0.5.6") |
| 5807 | (source |
| 5808 | (origin |
| 5809 | (method git-fetch) |
| 5810 | (uri (git-reference |
| 5811 | (url "https://github.com/VODF/fits_schema") |
| 5812 | (commit (string-append "v" version)))) |
| 5813 | (file-name (git-file-name name version)) |
| 5814 | (sha256 |
| 5815 | (base32 "0cmc3z5jwzzgpszdwfjysa43clx96r8g1h59nv4dbmshnwih9kk2")))) |
| 5816 | (arguments |
| 5817 | (list |
| 5818 | #:tests? #f |
| 5819 | #:phases |
| 5820 | #~(modify-phases %standard-phases |
| 5821 | (add-after 'unpack 'remove-broken-entry-point |
| 5822 | (lambda _ |
| 5823 | (substitute* "setup.cfg" |
| 5824 | (("fibonacci.*") ""))))))))) |
| 5825 | |
| 5826 | (define-public python-fitsblender |
| 5827 | (package |
| 5828 | (name "python-fitsblender") |
| 5829 | (version "0.4.4") |
| 5830 | (source |
| 5831 | (origin |
| 5832 | (method url-fetch) |
| 5833 | (uri (pypi-uri "fitsblender" version)) |
| 5834 | (sha256 |
| 5835 | (base32 "1ba1374axaxh3dzzpii6q05z4jcrfp7yjk1wsfm2gzmxalnp0f6r")))) |
| 5836 | (build-system pyproject-build-system) |
| 5837 | (native-inputs |
| 5838 | (list python-pytest python-setuptools python-setuptools-scm)) |
| 5839 | (propagated-inputs |
| 5840 | (list python-astropy |
| 5841 | python-numpy |
| 5842 | python-stsci-tools)) |
| 5843 | (home-page "https://github.com/spacetelescope/fitsblender") |
| 5844 | (synopsis "Aggregate values in FITS headers") |
| 5845 | (description |
| 5846 | "This package supports the creation of a combined header for a FITS file |
| 5847 | based on the contents of the headers of a set of input FITS images. A rules |
| 5848 | file defines what keywords will be present in the combined output header as |
| 5849 | well as how the output value will be determined from the set of values from |
| 5850 | all the input image headers.") |
| 5851 | (license license:bsd-3))) |
| 5852 | |
| 5853 | (define-public python-fitscube |
| 5854 | (package |
| 5855 | (name "python-fitscube") |
| 5856 | (version "2.7.0") |
| 5857 | (source |
| 5858 | (origin |
| 5859 | (method git-fetch) |
| 5860 | (uri (git-reference |
| 5861 | (url "https://github.com/AlecThomson/fitscube") |
| 5862 | (commit (string-append "v" version)))) |
| 5863 | (file-name (git-file-name name version)) |
| 5864 | (sha256 |
| 5865 | (base32 "1mbjs3zmjfsnjalm4cgfp2qaiyncixhsa8rdb34nw0h7bdk8nr9x")))) |
| 5866 | (build-system pyproject-build-system) |
| 5867 | (arguments |
| 5868 | (list |
| 5869 | ;; tests: 75 passed, 1 deselected |
| 5870 | #:test-flags |
| 5871 | ;; Skip test requuring python-pgzip. |
| 5872 | #~(list (string-append "--deselect=tests/test_compress.py" |
| 5873 | "::test_compress_cube_roundtrip[pgzip]")))) |
| 5874 | (native-inputs |
| 5875 | (list python-hatch-vcs |
| 5876 | python-hatchling |
| 5877 | ;; python-pgzip ;not packaged yet in Guix |
| 5878 | python-pytest |
| 5879 | python-pytest-asyncio)) |
| 5880 | (propagated-inputs |
| 5881 | (list python-astropy |
| 5882 | python-numpy |
| 5883 | python-radio-beam |
| 5884 | python-tqdm)) |
| 5885 | (home-page "https://github.com/AlecThomson/fitscube") |
| 5886 | (synopsis "FITS cubes Python library") |
| 5887 | (description |
| 5888 | "This package provides a simple Python script to combine |
| 5889 | (single-frequency) FITS images manually.") |
| 5890 | (license license:expat))) |
| 5891 | |
| 5892 | (define-public python-fitsio |
| 5893 | (package |
| 5894 | (name "python-fitsio") |
| 5895 | (version "1.4.2") |
| 5896 | (source |
| 5897 | (origin |
| 5898 | (method git-fetch) |
| 5899 | (uri (git-reference |
| 5900 | (url "https://github.com/esheldon/fitsio") |
| 5901 | (commit version))) |
| 5902 | (file-name (git-file-name name version)) |
| 5903 | (sha256 |
| 5904 | (base32 "1gylk2qk49wv24wdq8yzyg6d29hg5kvdnnd2bqq8c7p7qndgqxw8")) |
| 5905 | (modules '((guix build utils))) |
| 5906 | (snippet |
| 5907 | ;; Remove the bundled cfitsio. When update the package check the |
| 5908 | ;; current bundled version. |
| 5909 | #~(begin |
| 5910 | (delete-file-recursively "cfitsio-4.6.4.tar.gz") |
| 5911 | (substitute* "MANIFEST.in" |
| 5912 | (("recursive-include cfitsio-4.6.4.*$\n") "")))))) |
| 5913 | (build-system pyproject-build-system) |
| 5914 | (arguments |
| 5915 | (list |
| 5916 | ;; tests: 1884 passed, 905 skipped, 113 xfailed, 2 xpassed, 13 warnings |
| 5917 | #:test-flags |
| 5918 | #~(list "--pyargs" "fitsio") |
| 5919 | #:phases |
| 5920 | #~(modify-phases %standard-phases |
| 5921 | (add-before 'build 'set-env |
| 5922 | (lambda _ |
| 5923 | (setenv "FITSIO_USE_SYSTEM_FITSIO" "True") |
| 5924 | (setenv "FITSIO_SYSTEM_FITSIO_INCLUDEDIR" |
| 5925 | (string-append |
| 5926 | #$(this-package-input "cfitsio") "/include")) |
| 5927 | (setenv "FITSIO_SYSTEM_FITSIO_LIBDIR" |
| 5928 | (string-append |
| 5929 | #$(this-package-input "cfitsio") "/lib"))))))) |
| 5930 | (native-inputs |
| 5931 | (list python-pytest |
| 5932 | python-setuptools |
| 5933 | python-setuptools-scm)) |
| 5934 | (inputs |
| 5935 | (list curl |
| 5936 | cfitsio |
| 5937 | zlib)) |
| 5938 | (propagated-inputs |
| 5939 | (list python-numpy)) |
| 5940 | (home-page "https://github.com/esheldon/fitsio") |
| 5941 | (synopsis "Python library to read from and write to FITS files") |
| 5942 | (description |
| 5943 | "This package provides a Python library for reading from and writing |
| 5944 | to @acronym{FITS, Flexible Image Transport System} files using the |
| 5945 | CFITSIO library. Among other things, it can |
| 5946 | |
| 5947 | @itemize |
| 5948 | @item read and write image, binary, and ascii table extensions; |
| 5949 | |
| 5950 | @item read arbitrary subsets of tables in a lazy manner; |
| 5951 | |
| 5952 | @item query the rows and columns of a table; |
| 5953 | |
| 5954 | @item read and write header keywords; |
| 5955 | |
| 5956 | @item read and write Gzip files. |
| 5957 | @end itemize") |
| 5958 | (license license:gpl2+))) |
| 5959 | |
| 5960 | (define-public python-flatstar |
| 5961 | (package |
| 5962 | (name "python-flatstar") |
| 5963 | (version "0.2.1-alpha") |
| 5964 | (source |
| 5965 | (origin |
| 5966 | (method git-fetch) |
| 5967 | (uri (git-reference |
| 5968 | (url "https://github.com/ladsantos/flatstar") |
| 5969 | (commit (string-append "v" version)))) |
| 5970 | (file-name (git-file-name name version)) |
| 5971 | (sha256 |
| 5972 | (base32 "0r6w8sz7z9ri9plqn98dz93c9rb33ky544y1wzwifh1m8y3m67si")))) |
| 5973 | (build-system pyproject-build-system) |
| 5974 | (arguments |
| 5975 | (list |
| 5976 | #:test-flags |
| 5977 | ;; assert np.float32(2.861023e-06) < 1e-06 |
| 5978 | #~(list "--deselect=tests/test_draw.py::test_supersampling" |
| 5979 | ;; assert np.float32(1.9073486e-06) < 1e-06 |
| 5980 | "--deselect=tests/test_draw.py::test_upscaling"))) |
| 5981 | (native-inputs |
| 5982 | (list python-pytest |
| 5983 | python-setuptools)) |
| 5984 | (propagated-inputs |
| 5985 | (list python-numpy |
| 5986 | python-pillow)) |
| 5987 | (home-page "https://github.com/ladsantos/flatstar") |
| 5988 | (synopsis "Make 2d intensity maps of limb-darkened stars") |
| 5989 | (description |
| 5990 | "@code{flatstar} is a pure-Python tool for drawing stellar disks with |
| 5991 | scientifically-rigorous limb darkening. Each pixel has an accurate fractional |
| 5992 | intensity in relation to the total stellar intensity of @code{1.0}. It is |
| 5993 | ideal for ray-tracing simulations of stars and planetary transits.") |
| 5994 | (license license:expat))) |
| 5995 | |
| 5996 | (define-public python-gala |
| 5997 | (package |
| 5998 | (name "python-gala") |
| 5999 | (version "1.12.0") |
| 6000 | (source |
| 6001 | (origin |
| 6002 | (method git-fetch) |
| 6003 | (uri (git-reference |
| 6004 | (url "https://github.com/adrn/gala") |
| 6005 | (commit (string-append "v" version)))) |
| 6006 | (file-name (git-file-name name version)) |
| 6007 | (sha256 |
| 6008 | (base32 "0gndkcykycqckd4z42gkc9dqdv9rr8qnbx117nyyksd67a910s1i")))) |
| 6009 | (build-system pyproject-build-system) |
| 6010 | (arguments |
| 6011 | (list |
| 6012 | #:test-flags |
| 6013 | #~(list "--numprocesses" (number->string (parallel-job-count))))) |
| 6014 | (native-inputs |
| 6015 | (list pybind11 |
| 6016 | python-cython |
| 6017 | python-findiff |
| 6018 | python-pytest |
| 6019 | python-pytest-xdist |
| 6020 | python-pytest-astropy |
| 6021 | python-setuptools |
| 6022 | python-setuptools-scm)) |
| 6023 | (inputs |
| 6024 | (list gsl)) |
| 6025 | (propagated-inputs |
| 6026 | (list python-astropy |
| 6027 | python-numpy |
| 6028 | python-pyyaml |
| 6029 | python-scipy |
| 6030 | ;; [optional] |
| 6031 | python-galpy |
| 6032 | python-h5py |
| 6033 | python-matplotlib |
| 6034 | python-numexpr |
| 6035 | python-sympy |
| 6036 | python-tqdm |
| 6037 | python-twobody)) |
| 6038 | (home-page "http://gala.adrian.pw/" ) |
| 6039 | (synopsis "Galactic dynamics in Python") |
| 6040 | (description |
| 6041 | "@code{gala} is an Astropy-affiliated Python package providing efficient |
| 6042 | tools for galactic dynamics research. It combines Python's flexibility with |
| 6043 | optimized low-level code (primarily C) for fast computations.") |
| 6044 | (license license:expat))) |
| 6045 | |
| 6046 | (define-public python-galpy |
| 6047 | (package |
| 6048 | (name "python-galpy") |
| 6049 | (version "1.12.0") |
| 6050 | (source |
| 6051 | (origin |
| 6052 | (method git-fetch) |
| 6053 | (uri (git-reference |
| 6054 | (url "https://github.com/jobovy/galpy") |
| 6055 | (commit (string-append "v" version)))) |
| 6056 | (file-name (git-file-name name version)) |
| 6057 | (sha256 |
| 6058 | (base32 "0jqwnvldb2pzjh0nbb9h7jfswwznzl6s9j542mf33a3xakghvbdl")))) |
| 6059 | (build-system pyproject-build-system) |
| 6060 | (arguments |
| 6061 | (list |
| 6062 | #:test-flags |
| 6063 | ;; Test steps are taken from project's GitHub Actions file. Full test |
| 6064 | ;; suite might take about 2h to complete. |
| 6065 | #~(list "tests/test_orbit.py" |
| 6066 | "tests/test_orbits.py" |
| 6067 | ;; Network access is required to access the capabilities endpointt |
| 6068 | ;; at <https://simbad.cds.unistra.fr/simbad/sim-tap/capabilities>. |
| 6069 | "--deselect=tests/test_orbit.py::test_from_name_errors" |
| 6070 | "--deselect=tests/test_orbit.py::test_from_name_values" |
| 6071 | "--deselect=tests/test_orbits.py::test_from_name_values") |
| 6072 | #:phases |
| 6073 | #~(modify-phases %standard-phases |
| 6074 | ;; XXX: Sanity check failes with error: ImportError: dynamic module |
| 6075 | ;; does not define module export function (PyInit_libgalpy) |
| 6076 | (delete 'sanity-check) |
| 6077 | ;; Galpy needs modified source of Torus project which is not bundled |
| 6078 | ;; with this package, see: |
| 6079 | ;; <https://docs.galpy.org/en/latest/installation.html>. |
| 6080 | (add-after 'unpack 'copy-torus-source |
| 6081 | (lambda _ |
| 6082 | (mkdir-p "galpy/actionAngle/actionAngleTorus_c_ext/torus") |
| 6083 | (copy-recursively |
| 6084 | #+(origin |
| 6085 | (method git-fetch) |
| 6086 | (uri (git-reference |
| 6087 | (url "https://github.com/jobovy/Torus") |
| 6088 | (commit "b7bf7965db8c3b2034d6a92f5a1c1fefe13e0e5d"))) |
| 6089 | (file-name (git-file-name |
| 6090 | (string-append "torus-source-for-" name) version)) |
| 6091 | (sha256 |
| 6092 | (base32 "0qjjj6qw4mjqrcx2kabd7rr621ndr6la329jlz5yh122zpyzz3vq"))) |
| 6093 | "galpy/actionAngle/actionAngleTorus_c_ext/torus"))) |
| 6094 | (add-before 'build 'patch-gsl-config-bin-path |
| 6095 | (lambda* (#:key inputs #:allow-other-keys) |
| 6096 | (substitute* "setup.py" |
| 6097 | (("'gsl-config'") |
| 6098 | (format #f "~s" (search-input-file inputs "/bin/gsl-config")))))) |
| 6099 | (add-before 'build 'pre-build |
| 6100 | (lambda _ |
| 6101 | (setenv "CC" #$(cc-for-target)))) |
| 6102 | (add-after 'build 'remove-local-source |
| 6103 | (lambda _ |
| 6104 | (delete-file-recursively "galpy"))) |
| 6105 | (add-before 'check 'pre-check |
| 6106 | (lambda _ |
| 6107 | (setenv "MPLBACKEND" "Agg")))))) |
| 6108 | (native-inputs |
| 6109 | (list python-numexpr |
| 6110 | python-pytest |
| 6111 | python-setuptools)) |
| 6112 | (inputs |
| 6113 | (list gsl)) |
| 6114 | (propagated-inputs |
| 6115 | (list python-astropy |
| 6116 | python-astroquery |
| 6117 | python-matplotlib |
| 6118 | python-numba |
| 6119 | python-numpy |
| 6120 | python-packaging |
| 6121 | python-pynbody |
| 6122 | python-scipy |
| 6123 | python-tqdm)) |
| 6124 | (home-page "https://www.galpy.org/") |
| 6125 | (synopsis "Galactic Dynamics in Python") |
| 6126 | (description |
| 6127 | "Galpy is a Python package for galactic dynamics. It supports orbit |
| 6128 | integration in a variety of potentials, evaluating and sampling various |
| 6129 | distribution functions, and the calculation of action-angle coordinates for |
| 6130 | all static potentials. Galpy is an Astropy affiliated package and provides |
| 6131 | full support for Astropy’s Quantity framework for variables with units.") |
| 6132 | (license (list license:bsd-3 |
| 6133 | license:gpl2)))) ;for Torus source |
| 6134 | |
| 6135 | (define-public python-galsim |
| 6136 | (package |
| 6137 | (name "python-galsim") |
| 6138 | (version "2.8.5") |
| 6139 | (source |
| 6140 | (origin |
| 6141 | (method git-fetch) |
| 6142 | (uri (git-reference |
| 6143 | (url "https://github.com/GalSim-developers/GalSim") |
| 6144 | (commit (string-append "v" version)))) |
| 6145 | (file-name (git-file-name name version)) |
| 6146 | (sha256 |
| 6147 | (base32 "0g21lnhjmqyszxk0lka9m99gd0ipsddx6fzv13ylda2iahi3dz4s")))) |
| 6148 | (build-system pyproject-build-system) |
| 6149 | (arguments |
| 6150 | (list |
| 6151 | ;; tests: 234 passed, 7 warnings |
| 6152 | #:test-flags |
| 6153 | #~(list "--numprocesses" (number->string (min 8 (parallel-job-count))) |
| 6154 | "--ignore=devel/" |
| 6155 | ;; XXX: Tests need data from |
| 6156 | ;; <http://www.sas.upenn.edu/~mjarvis/des_data.tar.gz> 637MiB, |
| 6157 | ;; see how it's implemented in CI |
| 6158 | ;; (.github/workflows/ci.yml). Try to activate more tests: 141 |
| 6159 | ;; failed, 608 passed, 1 skipped, 1 warning |
| 6160 | #$@(map (lambda (file) (string-append "--ignore=" |
| 6161 | "tests/" |
| 6162 | file)) |
| 6163 | (list "test_bandpass.py" |
| 6164 | "test_catalog.py" |
| 6165 | "test_cdmodel.py" |
| 6166 | "test_chromatic.py" |
| 6167 | "test_config_gsobject.py" |
| 6168 | "test_config_image.py" |
| 6169 | "test_config_input.py" |
| 6170 | "test_config_noise.py" |
| 6171 | "test_config_output.py" |
| 6172 | "test_config_value.py" |
| 6173 | "test_convolve.py" |
| 6174 | "test_correlatednoise.py" |
| 6175 | "test_deprecated.py" |
| 6176 | "test_des.py" |
| 6177 | "test_download.py" |
| 6178 | "test_draw.py" |
| 6179 | "test_fitsheader.py" |
| 6180 | "test_galaxy_sample.py" |
| 6181 | "test_hsm.py" |
| 6182 | "test_image.py" |
| 6183 | "test_inclined.py" |
| 6184 | "test_interpolatedimage.py" |
| 6185 | "test_knots.py" |
| 6186 | "test_lensing.py" |
| 6187 | "test_main.py" |
| 6188 | "test_optics.py" |
| 6189 | "test_phase_psf.py" |
| 6190 | "test_photon_array.py" |
| 6191 | "test_random.py" |
| 6192 | "test_real.py" |
| 6193 | "test_roman.py" |
| 6194 | "test_sensor.py" |
| 6195 | "test_sum.py" |
| 6196 | "test_table.py" |
| 6197 | "test_transforms.py" |
| 6198 | "test_wcs.py"))) |
| 6199 | #:phases |
| 6200 | #~(modify-phases %standard-phases |
| 6201 | (add-before 'check 'remove-local-galsim |
| 6202 | (lambda _ |
| 6203 | ;; See: <https://codeberg.org/guix/guix/issues/7243>. |
| 6204 | (delete-file-recursively "galsim")))))) |
| 6205 | (native-inputs |
| 6206 | (list python-pytest |
| 6207 | python-pytest-xdist |
| 6208 | python-setuptools)) |
| 6209 | (inputs |
| 6210 | (list eigen |
| 6211 | fftw)) |
| 6212 | (propagated-inputs |
| 6213 | (list pybind11 |
| 6214 | python-astropy |
| 6215 | python-lsstdesc-coord |
| 6216 | python-numpy)) |
| 6217 | (home-page "https://github.com/GalSim-developers/GalSim") |
| 6218 | (synopsis "Modular galaxy image simulation toolkit") |
| 6219 | (description |
| 6220 | "GalSim is software for simulating images of astronomical objects (stars, |
| 6221 | galaxies) in a variety of ways.") |
| 6222 | (license license:bsd-3))) |
| 6223 | |
| 6224 | (define-public python-gammapy |
| 6225 | (package |
| 6226 | (name "python-gammapy") |
| 6227 | (version "2.1") |
| 6228 | (source |
| 6229 | (origin |
| 6230 | (method git-fetch) |
| 6231 | (uri (git-reference |
| 6232 | (url "https://github.com/gammapy/gammapy") |
| 6233 | (commit (string-append "v" version)))) |
| 6234 | (file-name (git-file-name name version)) |
| 6235 | (sha256 |
| 6236 | (base32 "1kgnmp65a3d1h7hd69clhvsfkcj5ishgx63k2vx15xh2ssc45ckz")))) |
| 6237 | (build-system pyproject-build-system) |
| 6238 | (arguments |
| 6239 | (list |
| 6240 | ;; tests: 1892 passed, 831 skipped, 9 xfailed, 1 xpassed, 264 warnings |
| 6241 | #:test-flags |
| 6242 | #~(list "--durations=20" |
| 6243 | "--numprocesses" (number->string (min 8 (parallel-job-count))) |
| 6244 | "--pyargs" "gammapy") |
| 6245 | #:phases |
| 6246 | #~(modify-phases %standard-phases |
| 6247 | (add-before 'build 'set-home-env |
| 6248 | (lambda _ |
| 6249 | (setenv "HOME" "/tmp"))) |
| 6250 | (add-before 'check 'remove-local-source |
| 6251 | (lambda _ |
| 6252 | (delete-file-recursively "gammapy")))))) |
| 6253 | (native-inputs |
| 6254 | (list python-cython |
| 6255 | python-pytest |
| 6256 | python-pytest-astropy |
| 6257 | python-pytest-xdist |
| 6258 | python-setuptools |
| 6259 | python-setuptools-scm)) |
| 6260 | (propagated-inputs |
| 6261 | (list python-astropy |
| 6262 | python-click |
| 6263 | python-iminuit |
| 6264 | python-matplotlib |
| 6265 | python-numpy |
| 6266 | python-pydantic |
| 6267 | python-pyyaml |
| 6268 | python-regions |
| 6269 | python-scipy |
| 6270 | ;; [optional] |
| 6271 | python-healpy |
| 6272 | python-ipywidgets |
| 6273 | python-naima |
| 6274 | python-numba |
| 6275 | ;;python-ray ;not packaged yet in Guix |
| 6276 | python-requests |
| 6277 | ;;python-sherpa ;not packaged yet in Guix |
| 6278 | python-tqdm |
| 6279 | #;python-ultranest)) ;not packaged yet in Guix |
| 6280 | (home-page "https://gammapy.org") |
| 6281 | (synopsis "Gamma-ray astronomy in Python") |
| 6282 | (description |
| 6283 | "Gammapy is an Python package for gamma-ray astronomy built on Numpy, |
| 6284 | Scipy and Astropy. It is used as core library for the Science Analysis tools |
| 6285 | of the Cherenkov Telescope Array (CTA), recommended by the |
| 6286 | H.E.S.S. collaboration to be used for Science publications, and is already |
| 6287 | widely used in the analysis of existing gamma-ray instruments, such as |
| 6288 | @acronym{MAGIC, Major Atmospheric Gamma Imaging Cherenkov Telescopes} |
| 6289 | @acronym{VERITAS, Very Energetic Radiation Imaging Telescope Array System} and |
| 6290 | @acronym{HAWC, The High-Altitude Water Cherenkov Gamma-Ray Observatory}.") |
| 6291 | (license license:bsd-3))) |
| 6292 | |
| 6293 | (define-public python-gatspy |
| 6294 | (package |
| 6295 | (name "python-gatspy") |
| 6296 | (version "0.3") |
| 6297 | (source |
| 6298 | (origin |
| 6299 | (method url-fetch) |
| 6300 | (uri (pypi-uri "gatspy" version)) |
| 6301 | (sha256 |
| 6302 | (base32 "1gw2z6x8nikvnw2gkdl70gr81cwczd1pd7v8ry2kjn6k4kssrfav")))) |
| 6303 | (build-system pyproject-build-system) |
| 6304 | ;;TODO: Tests depends on Nose, report upstream. |
| 6305 | (arguments (list #:tests? #f)) |
| 6306 | (native-inputs |
| 6307 | (list python-setuptools |
| 6308 | python-setuptools-scm)) |
| 6309 | (propagated-inputs |
| 6310 | (list python-astroml |
| 6311 | python-numpy |
| 6312 | python-scipy |
| 6313 | python-supersmoother)) |
| 6314 | (home-page "https://github.com/astroml/gatspy") |
| 6315 | (synopsis "General tools for astronomical time series in Python") |
| 6316 | (description |
| 6317 | "This package provides general tools for astronomical time series in |
| 6318 | Python.") |
| 6319 | (license license:bsd-2))) |
| 6320 | |
| 6321 | (define-public python-ginga |
| 6322 | (package/inherit ginga |
| 6323 | (name "python-ginga") |
| 6324 | (inputs '()) |
| 6325 | (propagated-inputs |
| 6326 | (list python-astropy |
| 6327 | python-numpy |
| 6328 | python-packaging |
| 6329 | python-pillow |
| 6330 | python-puremagic |
| 6331 | python-pyyaml |
| 6332 | python-qtpy)))) |
| 6333 | |
| 6334 | (define-public python-gizmo-analysis |
| 6335 | (package |
| 6336 | (name "python-gizmo-analysis") |
| 6337 | (version "1.1") |
| 6338 | (source |
| 6339 | (origin |
| 6340 | (method url-fetch) |
| 6341 | (uri (pypi-uri "gizmo_analysis" version)) |
| 6342 | (sha256 |
| 6343 | (base32 "0ix41ms9fz5sd1v09khd5vcas64r4n48j1w4imblr4s8daxhwhxf")))) |
| 6344 | (build-system pyproject-build-system) |
| 6345 | (arguments |
| 6346 | (list #:tests? #f)) ;no tests |
| 6347 | (native-inputs |
| 6348 | (list python-setuptools)) |
| 6349 | (propagated-inputs |
| 6350 | (list python-h5py |
| 6351 | python-matplotlib |
| 6352 | python-numpy |
| 6353 | python-scipy |
| 6354 | python-utilities-awetzel)) |
| 6355 | (home-page "https://bitbucket.org/awetzel/gizmo_analysis") |
| 6356 | (synopsis "Read and analyze Gizmo simulations") |
| 6357 | (description |
| 6358 | "Python package for reading and analyzing simulations generated using |
| 6359 | the Gizmo code, in particular, the FIRE cosmological simulations.") |
| 6360 | (license license:expat))) |
| 6361 | |
| 6362 | (define-public python-glue-astronomy |
| 6363 | (package |
| 6364 | (name "python-glue-astronomy") |
| 6365 | (version "0.15.0") |
| 6366 | (source |
| 6367 | (origin |
| 6368 | (method git-fetch) |
| 6369 | (uri (git-reference |
| 6370 | (url "https://github.com/glue-viz/glue-astronomy") |
| 6371 | (commit (string-append "v" version)))) |
| 6372 | (file-name (git-file-name name version)) |
| 6373 | (sha256 |
| 6374 | (base32 "0w4ligr0943yi6dia1qkfwkpdj8gp6mqxnkbz1gd61p9hwwm7paa")))) |
| 6375 | (build-system pyproject-build-system) |
| 6376 | (arguments |
| 6377 | (list |
| 6378 | ;; tests: 72 passed, 2 skipped, 8 deselected |
| 6379 | #:test-flags |
| 6380 | #~(list "--pyargs" "glue_astronomy" |
| 6381 | ;; XXX: See: <https://github.com/glue-viz/glue-astronomy/issues/117>. |
| 6382 | "-k" (string-join |
| 6383 | ;; Not equal to tolerance rtol=1e-07, atol=0 |
| 6384 | (list "not test_from_spectrum1d[wcs3d]" |
| 6385 | ;; ValueError: WCS is 1D but flux is |
| 6386 | ;; multi-dimensional. Please specify |
| 6387 | ;; spectral_axis_index. |
| 6388 | "test_spectrum1d_2d_data[2]" |
| 6389 | "test_spectrum1d_2d_data[3]" |
| 6390 | ;; AssertionError: assert False |
| 6391 | "test_identifier_casa" |
| 6392 | ;; AttributeError: module 'numpy' has no attribute |
| 6393 | ;; 'product' |
| 6394 | "test_reader_casa" |
| 6395 | "test_spectral_cube_io") |
| 6396 | " and not ")) |
| 6397 | #:phases |
| 6398 | #~(modify-phases %standard-phases |
| 6399 | (add-before 'check 'pre-check |
| 6400 | (lambda _ |
| 6401 | (setenv "HOME" "/tmp")))))) |
| 6402 | (native-inputs |
| 6403 | (list python-mock |
| 6404 | python-pytest-astropy |
| 6405 | python-setuptools |
| 6406 | python-setuptools-scm)) |
| 6407 | (propagated-inputs |
| 6408 | (list python-astropy |
| 6409 | python-glue-core |
| 6410 | python-regions |
| 6411 | python-specreduce |
| 6412 | python-spectral-cube |
| 6413 | python-specutils)) |
| 6414 | (home-page "https://github.com/glue-viz/glue-astronomy") |
| 6415 | (synopsis "Astronomy-specific plugins for glue") |
| 6416 | (description |
| 6417 | "The glue-astronomy plugin for glue provides a collection of |
| 6418 | astronomy-specific functionality") |
| 6419 | (license license:bsd-3))) |
| 6420 | |
| 6421 | (define-public python-glue-core |
| 6422 | (package |
| 6423 | (name "python-glue-core") |
| 6424 | (version "1.27.0") |
| 6425 | (source |
| 6426 | (origin |
| 6427 | (method git-fetch) |
| 6428 | (uri (git-reference |
| 6429 | (url "https://github.com/glue-viz/glue") |
| 6430 | (commit (string-append "v" version)))) |
| 6431 | (file-name (git-file-name name version)) |
| 6432 | (sha256 |
| 6433 | (base32 "1a0ycvnnm610jj75f07bi10f4riahvdzi1l59w32s5zzqxnhpqpn")))) |
| 6434 | (build-system pyproject-build-system) |
| 6435 | (arguments |
| 6436 | (list |
| 6437 | ;; tests: 1661 passed, 1 deselected, 6 xfailed, 1 xpassed, 35 warnings |
| 6438 | #:test-flags |
| 6439 | ;; XXX: This test is flaky, it can fail if the CI system is slow. |
| 6440 | #~(list "-k" "not test_combine_slices_hypot"))) |
| 6441 | (native-inputs |
| 6442 | (list python-pytest |
| 6443 | python-pytest-mpl |
| 6444 | python-setuptools |
| 6445 | python-setuptools-scm)) |
| 6446 | (propagated-inputs |
| 6447 | (list python-astropy |
| 6448 | python-dill |
| 6449 | python-echo |
| 6450 | python-fast-histogram |
| 6451 | python-h5py |
| 6452 | python-ipython |
| 6453 | python-matplotlib |
| 6454 | python-mpl-scatter-density |
| 6455 | python-numpy |
| 6456 | python-openpyxl |
| 6457 | python-pandas |
| 6458 | python-scipy |
| 6459 | python-shapely |
| 6460 | python-xlrd |
| 6461 | ;; [optional] |
| 6462 | python-astrodendro |
| 6463 | python-pillow |
| 6464 | python-pyavm |
| 6465 | python-scikit-image |
| 6466 | python-spectral-cube)) |
| 6467 | (home-page "http://glueviz.org") |
| 6468 | (synopsis "Multidimensional data visualization project") |
| 6469 | (description |
| 6470 | "Glue is a python project to link visualizations of scientific datasets |
| 6471 | across many files.") |
| 6472 | (license license:bsd-3))) |
| 6473 | |
| 6474 | (define-public python-glue-geospatial |
| 6475 | (package |
| 6476 | (name "python-glue-geospatial") |
| 6477 | (version "0.4") |
| 6478 | (source |
| 6479 | (origin |
| 6480 | (method url-fetch) |
| 6481 | (uri (pypi-uri "glue-geospatial" version)) |
| 6482 | (sha256 |
| 6483 | (base32 "1mn71zqsrxlg9gp5czmvw5k523ddvwp42mlx6fqvm5ahw42yhqaj")))) |
| 6484 | (build-system pyproject-build-system) |
| 6485 | (native-inputs |
| 6486 | (list python-mock |
| 6487 | python-pytest |
| 6488 | python-setuptools)) |
| 6489 | (propagated-inputs |
| 6490 | (list python-affine |
| 6491 | python-glue-core |
| 6492 | python-pyproj |
| 6493 | python-rasterio)) |
| 6494 | (home-page "https://github.com/glue-viz/glue-geospatial") |
| 6495 | (synopsis "Glue plugin to support satellite imagery") |
| 6496 | (description |
| 6497 | "This package provides a Glue plugin for geospatial imagery.") |
| 6498 | (license license:bsd-3))) |
| 6499 | |
| 6500 | (define-public python-glue-qt |
| 6501 | (package |
| 6502 | (name "python-glue-qt") |
| 6503 | (version "0.4.2") |
| 6504 | (source |
| 6505 | (origin |
| 6506 | (method git-fetch) |
| 6507 | (uri (git-reference |
| 6508 | (url "https://github.com/glue-viz/glue-qt") |
| 6509 | (commit (string-append "v" version)))) |
| 6510 | (file-name (git-file-name name version)) |
| 6511 | (sha256 |
| 6512 | (base32 "02qpigz3vjlr0w3xvicd6g3mpczrd9bqn56sxyc0djgmrdz4486v")))) |
| 6513 | (build-system pyproject-build-system) |
| 6514 | (arguments |
| 6515 | (list |
| 6516 | ;; tests: 537 passed, 2 skipped, 17 deselected, 1 xfailed, 26 warnings |
| 6517 | #:test-flags |
| 6518 | ;; XXX: Tests fail with various pixel mismatches. |
| 6519 | #~(list "--ignore=glue_qt/viewers/image/tests/test_data_viewer.py" |
| 6520 | (string-append "--deselect=glue_qt/app/tests/" |
| 6521 | "test_application.py::test_reset_session_terminal") |
| 6522 | (string-append "--deselect=glue_qt/app/tests/" |
| 6523 | "test_application.py::test_open_session_terminal") |
| 6524 | (string-append "--deselect=glue_qt/plugins/dendro_viewer/tests/" |
| 6525 | "test_data_viewer.py::TestDendrogramCommon::" |
| 6526 | "test_session_round_trip") |
| 6527 | #$@(map (lambda (ls) |
| 6528 | (string-append "--deselect=glue_qt/viewers/" |
| 6529 | (string-join ls "::"))) |
| 6530 | '(("common/tests/test_data_viewer.py" |
| 6531 | "TestDataViewerScatter" "test_viewer_size") |
| 6532 | ("common/tests/test_data_viewer.py" |
| 6533 | "TestDataViewerImage" "test_viewer_size") |
| 6534 | ("common/tests/test_data_viewer.py" |
| 6535 | "TestDataViewerHistogram" "test_viewer_size") |
| 6536 | ("histogram/tests/test_data_viewer.py" |
| 6537 | "TestHistogramCommon" "test_session_round_trip") |
| 6538 | ("profile/tests/test_data_viewer.py" |
| 6539 | "TestProfileCommon" "test_session_round_trip") |
| 6540 | ("scatter/tests/test_data_viewer.py" |
| 6541 | "TestScatterCommon" "test_session_round_trip") |
| 6542 | ("table/tests/test_data_viewer.py" |
| 6543 | "test_table_widget") |
| 6544 | ("table/tests/test_data_viewer.py" |
| 6545 | "test_table_widget_session_no_subset") |
| 6546 | ("table/tests/test_data_viewer.py" |
| 6547 | "test_table_widget_session_filter") |
| 6548 | ("image/tests/test_display_region_data.py" |
| 6549 | "TestRegionScatterViewer" "test_link_first_then_add") |
| 6550 | ("image/tests/test_display_region_data.py" |
| 6551 | "TestRegionScatterViewer" "test_add_first_then_link") |
| 6552 | ("image/tests/test_display_region_data.py" |
| 6553 | "TestRegionScatterViewer" "test_subset") |
| 6554 | ("image/tests/test_display_region_data.py" |
| 6555 | "TestWCSRegionDisplay" "test_basics")))) |
| 6556 | #:phases |
| 6557 | #~(modify-phases %standard-phases |
| 6558 | (add-after 'unpack 'relax-requirements |
| 6559 | (lambda _ |
| 6560 | (substitute* "pyproject.toml" |
| 6561 | ;; ipython>=4.0,<9.0 |
| 6562 | ((">=4.0,<9\\.0") ">=4.0")))) |
| 6563 | (add-before 'check 'prepare-x |
| 6564 | (lambda _ |
| 6565 | (system "Xvfb &") |
| 6566 | (setenv "DISPLAY" ":0") |
| 6567 | (setenv "HOME" "/tmp")))))) |
| 6568 | (native-inputs |
| 6569 | (list python-objgraph |
| 6570 | python-pytest |
| 6571 | python-setuptools |
| 6572 | python-setuptools-scm |
| 6573 | xorg-server-for-tests)) |
| 6574 | (propagated-inputs |
| 6575 | (list python-astropy |
| 6576 | python-echo |
| 6577 | python-glue-core |
| 6578 | python-ipykernel |
| 6579 | python-ipython |
| 6580 | python-matplotlib |
| 6581 | python-numpy |
| 6582 | python-pvextractor |
| 6583 | python-qtconsole |
| 6584 | python-qtpy |
| 6585 | python-scipy)) |
| 6586 | (home-page "http://glueviz.org") |
| 6587 | (synopsis "Multidimensional data visualization across files") |
| 6588 | (description "Multidimensional data visualization across files.") |
| 6589 | (license license:bsd-3))) |
| 6590 | |
| 6591 | (define-public python-glue-vispy-viewers |
| 6592 | (package |
| 6593 | (name "python-glue-vispy-viewers") |
| 6594 | (version "1.4.0") |
| 6595 | (source |
| 6596 | (origin |
| 6597 | (method git-fetch) |
| 6598 | (uri (git-reference |
| 6599 | (url "https://github.com/glue-viz/glue-vispy-viewers") |
| 6600 | (commit (string-append "v" version)))) |
| 6601 | (file-name (git-file-name name version)) |
| 6602 | (sha256 |
| 6603 | (base32 "0wa6sgyvnmdgpb7h88nqz31wb11lf7v31a3bs91z5ncdxhq9sbvz")))) |
| 6604 | (build-system pyproject-build-system) |
| 6605 | (arguments |
| 6606 | (list |
| 6607 | #:test-flags |
| 6608 | #~(list "--pyargs" "glue_vispy_viewers" |
| 6609 | ;; XXX: Fatal Python error: Segmentation fault. |
| 6610 | "-k" "not test_vispy_widget") |
| 6611 | #:phases |
| 6612 | #~(modify-phases %standard-phases |
| 6613 | (add-before 'check 'prepare-x |
| 6614 | (lambda _ |
| 6615 | (system "Xvfb :99 -screen 0 1024x768x24 &") |
| 6616 | (setenv "DISPLAY" ":99.0") |
| 6617 | (setenv "HOME" "/tmp")))))) |
| 6618 | (native-inputs |
| 6619 | (list python-mock |
| 6620 | python-objgraph |
| 6621 | python-pytest |
| 6622 | ;; python-pytest-faulthandler |
| 6623 | python-setuptools |
| 6624 | xorg-server-for-tests)) |
| 6625 | (propagated-inputs |
| 6626 | (list python-echo |
| 6627 | python-glfw |
| 6628 | python-glue-core |
| 6629 | python-imageio |
| 6630 | python-matplotlib |
| 6631 | python-numpy |
| 6632 | python-pyopengl |
| 6633 | python-scipy |
| 6634 | python-vispy)) |
| 6635 | (home-page "https://github.com/glue-viz/glue-vispy-viewers") |
| 6636 | (synopsis "Vispy-based viewers for Glue") |
| 6637 | (description |
| 6638 | "This package provides a Glue plugin which adds a 3D scatter plot viewer |
| 6639 | and a 3D volume rendering viewer.") |
| 6640 | (license license:bsd-2))) |
| 6641 | |
| 6642 | (define-public python-gw-sky |
| 6643 | (package |
| 6644 | (name "python-gw-sky") |
| 6645 | (version "0.1.0") |
| 6646 | (source |
| 6647 | (origin |
| 6648 | (method url-fetch) |
| 6649 | (uri (pypi-uri "gw_sky" version)) |
| 6650 | (sha256 |
| 6651 | (base32 "0k2qgy6d443lgxb140w70q078hclaf2c1jl85czkzkmz77yiiblc")))) |
| 6652 | (build-system pyproject-build-system) |
| 6653 | (arguments |
| 6654 | (list |
| 6655 | #:test-flags |
| 6656 | ;; See: <https://github.com/Hazboun6/gw_sky/issues/2>. |
| 6657 | ;; |
| 6658 | ;; 0.1.0 was released in 2023 and might be not compatible with some |
| 6659 | ;; function in Jupyter: subprocess.CalledProcessError: Command |
| 6660 | ;; '['jupyter', 'nbconvert', <...> |
| 6661 | #~(list "--deselect=tests/test_notebooks.py::test_pta_smbbh"))) |
| 6662 | (native-inputs |
| 6663 | (list python-pytest |
| 6664 | python-healpy |
| 6665 | python-setuptools)) |
| 6666 | (propagated-inputs |
| 6667 | (list python-astropy |
| 6668 | python-matplotlib |
| 6669 | python-numpy |
| 6670 | python-scipy)) |
| 6671 | (home-page "https://github.com/Hazboun6/gw_sky") |
| 6672 | (synopsis "Gravitational wave signals visualization tool") |
| 6673 | (description |
| 6674 | "Python package for making visuals of gravitational wave signals, |
| 6675 | specifically pulsar timing array signals.") |
| 6676 | (license license:expat))) |
| 6677 | |
| 6678 | (define-public python-gwcs |
| 6679 | (package |
| 6680 | (name "python-gwcs") |
| 6681 | (version "1.0.3") |
| 6682 | (source |
| 6683 | (origin |
| 6684 | (method url-fetch) |
| 6685 | (uri (pypi-uri "gwcs" version)) |
| 6686 | (sha256 |
| 6687 | (base32 "0jhizh8m2bd8hcq4biinnya0xfl62rg0cix0jhyl7x7slaq87k67")))) |
| 6688 | (build-system pyproject-build-system) |
| 6689 | ;; tests: 1061 passed, 12 skipped, 10 warnings |
| 6690 | (native-inputs |
| 6691 | (list python-pytest |
| 6692 | python-pytest-astropy |
| 6693 | python-pyyaml |
| 6694 | python-setuptools |
| 6695 | python-setuptools-scm)) |
| 6696 | (propagated-inputs |
| 6697 | (list python-asdf |
| 6698 | python-asdf-astropy |
| 6699 | python-asdf-wcs-schemas |
| 6700 | python-astropy |
| 6701 | python-numpy |
| 6702 | python-scipy)) |
| 6703 | (home-page "https://gwcs.readthedocs.io/en/latest/") |
| 6704 | (synopsis "Generalized World Coordinate System") |
| 6705 | (description "Generalized World Coordinate System (GWCS) is an Astropy |
| 6706 | affiliated package providing tools for managing the World Coordinate System of |
| 6707 | astronomical data. |
| 6708 | |
| 6709 | GWCS takes a general approach to the problem of expressing transformations |
| 6710 | between pixel and world coordinates. It supports a data model which includes |
| 6711 | the entire transformation pipeline from input coordinates (detector by |
| 6712 | default) to world coordinates.") |
| 6713 | (license license:bsd-3))) |
| 6714 | |
| 6715 | ;; XXX: Deprecated on <2026-05-16>. |
| 6716 | (define-public python-gwcs-1 python-gwcs) |
| 6717 | |
| 6718 | (define-public python-halo-analysis |
| 6719 | (package |
| 6720 | (name "python-halo-analysis") |
| 6721 | (version "1.1") |
| 6722 | (source |
| 6723 | (origin |
| 6724 | (method url-fetch) |
| 6725 | (uri (pypi-uri "halo_analysis" version)) |
| 6726 | (sha256 |
| 6727 | (base32 "05jcfjsjq9924n0xqaz96i24hczxl2aj2xpd0yiv6mdcqygxap5i")))) |
| 6728 | (build-system pyproject-build-system) |
| 6729 | (arguments |
| 6730 | (list |
| 6731 | #:tests? #f ;no tests in PyPI or Git |
| 6732 | #:phases |
| 6733 | #~(modify-phases %standard-phases |
| 6734 | (add-before 'check 'set-home |
| 6735 | (lambda _ |
| 6736 | (setenv "HOME" "/tmp")))))) |
| 6737 | (native-inputs |
| 6738 | (list python-setuptools)) |
| 6739 | (propagated-inputs |
| 6740 | (list python-h5py |
| 6741 | python-matplotlib |
| 6742 | python-numpy |
| 6743 | python-scipy |
| 6744 | python-utilities-awetzel)) |
| 6745 | (home-page "https://bitbucket.org/awetzel/halo_analysis/src/master/") |
| 6746 | (synopsis "Read and analyze halo/galaxy catalogs") |
| 6747 | (description |
| 6748 | "This package implements a functionality to read and analyze halo/galaxy |
| 6749 | catalogs (generated from Rockstar or AHF) and merger trees (generated from |
| 6750 | ConsistentTrees).") |
| 6751 | (license license:expat))) |
| 6752 | |
| 6753 | (define-public python-halotools |
| 6754 | (package |
| 6755 | (name "python-halotools") |
| 6756 | (version "0.9.4") |
| 6757 | (source |
| 6758 | (origin |
| 6759 | (method url-fetch) |
| 6760 | (uri (pypi-uri "halotools" version)) |
| 6761 | (sha256 |
| 6762 | (base32 "1zwa2pbfk944kf415s3bdyq4cql9alicls56dw82gvwd8mkg9567")))) |
| 6763 | (build-system pyproject-build-system) |
| 6764 | (arguments |
| 6765 | (list |
| 6766 | #:phases |
| 6767 | #~(modify-phases %standard-phases |
| 6768 | (add-before 'check 'remove-local-source |
| 6769 | (lambda _ |
| 6770 | (delete-file-recursively "halotools")))))) |
| 6771 | (native-inputs |
| 6772 | (list python-cython |
| 6773 | python-extension-helpers |
| 6774 | python-pytest |
| 6775 | python-pytest-astropy |
| 6776 | python-setuptools |
| 6777 | python-setuptools-scm)) |
| 6778 | (propagated-inputs |
| 6779 | (list python-astropy |
| 6780 | python-beautifulsoup4 |
| 6781 | python-h5py |
| 6782 | python-numpy |
| 6783 | python-requests |
| 6784 | python-scipy)) |
| 6785 | (home-page "http://halotools.rtfd.org/") |
| 6786 | (synopsis "N-body simulations and constrain models of cosmology evolution") |
| 6787 | (description |
| 6788 | "Halotools is a specialized python package for building and testing |
| 6789 | models of the galaxy-halo connection, and analyzing catalogs of dark matter |
| 6790 | halos. The core feature of Halotools is a modular platform for creating mock |
| 6791 | universes of galaxies starting from a catalog of dark matter halos obtained |
| 6792 | from a cosmological simulation.") |
| 6793 | (license license:bsd-3))) |
| 6794 | |
| 6795 | (define-public python-hapiclient |
| 6796 | (package |
| 6797 | (name "python-hapiclient") |
| 6798 | (version "0.3.3") |
| 6799 | (source |
| 6800 | (origin |
| 6801 | (method git-fetch) |
| 6802 | (uri (git-reference |
| 6803 | (url "https://github.com/hapi-server/client-python") |
| 6804 | (commit (string-append "v" version)))) |
| 6805 | (file-name (git-file-name name version)) |
| 6806 | (sha256 |
| 6807 | (base32 "1frh5ihvzdm0hw6xk38a28w9x7l6r5j5a4nhj2r9ghjf65pwvy41")))) |
| 6808 | (build-system pyproject-build-system) |
| 6809 | (arguments |
| 6810 | (list |
| 6811 | ;; Tests require access to: |
| 6812 | ;; http://hapi-server.org/servers/TestData/xhapi |
| 6813 | ;; http://hapi-server.org/servers/TestData2.0/hapi |
| 6814 | #:tests? #f)) |
| 6815 | (native-inputs |
| 6816 | (list python-setuptools)) |
| 6817 | (propagated-inputs |
| 6818 | (list python-isodate |
| 6819 | python-joblib |
| 6820 | python-numpy |
| 6821 | python-pandas |
| 6822 | python-urllib3)) |
| 6823 | (home-page "https://github.com/hapi-server/client-python") |
| 6824 | (synopsis "Interface to Heliophysics data server API") |
| 6825 | (description |
| 6826 | "This package provides an interface to @acronym{Heliophysics Application |
| 6827 | Programmer’s Interface, HAPI} data server API.") |
| 6828 | (license license:bsd-3))) |
| 6829 | |
| 6830 | (define-public python-hasasia |
| 6831 | (package |
| 6832 | (name "python-hasasia") |
| 6833 | (version "1.2.3") |
| 6834 | (source |
| 6835 | (origin |
| 6836 | (method url-fetch) |
| 6837 | (uri (pypi-uri "hasasia" version)) |
| 6838 | (sha256 |
| 6839 | (base32 "0vs3935c9cqwp44dycxfsv4p9q4zbw8i5z3946928yy0nqmj1aw7")))) |
| 6840 | (build-system pyproject-build-system) |
| 6841 | (arguments |
| 6842 | (list |
| 6843 | #:phases |
| 6844 | #~(modify-phases %standard-phases |
| 6845 | ;; trapz is removed in NumPy 2.4.6, and is now called trapezoid. |
| 6846 | (add-after 'unpack 'numpy-compatibility |
| 6847 | (lambda _ |
| 6848 | (substitute* (find-files "." ".\\py$") |
| 6849 | (("np.trapz\\(") "np.trapezoid("))))))) |
| 6850 | (native-inputs |
| 6851 | (list python-pytest python-setuptools)) |
| 6852 | (propagated-inputs |
| 6853 | (list python-astropy |
| 6854 | python-numpy |
| 6855 | python-scipy)) |
| 6856 | (home-page "https://github.com/Hazboun6/hasasia") |
| 6857 | (synopsis "Pulsar timing array sensitivity curves calculation in Python") |
| 6858 | (description |
| 6859 | "This package provides a Python package to calculate gravitational-wave |
| 6860 | sensitivity curves for pulsar timing arrays. |
| 6861 | |
| 6862 | Features: |
| 6863 | @itemize |
| 6864 | @item pulsar transmission functions |
| 6865 | @item inverse-noise-weighted transmission functions |
| 6866 | @item individual pulsar sensitivity curves |
| 6867 | @item pulsar timing array sensitivity curves as characteristic strain, strain |
| 6868 | sensitivity or energy density |
| 6869 | @item power-law integrated sensitivity curves |
| 6870 | @item sensitivity sky maps for pulsar timing arrays |
| 6871 | @end itemize") |
| 6872 | (license license:expat))) |
| 6873 | |
| 6874 | (define-public python-hdecompose |
| 6875 | (package |
| 6876 | (name "python-hdecompose") |
| 6877 | (version "0.1.0") |
| 6878 | (source |
| 6879 | (origin |
| 6880 | (method url-fetch) |
| 6881 | (uri (pypi-uri "hdecompose" version)) |
| 6882 | (sha256 |
| 6883 | (base32 "0bjvzighrywcys31aypjbyyc9xmzwws7fl0lp6aywcm9akgb9578")))) |
| 6884 | (build-system pyproject-build-system) |
| 6885 | (arguments |
| 6886 | (list #:tests? #f)) ;no tests |
| 6887 | (native-inputs |
| 6888 | (list python-setuptools)) |
| 6889 | (propagated-inputs |
| 6890 | (list python-astropy |
| 6891 | python-numpy)) |
| 6892 | (home-page "https://github.com/kyleaoman/Hdecompose") |
| 6893 | (synopsis "Decomposition of hydrogen into neutral/ionized and atomic/molecular") |
| 6894 | (description |
| 6895 | "This package implements functionality for decomposition of Hydrogen |
| 6896 | content of simulation particles into neutral/ionized and atomic/molecular. |
| 6897 | Implementations of @url{https://iopscience.iop.org/article/10.1086/505417, |
| 6898 | Blitz & Rosolowsky (2006) and Rahmati et al (2013)}.") |
| 6899 | (license license:gpl3))) |
| 6900 | |
| 6901 | (define-public python-healpy |
| 6902 | (package |
| 6903 | (name "python-healpy") |
| 6904 | (version "1.20.0") |
| 6905 | (source |
| 6906 | (origin |
| 6907 | (method url-fetch) |
| 6908 | ;; TODO: PyPI bundles CFITSIO and HEALPix sources, and it's not picking |
| 6909 | ;; up the ones from Guix, build from Git and unbundle them. |
| 6910 | (uri (pypi-uri "healpy" version)) |
| 6911 | (sha256 |
| 6912 | (base32 "1v82c615vc943661jldylbw99hfdm6gzdzcv1qlwfdg239ay3c03")))) |
| 6913 | (build-system pyproject-build-system) |
| 6914 | (arguments |
| 6915 | (list |
| 6916 | ;; tests: 11 passed |
| 6917 | #:test-flags |
| 6918 | #~(list "--pyargs" "healpy"))) |
| 6919 | (native-inputs |
| 6920 | (list nss-certs-for-test |
| 6921 | pkg-config |
| 6922 | python-cython |
| 6923 | python-pytest |
| 6924 | python-pytest-astropy-header |
| 6925 | python-pytest-cython |
| 6926 | python-pytest-doctestplus |
| 6927 | python-setuptools |
| 6928 | python-setuptools-scm)) |
| 6929 | (inputs |
| 6930 | (list cfitsio |
| 6931 | healpix-cxx |
| 6932 | libsharp)) |
| 6933 | (propagated-inputs |
| 6934 | (list python-astropy |
| 6935 | python-numpy |
| 6936 | ;; [optional] |
| 6937 | python-matplotlib |
| 6938 | python-scipy)) |
| 6939 | (home-page "http://healpy.readthedocs.org/") |
| 6940 | (synopsis "Healpix tools package for Python") |
| 6941 | (description |
| 6942 | "healpy is a Python package to handle pixelated data on the sphere. It |
| 6943 | is based on the Hierarchical Equal Area isoLatitude Pixelization (HEALPix) |
| 6944 | scheme and builds with the HEALPix C++ library.") |
| 6945 | (license license:gpl2+))) |
| 6946 | |
| 6947 | ;; Deprecated on <2026-0815>. |
| 6948 | (define-public python-healpy-1.19 python-healpy) |
| 6949 | |
| 6950 | (define-public python-hendrics |
| 6951 | (package |
| 6952 | (name "python-hendrics") |
| 6953 | (version "8.5.1") |
| 6954 | (source |
| 6955 | (origin |
| 6956 | (method url-fetch) |
| 6957 | (uri (pypi-uri "hendrics" version)) |
| 6958 | (sha256 |
| 6959 | (base32 "1hf5xydbrw4yjpi2pmknrj35cqc14rinh96da47425ki2is1c72n")))) |
| 6960 | (build-system pyproject-build-system) |
| 6961 | (arguments |
| 6962 | (list |
| 6963 | #:test-flags |
| 6964 | #~(map (lambda (test) (string-append "--deselect=" |
| 6965 | "hendrics/tests/test_efsearch.py" |
| 6966 | test)) |
| 6967 | ;; Network access is required to download test data. |
| 6968 | (list "::TestEFsearch::test_get_TOAs" |
| 6969 | "::TestEFsearch::test_get_TOAs_template" |
| 6970 | "::TestEFsearch::test_accelsearch_deorbit")))) |
| 6971 | (native-inputs |
| 6972 | (list python-pytest |
| 6973 | python-pytest-astropy |
| 6974 | python-setuptools |
| 6975 | python-setuptools-scm)) |
| 6976 | (propagated-inputs |
| 6977 | (list python-astropy |
| 6978 | python-matplotlib |
| 6979 | python-numpy |
| 6980 | python-pyparsing |
| 6981 | python-pyyaml |
| 6982 | python-scipy |
| 6983 | python-stingray |
| 6984 | python-tqdm |
| 6985 | ;; [optional] |
| 6986 | python-h5py |
| 6987 | python-imageio |
| 6988 | python-netcdf4 |
| 6989 | python-numba |
| 6990 | python-pandas |
| 6991 | python-pint-pulsar |
| 6992 | ;; python-pyfftw ;not packaged yet in Guix |
| 6993 | python-pyyaml |
| 6994 | python-scikit-image)) |
| 6995 | (home-page "https://hendrics.stingray.science") |
| 6996 | (synopsis "High ENergy Data Reduction Interface from the Command Shell") |
| 6997 | (description |
| 6998 | "This package provides a set of command-line scripts based on Stingray is |
| 6999 | designed to do correctly and fairly easily a quick-look (spectral-) timing |
| 7000 | analysis of X-ray data. Among the features already implemented are power |
| 7001 | density and cross spectra, time lags, pulsar searches with the Epoch folding |
| 7002 | and the Z_n^2 statistics, color-color and color-intensity diagrams, |
| 7003 | rms-energy, lag-energy, covariance-energy spectra.") |
| 7004 | (license license:bsd-3))) |
| 7005 | |
| 7006 | (define-public python-hierarc |
| 7007 | (package |
| 7008 | (name "python-hierarc") |
| 7009 | ;; Latest commit works with AstroPy 7 and NumPy 2. |
| 7010 | (properties '((commit . "6c33217a49c69b9c132280e83b9c6be185a3b94c") |
| 7011 | (revision . "0"))) |
| 7012 | (version (git-version "1.2.0" |
| 7013 | (assoc-ref properties 'revision) |
| 7014 | (assoc-ref properties 'commit))) |
| 7015 | (source |
| 7016 | (origin |
| 7017 | (method git-fetch) |
| 7018 | (uri (git-reference |
| 7019 | (url "https://github.com/sibirrer/hierArc") |
| 7020 | (commit (assoc-ref properties 'commit)))) |
| 7021 | (file-name (git-file-name name version)) |
| 7022 | (sha256 |
| 7023 | (base32 "0lz3w8san0n3p0hkid4g6jfr5703wcmzvd08h76z15k0w9qpf1wn")))) |
| 7024 | (build-system pyproject-build-system) |
| 7025 | (arguments |
| 7026 | (list |
| 7027 | #:test-flags |
| 7028 | ;; Some tests are computation intensive and not thread safe, failing |
| 7029 | ;; during parallel invocation: |
| 7030 | ;; 109 passed, 32 deselected, 43 warnings in 634.59s |
| 7031 | #~(list "--durations" "5" |
| 7032 | ;; AttributeError: 'LambdaCDM' object has no attribute '_Ok0'. |
| 7033 | "-k" (string-join |
| 7034 | (list "not test_cosmo_instance" |
| 7035 | "test_kde_likelihood_integration" |
| 7036 | "test_log_likelihood" |
| 7037 | "test_mcmc_emcee" |
| 7038 | "test_sne_likelihood_integration") |
| 7039 | " and not ")) |
| 7040 | #:phases |
| 7041 | #~(modify-phases %standard-phases |
| 7042 | (add-before 'check 'pre-check |
| 7043 | (lambda _ |
| 7044 | ;; RuntimeError: cannot cache function 'rotate': no locator |
| 7045 | ;; available for file '<...>/lenstronomy/Util/util.py'. |
| 7046 | (setenv "NUMBA_CACHE_DIR" "/tmp")))))) |
| 7047 | (native-inputs |
| 7048 | (list python-pytest |
| 7049 | python-setuptools)) |
| 7050 | (propagated-inputs |
| 7051 | (list python-astropy-7 |
| 7052 | python-emcee |
| 7053 | python-h5py |
| 7054 | python-lenstronomy |
| 7055 | python-matplotlib |
| 7056 | python-mpmath |
| 7057 | python-numpy |
| 7058 | python-pandas |
| 7059 | python-scikit-learn |
| 7060 | python-scipy)) |
| 7061 | (home-page "https://github.com/sibirrer/hierarc") |
| 7062 | (synopsis "Hierarchical analysis of strong lensing systems") |
| 7063 | (description |
| 7064 | "This package implements functionality for hierarchical analysis of |
| 7065 | strong lensing systems to infer lens properties and cosmological parameters |
| 7066 | simultaneously. It allows fitting lenses with measured time delays, imaging |
| 7067 | information, kinematics constraints and standardizable magnifications with |
| 7068 | parameters described on the ensemble level.") |
| 7069 | (license license:bsd-3))) |
| 7070 | |
| 7071 | (define-public python-hissw |
| 7072 | (package |
| 7073 | (name "python-hissw") |
| 7074 | (version "2.3") |
| 7075 | (source |
| 7076 | (origin |
| 7077 | (method git-fetch) |
| 7078 | (uri (git-reference |
| 7079 | (url "https://github.com/wtbarnes/hissw") |
| 7080 | (commit (string-append "v" version)))) |
| 7081 | (file-name (git-file-name name version)) |
| 7082 | (sha256 |
| 7083 | (base32 "1fcd4m7m34g7b6higdxy58aw7dbjqh7wfzn82zv72vzy4rayi1qc")))) |
| 7084 | (build-system pyproject-build-system) |
| 7085 | (arguments |
| 7086 | (list #:tests? #f)) ;they need local installation of IDL |
| 7087 | (native-inputs |
| 7088 | (list python-setuptools)) |
| 7089 | (propagated-inputs |
| 7090 | (list python-jinja2 |
| 7091 | python-scipy)) |
| 7092 | (home-page "https://github.com/wtbarnes/hissw") |
| 7093 | (synopsis "Seamlessly integrate SSWIDL code into Python workflow") |
| 7094 | (description |
| 7095 | "@code{hissw} (hiss (like a snake) + @url{http://www.lmsal.com/solarsoft/, |
| 7096 | @acronym{SSW, SolarSoftware }}) is a (VERY) lightweight (~1 file) Python |
| 7097 | package that helps one to write IDL scripts (either inline or in a separate |
| 7098 | file) which use your installed SSW packages and return the results to local |
| 7099 | Python namespace. @code{hissw} uses @code{Jinja2} templates to generate SSW |
| 7100 | startup scripts and then runs IDL code using @code{subprocess}, i.e. the |
| 7101 | shell. Jinja2 syntax may be used to inject arguments from Python into IDL. |
| 7102 | The results are then saved to a file and then loaded back in using the amazing |
| 7103 | @code{readsav()} function in |
| 7104 | @url{https://docs.scipy.org/doc/scipy-0.14.0/reference/generated/scipy.io.readsav.html, |
| 7105 | scipy.io}.") |
| 7106 | (license license:expat))) |
| 7107 | |
| 7108 | (define-public python-holodeck |
| 7109 | (package |
| 7110 | (name "python-holodeck") |
| 7111 | (version "1.6") |
| 7112 | (source |
| 7113 | (origin |
| 7114 | (method git-fetch) |
| 7115 | (uri (git-reference |
| 7116 | (url "https://github.com/nanograv/holodeck") |
| 7117 | (commit (string-append "v" version)))) |
| 7118 | (file-name (git-file-name name version)) |
| 7119 | (sha256 |
| 7120 | (base32 "0yf7fqfpcbpy1j6ikg6x9f14r978v7pb1yrrbgvqnqvbvqckhish")) |
| 7121 | (patches |
| 7122 | ;; Taken from pull request 122 |
| 7123 | (search-patches "python-holodeck-cython-3-compat.patch")))) |
| 7124 | (build-system pyproject-build-system) |
| 7125 | (arguments |
| 7126 | (list |
| 7127 | ;; tests: 70 passed, 1 deselected, 15 warnings |
| 7128 | ;; XXX: Tests may take up to 3375.23s (0:56:15) |
| 7129 | #:test-flags |
| 7130 | #~(list (string-append "--deselect=holodeck/discrete/tests/" |
| 7131 | "test_evolution.py::" |
| 7132 | "Test_Composite_Hardening::test_basics_circ")))) |
| 7133 | (native-inputs |
| 7134 | (list python-cython |
| 7135 | python-pytest |
| 7136 | python-setuptools)) |
| 7137 | (propagated-inputs |
| 7138 | (list python-astropy |
| 7139 | python-cosmopy |
| 7140 | python-emcee |
| 7141 | python-george |
| 7142 | python-h5py |
| 7143 | python-hasasia |
| 7144 | python-healpy |
| 7145 | python-ipywidgets |
| 7146 | python-kalepy |
| 7147 | python-matplotlib |
| 7148 | python-numpy |
| 7149 | python-psutil |
| 7150 | python-schwimmbad |
| 7151 | python-scipy |
| 7152 | python-sympy |
| 7153 | python-tqdm)) |
| 7154 | (home-page "https://github.com/byu-pccl/holodeck") |
| 7155 | (synopsis "MBH Binary Population Synthesis for Gravitational Wave Calculations") |
| 7156 | (description |
| 7157 | "This package provides a comprehensive framework for @acronym{Massive |
| 7158 | Black Hole,MBH} binary population synthesis. The framework includes modules |
| 7159 | to perform population synthesis using a variety of methodologies from |
| 7160 | semi-analytic models, to cosmological hydrodynamic simulations, and even |
| 7161 | observationally-derived galaxy merger catalogs.") |
| 7162 | (license license:expat))) |
| 7163 | |
| 7164 | (define-public python-hvpy |
| 7165 | (package |
| 7166 | (name "python-hvpy") |
| 7167 | (version "1.1.0") |
| 7168 | (source |
| 7169 | (origin |
| 7170 | (method url-fetch) |
| 7171 | (uri (pypi-uri "hvpy" version)) |
| 7172 | (sha256 |
| 7173 | (base32 "0bly1bgp0axxhzzf5imqsgmms41z8cxbjahxsibvb55dk94gwig6")))) |
| 7174 | (build-system pyproject-build-system) |
| 7175 | (arguments |
| 7176 | (list #:tests? #f)) ; Requires HTTP(S) access to api.beta.helioviewer.org |
| 7177 | (native-inputs |
| 7178 | (list python-pytest python-pytest-astropy python-setuptools)) |
| 7179 | (propagated-inputs |
| 7180 | (list python-pydantic |
| 7181 | python-pydantic-settings |
| 7182 | python-requests)) |
| 7183 | (home-page "https://helioviewer.org/") |
| 7184 | (synopsis "Helioviewer Python API Wrapper") |
| 7185 | (description "@code{hvpy} is a Python API wrapper around the formal |
| 7186 | @url{Helioviewer API, https://api.helioviewer.org/docs/v2/}.") |
| 7187 | (license license:bsd-2))) |
| 7188 | |
| 7189 | (define-public python-irispy-lmsal |
| 7190 | (package |
| 7191 | (name "python-irispy-lmsal") |
| 7192 | (version "0.8.1") |
| 7193 | (source |
| 7194 | (origin |
| 7195 | (method git-fetch) |
| 7196 | (uri (git-reference |
| 7197 | (url "https://github.com/LM-SAL/irispy") |
| 7198 | (commit (string-append "v" version)))) |
| 7199 | (file-name (git-file-name name version)) |
| 7200 | (sha256 |
| 7201 | (base32 "02n1mh5hz815hn2d6891h8i8vlnc7fq1g5jc790pm8sf4209xrz0")))) |
| 7202 | (build-system pyproject-build-system) |
| 7203 | (arguments |
| 7204 | (list |
| 7205 | ;; tests: 223 passed, 1 skipped, 13 deselected |
| 7206 | #:test-flags |
| 7207 | ;; Skip one test reqruiting optional python-rsliding. |
| 7208 | #~(list (string-append "--deselect=irispy/utils/tests/" |
| 7209 | "test_cosmic_rays.py" |
| 7210 | "::test_remove_cosmic_rays_rsliding")) |
| 7211 | #:phases |
| 7212 | #~(modify-phases %standard-phases |
| 7213 | (add-before 'sanity-check 'set-home |
| 7214 | (lambda _ |
| 7215 | (setenv "HOME" "/tmp")))))) |
| 7216 | (native-inputs |
| 7217 | (list ffmpeg |
| 7218 | python-pooch |
| 7219 | python-pytest-astropy |
| 7220 | python-pytest-mpl |
| 7221 | python-setuptools |
| 7222 | python-setuptools-scm)) |
| 7223 | (propagated-inputs |
| 7224 | (list python-astropy |
| 7225 | python-dkist |
| 7226 | python-mpl-animators |
| 7227 | python-ndcube |
| 7228 | python-pandas |
| 7229 | python-scipy |
| 7230 | python-sunpy |
| 7231 | python-sunraster |
| 7232 | ;; [optional] |
| 7233 | python-astroscrappy |
| 7234 | ;; python-rsliding ;not packaged yet in Guix |
| 7235 | python-fiasco)) |
| 7236 | (home-page "https://iris.lmsal.com/") |
| 7237 | (synopsis "Tools to read and analyze data from the IRIS solar-observing satellite") |
| 7238 | (description |
| 7239 | "This package provides tools to read and analyze data from the |
| 7240 | @acronym{IRIS, Interface Region Imaging Spectrograph} solar-observing |
| 7241 | satellite.") |
| 7242 | (license license:bsd-3))) |
| 7243 | |
| 7244 | (define-public python-jplephem |
| 7245 | (package |
| 7246 | (name "python-jplephem") |
| 7247 | (version "2.24") |
| 7248 | (source |
| 7249 | (origin |
| 7250 | (method git-fetch) |
| 7251 | (uri (git-reference |
| 7252 | (url "https://github.com/brandon-rhodes/python-jplephem") |
| 7253 | (commit version))) |
| 7254 | (file-name (git-file-name name version)) |
| 7255 | (sha256 |
| 7256 | (base32 "1z4nhf5fq0hsyxfkbbxdyi2z2ip79qj3bnwn015rysmh6xiqa5w6")))) |
| 7257 | (build-system pyproject-build-system) |
| 7258 | (arguments |
| 7259 | (list |
| 7260 | ;; tests: 51 run, 14 skipped |
| 7261 | #:phases |
| 7262 | #~(modify-phases %standard-phases |
| 7263 | (add-after 'unpack 'disable-failing-tests |
| 7264 | ;; See: |
| 7265 | ;; <https://github.com/brandon-rhodes/python-jplephem/issues/65>. |
| 7266 | (lambda _ |
| 7267 | (substitute* "ci/test.py" |
| 7268 | (("def test_excerpt_command") |
| 7269 | "def __off_test_excerpt_command")))) |
| 7270 | (replace 'check |
| 7271 | (lambda* (#:key tests? #:allow-other-keys) |
| 7272 | (when tests? |
| 7273 | (with-directory-excursion "ci" |
| 7274 | (invoke "python" "-m" "unittest" "test")))))))) |
| 7275 | (native-inputs |
| 7276 | (list python-setuptools)) |
| 7277 | (propagated-inputs |
| 7278 | (list python-numpy)) |
| 7279 | (home-page "https://github.com/brandon-rhodes/python-jplephem") |
| 7280 | (synopsis "Python version of NASA DE4xx ephemerides") |
| 7281 | (description |
| 7282 | "@code{skyfield} computes positions for the stars, planets, and |
| 7283 | satellites in orbit around the Earth. Its results should agree with the |
| 7284 | positions generated by the United States Naval Observatory and their |
| 7285 | Astronomical Almanac to within 0.0005 arcseconds (half a @emph{mas} or |
| 7286 | milliarcsecond).") |
| 7287 | (license license:expat))) |
| 7288 | |
| 7289 | (define-public python-jwst |
| 7290 | (package |
| 7291 | (name "python-jwst") |
| 7292 | (version "3.0.0") |
| 7293 | (source |
| 7294 | (origin |
| 7295 | (method git-fetch) |
| 7296 | (uri (git-reference |
| 7297 | (url "https://github.com/spacetelescope/jwst") |
| 7298 | (commit version))) |
| 7299 | (file-name (git-file-name name version)) |
| 7300 | (sha256 |
| 7301 | (base32 "05n44jmw4ddgsjha5x0hazsi7yqlm0xqr81yky49q34i1z2q5k9c")) |
| 7302 | (modules '((guix build utils))) |
| 7303 | (snippet |
| 7304 | #~(begin |
| 7305 | ;; Replace reference to external configobj. |
| 7306 | (substitute* (find-files "." "\\.py$") |
| 7307 | (("from astropy.extern import configobj") |
| 7308 | "import configobj") |
| 7309 | (("from astropy.extern.configobj import validate") |
| 7310 | "import validate") |
| 7311 | (("from astropy.extern.configobj.configobj import ") |
| 7312 | "from configobj import ") |
| 7313 | (("from astropy.extern.configobj.validate import ") |
| 7314 | "from validate import ")))))) |
| 7315 | (build-system pyproject-build-system) |
| 7316 | (arguments |
| 7317 | (list |
| 7318 | ;; XXX: Tests require access to https://jwst-crds-pub.stsci.edu server |
| 7319 | ;; for getting data sets. |
| 7320 | #:tests? #f)) |
| 7321 | (native-inputs |
| 7322 | (list python-ci-watson |
| 7323 | python-pysiaf |
| 7324 | python-pytest |
| 7325 | python-pytest-doctestplus |
| 7326 | python-requests-mock |
| 7327 | python-setuptools |
| 7328 | python-setuptools-scm)) |
| 7329 | (propagated-inputs |
| 7330 | (list python-asdf |
| 7331 | python-astropy |
| 7332 | python-bayesicfitting |
| 7333 | python-crds-minimal |
| 7334 | python-drizzle |
| 7335 | python-gwcs |
| 7336 | python-jsonschema |
| 7337 | python-numpy |
| 7338 | python-packaging |
| 7339 | python-photutils |
| 7340 | python-pyparsing |
| 7341 | python-requests |
| 7342 | python-scikit-image |
| 7343 | python-scipy |
| 7344 | python-spherical-geometry |
| 7345 | python-stcal |
| 7346 | python-stdatamodels |
| 7347 | python-stpipe |
| 7348 | python-stsci-imagestats |
| 7349 | python-synphot |
| 7350 | python-tweakwcs |
| 7351 | python-wiimatch |
| 7352 | ;; [optional] |
| 7353 | python-jplephem |
| 7354 | python-pysiaf)) |
| 7355 | (home-page "https://jwst-pipeline.readthedocs.io/en/latest/") |
| 7356 | (synopsis "Science observations from the James Webb Space Telescope") |
| 7357 | (description |
| 7358 | "This package provides an access to the JWST Science Calibration Pipeline |
| 7359 | processes data from all JWST instruments and observing modes by applying |
| 7360 | various science corrections sequentially, producing both fully-calibrated |
| 7361 | individual exposures and high-level data products (mosaics, extracted spectra, |
| 7362 | etc.).") |
| 7363 | (license license:bsd-3))) |
| 7364 | |
| 7365 | (define-public python-jwst-backgrounds |
| 7366 | (package |
| 7367 | (name "python-jwst-backgrounds") |
| 7368 | (version "1.3.0") |
| 7369 | (source |
| 7370 | (origin |
| 7371 | (method url-fetch) |
| 7372 | (uri (pypi-uri "jwst_backgrounds" version)) |
| 7373 | (sha256 |
| 7374 | (base32 "14m1a6z884vg2n5ndwwhpnzpb5h28hh58a53dfjwwbjakwmixb0p")))) |
| 7375 | (build-system pyproject-build-system) |
| 7376 | (arguments |
| 7377 | (list #:tests? #f)) ; no tests in PyPI tarball, tests require networking |
| 7378 | (native-inputs |
| 7379 | (list python-setuptools)) |
| 7380 | (propagated-inputs |
| 7381 | (list python-healpy |
| 7382 | python-matplotlib |
| 7383 | python-numpy |
| 7384 | python-scipy)) |
| 7385 | (home-page "https://github.com/spacetelescope/jwst_backgrounds") |
| 7386 | (synopsis "Retrieve and plot JWST background information") |
| 7387 | (description |
| 7388 | "This package provides a a simple program to predict the levels of |
| 7389 | background emission in JWST observations, for use in proposal planning. |
| 7390 | |
| 7391 | It accesses a precompiled background cache prepared by Space Telescope Science |
| 7392 | Institute. The background cache is hosted by the Mikulski Archive for Space |
| 7393 | Telescopes (MAST), so you need internet access to run the tool with the remote |
| 7394 | cache. It is possible to download the full background cache to your local |
| 7395 | machine.") |
| 7396 | (license license:bsd-3))) |
| 7397 | |
| 7398 | (define-public python-jwst-reffiles |
| 7399 | (package |
| 7400 | (name "python-jwst-reffiles") |
| 7401 | (version "1.0.1") |
| 7402 | (source |
| 7403 | (origin |
| 7404 | (method url-fetch) |
| 7405 | (uri (pypi-uri "jwst_reffiles" version)) |
| 7406 | (sha256 |
| 7407 | (base32 "1dlw955cw49qczdmimglmlcbal8vd3wbv5j48ckllvjgd59pwr3s")))) |
| 7408 | (build-system pyproject-build-system) |
| 7409 | (arguments |
| 7410 | (list |
| 7411 | ;; One test fails with error: FileNotFoundError: [Errno 2] No such file |
| 7412 | ;; or directory. |
| 7413 | #:test-flags #~(list "-k" "not test_calib_prep_steps"))) |
| 7414 | (native-inputs |
| 7415 | (list python-pytest)) |
| 7416 | (propagated-inputs |
| 7417 | (list python-astropy |
| 7418 | python-jwst |
| 7419 | python-matplotlib |
| 7420 | python-numpy |
| 7421 | python-scipy)) |
| 7422 | (home-page "https://github.com/spacetelescope/jwst_reffiles") |
| 7423 | (synopsis "Tool for JWST's CRDS-formatted reference files creation") |
| 7424 | (description |
| 7425 | "This package provides a tool to create @acronym{Calibration References |
| 7426 | Data System,CRDS}-formatted reference files for @acronym{James Webb Space |
| 7427 | Telescope,JWST} from a set of input dark current files and a set of flat field |
| 7428 | files.") |
| 7429 | (license license:bsd-3))) |
| 7430 | |
| 7431 | (define-public python-kanon |
| 7432 | (package |
| 7433 | (name "python-kanon") |
| 7434 | ;; 0.6.6 was released in 2022 which does not support Astropy 7+ and |
| 7435 | ;; NumPy2, try to use the latest commit providing some compatibilities, |
| 7436 | ;; see: <https://github.com/ALFA-project-erc/kanon/issues/149>, |
| 7437 | ;; <https://github.com/ALFA-project-erc/kanon/issues/156>. |
| 7438 | (properties '((commit . "16aca8d7027937044b0b34942968cb2fee630cad") |
| 7439 | (revision . "0"))) |
| 7440 | (version (git-version "0.6.6" |
| 7441 | (assoc-ref properties 'revision) |
| 7442 | (assoc-ref properties 'commit))) |
| 7443 | (source |
| 7444 | (origin |
| 7445 | (method git-fetch) |
| 7446 | (uri (git-reference |
| 7447 | (url "https://github.com/ALFA-project-erc/kanon") |
| 7448 | (commit (assoc-ref properties 'commit)))) |
| 7449 | (file-name (git-file-name name version)) |
| 7450 | (sha256 |
| 7451 | (base32 "0d6dvlllpga0d6l5bm3hmwsx4z5qay0dd0h7xn209kgn0369rryc")))) |
| 7452 | (build-system pyproject-build-system) |
| 7453 | (arguments |
| 7454 | (list |
| 7455 | ;; tests: 151 passed, 11 deselected, 220 warnings |
| 7456 | #:test-flags |
| 7457 | #~(list "--ignore=examples/" |
| 7458 | "--ignore=kanon/tables/__init__.py" |
| 7459 | "--ignore=kanon/tables/htable.py" |
| 7460 | #$@(map (lambda (test) (string-append "--deselect=kanon/" |
| 7461 | test)) |
| 7462 | ;; XXX: Errors in tests is indication of NumPy2 issues, |
| 7463 | ;; upstream is not responsive, try to fix them in the |
| 7464 | ;; package. |
| 7465 | (list |
| 7466 | ;; ValueError: Unable to avoid copy while creating an |
| 7467 | ;; array as requested. |
| 7468 | "tables/tests/test_hcolumn.py::TestHColumn::test_init" |
| 7469 | "tables/tests/test_hcolumn.py::TestHColumn::test_astype" |
| 7470 | "tables/tests/test_hcolumn.py::TestHColumn::test_truncable" |
| 7471 | ;; ValueError: First and last rows must not be masked |
| 7472 | "tables/tests/test_htable.py::test_fill" |
| 7473 | ;; Network access is required |
| 7474 | "tables/tests/test_htable_reader.py::test_get_number_of_cells" |
| 7475 | ;; ValueError: The truth value of an array with more |
| 7476 | ;; than one element is ambiguous. Use a.any() or |
| 7477 | ;; a.all() |
| 7478 | "tests/test_based_htable.py::test_read" |
| 7479 | ;; assert False |
| 7480 | "tests/test_based_htable.py::test_quantity" |
| 7481 | ;; AttributeError: 'int' object has no attribute |
| 7482 | ;; 'truncate' |
| 7483 | "units/tests/test_quantity.py::TestQuantity::test_attribute_forwarding" |
| 7484 | ;; AttributeError: 'numpy.ndarray' object has no |
| 7485 | ;; attribute 'equals' |
| 7486 | "units/tests/test_quantity.py::TestQuantity::test_shifting" |
| 7487 | "units/tests/test_quantity.py::TestQuantity::test_init_basedquantity"))) |
| 7488 | #:phases |
| 7489 | #~(modify-phases %standard-phases |
| 7490 | (add-after 'unpack 'fix-astropy-7-compatibility |
| 7491 | (lambda _ |
| 7492 | (substitute* "kanon/units/radices.py" |
| 7493 | (("from astropy\\.units.core import Unit, .*") |
| 7494 | (string-append |
| 7495 | "from astropy.units.core import Unit, UnitBase\n" |
| 7496 | "from astropy.units.errors import UnitTypeError\n"))))) |
| 7497 | (add-before 'check 'prepare-test-environment |
| 7498 | (lambda _ |
| 7499 | (setenv "HOME" "/tmp")))))) |
| 7500 | (native-inputs |
| 7501 | (list git-minimal/pinned |
| 7502 | nss-certs-for-test |
| 7503 | python-poetry-core |
| 7504 | python-poetry-dynamic-versioning |
| 7505 | python-pytest |
| 7506 | python-pytest-astropy |
| 7507 | python-requests-mock)) |
| 7508 | (propagated-inputs |
| 7509 | (list python-astropy |
| 7510 | python-matplotlib |
| 7511 | python-numpy |
| 7512 | python-pandas-2 |
| 7513 | python-requests |
| 7514 | python-scipy |
| 7515 | ;; [optional] |
| 7516 | python-ipykernel |
| 7517 | python-papermill)) |
| 7518 | (home-page "https://dishas.obspm.fr") |
| 7519 | (synopsis "History of astronomy") |
| 7520 | (description "This package provides a history of astronomy library. |
| 7521 | Current Features: |
| 7522 | @itemize |
| 7523 | @item define standard positional numeral systems with standard arithmetics |
| 7524 | (BasedReal) |
| 7525 | @item set your own precision contexts and algorithms on arithmetical |
| 7526 | operations (PrecisionContext) |
| 7527 | @item keep track of all operations |
| 7528 | @item build or import ancient astronomical tables |
| 7529 | @item perform arithmetical and statistical operations |
| 7530 | @item support for BasedReal values |
| 7531 | @item define new calendar types |
| 7532 | @item date conversions |
| 7533 | @item collection of mathematical models used for all kinds of geocentric |
| 7534 | astronomical tables |
| 7535 | @end itemize") |
| 7536 | (license license:bsd-3))) |
| 7537 | |
| 7538 | (define-public python-lenstronomy |
| 7539 | (package |
| 7540 | (name "python-lenstronomy") |
| 7541 | (version "1.13.5") |
| 7542 | (source |
| 7543 | (origin |
| 7544 | (method git-fetch) |
| 7545 | (uri (git-reference |
| 7546 | (url "https://github.com/lenstronomy/lenstronomy") |
| 7547 | (commit (string-append "v" version)))) |
| 7548 | (file-name (git-file-name name version)) |
| 7549 | (sha256 |
| 7550 | (base32 "17kb3la02rdbkx8n1vdgr9b7yizahcx2hli56flsv4pnvnp6q6kx")))) |
| 7551 | (build-system pyproject-build-system) |
| 7552 | (arguments |
| 7553 | (list |
| 7554 | ;; tests: 1499 passed, 42423 warnings |
| 7555 | #:test-flags |
| 7556 | #~(list "--numprocesses" (number->string (min 8 (parallel-job-count))) |
| 7557 | ;; TypeError: SparseSolverBase.__init__() got an unexpected |
| 7558 | ;; keyword argument 'num_iter_lens' |
| 7559 | "--ignore=test/test_ImSim/test_image_model_pixelbased.py" |
| 7560 | #$@(map (lambda (ls) (string-append "--deselect=test/" |
| 7561 | (string-join ls "::"))) |
| 7562 | ;; TypeError: SLIT_Starlets.function_2d() got an |
| 7563 | ;; unexpected keyword argument 'n_pix_x' |
| 7564 | '(("test_Sampling/test_likelihood.py" |
| 7565 | "TestLikelihoodModule" |
| 7566 | "test_pixelbased_modelling") |
| 7567 | ;; Arrays are not almost equal to <...> decimals <...>. |
| 7568 | ("test_Sampling/test_Likelihoods/test_position_likelihood.py" |
| 7569 | "TestPositionLikelihood" |
| 7570 | "test_multiplane_position_likelihood") |
| 7571 | ("test_Workflow/test_tracer_model_fit.py" |
| 7572 | "TestTracerModelFit" "test_run_fit") |
| 7573 | ;; AttributeError: 'FileFinder' object has no |
| 7574 | ;; attribute 'find_module'. See: |
| 7575 | ;; <https://github.com/lenstronomy/lenstronomy/issues/845>. |
| 7576 | ("test_Util/test_package_util.py" |
| 7577 | "test_short_and_laconic") |
| 7578 | ;; TypeError: FLRW.angular_diameter_distance() got some |
| 7579 | ;; positional-only arguments passed as keyword |
| 7580 | ;; arguments: 'z' |
| 7581 | ("test_Cosmo/test_cosmo_interp.py" "TestCosmoInterp" |
| 7582 | "test_angular_diameter_distance") |
| 7583 | ("test_Cosmo/test_cosmo_interp.py" "TestCosmoInterp" |
| 7584 | "test_angular_diameter_distance_array") |
| 7585 | ("test_Cosmo/test_lens_cosmo.py" "TestLensCosmo" |
| 7586 | "test_beta_double_source_plane") |
| 7587 | ("test_Cosmo/test_lens_cosmo.py" "TestLensCosmo" |
| 7588 | "test_theta_E_power_law_scaling") |
| 7589 | ("test_LensModel/test_Solver/test_lens_equation_solver.py" |
| 7590 | "TestLensEquationSolver" "test_lens_equation_scaling") |
| 7591 | ("test_LensModel/test_lens_model.py" "TestLensModel" |
| 7592 | "test_change_source_redshift") |
| 7593 | ("test_Sampling/test_likelihood.py" |
| 7594 | "TestLikelihoodModule" |
| 7595 | "test_multi_source_redshift_likelihood")))) |
| 7596 | #:phases |
| 7597 | #~(modify-phases %standard-phases |
| 7598 | (add-before 'check 'pre-check |
| 7599 | (lambda _ |
| 7600 | ;; Tests try to search for JSON in "path = os.getcwd()" and fail |
| 7601 | ;; with error: |
| 7602 | ;; |
| 7603 | ;; FileNotFoundError: [Errno 2] No such file or directory: |
| 7604 | ;; '/tmp/<...>/source/coolest_template.json' |
| 7605 | (for-each (lambda (file) (copy-file file (basename file))) |
| 7606 | (find-files "test/test_Util/test_COOLEST" |
| 7607 | "(\\.json|\\.fits)$"))))))) |
| 7608 | (native-inputs |
| 7609 | (list python-cobaya |
| 7610 | python-colossus |
| 7611 | python-coolest |
| 7612 | python-emcee |
| 7613 | ;; python-nestcheck ;unmaintained, incompatible with NumPy 2.4.6 |
| 7614 | ;; python-pymultinest ;depends on MultiNest |
| 7615 | python-pytest |
| 7616 | ;; python-starred-astro ;depends on python-jax |
| 7617 | python-nautilus-sampler |
| 7618 | python-dynesty |
| 7619 | python-pytest-xdist |
| 7620 | python-setuptools |
| 7621 | python-slitronomy |
| 7622 | python-zeus-mcmc)) |
| 7623 | (propagated-inputs |
| 7624 | (list python-astropy |
| 7625 | python-configparser |
| 7626 | python-corner |
| 7627 | python-h5py |
| 7628 | python-matplotlib |
| 7629 | python-mpmath |
| 7630 | python-multiprocess |
| 7631 | python-numba |
| 7632 | python-numpy |
| 7633 | python-pyxdg |
| 7634 | python-pyyaml |
| 7635 | python-schwimmbad |
| 7636 | python-scikit-image |
| 7637 | python-scikit-learn |
| 7638 | python-scipy)) |
| 7639 | (home-page "https://github.com/lenstronomy/lenstronomy") |
| 7640 | (synopsis "Multi-purpose lens modeling software") |
| 7641 | (description |
| 7642 | "@code{lenstronomy} is a multi-purpose software package to model strong |
| 7643 | gravitational lenses. @code{lenstronomy} finds application for time-delay |
| 7644 | cosmography and measuring the expansion rate of the Universe, for quantifying |
| 7645 | lensing substructure to infer dark matter properties, morphological |
| 7646 | quantification of galaxies, quasar-host galaxy decomposition and much more.") |
| 7647 | (license license:bsd-3))) |
| 7648 | |
| 7649 | ;; A bare minimal package, mainly to use in tests and reduce closure |
| 7650 | ;; size. Tests are left out in the main package to slim down native-inputs. |
| 7651 | (define-public python-lenstronomy-minimal |
| 7652 | (package/inherit python-lenstronomy |
| 7653 | (name "python-lenstronomy-minimal") |
| 7654 | (arguments |
| 7655 | (list #:tests? #f)) |
| 7656 | (native-inputs |
| 7657 | (list python-setuptools)))) |
| 7658 | |
| 7659 | (define-public python-lephare |
| 7660 | (package |
| 7661 | (name "python-lephare") |
| 7662 | (version "0.3.3") |
| 7663 | (source |
| 7664 | (origin |
| 7665 | (method git-fetch) |
| 7666 | (uri (git-reference |
| 7667 | (url "https://github.com/lephare-photoz/lephare") |
| 7668 | (commit (string-append "v" version)))) |
| 7669 | (file-name (git-file-name name version)) |
| 7670 | (sha256 |
| 7671 | (base32 "0z2q0ccxws02hz94di9zvps0g4ixa0gksg2b9jwa0l7qifg95x9j")))) |
| 7672 | (build-system pyproject-build-system) |
| 7673 | (arguments |
| 7674 | (list |
| 7675 | #:test-flags |
| 7676 | ;; Network access is required to reach <http://svo2.cab.inta-csic.es>. |
| 7677 | #~(list (string-append "--deselect=tests/lephare/test_data_retrieval.py" |
| 7678 | "::test_get_auxiliary_data") |
| 7679 | "--deselect=tests/lephare/test_filter.py::test_filtersvc") |
| 7680 | #:phases |
| 7681 | #~(modify-phases %standard-phases |
| 7682 | (add-before 'build 'symlink-pybind11 |
| 7683 | (lambda _ |
| 7684 | (rmdir "extern/pybind11") |
| 7685 | (symlink |
| 7686 | #+(package-source (this-package-native-input "pybind11")) |
| 7687 | (string-append (getcwd) "/extern/pybind11")))) |
| 7688 | (add-before 'sanity-check 'set-HOME |
| 7689 | (lambda _ (setenv "HOME" "/tmp")))))) |
| 7690 | (native-inputs |
| 7691 | (list cmake-minimal |
| 7692 | pybind11 |
| 7693 | python-pytest |
| 7694 | python-setuptools |
| 7695 | python-setuptools-scm)) |
| 7696 | (propagated-inputs |
| 7697 | (list python-astropy |
| 7698 | python-matplotlib |
| 7699 | python-numpy |
| 7700 | python-platformdirs |
| 7701 | python-pooch |
| 7702 | python-requests |
| 7703 | python-scipy |
| 7704 | python-wurlitzer)) |
| 7705 | (home-page "https://lephare.readthedocs.io/en/latest/") |
| 7706 | (synopsis "Photometric redshift estimator") |
| 7707 | (description |
| 7708 | "LePHARE is a code for estimating galaxy redshifts and physical parameters |
| 7709 | using template fitting.") |
| 7710 | (license license:expat))) |
| 7711 | |
| 7712 | (define-public python-libstempo |
| 7713 | (package |
| 7714 | (name "python-libstempo") |
| 7715 | (version "2.5.1") |
| 7716 | (source |
| 7717 | (origin |
| 7718 | (method url-fetch) |
| 7719 | (uri (pypi-uri "libstempo" version)) |
| 7720 | (sha256 |
| 7721 | (base32 "0408g761w9i0kg69b72y4lnpz5sa8bzd0zayi73q6wkry8lh7ymq")))) |
| 7722 | (build-system pyproject-build-system) |
| 7723 | (arguments |
| 7724 | (list |
| 7725 | #:phases |
| 7726 | #~(modify-phases %standard-phases |
| 7727 | (add-before 'build 'set-tempo2-search-paths |
| 7728 | (lambda _ |
| 7729 | (let* ((tempo2 #$(this-package-input "tempo2")) |
| 7730 | (tempo2-runtime (string-append tempo2 "/share/runtime"))) |
| 7731 | (setenv "TEMPO2_PREFIX" tempo2) |
| 7732 | (setenv "TEMPO2" tempo2-runtime))))))) |
| 7733 | (native-inputs |
| 7734 | (list python-cython |
| 7735 | python-numpy |
| 7736 | python-pytest |
| 7737 | python-setuptools |
| 7738 | python-setuptools-scm)) |
| 7739 | (inputs |
| 7740 | (list tempo2)) |
| 7741 | (propagated-inputs |
| 7742 | (list python-astropy |
| 7743 | python-ephem |
| 7744 | python-matplotlib |
| 7745 | python-numpy |
| 7746 | python-scipy)) |
| 7747 | (home-page "https://github.com/vallis/libstempo") |
| 7748 | (synopsis "Python wrapper for tempo2") |
| 7749 | (description |
| 7750 | "This package provides a Python wrapper for tempo2 - a high precision |
| 7751 | pulsar timing tool.") |
| 7752 | (license license:expat))) |
| 7753 | |
| 7754 | (define-public python-linetools |
| 7755 | (package |
| 7756 | (name "python-linetools") |
| 7757 | (version "0.3.2") |
| 7758 | (source |
| 7759 | (origin |
| 7760 | (method url-fetch) |
| 7761 | (uri (pypi-uri "linetools" version)) |
| 7762 | (sha256 |
| 7763 | (base32 "1nljcaz0r60wvsy5dwb040wll2dd764dvib5xzkpc59cbw5lz85h")))) |
| 7764 | (build-system pyproject-build-system) |
| 7765 | (arguments |
| 7766 | (list |
| 7767 | #:test-flags |
| 7768 | ;; AttributeError: `np.string_` was removed in the NumPy 2.0 |
| 7769 | ;; release. Use `np.bytes_` instead. |
| 7770 | #~(list "--deselect=linetools/tests/test_init_absline.py::test_dicts" |
| 7771 | "--deselect=linetools/tests/test_init_emissline.py::test_dicts"))) |
| 7772 | (native-inputs |
| 7773 | (list python-pytest |
| 7774 | python-pytest-astropy |
| 7775 | python-setuptools |
| 7776 | python-setuptools-scm)) |
| 7777 | (propagated-inputs |
| 7778 | (list python-astropy |
| 7779 | python-h5py |
| 7780 | python-ipython |
| 7781 | python-matplotlib |
| 7782 | python-numpy |
| 7783 | python-pyyaml |
| 7784 | python-qtpy |
| 7785 | python-scipy)) |
| 7786 | (home-page "http://linetools.readthedocs.org/") |
| 7787 | (synopsis "Quasar and galaxy spectra 1-D analysis tool") |
| 7788 | (description |
| 7789 | "This package implements a functionality for analysing absorption and |
| 7790 | emission lines in 1-D spectra, especially galaxy and quasar spectra.") |
| 7791 | (license license:bsd-3))) |
| 7792 | |
| 7793 | (define-public python-lofar-h5plot |
| 7794 | (package |
| 7795 | (name "python-lofar-h5plot") |
| 7796 | (version "2.9.4") |
| 7797 | (source |
| 7798 | (origin |
| 7799 | (method git-fetch) |
| 7800 | (uri (git-reference |
| 7801 | (url "https://github.com/tikk3r/lofar-h5plot") |
| 7802 | (commit (string-append "v" version)))) |
| 7803 | (file-name (git-file-name name version)) |
| 7804 | (sha256 |
| 7805 | (base32 "1mp018qcdcq3vvgv7p2lf8dqb4mrpf6yc5hb20gfl500bzpg9v9d")))) |
| 7806 | (build-system pyproject-build-system) |
| 7807 | (arguments |
| 7808 | (list #:tests? #f)) ; no tests provided |
| 7809 | (native-inputs |
| 7810 | (list python-cython |
| 7811 | python-setuptools)) |
| 7812 | (propagated-inputs |
| 7813 | (list python-losoto |
| 7814 | python-matplotlib |
| 7815 | python-numpy |
| 7816 | python-pyqt |
| 7817 | python-pyqt5-sip)) |
| 7818 | (home-page "https://github.com/tikk3r/lofar-h5plot") |
| 7819 | (synopsis "GUI for plotting H5Parms produced during LOFAR calibration") |
| 7820 | (description |
| 7821 | "H5plot is a small GUI to view the solutions in an H5parm interactively. |
| 7822 | It is a spiritual successor to @code{ParmDBplot} for quickly reviewing gain |
| 7823 | solutions generated by NDPPP.") |
| 7824 | (license license:gpl3))) |
| 7825 | |
| 7826 | (define-public python-lofar-parameterset |
| 7827 | (package |
| 7828 | (name "python-lofar-parameterset") |
| 7829 | (version "1.1") |
| 7830 | (source |
| 7831 | (origin |
| 7832 | (method url-fetch) |
| 7833 | (uri (pypi-uri "lofar_parameterset" version)) |
| 7834 | (sha256 |
| 7835 | (base32 "059k9kvv0rfg1npc75mrr8qa3k8x7h0572jvfzbm5w66qx5jy0nh")))) |
| 7836 | (build-system pyproject-build-system) |
| 7837 | (native-inputs |
| 7838 | (list python-pytest |
| 7839 | python-setuptools |
| 7840 | python-setuptools-scm)) |
| 7841 | (home-page "https://git.astron.nl/lofar2.0/lofar_pyparameterset") |
| 7842 | (synopsis "Minimal Python implementation of the LOFAR ParameterSet") |
| 7843 | (description |
| 7844 | "This package contains a pure-python drop-in replacement for the Python |
| 7845 | wrapper around the original LOFAR ParameterSet that is written in C++. It |
| 7846 | supports only the basic features of the original.") |
| 7847 | (license license:gpl3+))) |
| 7848 | |
| 7849 | (define-public python-losoto |
| 7850 | (package |
| 7851 | (name "python-losoto") |
| 7852 | (version "2.7.1") |
| 7853 | (source |
| 7854 | (origin |
| 7855 | (method git-fetch) |
| 7856 | (uri (git-reference |
| 7857 | (url "https://github.com/revoltek/losoto") |
| 7858 | (commit version))) |
| 7859 | (file-name (git-file-name name version)) |
| 7860 | (sha256 |
| 7861 | (base32 "09z1zfi9aisj289jniqyy5ls7x4zy0pjry3zaagng1b82lfj49qc")))) |
| 7862 | (build-system pyproject-build-system) |
| 7863 | (arguments |
| 7864 | (list |
| 7865 | ;; tests: 19 failed, 23 passed, 53 warnings |
| 7866 | ;; XXX: See: <https://github.com/revoltek/losoto/issues/186>. |
| 7867 | #:tests? #f |
| 7868 | #:phases |
| 7869 | #~(modify-phases %standard-phases |
| 7870 | (add-after 'unpack 'relax-requirements |
| 7871 | (lambda _ |
| 7872 | (substitute* "pyproject.toml" |
| 7873 | ;; XXX: See: <https://github.com/revoltek/losoto/issues/187>. |
| 7874 | (("progressbar") "progressbar2"))))))) |
| 7875 | (native-inputs |
| 7876 | (list python-pytest |
| 7877 | python-setuptools |
| 7878 | python-setuptools-scm)) |
| 7879 | (propagated-inputs |
| 7880 | (list python-casacore |
| 7881 | python-lofar-parameterset |
| 7882 | python-matplotlib |
| 7883 | python-numpy |
| 7884 | python-progressbar2 |
| 7885 | python-scipy |
| 7886 | python-tables)) |
| 7887 | (home-page "https://github.com/revoltek/losoto") |
| 7888 | (synopsis "LOFAR Solution Tool") |
| 7889 | (description |
| 7890 | "This package provides a @acronym{Low-Frequency Array, |
| 7891 | @url{http://www.lofar.org/, LOFAR}} a large radio telescope Solution Tool.") |
| 7892 | (license license:gpl3))) |
| 7893 | |
| 7894 | (define-public python-lsstdesc-coord |
| 7895 | (package |
| 7896 | (name "python-lsstdesc-coord") |
| 7897 | (version "1.3.1") |
| 7898 | (source |
| 7899 | (origin |
| 7900 | (method git-fetch) |
| 7901 | (uri (git-reference |
| 7902 | (url "https://github.com/LSSTDESC/Coord") |
| 7903 | (commit (string-append "v" version)))) |
| 7904 | (file-name (git-file-name name version)) |
| 7905 | (sha256 |
| 7906 | (base32 "1r3igmdj4yigpayk3j609030jkx5ba9x0l4mryn0aj9jh6x4pmkh")))) |
| 7907 | (build-system pyproject-build-system) |
| 7908 | (arguments |
| 7909 | (list |
| 7910 | #:phases |
| 7911 | #~(modify-phases %standard-phases |
| 7912 | (add-after 'unpack 'relax-requirements |
| 7913 | (lambda _ |
| 7914 | ;; See: <https://github.com/LSSTDESC/Coord/issues/21>. |
| 7915 | (substitute* "requirements.txt" |
| 7916 | (("future") ""))))))) |
| 7917 | (native-inputs |
| 7918 | (list python-astropy-minimal |
| 7919 | python-pytest |
| 7920 | python-setuptools)) |
| 7921 | (propagated-inputs |
| 7922 | (list python-numpy)) |
| 7923 | (home-page "https://github.com/LSSTDESC/Coord") |
| 7924 | (synopsis "Angles and celestial coordinates handling in Python") |
| 7925 | (description |
| 7926 | "This package provides a similar in functionality to the |
| 7927 | @code{astropy.coordinates} module, but with more of an emphasis on efficiency. |
| 7928 | Some functions are more than 100 times faster than the corresponding |
| 7929 | functionality in astropy. On the other hand, the API is somewhat more |
| 7930 | restrictive than the API used by astropy, so the appropriate module to use |
| 7931 | will depend on your needs.") |
| 7932 | (license license:expat))) |
| 7933 | |
| 7934 | (define-public python-madrigalweb |
| 7935 | (package |
| 7936 | (name "python-madrigalweb") |
| 7937 | (version "3.3.8") |
| 7938 | (source |
| 7939 | (origin |
| 7940 | (method url-fetch) |
| 7941 | (uri (pypi-uri "madrigalweb" version)) |
| 7942 | (sha256 |
| 7943 | (base32 "0pcvm82d1bw93kzr9rl2mkk8mgcmdyb8a21yvjjq0jcis0hwdd9y")))) |
| 7944 | (build-system pyproject-build-system) |
| 7945 | (arguments |
| 7946 | (list #:tests? #f)) ;network access is required |
| 7947 | (native-inputs |
| 7948 | (list python-setuptools)) |
| 7949 | (home-page "https://cedar.openmadrigal.org") |
| 7950 | (synopsis "Python Madrigal Remote API") |
| 7951 | (description |
| 7952 | "@code{madrigalWeb} is a pure Python module to access data from any |
| 7953 | @url{https://cedar.openmadrigal.org/, Madrigal} database. |
| 7954 | |
| 7955 | Madrigal is an upper atmospheric science database used by groups throughout |
| 7956 | the world. Madrigal is a robust, World Wide Web based system capable of |
| 7957 | managing and serving archival and real-time data, in a variety of formats, |
| 7958 | from a wide range of upper atmospheric science instruments. Data at each |
| 7959 | Madrigal site is locally controlled and can be updated at any time, but shared |
| 7960 | metadata between Madrigal sites allow searching of all Madrigal sites at once |
| 7961 | from any Madrigal site.") |
| 7962 | (license license:expat))) |
| 7963 | |
| 7964 | (define-public python-mapsims |
| 7965 | (package |
| 7966 | (name "python-mapsims") |
| 7967 | (version "2.7.0") |
| 7968 | (source |
| 7969 | (origin |
| 7970 | (method git-fetch) |
| 7971 | (uri (git-reference |
| 7972 | (url "https://github.com/galsci/mapsims") |
| 7973 | (commit version))) |
| 7974 | (file-name (git-file-name name version)) |
| 7975 | (sha256 |
| 7976 | (base32 "0w3vslss6aal1ll91pvg23r9f6l63jhbkvjz2756hm7r4b468h5w")))) |
| 7977 | (build-system pyproject-build-system) |
| 7978 | (arguments |
| 7979 | (list |
| 7980 | ;; tests: 12 passed, 2 skipped, 8 deselected, 2 warnings |
| 7981 | #:test-flags |
| 7982 | ;; Tests requiring additional FITS files. |
| 7983 | ;; <https://portal.nersc.gov/project/cmb> |
| 7984 | ;; <https://portal.nersc.gov/project/sobs> |
| 7985 | #~(list "-k" (string-join |
| 7986 | (list "not test_noise_simulator[ST0]" |
| 7987 | "test_noise_simulator[ST3]" |
| 7988 | "test_homogeneous_noise" |
| 7989 | "test_from_classes_car_healpix" |
| 7990 | "test_from_config_v02" |
| 7991 | "test_from_classes" |
| 7992 | "test_s4sim_202222_ame_high") |
| 7993 | " and not ")))) |
| 7994 | (native-inputs |
| 7995 | (list nss-certs-for-test |
| 7996 | python-flit-core |
| 7997 | python-nbformat |
| 7998 | python-nbval |
| 7999 | python-pytest |
| 8000 | python-pytest-astropy)) |
| 8001 | (propagated-inputs |
| 8002 | (list python-astropy |
| 8003 | python-healpy |
| 8004 | python-numpy |
| 8005 | python-pixell |
| 8006 | python-pysm3 |
| 8007 | python-pyyaml |
| 8008 | python-so-noise-models |
| 8009 | python-toml)) |
| 8010 | (home-page "https://github.com/galsci/mapsims") |
| 8011 | (synopsis "Map based simulations software for CMB Experiments") |
| 8012 | (description |
| 8013 | "This package implements a functionality to produce map based simulations |
| 8014 | for the @url{https://simonsobservatory.org/, Simons Observatory} or other CMB |
| 8015 | experiments. It creates simulated maps in HEALPix and CAR pixelization based |
| 8016 | on: |
| 8017 | @itemize |
| 8018 | @item foreground models included in PySM |
| 8019 | @item custom foregrounds models from the so_pysm_models package |
| 8020 | @item precomputed Cosmic Microwave Background simulations |
| 8021 | @item noise simulations based on expected performance and simulated hitmaps |
| 8022 | @item effect of gaussian beam convolution |
| 8023 | @end itemize") |
| 8024 | (license license:bsd-2))) |
| 8025 | |
| 8026 | (define-public python-mocpy |
| 8027 | (package |
| 8028 | (name "python-mocpy") |
| 8029 | (version "0.20.0") |
| 8030 | (source |
| 8031 | (origin |
| 8032 | (method url-fetch) |
| 8033 | (uri (pypi-uri "mocpy" version)) |
| 8034 | (sha256 |
| 8035 | (base32 "0xzl25widay8zzylnwawdjp5csmcb2rch7qmr8sidygf52g534x5")))) |
| 8036 | (build-system pyproject-build-system) |
| 8037 | (arguments |
| 8038 | (list |
| 8039 | #:imported-modules (append %cargo-build-system-modules |
| 8040 | %pyproject-build-system-modules) |
| 8041 | #:modules '(((guix build cargo-build-system) #:prefix cargo:) |
| 8042 | (guix build pyproject-build-system) |
| 8043 | (guix build utils)) |
| 8044 | ;; tests: 204 passed, 32 deselected, 1 warning |
| 8045 | #:test-flags |
| 8046 | #~(list "--pyargs" "mocpy" |
| 8047 | ;; Network access is required to fetch test data. |
| 8048 | "--deselect=moc/moc.py::mocpy.moc.moc.MOC.from_ivorn" |
| 8049 | "--deselect=moc/moc.py::mocpy.moc.moc.MOC.from_vizier_table" |
| 8050 | #$@(map (lambda (test) (string-append "--deselect=tests/" |
| 8051 | test)) |
| 8052 | (list "test_abstract_moc.py::test_write" |
| 8053 | "test_moc.py::test_degrade_to_order" |
| 8054 | "test_moc.py::test_from_fits_image_without_cdelt" |
| 8055 | "test_moc.py::test_from_fits_images_2" |
| 8056 | "test_moc.py::test_from_fits_old" |
| 8057 | "test_moc.py::test_from_ivorn" |
| 8058 | (string-append "test_moc.py::test_from_valued_" |
| 8059 | "healpix_cells_bayestar") |
| 8060 | (string-append "test_moc.py::test_from_valued_" |
| 8061 | "healpix_cells_bayestar_and_split") |
| 8062 | "test_moc.py::test_from_vizier" |
| 8063 | "test_moc.py::test_moc_complement_consistency" |
| 8064 | "test_moc.py::test_moc_consistent_with_aladin" |
| 8065 | "test_moc.py::test_moc_from_fits" |
| 8066 | "test_moc.py::test_moc_from_fits_image" |
| 8067 | "test_moc.py::test_moc_from_fits_images" |
| 8068 | "test_moc.py::test_moc_from_fits_url" |
| 8069 | "test_moc.py::test_moc_serialize_to_fits" |
| 8070 | "test_moc.py::test_moc_serialize_to_json" |
| 8071 | "test_moc.py::test_mpl_border" |
| 8072 | "test_moc.py::test_mpl_fill" |
| 8073 | "test_moc.py::test_probability_in_multiordermap" |
| 8074 | "test_sfmoc.py::test_read_fits_file" |
| 8075 | "test_stmoc.py::test_difference_decals" |
| 8076 | "test_stmoc.py::test_intersection_decals" |
| 8077 | "test_stmoc.py::test_max_depth" |
| 8078 | "test_stmoc.py::test_min_max_times" |
| 8079 | "test_stmoc.py::test_query_time" |
| 8080 | "test_stmoc.py::test_serialization" |
| 8081 | "test_stmoc.py::test_stmoc_from_url" |
| 8082 | "test_stmoc.py::test_union_decals" |
| 8083 | "test_tmoc.py::test_tmoc_from_time_ranges"))) |
| 8084 | #:phases |
| 8085 | #~(modify-phases %standard-phases |
| 8086 | (add-after 'unpack 'prepare-cargo-build-system |
| 8087 | (lambda args |
| 8088 | (for-each (lambda (phase) |
| 8089 | (format #t "Running cargo phase: ~a~%" phase) |
| 8090 | (apply (assoc-ref cargo:%standard-phases phase) |
| 8091 | #:cargo-target #$(cargo-triplet) |
| 8092 | args)) |
| 8093 | '(prepare-rust-crates |
| 8094 | unpack-rust-crates |
| 8095 | configure |
| 8096 | check-for-pregenerated-files |
| 8097 | patch-cargo-checksums)))) |
| 8098 | (add-before 'check 'pre-check |
| 8099 | (lambda _ |
| 8100 | (setenv "HOME" "/tmp") |
| 8101 | (delete-file-recursively "python/mocpy")))))) |
| 8102 | (native-inputs |
| 8103 | (list maturin |
| 8104 | python-pytest |
| 8105 | rust |
| 8106 | (list rust "cargo"))) |
| 8107 | (inputs (cargo-inputs 'python-mocpy)) |
| 8108 | (propagated-inputs |
| 8109 | (list python-astropy |
| 8110 | python-numpy |
| 8111 | ;; [optional] |
| 8112 | python-requests |
| 8113 | python-regions |
| 8114 | python-matplotlib |
| 8115 | python-cdshealpix |
| 8116 | python-networkx)) |
| 8117 | (home-page "https://cds-astro.github.io/mocpy/") |
| 8118 | (synopsis "Multi-Order Coverage maps") |
| 8119 | (description |
| 8120 | "MOCPy is a Python library allowing easy creation and manipulation of |
| 8121 | MOCs (Multi-Order Coverage maps). MOC is an IVOA standard enabling |
| 8122 | description of arbitrary sky, time, (or frequency) coverages.") |
| 8123 | (license license:bsd-3))) |
| 8124 | |
| 8125 | (define-public python-mpl-animators |
| 8126 | (package |
| 8127 | (name "python-mpl-animators") |
| 8128 | (version "1.2.4") |
| 8129 | (source |
| 8130 | (origin |
| 8131 | (method url-fetch) |
| 8132 | (uri (pypi-uri "mpl_animators" version)) |
| 8133 | (sha256 |
| 8134 | (base32 "1lwh16f5dilnxjnchw2l2pz7iz3dby7ij6z0l7v3fm6aqhk6fwrg")))) |
| 8135 | (build-system pyproject-build-system) |
| 8136 | (arguments |
| 8137 | (list |
| 8138 | #:phases |
| 8139 | #~(modify-phases %standard-phases |
| 8140 | (add-before 'check 'set-home |
| 8141 | (lambda _ |
| 8142 | ;; Relax matplotlib warning: ... because the default path |
| 8143 | ;; (/homeless-shelter/.config/matplotlib) is not a writable |
| 8144 | ;; directory ... |
| 8145 | (setenv "HOME" "/tmp")))))) |
| 8146 | (native-inputs |
| 8147 | (list python-pytest |
| 8148 | python-pytest-doctestplus |
| 8149 | python-pytest-mpl |
| 8150 | python-setuptools |
| 8151 | python-setuptools-scm)) |
| 8152 | (propagated-inputs |
| 8153 | (list python-astropy |
| 8154 | python-matplotlib |
| 8155 | python-numpy)) |
| 8156 | (home-page "https://sunpy.org") |
| 8157 | (synopsis "Interactive animations with matplotlib") |
| 8158 | (description |
| 8159 | "The @code{mpl_animators} package provides a set of classes which allow |
| 8160 | the easy construction of interactive matplotlib widget based animations.") |
| 8161 | (license license:bsd-3))) |
| 8162 | |
| 8163 | (define-public python-naima |
| 8164 | (package |
| 8165 | (name "python-naima") |
| 8166 | (version "0.10.4") |
| 8167 | (source |
| 8168 | (origin |
| 8169 | (method url-fetch) |
| 8170 | (uri (pypi-uri "naima" version)) |
| 8171 | (sha256 |
| 8172 | (base32 "1s1azsc7qfqkr991k1sjryd6vcwgqi0ndcbqjr6v6zalxr2bbay9")))) |
| 8173 | (build-system pyproject-build-system) |
| 8174 | (native-inputs |
| 8175 | (list python-hatch-vcs |
| 8176 | python-hatchling |
| 8177 | python-pytest)) |
| 8178 | (propagated-inputs |
| 8179 | (list python-astropy |
| 8180 | python-corner |
| 8181 | python-emcee |
| 8182 | python-h5py |
| 8183 | python-matplotlib |
| 8184 | python-numpy |
| 8185 | python-pyyaml |
| 8186 | python-scipy)) |
| 8187 | (home-page "http://github.com/zblz/naima") |
| 8188 | (synopsis "Derivation of non-thermal particle distributions through MCMC spectral fitting") |
| 8189 | (description |
| 8190 | "This package implement functionality for computation of non-thermal |
| 8191 | radiation from relativistic particle populations. It includes tools to |
| 8192 | perform MCMC fitting of radiative models to X-ray, GeV, and TeV spectra using |
| 8193 | @code{emcee}, an affine-invariant ensemble sampler for Markov Chain Monte |
| 8194 | Carlo.") |
| 8195 | (license license:bsd-3))) |
| 8196 | |
| 8197 | (define-public python-ndcube |
| 8198 | (package |
| 8199 | (name "python-ndcube") |
| 8200 | (version "2.4.1") |
| 8201 | (source |
| 8202 | (origin |
| 8203 | (method url-fetch) |
| 8204 | (uri (pypi-uri "ndcube" version)) |
| 8205 | (sha256 |
| 8206 | (base32 "0nqsscpfdrvdiil0nb7zd5wp6p2r93pq5y07c9izyry8bjqjmzba")))) |
| 8207 | (build-system pyproject-build-system) |
| 8208 | (arguments |
| 8209 | (list |
| 8210 | ;; tests: 554 passed, 9 skipped, 27 deselected, 10 xfailed, 2 warnings |
| 8211 | #:phases |
| 8212 | #~(modify-phases %standard-phases |
| 8213 | (add-after 'unpack 'fix-reproject-compatibility |
| 8214 | (lambda _ |
| 8215 | (substitute* "ndcube/ndcube.py" |
| 8216 | ;; It will be a part of 2.4.2, see |
| 8217 | ;; <https://github.com/sunpy/ndcube/milestone/45>. |
| 8218 | (("from reproject.wcs_utils") "from reproject._wcs_utils")))) |
| 8219 | (add-before 'sanity-check 'set-home-env |
| 8220 | (lambda _ |
| 8221 | ;; Tests require HOME to be set. |
| 8222 | ;; Permission denied: '/homeless-shelter' |
| 8223 | (setenv "HOME" "/tmp")))))) |
| 8224 | (native-inputs |
| 8225 | (list nss-certs-for-test |
| 8226 | python-dask |
| 8227 | python-pytest |
| 8228 | python-pytest-astropy |
| 8229 | python-pytest-mpl |
| 8230 | ;; python-pytest-memray ;not packaged yet in Guix |
| 8231 | python-setuptools |
| 8232 | python-setuptools-scm |
| 8233 | python-specutils |
| 8234 | python-sunpy-minimal)) |
| 8235 | (propagated-inputs |
| 8236 | (list python-astropy |
| 8237 | python-gwcs |
| 8238 | python-numpy |
| 8239 | python-scipy |
| 8240 | ;; [optional] |
| 8241 | python-matplotlib |
| 8242 | python-mpl-animators |
| 8243 | python-reproject)) |
| 8244 | (home-page "https://docs.sunpy.org/projects/ndcube/") |
| 8245 | (synopsis "Multi-dimensional contiguous and non-contiguous coordinate aware arrays") |
| 8246 | (description |
| 8247 | "@code{ndcube} is a package for manipulating, inspecting and visualizing |
| 8248 | multi-dimensional contiguous and non-contiguous coordinate-aware data arrays. |
| 8249 | |
| 8250 | It combines data, uncertainties, units, metadata, masking, and coordinate |
| 8251 | transformations into classes with unified slicing and generic coordinate |
| 8252 | transformations and plotting/animation capabilities. It is designed to handle |
| 8253 | data of any number of dimensions and axis types (e.g. spatial, temporal, |
| 8254 | spectral, etc.) whose relationship between the array elements and the real |
| 8255 | world can be described by @acronym{WCS, World Coordinate System} |
| 8256 | translations.") |
| 8257 | (license license:bsd-2))) |
| 8258 | |
| 8259 | ;; A bare minimal package, mainly to use in tests and reduce closure |
| 8260 | ;; size. Tests are left out in the main package to slim down native-inputs. |
| 8261 | (define-public python-ndcube-minimal |
| 8262 | (package/inherit python-ndcube |
| 8263 | (name "python-ndcube-minimal") |
| 8264 | (arguments |
| 8265 | (list #:tests? #f)) |
| 8266 | (native-inputs |
| 8267 | (list python-setuptools |
| 8268 | python-setuptools-scm)) |
| 8269 | (propagated-inputs |
| 8270 | (list python-astropy |
| 8271 | python-gwcs |
| 8272 | python-numpy |
| 8273 | python-scipy)))) |
| 8274 | |
| 8275 | (define-public python-ogadf-schema |
| 8276 | (package |
| 8277 | (name "python-ogadf-schema") |
| 8278 | (version "0.2.4.post1") |
| 8279 | (source |
| 8280 | (origin |
| 8281 | (method url-fetch) |
| 8282 | (uri (pypi-uri "ogadf_schema" version)) |
| 8283 | (sha256 |
| 8284 | (base32 "02v5r5vnr40ggp2mccxnx600gkl3mvv77zslpf9dj96jcd8pk117")))) |
| 8285 | (build-system pyproject-build-system) |
| 8286 | (arguments |
| 8287 | (list #:tests? #f)) ;no tests |
| 8288 | (native-inputs |
| 8289 | (list python-poetry-core |
| 8290 | python-setuptools)) |
| 8291 | (propagated-inputs |
| 8292 | (list python-fits-schema-0.5.6)) |
| 8293 | (home-page "https://github.com/open-gamma-ray-astro/ogadf-schema") |
| 8294 | (synopsis |
| 8295 | "Definition of the open gamma ray astronomy data formats using fits-schema") |
| 8296 | (description |
| 8297 | "This package provides schema definitions for the Data Formats For Gamma-Ray |
| 8298 | Astronomy.") |
| 8299 | (license license:expat))) |
| 8300 | |
| 8301 | (define-public python-openspace-api |
| 8302 | (package |
| 8303 | (name "python-openspace-api") |
| 8304 | (version "0.9.1") |
| 8305 | (source |
| 8306 | (origin |
| 8307 | (method url-fetch) |
| 8308 | (uri (pypi-uri "openspace_api" version)) |
| 8309 | (sha256 |
| 8310 | (base32 "02iqkgv3n3xzxkj94pwklll1vba6lnphmlbvbvkbgzkqk34r63ic")))) |
| 8311 | (build-system pyproject-build-system) |
| 8312 | (arguments |
| 8313 | (list #:tests? #f)) ;no tests |
| 8314 | (native-inputs |
| 8315 | (list python-setuptools)) |
| 8316 | (home-page "https://openspaceproject.com") |
| 8317 | (synopsis "Python library to interface with OpenSpace using sockets") |
| 8318 | (description |
| 8319 | "Python library to interface with |
| 8320 | @url{https://github.com/OpenSpace/OpenSpace, OpenSpace} using TCP sockets.") |
| 8321 | (license license:expat))) |
| 8322 | |
| 8323 | (define-public python-orbitalpy |
| 8324 | (package |
| 8325 | (name "python-orbitalpy") |
| 8326 | ;; 0.7.0 was placed in 2015, project does not tag new releases any |
| 8327 | ;; longer. It's not the latest commit, which needs SciPy 1.13+. |
| 8328 | (properties '((commit . "d6d3fa4f0b372a1d0ed64c52765c22b74fbefca6") |
| 8329 | (revision . "0"))) |
| 8330 | (version (git-version "0.7.0" |
| 8331 | (assoc-ref properties 'revision) |
| 8332 | (assoc-ref properties 'commit))) |
| 8333 | (source |
| 8334 | (origin |
| 8335 | (method git-fetch) |
| 8336 | (uri (git-reference |
| 8337 | (url "https://github.com/RazerM/orbital") |
| 8338 | (commit (assoc-ref properties 'commit)))) |
| 8339 | (file-name (git-file-name name version)) |
| 8340 | (sha256 |
| 8341 | (base32 "1dpahlqy7xmdqbzs9hbz1x5sm8sv7g2krccaj3r4ykfarv8lbah7")))) |
| 8342 | (build-system pyproject-build-system) |
| 8343 | (native-inputs |
| 8344 | (list python-pytest |
| 8345 | python-setuptools)) |
| 8346 | (propagated-inputs |
| 8347 | (list python-astropy |
| 8348 | python-matplotlib |
| 8349 | python-numpy |
| 8350 | python-represent |
| 8351 | python-scipy |
| 8352 | python-sgp4)) |
| 8353 | (home-page "https://github.com/RazerM/orbital") |
| 8354 | (synopsis "High level orbital mechanics") |
| 8355 | (description |
| 8356 | "Orbital is a high level orbital mechanics package for Python.") |
| 8357 | (license license:expat))) |
| 8358 | |
| 8359 | (define-public python-p-winds |
| 8360 | (package |
| 8361 | (name "python-p-winds") |
| 8362 | (version "2.0.1") |
| 8363 | (source |
| 8364 | (origin |
| 8365 | (method git-fetch) |
| 8366 | (uri (git-reference |
| 8367 | (url "https://github.com/ladsantos/p-winds") |
| 8368 | (commit (string-append "v" version)))) |
| 8369 | (file-name (git-file-name name version)) |
| 8370 | (sha256 |
| 8371 | (base32 "0ww9djjdxrmaxibvj45k0k67z0agpqrxpvhjvnxm7wg5z50zqpzk")))) |
| 8372 | (build-system pyproject-build-system) |
| 8373 | (arguments |
| 8374 | (list #:tests? #f)) ;network access is required to fetch test data |
| 8375 | (native-inputs |
| 8376 | (list python-setuptools)) |
| 8377 | (propagated-inputs |
| 8378 | (list python-astropy |
| 8379 | python-flatstar |
| 8380 | python-numpy |
| 8381 | python-scipy)) |
| 8382 | (home-page "https://github.com/ladsantos/p-winds") |
| 8383 | (synopsis "Parker wind models for planetary atmospheres") |
| 8384 | (description |
| 8385 | "Python implementation of Parker wind models for planetary atmospheres. |
| 8386 | @code{p-winds} produces simplified, 1-D models of the upper atmosphere of a |
| 8387 | planet, and perform radiative transfer to calculate observable spectral |
| 8388 | signatures. |
| 8389 | |
| 8390 | The scalable implementation of 1D models allows for atmospheric retrievals to |
| 8391 | calculate atmospheric escape rates and temperatures. In addition, the modular |
| 8392 | implementation allows for a smooth plugging-in of more complex descriptions to |
| 8393 | forward model their corresponding spectral signatures (e.g., self-consistent |
| 8394 | or 3D models).") |
| 8395 | (license license:expat))) |
| 8396 | |
| 8397 | (define-public python-petrofit |
| 8398 | (package |
| 8399 | (name "python-petrofit") |
| 8400 | (version "0.6.0") |
| 8401 | (source |
| 8402 | (origin |
| 8403 | (method git-fetch) |
| 8404 | (uri (git-reference |
| 8405 | (url "https://github.com/PetroFit/petrofit") |
| 8406 | (commit (string-append "v" version)))) |
| 8407 | (file-name (git-file-name name version)) |
| 8408 | (sha256 |
| 8409 | (base32 "07dri6r6ws82nn379gqvg899g576n8skhgp5fjg3qq38rp8dgl0k")))) |
| 8410 | (build-system pyproject-build-system) |
| 8411 | (arguments |
| 8412 | (list |
| 8413 | ;; tests: 28 passed, 2033 warnings |
| 8414 | #:test-flags |
| 8415 | ;; XXX: Project has no recent changes, 3 tests fail with error: |
| 8416 | ;; TypeError: only 0-dimensional arrays can be converted to Python |
| 8417 | ;; scalars. |
| 8418 | #~(list (string-append "--deselect=petrofit/tests/test_segmentation.py" |
| 8419 | "::test_source_photometry") |
| 8420 | (string-append "--deselect=petrofit/tests/test_photometry.py" |
| 8421 | "::test_radial_photometry") |
| 8422 | "--deselect=petrofit/tests/test_petrosian.py::test_grid_gen") |
| 8423 | #:phases |
| 8424 | #~(modify-phases %standard-phases |
| 8425 | (add-after 'unpack 'relax-requirements |
| 8426 | (lambda _ |
| 8427 | ;; XXX: I'm not sure we need to propagate Jupyter requirements. |
| 8428 | (substitute* "pyproject.toml" |
| 8429 | (("'ipywidgets',") "") |
| 8430 | (("'jupyter',") "") |
| 8431 | (("'notebook',") ""))))))) |
| 8432 | (native-inputs |
| 8433 | (list python-cython |
| 8434 | python-hatch-vcs |
| 8435 | python-hatchling |
| 8436 | python-pytest |
| 8437 | python-pytest-astropy-header |
| 8438 | python-pytest-randomly |
| 8439 | python-setuptools-scm)) |
| 8440 | (propagated-inputs |
| 8441 | (list python-astropy |
| 8442 | python-extension-helpers |
| 8443 | python-matplotlib |
| 8444 | python-notebook |
| 8445 | python-numpy |
| 8446 | python-photutils |
| 8447 | python-pyyaml |
| 8448 | python-regions |
| 8449 | python-scikit-image |
| 8450 | python-scikit-learn |
| 8451 | python-scipy)) |
| 8452 | (home-page "https://github.com/PetroFit/petrofit") |
| 8453 | (synopsis "Petrosian properties and fitting galaxy light profiles calculation") |
| 8454 | (description |
| 8455 | "PetroFit is a package for calculating Petrosian properties, |
| 8456 | such as radii and concentration indices, as well as fitting galaxy light |
| 8457 | profiles. In particular, PetroFit includes tools for performing accurate |
| 8458 | photometry, segmentations, Petrosian profiling, and Sérsic fitting.") |
| 8459 | (license license:bsd-3))) |
| 8460 | |
| 8461 | (define-public python-photutils |
| 8462 | (package |
| 8463 | (name "python-photutils") |
| 8464 | (version "3.0.0") |
| 8465 | (source |
| 8466 | (origin |
| 8467 | (method git-fetch) |
| 8468 | (uri (git-reference |
| 8469 | (url "https://github.com/astropy/photutils") |
| 8470 | (commit version))) |
| 8471 | (file-name (git-file-name name version)) |
| 8472 | (sha256 |
| 8473 | (base32 "1azwm65lb84r19c0ippq6mdp6vhrk02fs6j5fkmz6sqhj3g85ycd")))) |
| 8474 | (build-system pyproject-build-system) |
| 8475 | (arguments |
| 8476 | (list |
| 8477 | ;; tests: 3361 passed, 23 skipped |
| 8478 | #:test-flags |
| 8479 | #~(list "--pyargs" "photutils" |
| 8480 | "--numprocesses" (number->string (min 8 (parallel-job-count)))) |
| 8481 | #:phases |
| 8482 | #~(modify-phases %standard-phases |
| 8483 | (add-after 'unpack 'add-missing-import |
| 8484 | ;; See: <https://github.com/astropy/photutils/pull/2260> |
| 8485 | (lambda _ |
| 8486 | (substitute* "photutils/isophote/ellipse_model.pyx" |
| 8487 | ((" double sqrt\\(double x\\)" all) |
| 8488 | (string-append all "\n\nfrom cpython cimport bool"))))) |
| 8489 | (add-before 'check 'remove-local-source |
| 8490 | (lambda _ |
| 8491 | (delete-file-recursively "photutils")))))) |
| 8492 | (native-inputs |
| 8493 | (list python-cython |
| 8494 | python-extension-helpers |
| 8495 | python-pytest-astropy |
| 8496 | python-pytest-xdist |
| 8497 | python-setuptools |
| 8498 | python-setuptools-scm)) |
| 8499 | (propagated-inputs |
| 8500 | (list python-astropy |
| 8501 | python-bottleneck |
| 8502 | python-gwcs |
| 8503 | python-matplotlib |
| 8504 | python-numpy |
| 8505 | python-rasterio |
| 8506 | python-regions |
| 8507 | python-scikit-image |
| 8508 | python-scipy |
| 8509 | python-shapely |
| 8510 | python-tqdm)) |
| 8511 | (home-page "https://github.com/astropy/photutils") |
| 8512 | (synopsis "Source detection and photometry") |
| 8513 | (description |
| 8514 | "Photutils is an Astropy package for detection and photometry of |
| 8515 | astronomical sources.") |
| 8516 | (license license:bsd-3))) |
| 8517 | |
| 8518 | (define-public python-pint-pulsar |
| 8519 | (package |
| 8520 | (name "python-pint-pulsar") |
| 8521 | (version "1.1.7") |
| 8522 | (source |
| 8523 | (origin |
| 8524 | (method git-fetch) |
| 8525 | (uri (git-reference |
| 8526 | (url "https://github.com/nanograv/PINT") |
| 8527 | (commit version))) |
| 8528 | (file-name (git-file-name name version)) |
| 8529 | (sha256 |
| 8530 | (base32 "1w1xrrc2w317zdmdxmcmwp1icm1sl33pq3pbympdx7jsxb1galn1")))) |
| 8531 | (build-system pyproject-build-system) |
| 8532 | (arguments |
| 8533 | (list |
| 8534 | ;; tests: 790 passed, 17 skipped, 13 deselected, 11 xfailed, 1 xpassed, |
| 8535 | ;; 710 warnings |
| 8536 | #:test-flags |
| 8537 | #~(list "-k" (string-join |
| 8538 | ;; Tests failing with assertion on not correct precision |
| 8539 | ;; or missing data files. |
| 8540 | (list "not test_IERS_B_builtin_agree_with_IERS_Auto_dX" |
| 8541 | "test_astropy_observatory" |
| 8542 | "test_astropy_observatory" |
| 8543 | "test_copy_fitter_object" |
| 8544 | "test_copy_residuals" |
| 8545 | "test_copy_toa_object" |
| 8546 | "test_copy_wideband_fitter_object" |
| 8547 | "test_ssb_cache_adjust" |
| 8548 | "test_ssb_cache_clkcorr" |
| 8549 | "test_ssb_cache_merge" |
| 8550 | "test_time_construction_jds_exact[tdb]") |
| 8551 | " and not ") |
| 8552 | ;; XXX: The most of the tests require additional data, select |
| 8553 | ;; files where they may run without it and check how to enable |
| 8554 | ;; more. |
| 8555 | "tests/test_Galactic.py" |
| 8556 | "tests/test_all_component_and_model_builder.py" |
| 8557 | "tests/test_astrometry.py" |
| 8558 | "tests/test_astropy_observatory.py" |
| 8559 | "tests/test_astropy_times.py" |
| 8560 | "tests/test_astropy_version.py" |
| 8561 | "tests/test_binary_generic.py" |
| 8562 | "tests/test_binconvert.py" |
| 8563 | "tests/test_compare.py" |
| 8564 | "tests/test_compare_model.py" |
| 8565 | "tests/test_compare_model_ecl_vs_icrs.py" |
| 8566 | "tests/test_convert_parfile.py" |
| 8567 | "tests/test_copy.py" |
| 8568 | "tests/test_covariance_matrix.py" |
| 8569 | "tests/test_datafiles.py" |
| 8570 | "tests/test_derived_quantities.py" |
| 8571 | "tests/test_derivedparams.py" |
| 8572 | "tests/test_dmxrange_add_sub.py" |
| 8573 | "tests/test_erfautils.py" |
| 8574 | "tests/test_eventstats.py" |
| 8575 | "tests/test_funcpar.py" |
| 8576 | "tests/test_leapsec.py" |
| 8577 | "tests/test_model_manual.py" |
| 8578 | "tests/test_numpy.py" |
| 8579 | "tests/test_observatory_envar.py" |
| 8580 | "tests/test_observatory_metadata.py" |
| 8581 | "tests/test_parfile.py" |
| 8582 | "tests/test_parunits.py" |
| 8583 | "tests/test_pb.py" |
| 8584 | "tests/test_phase.py" |
| 8585 | "tests/test_pickle.py" |
| 8586 | "tests/test_plk_widget.py" |
| 8587 | "tests/test_plot_utils.py" |
| 8588 | "tests/test_plrednoise.py" |
| 8589 | "tests/test_pmtransform_units.py" |
| 8590 | "tests/test_precision.py" |
| 8591 | "tests/test_prefix_param_inheritance.py" |
| 8592 | "tests/test_priors.py" |
| 8593 | "tests/test_process_parfile.py" |
| 8594 | "tests/test_pulsar_mjd.py" |
| 8595 | "tests/test_pulsar_position.py" |
| 8596 | "tests/test_reduced_precision.py" |
| 8597 | "tests/test_satobs.py" |
| 8598 | "tests/test_t2binary2pint.py" |
| 8599 | "tests/test_tcb2tdb.py" |
| 8600 | "tests/test_templates.py" |
| 8601 | "tests/test_variety_parfiles.py" |
| 8602 | "tests/test_version.py"))) |
| 8603 | (native-inputs |
| 8604 | (list python-pytest |
| 8605 | python-setuptools |
| 8606 | python-versioneer)) |
| 8607 | (propagated-inputs |
| 8608 | (list python-astropy |
| 8609 | python-corner |
| 8610 | python-emcee |
| 8611 | python-jplephem |
| 8612 | python-loguru |
| 8613 | python-matplotlib |
| 8614 | python-nestle |
| 8615 | python-numdifftools |
| 8616 | python-numpy |
| 8617 | python-pyerfa |
| 8618 | python-scipy |
| 8619 | python-uncertainties)) |
| 8620 | (home-page "https://github.com/nanograv/PINT") |
| 8621 | (synopsis "Software for high-precision pulsar timing") |
| 8622 | (description |
| 8623 | "PINT is not TEMPO3 - package providing a Pulsar Timing, written in |
| 8624 | Python from scratch. |
| 8625 | Features: |
| 8626 | @itemize |
| 8627 | @item a robust system to produce high-precision timing results that is |
| 8628 | completely independent of TEMPO and Tempo2 |
| 8629 | @item a system that is easy to extend and modify due to a good design |
| 8630 | and the use of a modern programming language, techniques, and libraries |
| 8631 | @end itemize") |
| 8632 | (license license:bsd-3))) |
| 8633 | |
| 8634 | (define-public python-pixell |
| 8635 | (package |
| 8636 | (name "python-pixell") |
| 8637 | (version "0.32.4") |
| 8638 | (source |
| 8639 | (origin |
| 8640 | (method git-fetch) |
| 8641 | (uri (git-reference |
| 8642 | (url "https://github.com/simonsobs/pixell") |
| 8643 | (commit (string-append "v" version)))) |
| 8644 | (file-name (git-file-name name version)) |
| 8645 | (sha256 |
| 8646 | (base32 "18f56mdqx80cfbsknm5x63b1s24bnkfj9kffwn1aslshi8j1llh4")))) |
| 8647 | (build-system pyproject-build-system) |
| 8648 | (arguments |
| 8649 | (list |
| 8650 | #:phases |
| 8651 | #~(modify-phases %standard-phases |
| 8652 | (add-before 'check 'remove-time-based-tests |
| 8653 | (lambda _ |
| 8654 | (substitute* "tests/test_pixell.py" |
| 8655 | (("assert time_eval") "#"))))))) |
| 8656 | (native-inputs |
| 8657 | (list gfortran |
| 8658 | perl ; fortran/Makefile |
| 8659 | python-h5py |
| 8660 | python-meson |
| 8661 | python-pytest |
| 8662 | python-pyyaml)) |
| 8663 | (propagated-inputs |
| 8664 | (list python-astropy |
| 8665 | python-dateutil |
| 8666 | python-ducc0 |
| 8667 | python-ephem |
| 8668 | python-healpy |
| 8669 | python-matplotlib |
| 8670 | python-numba |
| 8671 | python-numpy |
| 8672 | python-pillow |
| 8673 | python-scipy)) |
| 8674 | (home-page "https://pixell.readthedocs.io/") |
| 8675 | (synopsis "Tectangular pixel map manipulation and harmonic analysis") |
| 8676 | (description |
| 8677 | "pixell is a library for loading, manipulating and analyzing maps stored |
| 8678 | in rectangular pixelization. It is mainly intended for use with maps of the |
| 8679 | sky (e.g. CMB intensity and polarization maps, stacks of 21 cm intensity maps, |
| 8680 | binned galaxy positions or shear) in cylindrical projection, but its core |
| 8681 | functionality is more general.") |
| 8682 | (license license:bsd-3))) |
| 8683 | |
| 8684 | (define-public python-plasmapy |
| 8685 | (package |
| 8686 | (name "python-plasmapy") |
| 8687 | (version "2026.2.0") |
| 8688 | (source |
| 8689 | (origin |
| 8690 | (method git-fetch) |
| 8691 | (uri (git-reference |
| 8692 | (url "https://github.com/PlasmaPy/plasmapy") |
| 8693 | (commit (string-append "v" version)))) |
| 8694 | (file-name (git-file-name name version)) |
| 8695 | (sha256 |
| 8696 | (base32 "1zvsdmn2q4iqpm236sl2m4hrpfb9j7y69wv0jnxs0f2vm10pf4c8")))) |
| 8697 | (build-system pyproject-build-system) |
| 8698 | (arguments |
| 8699 | (list |
| 8700 | ;; tests: 4320 passed, 30 skipped, 5 xfailed, 1 xpassed, 16 warnings |
| 8701 | #:test-flags |
| 8702 | #~(list "--numprocesses" (number->string (min 8 (parallel-job-count))) |
| 8703 | "-k" |
| 8704 | (string-join |
| 8705 | ;; Tests require network access to get data files from |
| 8706 | ;; <https://github.com/PlasmaPy/PlasmaPy-data>. |
| 8707 | (list "not test_stopping_power_errors" |
| 8708 | "test_stopping_power_interpolation" |
| 8709 | "test_stopping_power_no_interpolation" |
| 8710 | "test_NIST_particle_stopping" |
| 8711 | ;; XXX: Not equal to tolerance <...>. |
| 8712 | "test_relativistic_body" |
| 8713 | "test_vals_stix_figs[kwargs1-expected1]" |
| 8714 | "test_known1") |
| 8715 | " and not ")) |
| 8716 | #:phases |
| 8717 | #~(modify-phases %standard-phases |
| 8718 | (add-after 'unpack 'fix-pytest-config |
| 8719 | (lambda _ |
| 8720 | (substitute* "pyproject.toml" |
| 8721 | ;; Make sure we have control over number of parallel tests. |
| 8722 | ((".*--numprocesses=.*") "")))) |
| 8723 | (add-before 'check 'set-HOME |
| 8724 | (lambda _ |
| 8725 | (setenv "HOME" "/tmp")))))) |
| 8726 | (native-inputs |
| 8727 | (list nss-certs-for-test |
| 8728 | python-pytest |
| 8729 | python-pytest-xdist |
| 8730 | python-setuptools |
| 8731 | python-setuptools-scm)) |
| 8732 | (propagated-inputs |
| 8733 | (list python-astropy |
| 8734 | python-h5py |
| 8735 | python-lmfit |
| 8736 | python-matplotlib |
| 8737 | python-mpmath |
| 8738 | python-numpy |
| 8739 | python-packaging |
| 8740 | python-pandas |
| 8741 | python-requests |
| 8742 | python-scipy |
| 8743 | python-tqdm |
| 8744 | python-wrapt |
| 8745 | python-xarray)) |
| 8746 | (home-page "https://docs.plasmapy.org/") |
| 8747 | (synopsis "Python package for plasma research and education") |
| 8748 | (description |
| 8749 | "PlasmaPy is Python package for plasma research and education. PlasmaPy |
| 8750 | intends to be for plasma science what Astropy is for astronomy — a collection |
| 8751 | of functionality commonly needed by plasma scientists and researchers |
| 8752 | globally, running within and leveraging the open source scientific Python |
| 8753 | ecosystem.") |
| 8754 | (license license:bsd-3))) |
| 8755 | |
| 8756 | (define-public python-poppy |
| 8757 | (package |
| 8758 | (name "python-poppy") |
| 8759 | (version "1.2.0") |
| 8760 | (source |
| 8761 | (origin |
| 8762 | (method url-fetch) |
| 8763 | (uri (pypi-uri "poppy" version)) |
| 8764 | (sha256 |
| 8765 | (base32 "0vxz3slinmkyr57bgsk8k94sspl33x2h9afbvji4b355pfg6glir")))) |
| 8766 | (build-system pyproject-build-system) |
| 8767 | (arguments |
| 8768 | (list |
| 8769 | #:test-flags |
| 8770 | #~(list "--numprocesses" (number->string (parallel-job-count)) |
| 8771 | "--ignore=docs/exts/numfig.py"))) |
| 8772 | (native-inputs |
| 8773 | (list python-docutils |
| 8774 | python-pytest |
| 8775 | python-pytest-astropy |
| 8776 | python-pytest-xdist |
| 8777 | python-setuptools-scm)) |
| 8778 | (propagated-inputs |
| 8779 | ;; XXX: With python-synphot (marked as optional) package added to the list |
| 8780 | ;; it tries to download from remote host during tests and fails. Overall |
| 8781 | ;; tests take up to 5-8min to pass. |
| 8782 | (list python-astropy |
| 8783 | python-matplotlib |
| 8784 | python-numexpr |
| 8785 | python-numpy |
| 8786 | python-scipy)) |
| 8787 | (home-page "https://poppy-optics.readthedocs.io/") |
| 8788 | (synopsis "Physical Optics Propagation in Python") |
| 8789 | (description |
| 8790 | "@acronym{POPPY, Physical Optics Propagation in Python} is a Python package that |
| 8791 | simulates physical optical propagation including diffraction. It implements a |
| 8792 | flexible framework for modeling Fraunhofer and Fresnel diffraction and point |
| 8793 | spread function formation, particularly in the context of astronomical |
| 8794 | telescopes. |
| 8795 | |
| 8796 | POPPY was developed as part of a simulation package for the James Webb Space |
| 8797 | Telescope, but is more broadly applicable to many kinds of imaging simulations. |
| 8798 | It is not, however, a substitute for high fidelity optical design software such |
| 8799 | as Zemax or Code V, but rather is intended as a lightweight alternative for |
| 8800 | cases for which diffractive rather than geometric optics is the topic of |
| 8801 | interest, and which require portability between platforms or ease of scripting.") |
| 8802 | (license license:bsd-3))) |
| 8803 | |
| 8804 | (define-public python-pvextractor |
| 8805 | (package |
| 8806 | (name "python-pvextractor") |
| 8807 | (version "0.4") |
| 8808 | (source |
| 8809 | (origin |
| 8810 | (method url-fetch) |
| 8811 | (uri (pypi-uri "pvextractor" version)) |
| 8812 | (sha256 |
| 8813 | (base32 "1kl33vg5rxmdwlk36pn8zqa7k7f43fb7w417fym6ygp86mci2spd")))) |
| 8814 | (build-system pyproject-build-system) |
| 8815 | (arguments |
| 8816 | (list |
| 8817 | #:test-flags #~(list "--pyargs" "pvextractor") |
| 8818 | #:phases |
| 8819 | #~(modify-phases %standard-phases |
| 8820 | ;; See <https://github.com/radio-astro-tools/pvextractor/issues/124>. |
| 8821 | (add-after 'unpack 'patch-regexp |
| 8822 | (lambda _ |
| 8823 | (substitute* "pvextractor/pvregions.py" |
| 8824 | (("coordre = re.compile.*") |
| 8825 | "coordre = re.compile(\"^[a-z]*\\\\((.*)\\\\)\")\n")))) |
| 8826 | (add-before 'check 'prepare-x |
| 8827 | (lambda _ |
| 8828 | (system "Xvfb &") |
| 8829 | (setenv "DISPLAY" ":0") |
| 8830 | (setenv "HOME" "/tmp")))))) |
| 8831 | (propagated-inputs |
| 8832 | (list python-astropy |
| 8833 | python-matplotlib |
| 8834 | python-numpy |
| 8835 | python-pyqt-6 |
| 8836 | python-qtpy |
| 8837 | python-scipy |
| 8838 | python-spectral-cube)) |
| 8839 | (native-inputs |
| 8840 | (list python-pytest-astropy |
| 8841 | python-setuptools-scm |
| 8842 | xorg-server-for-tests)) |
| 8843 | (home-page "http://pvextractor.readthedocs.io") |
| 8844 | (synopsis "Position-Velocity diagram extractor") |
| 8845 | (description |
| 8846 | "The concept of the pvextractor package is simple - given a path defined |
| 8847 | in sky coordinates, and a spectral cube, extract a slice of the cube along |
| 8848 | that path, and along the spectral axis, producing a position-velocity or |
| 8849 | position-frequency slice.") |
| 8850 | (license license:bsd-3))) |
| 8851 | |
| 8852 | (define-public python-pvextractor-bootstrap |
| 8853 | (hidden-package |
| 8854 | (package |
| 8855 | (inherit python-pvextractor) |
| 8856 | (arguments |
| 8857 | (list #:tests? #f |
| 8858 | #:phases #~(modify-phases %standard-phases |
| 8859 | (delete 'sanity-check)))) |
| 8860 | (propagated-inputs '()) |
| 8861 | (native-inputs |
| 8862 | (list python-setuptools |
| 8863 | python-wheel))))) |
| 8864 | |
| 8865 | (define-public python-pyastronomy |
| 8866 | (package |
| 8867 | (name "python-pyastronomy") |
| 8868 | (version "0.25.0") |
| 8869 | (source |
| 8870 | (origin |
| 8871 | (method git-fetch) |
| 8872 | (uri (git-reference |
| 8873 | (url "https://github.com/sczesla/PyAstronomy") |
| 8874 | (commit (string-append |
| 8875 | "v_" (string-replace-substring version "." "-"))))) |
| 8876 | (file-name (git-file-name name version)) |
| 8877 | (sha256 |
| 8878 | (base32 "1kf7mi22m1pm7h41kbc9wpj6xv650zm3bj3qbh8as9a55pvkwpcv")))) |
| 8879 | (build-system pyproject-build-system) |
| 8880 | (arguments |
| 8881 | ;; See: <https://github.com/sczesla/PyAstronomy/issues/64>. |
| 8882 | (list #:tests? #f)) |
| 8883 | (native-inputs |
| 8884 | (list python-ipython-minimal |
| 8885 | python-nbconvert |
| 8886 | python-pytest |
| 8887 | python-setuptools)) |
| 8888 | (propagated-inputs |
| 8889 | (list python-bidict |
| 8890 | python-numpy |
| 8891 | python-quantities |
| 8892 | python-scipy |
| 8893 | python-six)) ;hard dependency |
| 8894 | (home-page "https://pyastronomy.readthedocs.io/en/latest/") |
| 8895 | (synopsis "Collection of astronomy related tools for Python") |
| 8896 | (description |
| 8897 | "This package provides a collection of astronomy related tools for |
| 8898 | Python. |
| 8899 | |
| 8900 | The following subpackages are available: |
| 8901 | @itemize |
| 8902 | @item funcFit: A convenient fitting package providing support for minimization |
| 8903 | and MCMC sampling. |
| 8904 | @item modelSuite: A Set of astrophysical models (e.g., transit light-curve |
| 8905 | modeling), which can be used stand-alone or with funcFit. |
| 8906 | @item AstroLib: A set of useful routines including a number of ports from |
| 8907 | IDL's astrolib. |
| 8908 | @item Constants: The package provides a number of often-needed constants. |
| 8909 | @item Timing: Provides algorithms for timing analysis such as the Lomb-Scargle |
| 8910 | and the Generalized Lomb-Scargle periodogram |
| 8911 | @item pyaGUI: A collection of GUI tools for interactive work. |
| 8912 | @end itemize ") |
| 8913 | (license license:expat))) |
| 8914 | |
| 8915 | (define-public python-pyavm |
| 8916 | (package |
| 8917 | (name "python-pyavm") |
| 8918 | (version "0.9.9") |
| 8919 | (source |
| 8920 | (origin |
| 8921 | (method git-fetch) |
| 8922 | (uri (git-reference |
| 8923 | (url "https://github.com/astrofrog/pyavm") |
| 8924 | (commit (string-append "v" version)))) |
| 8925 | (file-name (git-file-name name version)) |
| 8926 | (sha256 |
| 8927 | (base32 "1xh8f4w8qiynnm4gssnwwwcml7i5v371fd7kp7a6cv9xp4rns1v6")))) |
| 8928 | (build-system pyproject-build-system) |
| 8929 | (native-inputs |
| 8930 | (list python-astropy-minimal |
| 8931 | python-hatch-vcs |
| 8932 | python-hatchling |
| 8933 | python-numpy |
| 8934 | python-pillow |
| 8935 | python-pytest)) |
| 8936 | (home-page "https://astrofrog.github.io/pyavm/") |
| 8937 | (synopsis "Simple pure-python AVM meta-data handling") |
| 8938 | (description |
| 8939 | "PyAVM is a module to represent, read, and write metadata following the |
| 8940 | @acronym{AVM, Astronomy Visualization Metadata} standard provided by |
| 8941 | @url{https://www.virtualastronomy.org/avm_metadata.php, vamp} project.") |
| 8942 | (license license:expat))) |
| 8943 | |
| 8944 | (define-public python-pycpl |
| 8945 | (package |
| 8946 | (name "python-pycpl") |
| 8947 | (version "1.0.4") |
| 8948 | (source |
| 8949 | (origin |
| 8950 | (method url-fetch) |
| 8951 | (uri (string-append |
| 8952 | "https://ftp.eso.org/pub/dfs/pipelines/libraries/pycpl/pycpl-" |
| 8953 | version ".tar.gz")) |
| 8954 | (sha256 |
| 8955 | (base32 "1i598snc9dkmdgk8f5dky1a7qz5lzh5q9kkvwi5yqnqd19sx7rc5")))) |
| 8956 | (build-system pyproject-build-system) |
| 8957 | (native-inputs |
| 8958 | (list cmake-minimal |
| 8959 | pkg-config |
| 8960 | pybind11 |
| 8961 | python-pandas |
| 8962 | python-pytest |
| 8963 | python-scipy |
| 8964 | python-setuptools)) |
| 8965 | (inputs |
| 8966 | (list cext |
| 8967 | cpl)) |
| 8968 | (propagated-inputs |
| 8969 | (list python-astropy)) |
| 8970 | (home-page "https://www.eso.org/sci/software/pycpl/") |
| 8971 | (synopsis "Python bindings for ESO's CPL") |
| 8972 | (description |
| 8973 | "PyCPL provides Python3 language bindings for the complete programming |
| 8974 | API of the @acronym{European Southern Observatory, ESO} @acronym{Common |
| 8975 | Pipeline Library, CPL} toolkit, including the CPL plugin interface.") |
| 8976 | (properties '((upstream-name . "pycpl"))) |
| 8977 | (license license:bsd-3))) |
| 8978 | |
| 8979 | (define-public python-pydl |
| 8980 | (package |
| 8981 | (name "python-pydl") |
| 8982 | (version "1.0.1") |
| 8983 | (source |
| 8984 | (origin |
| 8985 | (method url-fetch) |
| 8986 | (uri (pypi-uri "pydl" version)) |
| 8987 | (sha256 |
| 8988 | (base32 "0z08c05qf0ix4h348n0hhxixn1wipdm55g9z6qys24z41ywf69jh")))) |
| 8989 | (build-system pyproject-build-system) |
| 8990 | (native-inputs |
| 8991 | (list python-pytest-astropy |
| 8992 | python-pytest-mock |
| 8993 | python-setuptools |
| 8994 | python-setuptools-scm)) |
| 8995 | (propagated-inputs |
| 8996 | (list python-astropy |
| 8997 | python-scipy)) |
| 8998 | (home-page "https://github.com/weaverba137/pydl") |
| 8999 | (synopsis "IDL astronomy routines converted to Python") |
| 9000 | (description |
| 9001 | "This package consists of Python replacements for functions that are part |
| 9002 | of the @url{https://www.nv5geospatialsoftware.com/Products/IDL, IDL} built-in |
| 9003 | library or part of astronomical IDL libraries. The emphasis is on reproducing |
| 9004 | results of the astronomical library functions. Only the bare minimum of IDL |
| 9005 | built-in functions are implemented to support this.") |
| 9006 | (license license:bsd-3))) |
| 9007 | |
| 9008 | (define-public python-pydrad |
| 9009 | (package |
| 9010 | (name "python-pydrad") |
| 9011 | ;; Not released yet, recommended installation method via git clone. |
| 9012 | (properties '((commit . "bf0d711206f877961e6c8a6f07ac99caafe7e863") |
| 9013 | (revision . "0"))) |
| 9014 | (version (git-version "0.1.0" |
| 9015 | (assoc-ref properties 'revision) |
| 9016 | (assoc-ref properties 'commit))) |
| 9017 | (source |
| 9018 | (origin |
| 9019 | (method git-fetch) |
| 9020 | (uri (git-reference |
| 9021 | (url "https://github.com/rice-solar-physics/pydrad") |
| 9022 | (commit (assoc-ref properties 'commit)))) |
| 9023 | (file-name (git-file-name name version)) |
| 9024 | (sha256 |
| 9025 | (base32 "0djc74c66rrh6364gqr7rkprwnyrriyf6z07hzd3qq7d4ywlin61")))) |
| 9026 | (build-system pyproject-build-system) |
| 9027 | (arguments |
| 9028 | (list |
| 9029 | #:tests? #f ;tests require network access |
| 9030 | #:phases |
| 9031 | #~(modify-phases %standard-phases |
| 9032 | (add-after 'unpack 'patch-manifest.in |
| 9033 | ;; See: <https://codeberg.org/guix/guix/issues/4393>. |
| 9034 | (lambda* (#:key name source inputs #:allow-other-keys) |
| 9035 | (let ((port (open-file "MANIFEST.in" "w"))) |
| 9036 | (for-each |
| 9037 | (lambda (file) |
| 9038 | (display "include " port) |
| 9039 | (display file port) |
| 9040 | (display "\n" port)) |
| 9041 | (find-files ".")) |
| 9042 | (close port))))))) |
| 9043 | (native-inputs |
| 9044 | (list python-setuptools |
| 9045 | python-setuptools-scm)) |
| 9046 | (propagated-inputs |
| 9047 | (list python-asdf-astropy |
| 9048 | python-astropy |
| 9049 | python-gitpython |
| 9050 | python-h5py |
| 9051 | python-jinja2 |
| 9052 | python-matplotlib |
| 9053 | python-plasmapy |
| 9054 | python-scipy)) |
| 9055 | (home-page "https://pydrad.readthedocs.io/") |
| 9056 | (synopsis "Python tools for setting up HYDRAD runs and parsing output") |
| 9057 | (description |
| 9058 | "This package provides some Python tools to configure and parse output |
| 9059 | from the HYDrodynamics and RADiation (HYDRAD) code for field-aligned coronal |
| 9060 | loop physics.") |
| 9061 | (license license:expat))) |
| 9062 | |
| 9063 | (define-public python-pyerfa |
| 9064 | (package |
| 9065 | (name "python-pyerfa") |
| 9066 | (version "2.0.1.5") |
| 9067 | (source |
| 9068 | (origin |
| 9069 | (method url-fetch) |
| 9070 | (uri (pypi-uri "pyerfa" version)) |
| 9071 | (sha256 |
| 9072 | (base32 "1h7nw61wqx9qsznnl8qandixr6c1n3f65hyqwzanav44wi7v5mhp")) |
| 9073 | (modules '((guix build utils))) |
| 9074 | (snippet |
| 9075 | #~(begin |
| 9076 | ;; Remove bundled submodule library. |
| 9077 | (delete-file-recursively "liberfa"))))) |
| 9078 | (build-system pyproject-build-system) |
| 9079 | (arguments |
| 9080 | (list |
| 9081 | ;; Disable only one failing test: |
| 9082 | ;; AttributeError: __warningregistry__ |
| 9083 | ;; See https://github.com/liberfa/pyerfa/issues/126 |
| 9084 | #:test-flags #~(list "-k" "not test_errwarn_reporting") |
| 9085 | #:phases |
| 9086 | #~(modify-phases %standard-phases |
| 9087 | (add-before 'build 'use-system-liberfa |
| 9088 | (lambda _ |
| 9089 | (setenv "PYERFA_USE_SYSTEM_LIBERFA" "1"))) |
| 9090 | (add-before 'check 'build-extensions |
| 9091 | (lambda _ |
| 9092 | (invoke "python" "setup.py" "build_ext" "--inplace")))))) |
| 9093 | (native-inputs |
| 9094 | (list python-pytest-doctestplus |
| 9095 | python-pytest |
| 9096 | python-setuptools |
| 9097 | python-setuptools-scm)) |
| 9098 | (inputs |
| 9099 | (list erfa)) |
| 9100 | (propagated-inputs |
| 9101 | (list python-numpy)) |
| 9102 | (home-page "https://github.com/liberfa/pyerfa") |
| 9103 | (synopsis "Python bindings for ERFA") |
| 9104 | (description |
| 9105 | "PyERFA is the Python wrapper for the ERFA library (Essential |
| 9106 | Routines for Fundamental Astronomy), a C library containing key algorithms for |
| 9107 | astronomy, which is based on the SOFA library published by the International |
| 9108 | Astronomical Union (IAU). All C routines are wrapped as Numpy universal |
| 9109 | functions, so that they can be called with scalar or array inputs.") |
| 9110 | (license license:bsd-3))) |
| 9111 | |
| 9112 | (define-public python-pyesorex |
| 9113 | (package |
| 9114 | (name "python-pyesorex") |
| 9115 | (version "1.0.4") |
| 9116 | (source |
| 9117 | (origin |
| 9118 | (method url-fetch) |
| 9119 | (uri (string-append |
| 9120 | "https://ftp.eso.org/pub/dfs/pipelines/libraries/pyesorex/pyesorex-" |
| 9121 | version ".tar.gz")) |
| 9122 | (sha256 |
| 9123 | (base32 "15whkb4d8aa2ypz2awsg7y7m8vfrxy4djg090167zs1zmi5snnmp")))) |
| 9124 | (build-system pyproject-build-system) |
| 9125 | (native-inputs |
| 9126 | (list python-pytest |
| 9127 | python-setuptools)) |
| 9128 | (propagated-inputs |
| 9129 | (list python-pycpl)) |
| 9130 | (native-search-paths |
| 9131 | (list (search-path-specification |
| 9132 | (variable "PYESOREX_PLUGIN_DIR") |
| 9133 | (files '("lib/esopipes-plugins"))))) |
| 9134 | (home-page "https://www.eso.org/sci/software/pycpl/pycpl-site/") |
| 9135 | (synopsis "Alternative Python CLI for ESO's Rex") |
| 9136 | (description |
| 9137 | "PyEsoRex is a command line tool which can serve as a drop-in replacement |
| 9138 | of EsoRex, which can execute both, existing pipeline recipes implemented using |
| 9139 | the @acronym{Common Pipeline Library, CPL} C API, and recipes implemented |
| 9140 | using the PyCPL Python API.") |
| 9141 | (properties '((upstream-name . "pyesorex"))) |
| 9142 | (license license:bsd-3))) |
| 9143 | |
| 9144 | (define-public python-pyhalo |
| 9145 | (package |
| 9146 | (name "python-pyhalo") |
| 9147 | ;; 1.4.7 only works with a specific lenstronomy-fork |
| 9148 | (version "1.4.6") |
| 9149 | (source |
| 9150 | (origin |
| 9151 | (method url-fetch) |
| 9152 | ;; 1.4.6 is not tagged so cannot use git-fetch; 1.4.7 is though. |
| 9153 | (uri (pypi-uri "pyhalo" version)) |
| 9154 | (sha256 |
| 9155 | (base32 "0gwlcsgd4pd9smy8wx1bqk77bmd475plmqshj7r7czm8vh0w9lqr")))) |
| 9156 | (build-system pyproject-build-system) |
| 9157 | (arguments |
| 9158 | (list |
| 9159 | ;; tests: 219 passed, 22679 warnings |
| 9160 | #:phases |
| 9161 | #~(modify-phases %standard-phases |
| 9162 | (add-after 'unpack 'fix-setupup.py |
| 9163 | ;; XXX: ModuleNotFoundError: No module named 'pyHalo.cli'. |
| 9164 | (lambda _ |
| 9165 | (substitute* "setup.py" |
| 9166 | ((".pyHalo=pyHalo.cli:main.*") "")))) |
| 9167 | (add-after 'unpack 'fix-trapz |
| 9168 | (lambda _ |
| 9169 | (substitute* |
| 9170 | (list "pyHalo/Halos/HaloModels/TNFW.py" |
| 9171 | "pyHalo/Halos/tidal_truncation.py") |
| 9172 | ;; prevent TypeError: only 0-dimensional arrays can be converted |
| 9173 | ;; to Python scalars |
| 9174 | (("float\\(") "np.ndarray.item(")) |
| 9175 | (substitute* |
| 9176 | (find-files "." "\\.py$") |
| 9177 | ;; trapz is removed in NumPy 2.4.6, and is now called trapezoid. |
| 9178 | (("np.trapz\\(") "np.trapezoid(")))) |
| 9179 | (add-before 'check 'pre-check |
| 9180 | (lambda _ |
| 9181 | ;; RuntimeError: cannot cache function 'rotate': no locator |
| 9182 | ;; available for file '<...>/lenstronomy/Util/util.py'. |
| 9183 | (setenv "NUMBA_CACHE_DIR" "/tmp") |
| 9184 | ;; PermissionError: [Errno 13] Permission denied: |
| 9185 | ;; '/homeless-shelter' |
| 9186 | (setenv "HOME" "/tmp")))))) |
| 9187 | (native-inputs |
| 9188 | (list python-pytest |
| 9189 | python-setuptools)) |
| 9190 | (propagated-inputs |
| 9191 | (list python-astropy |
| 9192 | python-click |
| 9193 | python-colossus |
| 9194 | python-h5py |
| 9195 | python-lenstronomy |
| 9196 | python-mcfit |
| 9197 | python-numpy |
| 9198 | python-scipy)) |
| 9199 | (home-page "https://github.com/dangilman/pyHalo") |
| 9200 | (synopsis "Render populations of dark matter halos") |
| 9201 | (description |
| 9202 | "pyHalo renders full mass distributions for substructure lensing |
| 9203 | simulations with gravitational lensing software package lenstronomy. The main |
| 9204 | purpose of the code is to quickly render full populations of dark matter |
| 9205 | subhalos and line of sight halos for gravitational lensing simulations. It |
| 9206 | also transltes halo properties (mass, concentration, redshift, etc) into |
| 9207 | angular units for lensing computations with lenstronomy.") |
| 9208 | (license license:expat))) |
| 9209 | |
| 9210 | (define-public python-pyhdrl |
| 9211 | (package |
| 9212 | (name "python-pyhdrl") |
| 9213 | (version "1.0.0") |
| 9214 | (source |
| 9215 | (origin |
| 9216 | (method url-fetch) |
| 9217 | (uri (string-append |
| 9218 | "https://ftp.eso.org/pub/dfs/pipelines/libraries/pyhdrl/pyhdrl-" |
| 9219 | version ".tar.gz")) |
| 9220 | (sha256 |
| 9221 | (base32 "0if3fnaip89sf49riy5sk2hlh4asz0k4wlvvilr132s238wg9wx0")))) |
| 9222 | (build-system pyproject-build-system) |
| 9223 | (native-inputs |
| 9224 | (list cmake-minimal |
| 9225 | pkg-config |
| 9226 | pybind11 |
| 9227 | python-pytest |
| 9228 | python-setuptools)) |
| 9229 | (inputs |
| 9230 | (list cext |
| 9231 | cpl |
| 9232 | hdrl)) |
| 9233 | (propagated-inputs |
| 9234 | (list python-pycpl)) |
| 9235 | (home-page "https://www.eso.org/sci/software/pyhdrl/") |
| 9236 | (synopsis "Python bindings for the ESO HDRL C libraries") |
| 9237 | (description |
| 9238 | "PyHDRL provides a Python 3 API (language bindings) for the ESO High |
| 9239 | Level Data Reduction Library (HDRL) using pybind11. It allows for using the |
| 9240 | ESO High Level Data Reduction Library in Python scripts, or directly in an |
| 9241 | interactive Python session, and thus allows for using HDRL algorithms in |
| 9242 | recipes implemented in Python as part of an instrument pipeline package.") |
| 9243 | (license license:gpl3+))) |
| 9244 | |
| 9245 | (define-public python-pyindi-client |
| 9246 | (package |
| 9247 | (name "python-pyindi-client") |
| 9248 | (version "2.2.0") |
| 9249 | (source |
| 9250 | (origin |
| 9251 | (method url-fetch) |
| 9252 | (uri (pypi-uri "pyindi_client" version)) |
| 9253 | (sha256 |
| 9254 | (base32 "06jpgxxnh4c2s1jnqlpbxrjsqsaknqpxiq7c1cwalxr1qpf4w8ig")))) |
| 9255 | (build-system pyproject-build-system) |
| 9256 | (arguments |
| 9257 | (list |
| 9258 | #:phases |
| 9259 | #~(modify-phases %standard-phases |
| 9260 | (add-after 'unpack 'fix-include-path |
| 9261 | (lambda* (#:key inputs #:allow-other-keys) |
| 9262 | (substitute* (list "setup.py" "setup.cfg") |
| 9263 | (("/usr/include/libindi") |
| 9264 | (search-input-directory inputs "include/libindi"))))) |
| 9265 | (add-before 'check 'pre-check |
| 9266 | (lambda _ |
| 9267 | (system (string-append "indiserver" |
| 9268 | " indi_simulator_ccd" |
| 9269 | " indi_simulator_focus" |
| 9270 | " indi_simulator_gps" |
| 9271 | " indi_simulator_guide" |
| 9272 | " indi_simulator_wheel" |
| 9273 | " indi_simulator_telescope &"))))))) |
| 9274 | (native-inputs |
| 9275 | (list python-pytest |
| 9276 | python-setuptools |
| 9277 | swig)) |
| 9278 | (inputs |
| 9279 | (list cfitsio |
| 9280 | indi |
| 9281 | libnova)) |
| 9282 | (propagated-inputs |
| 9283 | (list python-bottle |
| 9284 | python-dbus |
| 9285 | python-requests)) |
| 9286 | (home-page "https://github.com/indilib/pyindi-client") |
| 9287 | (synopsis "Third party Python API for INDI client") |
| 9288 | (description |
| 9289 | "This package provides an INDI Client Python API, auto-generated from the |
| 9290 | official C++ API using SWIG.") |
| 9291 | (license license:gpl3+))) |
| 9292 | |
| 9293 | (define-public python-pyirf |
| 9294 | (package |
| 9295 | (name "python-pyirf") |
| 9296 | (version "0.14.0") |
| 9297 | (source |
| 9298 | (origin |
| 9299 | (method git-fetch) |
| 9300 | (uri (git-reference |
| 9301 | (url "https://github.com/cta-observatory/pyirf") |
| 9302 | (commit (string-append "v" version)))) |
| 9303 | (file-name (git-file-name name version)) |
| 9304 | (sha256 |
| 9305 | (base32 "01fk3rywhslvqsmr6vjdlicak1s5n39i139i6958wbk573vd8m3q")))) |
| 9306 | (build-system pyproject-build-system) |
| 9307 | (arguments |
| 9308 | (list |
| 9309 | #:test-flags |
| 9310 | #~(list |
| 9311 | ;; Network access is required to run "python download_irfs.py". |
| 9312 | "-k" (string-append "not test_EnergyDispersionEstimator" |
| 9313 | " and not test_EffectiveAreaEstimator_prod5")))) |
| 9314 | (native-inputs |
| 9315 | (list python-ogadf-schema |
| 9316 | python-pytest |
| 9317 | python-setuptools |
| 9318 | python-setuptools-scm)) |
| 9319 | (propagated-inputs |
| 9320 | (list python-astropy |
| 9321 | python-numpy |
| 9322 | python-packaging |
| 9323 | python-scipy |
| 9324 | python-tqdm |
| 9325 | ;; [optional] |
| 9326 | python-gammapy)) |
| 9327 | (home-page "https://github.com/cta-observatory/pyirf") |
| 9328 | (synopsis "Python IRF builder") |
| 9329 | (description |
| 9330 | "This package provides a python library to calculate @acronym{IACT, |
| 9331 | Imaging Atmospheric Cherenkov Telescopes} @acronym{IRF, Instrument Response |
| 9332 | Function} and Sensitivities.") |
| 9333 | (license license:expat))) |
| 9334 | |
| 9335 | (define-public python-pyiri |
| 9336 | (package |
| 9337 | (name "python-pyiri") |
| 9338 | (version "0.1.7") |
| 9339 | (source |
| 9340 | (origin |
| 9341 | (method git-fetch) |
| 9342 | (uri (git-reference |
| 9343 | (url "https://github.com/victoriyaforsythe/PyIRI") |
| 9344 | (commit (string-append "v" version)))) |
| 9345 | (file-name (git-file-name name version)) |
| 9346 | (sha256 |
| 9347 | (base32 "10fwj2h0vn1b8525qhfw607rsjq4q4fcpn2ya1v0iy3rzv6fvbxi")))) |
| 9348 | (build-system pyproject-build-system) |
| 9349 | (native-inputs |
| 9350 | (list python-pytest |
| 9351 | python-setuptools)) |
| 9352 | (propagated-inputs |
| 9353 | (list python-fortranformat |
| 9354 | python-matplotlib |
| 9355 | python-netcdf4 |
| 9356 | python-numpy |
| 9357 | python-opt-einsum |
| 9358 | python-pandas |
| 9359 | python-scipy)) |
| 9360 | (home-page "https://github.com/victoriyaforsythe/PyIRI") |
| 9361 | (synopsis "Python implementation of International Reference Ionosphere") |
| 9362 | (description |
| 9363 | "PyIRI is a Python implementation of the @acronym{International Reference |
| 9364 | Ionosphere, IRI} model. It provides fast, global, and altitude‑dependent |
| 9365 | evaluation of ionospheric parameters using a new spherical harmonics (SH) |
| 9366 | architecture. The model supports multiple coordinate systems and efficiently |
| 9367 | evaluates all grid points and time frames simultaneously.") |
| 9368 | (license license:expat))) |
| 9369 | |
| 9370 | (define-public python-pymcfost |
| 9371 | (package |
| 9372 | (name "python-pymcfost") |
| 9373 | (version "0.1.1") |
| 9374 | (source |
| 9375 | (origin |
| 9376 | (method url-fetch) |
| 9377 | (uri (pypi-uri "pymcfost" version)) |
| 9378 | (sha256 |
| 9379 | (base32 "0nr3s4pvdi4ihvq4jmaqpb09skb71y8xw7yvkxzlh1yb7gpd5zzh")))) |
| 9380 | (build-system pyproject-build-system) |
| 9381 | (arguments |
| 9382 | (list |
| 9383 | #:test-flags |
| 9384 | ;; No parameter files found in <...>. |
| 9385 | #~(list "--deselect=tests/test_plot.py::test_compare_data_th_plot_T") |
| 9386 | #:phases |
| 9387 | #~(modify-phases %standard-phases |
| 9388 | (add-after 'unpack 'relax-requirements |
| 9389 | (lambda _ |
| 9390 | (substitute* "pyproject.toml" |
| 9391 | ;; progressbar is not maintained, use alternative fork. |
| 9392 | (("progressbar") "progressbar2"))))))) |
| 9393 | (native-inputs |
| 9394 | (list python-pytest |
| 9395 | python-setuptools |
| 9396 | python-setuptools-scm)) |
| 9397 | (propagated-inputs |
| 9398 | (list python-astropy |
| 9399 | python-cmasher |
| 9400 | python-matplotlib |
| 9401 | python-numpy |
| 9402 | python-progressbar2 |
| 9403 | python-scipy)) |
| 9404 | (home-page "https://github.com/cpinte/pymcfost") |
| 9405 | (synopsis "Interface to the 3D radiative transfer code MCFOST") |
| 9406 | (description |
| 9407 | "Pymcfost is a Python interface to the 3D radiative transfer code |
| 9408 | MCFOST. The goal is to provide a simple and light interface to explore and |
| 9409 | plot a single (or a few) model(s).") |
| 9410 | (license license:expat))) |
| 9411 | |
| 9412 | (define-public python-pynbody |
| 9413 | (package |
| 9414 | (name "python-pynbody") |
| 9415 | (version "2.7.1") |
| 9416 | (source |
| 9417 | (origin |
| 9418 | (method git-fetch) |
| 9419 | (uri (git-reference |
| 9420 | (url "https://github.com/pynbody/pynbody") |
| 9421 | (commit (string-append "v" version)))) |
| 9422 | (file-name (git-file-name name version)) |
| 9423 | (sha256 |
| 9424 | (base32 "0gxgd8yh0dv1zjf43l98m0gis2by21rn2pb2xmx6lija4w7jrcpj")) |
| 9425 | (modules '((guix build utils))) |
| 9426 | (snippet |
| 9427 | ;; Symlink goes to not existing directory. |
| 9428 | #~(for-each delete-file '("docs/testdata" |
| 9429 | "docs/tutorials/example_code/testdata"))))) |
| 9430 | (build-system pyproject-build-system) |
| 9431 | (arguments |
| 9432 | (list |
| 9433 | ;; tests: 288 passed, 6 skipped, 13 deselected |
| 9434 | #:test-flags |
| 9435 | ;; XXX: testdata is distributed via Zenodo |
| 9436 | ;; <https://zenodo.org/records/17084976> with total size more than 2GiB, |
| 9437 | ;; refer to the helper script obtaining it |
| 9438 | ;; <pynbody/test_utils/__init__.py>. |
| 9439 | #~(list #$@(map (lambda (file) (string-append "--ignore=tests/" file)) |
| 9440 | (list "adaptahop_test.py" |
| 9441 | "ahf_halos_test.py" |
| 9442 | "array_test.py" |
| 9443 | "bridge_test.py" |
| 9444 | "copy_on_access_test.py" |
| 9445 | "family_test.py" |
| 9446 | "gadget_test.py" |
| 9447 | "gadgethdf_test.py" |
| 9448 | "gizmo_test.py" |
| 9449 | "grafic_test.py" |
| 9450 | "gravity_test.py" |
| 9451 | "halos_test.py" |
| 9452 | "halotools_test.py" |
| 9453 | "hbtplus_test.py" |
| 9454 | "hmf_test.py" |
| 9455 | "hop_test.py" |
| 9456 | "ionfrac_test.py" |
| 9457 | "kdtree_test.py" |
| 9458 | "luminosity_test.py" |
| 9459 | "morphology_test.py" |
| 9460 | "nchilada_test.py" |
| 9461 | "partial_tipsy_test.py" |
| 9462 | "pkdgravhdf_test.py" |
| 9463 | "plot_stars_test.py" |
| 9464 | "profile_test.py" |
| 9465 | "ramses_new_ptcl_format_test.py" |
| 9466 | "ramses_test.py" |
| 9467 | "rockstar_test.py" |
| 9468 | "schmidtlaw_test.py" |
| 9469 | "snapshot_test.py" |
| 9470 | "sph_image_test.py" |
| 9471 | "subfind_test.py" |
| 9472 | "subfindhdf_gadget4_test.py" |
| 9473 | "subfindhdf_test.py" |
| 9474 | "swift_test.py" |
| 9475 | "tipsy_test.py" |
| 9476 | "velociraptor_test.py")) |
| 9477 | "--deselect=tests/shape_test.py::test_2D_shape" |
| 9478 | "--deselect=tests/shape_test.py::test_3D_shape" |
| 9479 | "--deselect=tests/shape_test.py::test_halo_shape_wrapper" |
| 9480 | "--deselect=tests/split_swift_snapshot_test.py::test_split_snapshot" |
| 9481 | "--deselect=tests/split_swift_snapshot_test.py::test_split_snapshot_with_mask" |
| 9482 | "--deselect=tests/test_profile.py::test_unique_hash_generation" |
| 9483 | "--deselect=tests/test_profile.py::test_write_profile") |
| 9484 | #:phases |
| 9485 | #~(modify-phases %standard-phases |
| 9486 | (add-before 'check 'pre-check |
| 9487 | (lambda _ |
| 9488 | (mkdir-p "testdata/empty_folder_0001") |
| 9489 | (setenv "HOME" "/tmp")))))) |
| 9490 | (native-inputs |
| 9491 | (list nss-certs-for-test |
| 9492 | python-cython |
| 9493 | python-ipython-minimal |
| 9494 | python-pandas |
| 9495 | python-pytest |
| 9496 | python-setuptools)) |
| 9497 | (propagated-inputs |
| 9498 | (list python-certifi |
| 9499 | python-h5py |
| 9500 | python-matplotlib |
| 9501 | python-numpy |
| 9502 | python-osfclient |
| 9503 | python-scipy)) |
| 9504 | (home-page "https://pynbody.readthedocs.io/latest/") |
| 9505 | (synopsis "Light-weight astronomical N-body/SPH analysis for Python") |
| 9506 | (description |
| 9507 | "@code{Pynbody} is an analysis framework for N-body and hydrodynamic |
| 9508 | astrophysical simulations supporting PKDGRAV/Gasoline, Gadget, Gadget4/Arepo, |
| 9509 | N-Chilada and RAMSES AMR outputs.") |
| 9510 | (license license:gpl3+))) |
| 9511 | |
| 9512 | (define-public python-pypeit |
| 9513 | (package |
| 9514 | (name "python-pypeit") |
| 9515 | (version "2.0.1") |
| 9516 | (source |
| 9517 | (origin |
| 9518 | (method git-fetch) |
| 9519 | (uri (git-reference |
| 9520 | (url "https://github.com/pypeit/PypeIt") |
| 9521 | (commit version))) |
| 9522 | (file-name (git-file-name name version)) |
| 9523 | (sha256 |
| 9524 | (base32 "14szspwxmf7mks6lr4n7l0nlfcipf9w2fzg4643c64x6lhy36qpf")))) |
| 9525 | (build-system pyproject-build-system) |
| 9526 | (arguments |
| 9527 | (list |
| 9528 | ;; TODO: Astropy removed 'coordinates/data/sites.json' from the package |
| 9529 | ;; which forces to download site data during sanity-check, and check |
| 9530 | ;; phases, see: <https://github.com/astropy/astropy/pull/18649>, |
| 9531 | ;; <https://codeberg.org/guix/guix/issues/6371#issuecomment-10784417>. |
| 9532 | #:tests? #f |
| 9533 | #:phases |
| 9534 | #~(modify-phases %standard-phases |
| 9535 | (delete 'sanity-check) |
| 9536 | ;; XXX: See: <https://github.com/pypeit/PypeIt/issues/1786>. |
| 9537 | (add-after 'unpack 'remove-missing-scripts-entry-points |
| 9538 | (lambda _ |
| 9539 | (substitute* "pyproject.toml" |
| 9540 | ((".*pypeit_install_ql_calibs.*") "") |
| 9541 | ((".*pypeit_ql_multislit.*") "")))) |
| 9542 | (add-after 'unpack 'relax-requirements |
| 9543 | (lambda _ |
| 9544 | (substitute* "pyproject.toml" |
| 9545 | ;; numpy>=2.4.1 |
| 9546 | ((">=2.4.1") ">=2.3.1")))) |
| 9547 | (add-after 'install 'include-package-data |
| 9548 | ;; XXX: PyPI archive provides pypeit/data but during build from |
| 9549 | ;; Git it's ignored for some reason, add it manually. |
| 9550 | (lambda* (#:key inputs outputs #:allow-other-keys) |
| 9551 | (copy-recursively "pypeit/data" |
| 9552 | (string-append (site-packages inputs outputs) |
| 9553 | "/pypeit/data")))) |
| 9554 | (add-before 'check 'pre-check |
| 9555 | (lambda _ |
| 9556 | (system "Xvfb &") |
| 9557 | (setenv "DISPLAY" ":0") |
| 9558 | (setenv "HOME" "/tmp") |
| 9559 | (setenv "MPLBACKEND" "agg")))))) |
| 9560 | (native-inputs |
| 9561 | (list python-cython |
| 9562 | python-specutils)) |
| 9563 | (propagated-inputs |
| 9564 | (list python-astropy |
| 9565 | python-bottleneck |
| 9566 | python-configobj |
| 9567 | python-fast-histogram |
| 9568 | python-ginga |
| 9569 | python-ipython |
| 9570 | python-matplotlib |
| 9571 | python-numpy |
| 9572 | python-packaging |
| 9573 | python-pyerfa |
| 9574 | python-pygithub |
| 9575 | python-pyqt-6 |
| 9576 | python-pyyaml |
| 9577 | python-qtpy |
| 9578 | python-scikit-learn |
| 9579 | python-scipy |
| 9580 | ;; [optional] |
| 9581 | python-scikit-image |
| 9582 | python-specutils)) |
| 9583 | (home-page "https://github.com/pypeit/PypeIt") |
| 9584 | (synopsis "Spectroscopic Data Reduction Pipeline") |
| 9585 | (description |
| 9586 | "PypeIt is a Python package for semi-automated reduction of astronomical |
| 9587 | spectroscopic data. Its algorithms build on decades-long development of |
| 9588 | previous data reduction pipelines by the developers. |
| 9589 | |
| 9590 | It is designed to be used by both advanced spectroscopists with prior data |
| 9591 | reduction expertise and astronomers with no prior experience of data |
| 9592 | reduction. It is highly configurable and designed to be applied to any |
| 9593 | standard slit-imaging spectrograph, including long-slit, multi-slit, as well |
| 9594 | as cross-dispersed echelle spectra.") |
| 9595 | (license license:bsd-3))) |
| 9596 | |
| 9597 | ;; A bare minimal package, mainly to use in tests and reduce closure |
| 9598 | ;; size. Tests are left out in the main package to slim down native-inputs. |
| 9599 | (define-public python-pypeit-minimal |
| 9600 | (package/inherit python-pypeit |
| 9601 | (name "python-pypeit-minimal") |
| 9602 | (arguments |
| 9603 | (substitute-keyword-arguments |
| 9604 | (package-arguments python-pypeit) |
| 9605 | ((#:tests? _ #t) #f))) |
| 9606 | (native-inputs |
| 9607 | (list python-setuptools |
| 9608 | python-setuptools-scm)))) |
| 9609 | |
| 9610 | (define-public python-pyregion |
| 9611 | (package |
| 9612 | (name "python-pyregion") |
| 9613 | (version "2.3.0") |
| 9614 | (source |
| 9615 | (origin |
| 9616 | (method url-fetch) |
| 9617 | (uri (pypi-uri "pyregion" version)) |
| 9618 | (sha256 |
| 9619 | (base32 "09a98v3zk1vdjns1q64al58mapr4cns3nlnyi6b26wqi888qfjg8")))) |
| 9620 | (build-system pyproject-build-system) |
| 9621 | (arguments |
| 9622 | (list |
| 9623 | #:phases |
| 9624 | #~(modify-phases %standard-phases |
| 9625 | (replace 'check |
| 9626 | (lambda* (#:key tests? test-flags #:allow-other-keys) |
| 9627 | (with-directory-excursion #$output |
| 9628 | (apply invoke "pytest" "-vv" test-flags)))) |
| 9629 | (add-before 'check 'post-check |
| 9630 | (lambda _ |
| 9631 | (for-each delete-file-recursively |
| 9632 | (find-files #$output "__pycache__" #:directories? #t))))))) |
| 9633 | (native-inputs |
| 9634 | (list python-cython |
| 9635 | python-extension-helpers |
| 9636 | python-pytest |
| 9637 | python-pytest-astropy |
| 9638 | python-setuptools |
| 9639 | python-setuptools-scm)) |
| 9640 | (propagated-inputs |
| 9641 | (list python-astropy |
| 9642 | python-numpy |
| 9643 | python-pyparsing)) |
| 9644 | (home-page "https://github.com/astropy/pyregion") |
| 9645 | (synopsis "Python parser for ds9 region files") |
| 9646 | (description |
| 9647 | "@code{pyregion} is a python module to parse ds9 region files. It also |
| 9648 | supports ciao region files. |
| 9649 | Features: |
| 9650 | @itemize |
| 9651 | @item ds9 and ciao region files. |
| 9652 | @item (physical, WCS) coordinate conversion to the image coordinate. |
| 9653 | @item convert regions to matplotlib patches. |
| 9654 | @item convert regions to spatial filter (i.e., generate mask images) |
| 9655 | @end itemize") |
| 9656 | (license license:expat))) |
| 9657 | |
| 9658 | (define-public python-pysat |
| 9659 | (package |
| 9660 | (name "python-pysat") |
| 9661 | (version "3.2.2") |
| 9662 | (source |
| 9663 | (origin |
| 9664 | (method git-fetch) |
| 9665 | (uri (git-reference |
| 9666 | (url "https://github.com/pysat/pysat") |
| 9667 | (commit (string-append "v" version)))) |
| 9668 | (file-name (git-file-name name version)) |
| 9669 | (sha256 |
| 9670 | (base32 "0gm71zafigwc94s37wqyl86yjabpq6wx9izwxag74wg1ynhqyvf0")))) |
| 9671 | (build-system pyproject-build-system) |
| 9672 | (arguments |
| 9673 | (list |
| 9674 | ;; tests: 494 passed, 2 skipped, 41 warnings |
| 9675 | #:test-flags |
| 9676 | #~(list "--durations=10" ; report 10 slowest tests |
| 9677 | "--numprocesses" (number->string (min 8 (parallel-job-count))) |
| 9678 | ;; XXX: Dropping a big portion of test suite due to potential |
| 9679 | ;; abandonware of the project, see: |
| 9680 | ;; <https://github.com/pysat/pysat/issues/1232>. |
| 9681 | ;; |
| 9682 | ;; Most of the tests fail with errpr: pandas.errors.ParserError: |
| 9683 | ;; Error tokenizing data. C error: <...>. |
| 9684 | "--ignore=pysat/tests/test_constellation.py" |
| 9685 | "--ignore=pysat/tests/test_files.py" |
| 9686 | "--ignore=pysat/tests/test_instrument.py" |
| 9687 | "--ignore=pysat/tests/test_instrument_custom.py" |
| 9688 | "--ignore=pysat/tests/test_instrument_index.py" |
| 9689 | "--ignore=pysat/tests/test_instrument_padding.py" |
| 9690 | "--ignore=pysat/tests/test_instruments.py" |
| 9691 | "--ignore=pysat/tests/test_meta.py" |
| 9692 | "--ignore=pysat/tests/test_meta_labels.py" |
| 9693 | "--ignore=pysat/tests/test_methods_general.py" |
| 9694 | "--ignore=pysat/tests/test_methods_testing.py" |
| 9695 | "--ignore=pysat/tests/test_orbits.py" |
| 9696 | "--ignore=pysat/tests/test_registry.py" |
| 9697 | "--ignore=pysat/tests/test_utils.py" |
| 9698 | "--ignore=pysat/tests/test_utils_coords.py" |
| 9699 | "--ignore=pysat/tests/test_utils_files.py" |
| 9700 | "--ignore=pysat/tests/test_utils_io.py") |
| 9701 | #:phases |
| 9702 | #~(modify-phases %standard-phases |
| 9703 | (add-before 'build 'set-home-env |
| 9704 | (lambda _ |
| 9705 | ;; No such file or directory: '/homeless-shelter/.pysat' |
| 9706 | (setenv "HOME" "/tmp"))) |
| 9707 | (add-before 'check 'pre-check |
| 9708 | (lambda _ |
| 9709 | (mkdir "pysatData") |
| 9710 | (invoke "python" "-c" |
| 9711 | "import pysat; pysat.params['data_dirs'] = 'pysatData'")))))) |
| 9712 | (native-inputs |
| 9713 | (list python-pytest |
| 9714 | python-pytest-xdist |
| 9715 | python-setuptools)) |
| 9716 | (propagated-inputs |
| 9717 | (list python-dask |
| 9718 | python-netcdf4 |
| 9719 | python-numpy |
| 9720 | python-pandas |
| 9721 | python-portalocker |
| 9722 | python-scipy |
| 9723 | python-toolz |
| 9724 | python-xarray)) |
| 9725 | (home-page "https://github.com/pysat/pysat") |
| 9726 | (synopsis "Supports science analysis across disparate data platforms") |
| 9727 | (description |
| 9728 | "The Python Satellite Data Analysis Toolkit (pysat) provides a simple and |
| 9729 | flexible interface for robust data analysis from beginning to end - including |
| 9730 | downloading, loading, cleaning, managing, processing, and analyzing |
| 9731 | data. Pysat's plug-in design allows analysis support for any data, including |
| 9732 | user provided data sets.") |
| 9733 | (license license:bsd-3))) |
| 9734 | |
| 9735 | (define-public python-pysatmadrigal |
| 9736 | ;; XXX: Project is unmaintained and potentially not compatible with NumPy 2 |
| 9737 | ;; and Pandas 3. |
| 9738 | (package |
| 9739 | (name "python-pysatmadrigal") |
| 9740 | (version "0.2.0") |
| 9741 | (source |
| 9742 | (origin |
| 9743 | (method git-fetch) |
| 9744 | (uri (git-reference |
| 9745 | (url "https://github.com/pysat/pysatMadrigal") |
| 9746 | (commit (string-append "v" version)))) |
| 9747 | (file-name (git-file-name name version)) |
| 9748 | (sha256 |
| 9749 | (base32 "1x1sbx9xv9h1p85cryn2b9kbnxy0kb9xzfgxcvfrpfxa5ji4qwcp")))) |
| 9750 | (build-system pyproject-build-system) |
| 9751 | (arguments |
| 9752 | (list |
| 9753 | ;; tests: 126 passed, 271 skipped, 59 deselected, 1304 warnings |
| 9754 | #:test-flags |
| 9755 | #~(list "--ignore=pysatMadrigal/tests/test_methods_general.py" |
| 9756 | "--ignore=pysatMadrigal/tests/test_methods_dmsp.py" |
| 9757 | ;; ValueError: unable to open url http://cedar.openmadrigal.org |
| 9758 | "-k" "not test_download and not test_remote_file_list") |
| 9759 | #:phases |
| 9760 | #~(modify-phases %standard-phases |
| 9761 | (add-before 'sanity-check 'set-HOME |
| 9762 | (lambda _ |
| 9763 | (setenv "HOME" "/tmp"))) |
| 9764 | (add-before 'check 'pre-check |
| 9765 | (lambda _ |
| 9766 | (mkdir "pysatData") |
| 9767 | (invoke "python" "-c" |
| 9768 | "import pysat; pysat.params['data_dirs'] = 'pysatData'")))))) |
| 9769 | (native-inputs |
| 9770 | (list python-pytest |
| 9771 | python-setuptools)) |
| 9772 | (propagated-inputs |
| 9773 | (list python-h5py |
| 9774 | python-madrigalweb |
| 9775 | python-numpy |
| 9776 | python-packaging |
| 9777 | python-pandas |
| 9778 | python-pysat |
| 9779 | python-xarray)) |
| 9780 | (home-page "https://github.com/pysat/pysatMadrigal") |
| 9781 | (synopsis "Madrigal instrument support for the pysat ecosystem") |
| 9782 | (description |
| 9783 | "This package provides functions to import data from the |
| 9784 | @url{https://cedar.openmadrigal.org/, Madrigal} database (upper atmospheric |
| 9785 | science database) into pysat.") |
| 9786 | (license license:bsd-3))) |
| 9787 | |
| 9788 | (define-public python-pysatspaceweather |
| 9789 | (package |
| 9790 | (name "python-pysatspaceweather") |
| 9791 | (version "0.2.2") |
| 9792 | (source |
| 9793 | (origin |
| 9794 | (method git-fetch) |
| 9795 | (uri (git-reference |
| 9796 | (url "https://github.com/pysat/pysatSpaceWeather") |
| 9797 | (commit (string-append "v" version)))) |
| 9798 | (file-name (git-file-name name version)) |
| 9799 | (sha256 |
| 9800 | (base32 "0gd6vzy2ikgkrff94qg52pysf1vp7h1p12p8in9j6f6n3cs1b0z2")))) |
| 9801 | (build-system pyproject-build-system) |
| 9802 | (arguments |
| 9803 | (list |
| 9804 | ;; tests: 304 passed, 561 skipped, 61 deselected, 2503 warnings |
| 9805 | #:test-flags |
| 9806 | #~(list "-m" "not remote_data" |
| 9807 | "--ignore=pysatSpaceWeather/tests/test_methods_kp.py" |
| 9808 | ;; Network access is required. |
| 9809 | "-k" (string-join |
| 9810 | (list "not test_download" |
| 9811 | "test_historic_ace_no_data" |
| 9812 | "test_historic_download_past_limit" |
| 9813 | "test_missing_kp_file" |
| 9814 | "test_missing_prelim_file" |
| 9815 | "test_realtime_ace_bad_day" |
| 9816 | ;; KeyError: 'f107' |
| 9817 | "test_45day_forecast_data_length") |
| 9818 | " and not ")) |
| 9819 | #:phases |
| 9820 | #~(modify-phases %standard-phases |
| 9821 | (add-before 'sanity-check 'set-HOME |
| 9822 | (lambda _ |
| 9823 | (setenv "HOME" "/tmp"))) |
| 9824 | (add-before 'check 'pre-check |
| 9825 | (lambda _ |
| 9826 | (mkdir "pysatData") |
| 9827 | (invoke "python" "-c" |
| 9828 | "import pysat; pysat.params['data_dirs'] = 'pysatData'")))))) |
| 9829 | (native-inputs |
| 9830 | (list python-pytest |
| 9831 | python-setuptools)) |
| 9832 | (propagated-inputs |
| 9833 | (list python-netcdf4 |
| 9834 | python-numpy |
| 9835 | python-packaging |
| 9836 | python-pandas |
| 9837 | python-pysat |
| 9838 | python-requests |
| 9839 | python-xarray)) |
| 9840 | (home-page "https://github.com/pysat/pysatSpaceWeather") |
| 9841 | (synopsis "Pysat support for Space Weather Indices") |
| 9842 | (description |
| 9843 | "This package provides pysatSpaceWeather - a Python module, which |
| 9844 | contains routines to load common historic, real-time, and forecasted space |
| 9845 | weather indices as pysat.Instrument objects.") |
| 9846 | (license license:bsd-3))) |
| 9847 | |
| 9848 | (define-public python-pysiaf |
| 9849 | (package |
| 9850 | (name "python-pysiaf") |
| 9851 | (version "0.28.0") |
| 9852 | (source |
| 9853 | (origin |
| 9854 | (method git-fetch) |
| 9855 | (uri (git-reference |
| 9856 | (url "https://github.com/spacetelescope/pysiaf") |
| 9857 | (commit (string-append "v" version)))) |
| 9858 | (file-name (git-file-name name version)) |
| 9859 | (sha256 |
| 9860 | (base32 "14zacxpc9qjzhs0ncaiyrw04rriy4bb26yp5ca8wbhlkhphpaw9i")))) |
| 9861 | (build-system pyproject-build-system) |
| 9862 | (arguments |
| 9863 | (list |
| 9864 | ;; tests: 43 passed, 2 deselected |
| 9865 | #:test-flags |
| 9866 | ;; Disable 2 failing tests, see |
| 9867 | ;; <https://github.com/spacetelescope/pysiaf/issues/338> |
| 9868 | #~(list "-k" (string-append "not test_write_jwst_siaf_xlsx" |
| 9869 | " and not test_write_jwst_siaf_xml" )))) |
| 9870 | (native-inputs |
| 9871 | (list python-pytest |
| 9872 | python-setuptools |
| 9873 | python-setuptools-scm)) |
| 9874 | (propagated-inputs |
| 9875 | (list python-astropy |
| 9876 | python-lxml |
| 9877 | python-matplotlib |
| 9878 | python-numpy |
| 9879 | python-openpyxl |
| 9880 | python-requests |
| 9881 | python-scipy)) |
| 9882 | (home-page "https://pysiaf.readthedocs.io/") |
| 9883 | (synopsis "Handling SIAF for space telescopes") |
| 9884 | (description |
| 9885 | "@code{pysiaf} is a Python package to access, interpret, maintain, and |
| 9886 | generate @acronym{Handling of Science Instrument Aperture Files, SIAF}, in |
| 9887 | particular for @acronym{JWST, James Webb Space Telescope}. Tools for applying |
| 9888 | the frame transformations, plotting, comparison, and validation are |
| 9889 | provided.") |
| 9890 | (license license:bsd-3))) |
| 9891 | |
| 9892 | (define-public python-pysiril |
| 9893 | (package |
| 9894 | (name "python-pysiril") |
| 9895 | (version "0.0.17") |
| 9896 | (source |
| 9897 | (origin |
| 9898 | (method git-fetch) ; not published on PyPI |
| 9899 | (uri (git-reference |
| 9900 | (url "https://gitlab.com/free-astro/pysiril") |
| 9901 | (commit (string-append |
| 9902 | "V" (string-replace-substring version "." "_"))))) |
| 9903 | (file-name (git-file-name name version)) |
| 9904 | (sha256 |
| 9905 | (base32 "0w8zc6gm8a18l4rvjv22a0l6m2c45bzj1f2m6sbshaq9z30bm0vv")))) |
| 9906 | (build-system pyproject-build-system) |
| 9907 | (arguments |
| 9908 | (list #:tests? #f)) ; no tests |
| 9909 | (native-inputs |
| 9910 | (list python-setuptools)) |
| 9911 | (home-page "https://siril.org/tutorials/pysiril/") |
| 9912 | (synopsis "Python interface to SiriL") |
| 9913 | (description |
| 9914 | "This package provides an extending scripting capabilities, present |
| 9915 | natively in Siril.") |
| 9916 | (license license:gpl3))) |
| 9917 | |
| 9918 | (define-public python-pysm3 |
| 9919 | (package |
| 9920 | (name "python-pysm3") |
| 9921 | (version "3.4.6") |
| 9922 | (source |
| 9923 | (origin |
| 9924 | (method git-fetch) |
| 9925 | (uri (git-reference |
| 9926 | (url "https://github.com/galsci/pysm") |
| 9927 | (commit version))) |
| 9928 | (file-name (git-file-name name version)) |
| 9929 | (sha256 |
| 9930 | (base32 "120fyg7zs2jn260q5mzr0jkjiv7vbb9mq79lwhrjarwij3l23fa8")))) |
| 9931 | (build-system pyproject-build-system) |
| 9932 | (arguments |
| 9933 | (list |
| 9934 | ;; tests: 75 passed, 2 skipped, 100 deselected |
| 9935 | #:test-flags |
| 9936 | ;; XXX: Tests requiring additional FITS files, check if they may be |
| 9937 | ;; packages: |
| 9938 | ;; - <http://www.astropy.org/astropy-data> |
| 9939 | ;; - <https://github.com/healpy/healpy-data> |
| 9940 | ;; - <https://healpy.github.io/healpy-data> |
| 9941 | ;; - <https://portal.nersc.gov/project/cmb/pysm-data> |
| 9942 | #~(list "-k" (string-join |
| 9943 | (list "not test_bandpass_unit_conversion" |
| 9944 | "test_bandpass_unit_conversion_CMB2MJysr" |
| 9945 | "test_bandpass_unit_conversion_MJysr2KRJ" |
| 9946 | "test_cmb_lensed" |
| 9947 | "test_cmb_lensed_delens" |
| 9948 | "test_cmb_lensed_l01" |
| 9949 | "test_cmb_lensed_no_delens" |
| 9950 | "test_cmb_lensed_with_patch_object" |
| 9951 | "test_cmb_map" |
| 9952 | "test_cmb_map_bandpass" |
| 9953 | "test_co" |
| 9954 | "test_co_model" |
| 9955 | "test_d10_vs_d11" |
| 9956 | "test_dust_model" |
| 9957 | "test_dust_model_353" |
| 9958 | "test_gnilc_857" |
| 9959 | "test_healpix_output_nside" |
| 9960 | "test_highfreq_dust_model" |
| 9961 | "test_model" |
| 9962 | "test_model_d12" |
| 9963 | "test_no_quadrupole" |
| 9964 | "test_presmoothed" |
| 9965 | "test_print_quadrupole_amplitudes" |
| 9966 | "test_quadrupole_corrected_freqs" |
| 9967 | "test_read_map_mpi_pixel_indices" |
| 9968 | "test_read_map_mpi_uniform_distribution" |
| 9969 | "test_read_map_unit" |
| 9970 | "test_read_map_unit_dimensionless" |
| 9971 | "test_s6_vs_s5" |
| 9972 | "test_sky_max_nside" |
| 9973 | "test_sky_max_nside_highres" |
| 9974 | "test_smoothing_healpix" |
| 9975 | "test_smoothing_healpix_beamwindow" |
| 9976 | "test_synch_44" |
| 9977 | "test_synch_model_noscaling" |
| 9978 | "test_synch_model_s7_44" |
| 9979 | "test_synch_model_s7_noscaling" |
| 9980 | "test_synchrotron_model" |
| 9981 | ;; RuntimeError: This function has been removed. Use |
| 9982 | ;; reproject.healpix2map(...method='harm'). |
| 9983 | "test_car_nosmoothing") |
| 9984 | " and not ") |
| 9985 | "tests") |
| 9986 | #:phases |
| 9987 | #~(modify-phases %standard-phases |
| 9988 | (add-after 'unpack 'relax-requirements |
| 9989 | (lambda _ |
| 9990 | (substitute* "pyproject.toml" |
| 9991 | ;; scipy >= 1.10, < 1.15 |
| 9992 | ((" >= 1.10, < 1.15") ">=1.10"))))))) |
| 9993 | (native-inputs |
| 9994 | (list nss-certs-for-test |
| 9995 | python-hatch-vcs |
| 9996 | python-hatchling |
| 9997 | python-nbval |
| 9998 | python-netcdf4 |
| 9999 | python-pixell |
| 10000 | python-psutil |
| 10001 | python-pytest |
| 10002 | python-pytest-astropy |
| 10003 | python-setuptools-scm |
| 10004 | python-xarray)) |
| 10005 | (propagated-inputs |
| 10006 | (list python-astropy |
| 10007 | python-h5py |
| 10008 | python-healpy |
| 10009 | python-numba |
| 10010 | python-numpy |
| 10011 | python-scipy |
| 10012 | python-toml)) |
| 10013 | (home-page "https://pysm3.readthedocs.io/") |
| 10014 | (synopsis "Sky emission simulations for Cosmic Microwave Background experiments") |
| 10015 | (description |
| 10016 | "PySM generates full-sky simulations of Galactic emissions in intensity |
| 10017 | and polarization relevant to @acronym{Cosmic Microwave Background, CMB} |
| 10018 | experiments. It is a large refactor of |
| 10019 | @url{https://github.com/bthorne93/PySM_public, PySM 2} focused on reducing |
| 10020 | memory usage, improving performance and run in parallel with MPI.") |
| 10021 | (license license:bsd-3))) |
| 10022 | |
| 10023 | (define-public python-pyspedas |
| 10024 | (package |
| 10025 | (name "python-pyspedas") |
| 10026 | (version "2.1.4") |
| 10027 | (source |
| 10028 | (origin |
| 10029 | (method git-fetch) |
| 10030 | (uri (git-reference |
| 10031 | (url "https://github.com/spedas/pyspedas") |
| 10032 | (commit (string-append "v" version)))) |
| 10033 | (file-name (git-file-name name version)) |
| 10034 | (sha256 |
| 10035 | (base32 "1ifgbrswn829dqqjrz61qr52xd04s90rnd9ixz7yvrwj0kf72hxv")))) |
| 10036 | (build-system pyproject-build-system) |
| 10037 | (arguments |
| 10038 | (list |
| 10039 | ;; XXX: Netowrk access is required and set up of geopack. |
| 10040 | #:tests? #f |
| 10041 | #:phases |
| 10042 | #~(modify-phases %standard-phases |
| 10043 | (add-before 'sanity-check 'set-HOME |
| 10044 | (lambda _ |
| 10045 | (setenv "HOME" "/tmp")))))) |
| 10046 | (native-inputs |
| 10047 | (list python-setuptools)) |
| 10048 | (propagated-inputs |
| 10049 | (list python-aioboto3 |
| 10050 | python-astropy |
| 10051 | python-cdasws |
| 10052 | python-cdflib |
| 10053 | python-fsspec |
| 10054 | python-geopack |
| 10055 | python-hapiclient |
| 10056 | python-matplotlib |
| 10057 | python-netcdf4 |
| 10058 | python-numpy |
| 10059 | python-pandas |
| 10060 | python-pywavelets |
| 10061 | python-requests |
| 10062 | python-s3fs |
| 10063 | python-scipy |
| 10064 | python-setuptools |
| 10065 | python-spacepy |
| 10066 | python-xarray)) |
| 10067 | (home-page "https://spedas.org") |
| 10068 | (synopsis "Python Space Physics Environment Data Analysis Software") |
| 10069 | (description |
| 10070 | "The Python-based Space Physics Environment Data Analysis Software |
| 10071 | (PySPEDAS) framework supports multi-mission, multi-instrument retrieval, |
| 10072 | analysis, and visualization of heliophysics time series data.") |
| 10073 | (license license:expat))) |
| 10074 | |
| 10075 | (define-public python-pysynphot |
| 10076 | ;; XXX: 2.0.0 was released in 2021 there are a lot of changes since that |
| 10077 | ;; time and it failed to build with python-astropy 6.0.0, use the latest |
| 10078 | ;; upstream commit for now. |
| 10079 | (let ((commit "a5e76c398f5b03192fa54659f81e7e1a929d9f7c") |
| 10080 | (revision "1")) |
| 10081 | (package |
| 10082 | (name "python-pysynphot") |
| 10083 | (version (git-version "2.0.0" revision commit)) |
| 10084 | (source |
| 10085 | (origin |
| 10086 | (method git-fetch) |
| 10087 | (uri (git-reference |
| 10088 | (url "https://github.com/spacetelescope/pysynphot") |
| 10089 | (commit commit))) |
| 10090 | (file-name (git-file-name name version)) |
| 10091 | (sha256 |
| 10092 | (base32 "1a1gr39jl0ivc9wviwlbn1hq542chd2psy23hjxpjrhq33ppa7bn")))) |
| 10093 | (build-system pyproject-build-system) |
| 10094 | (arguments |
| 10095 | (list |
| 10096 | ;; tests: 189 passed, 213 skipped, 3 xfailed |
| 10097 | #:phases |
| 10098 | #~(modify-phases %standard-phases |
| 10099 | ;; NumPy2 should work even though not officially supported. |
| 10100 | ;; See <https://github.com/spacetelescope/pysynphot/pull/164> |
| 10101 | (add-after 'unpack 'relax-dependencies |
| 10102 | (lambda _ |
| 10103 | (substitute* "setup.py" |
| 10104 | (("'numpy<2'") "'numpy'")))) |
| 10105 | (add-before 'check 'set-env-data-path |
| 10106 | (lambda _ |
| 10107 | (setenv "PYSYN_CDBS" (string-append #$output "/crds"))))))) |
| 10108 | (native-inputs |
| 10109 | (list python-pytest |
| 10110 | python-pytest-remotedata |
| 10111 | python-setuptools |
| 10112 | python-setuptools-scm)) |
| 10113 | (propagated-inputs |
| 10114 | (list python-astropy |
| 10115 | python-beautifulsoup4 |
| 10116 | python-numpy |
| 10117 | python-pytest-astropy-header |
| 10118 | python-six)) |
| 10119 | (home-page "https://github.com/spacetelescope/pysynphot") |
| 10120 | (synopsis "Python Synthetic Photometry Utilities") |
| 10121 | (description |
| 10122 | "Astrolib PySynphot (hereafter referred to only as pysynphot) is an |
| 10123 | object-oriented replacement for STSDAS SYNPHOT synthetic photometry package in |
| 10124 | IRAF. @code{pysynphot} simulates photometric data and spectra as they are |
| 10125 | observed with the Hubble Space Telescope (HST). Passbands for standard |
| 10126 | photometric systems are available, and users can incorporate their own filters, |
| 10127 | spectra, and data.") |
| 10128 | (license license:bsd-3)))) |
| 10129 | |
| 10130 | (define-public python-pyvo |
| 10131 | (package |
| 10132 | (name "python-pyvo") |
| 10133 | (version "1.9.1") |
| 10134 | (source |
| 10135 | (origin |
| 10136 | (method git-fetch) |
| 10137 | (uri (git-reference |
| 10138 | (url "https://github.com/astropy/pyvo") |
| 10139 | (commit (string-append "v" version)))) |
| 10140 | (file-name (git-file-name name version)) |
| 10141 | (sha256 |
| 10142 | (base32 "0x9qwcvhap7bw86j1y3hfsdyw3kvsax8sglj6wgb4p3mgzkr82cv")))) |
| 10143 | (build-system pyproject-build-system) |
| 10144 | (arguments |
| 10145 | (list |
| 10146 | ;; tests: 483 passed, 59 skipped, 1 xfailed |
| 10147 | #:test-flags |
| 10148 | #~(list "--pyargs" "pyvo") |
| 10149 | #:phases |
| 10150 | #~(modify-phases %standard-phases |
| 10151 | (add-before 'check 'set-HOME |
| 10152 | (lambda _ |
| 10153 | (setenv "HOME" "/tmp")))))) |
| 10154 | (native-inputs |
| 10155 | (list nss-certs-for-test |
| 10156 | python-pytest-astropy |
| 10157 | python-pytest-doctestplus |
| 10158 | python-pytest-timeout |
| 10159 | python-requests-mock |
| 10160 | python-setuptools |
| 10161 | python-setuptools-scm)) |
| 10162 | (propagated-inputs |
| 10163 | (list python-astropy |
| 10164 | python-requests |
| 10165 | ;; [optioal] |
| 10166 | python-defusedxml |
| 10167 | python-pillow)) |
| 10168 | (home-page "https://github.com/astropy/pyvo") |
| 10169 | (synopsis "Access Virtual Observatory data and services") |
| 10170 | (description |
| 10171 | "PyVO is a package providing access to remote data and services of the |
| 10172 | Virtual observatory (VO) using Python.") |
| 10173 | (license license:bsd-3))) |
| 10174 | |
| 10175 | (define-public python-pyxsim |
| 10176 | (package |
| 10177 | (name "python-pyxsim") |
| 10178 | (version "4.5.0") |
| 10179 | (source |
| 10180 | (origin |
| 10181 | (method url-fetch) |
| 10182 | (uri (pypi-uri "pyxsim" version)) |
| 10183 | (sha256 |
| 10184 | (base32 "1y6m8g1n9cky12avmpaqxqym8n5kwrs3m6r7wzcms9779r3sfla5")))) |
| 10185 | (build-system pyproject-build-system) |
| 10186 | (arguments |
| 10187 | (list |
| 10188 | ;; XXX: Tests require additional data, check if it may be packaged |
| 10189 | ;; separately, see tests/ci_install.sh. |
| 10190 | ;; - http://yt-project.org/data |
| 10191 | ;; - enzo_tiny_cosmology 419MiB |
| 10192 | ;; - GasSloshingLowRes 1GiB |
| 10193 | ;; - FIRE_M12i_ref11 209MiB |
| 10194 | ;; - http://hea-www.cfa.harvard.edu/~jzuhone/ |
| 10195 | ;; - pyxsim22.tar.gz 12MiB |
| 10196 | #:tests? #f)) |
| 10197 | (native-inputs |
| 10198 | (list python-cython |
| 10199 | python-setuptools |
| 10200 | python-setuptools-scm)) |
| 10201 | (propagated-inputs |
| 10202 | (list python-astropy |
| 10203 | python-h5py |
| 10204 | python-numpy |
| 10205 | python-scipy |
| 10206 | python-soxs |
| 10207 | python-tqdm |
| 10208 | python-unyt |
| 10209 | python-yt)) |
| 10210 | (home-page "https://hea-www.cfa.harvard.edu/~jzuhone/pyxsim/") |
| 10211 | (synopsis "Simulating X-ray observations from astrophysical sources") |
| 10212 | (description |
| 10213 | "This package implements functionality for simulating X-ray emission from |
| 10214 | astrophysical sources. |
| 10215 | |
| 10216 | X-rays probe the high-energy universe, from hot galaxy clusters to compact |
| 10217 | objects such as neutron stars and black holes and many interesting sources in |
| 10218 | between. pyXSIM makes it possible to generate synthetic X-ray observations of |
| 10219 | these sources from a wide variety of models, whether from grid-based |
| 10220 | simulation codes such as FLASH, Enzo, and Athena, to particle-based codes such |
| 10221 | as Gadget and AREPO, and even from datasets that have been created 'by hand', |
| 10222 | such as from NumPy arrays. pyXSIM also provides facilities for manipulating |
| 10223 | the synthetic observations it produces in various ways, as well as ways to |
| 10224 | export the simulated X-ray events to other software packages to simulate the |
| 10225 | end products of specific X-ray observatories.") |
| 10226 | (license license:bsd-3))) |
| 10227 | |
| 10228 | (define-public python-raccoon |
| 10229 | (package |
| 10230 | (name "python-raccoon") |
| 10231 | (version "1.0.0") |
| 10232 | (source |
| 10233 | (origin |
| 10234 | ;; PyPi tarball lacks tests. |
| 10235 | (method git-fetch) |
| 10236 | (uri (git-reference |
| 10237 | (url "https://github.com/ajshajib/raccoon") |
| 10238 | (commit (string-append "v" version)))) |
| 10239 | (file-name (git-file-name name version)) |
| 10240 | (sha256 |
| 10241 | (base32 "1hn8g7zxga47yhk4y9nrbnz0n7apflczlaszr79h4lg6b4v4h9f4")))) |
| 10242 | (build-system pyproject-build-system) |
| 10243 | (arguments |
| 10244 | (list |
| 10245 | #:test-flags |
| 10246 | #~(list "-k" (string-join |
| 10247 | ;; Three tests fail with error: AttributeError: module |
| 10248 | ;; 'numpy' has no attribute 'trapezoid'. |
| 10249 | (list "not test_clean_cube" |
| 10250 | "test_clean_cube_with_min_n_amplitude_and_min_n_f" |
| 10251 | "test_clean_cube_with_wiggle_detection_thresholds") |
| 10252 | " and not ")))) |
| 10253 | (native-inputs |
| 10254 | (list python-pytest |
| 10255 | python-setuptools)) |
| 10256 | (propagated-inputs |
| 10257 | (list python-astropy |
| 10258 | python-matplotlib |
| 10259 | python-numpy |
| 10260 | python-scipy |
| 10261 | python-statsmodels |
| 10262 | python-tqdm)) |
| 10263 | (home-page "https://github.com/ajshajib/raccoon") |
| 10264 | (synopsis "Clean modulation due to resampling noise in the JWST/NIRSpec IFS spectra") |
| 10265 | (description |
| 10266 | "Package Raccoon cleans the \"wiggles\" (i.e., low-frequency sinusoidal |
| 10267 | artifacts) in the JWST-NIRSpec IFS (integral field spectroscopy) data. These |
| 10268 | wiggles are caused by resampling noise or aliasing artifacts.") |
| 10269 | (license license:bsd-3))) |
| 10270 | |
| 10271 | (define-public python-rad |
| 10272 | (package |
| 10273 | (name "python-rad") |
| 10274 | (version "1.1.0") |
| 10275 | (source |
| 10276 | (origin |
| 10277 | (method url-fetch) |
| 10278 | (uri (pypi-uri "rad" version)) |
| 10279 | (sha256 |
| 10280 | (base32 "0hpcbw4a2ahk6pzwa1mjrjy7wdn2p9nqqks08mn2gp1nddprqpsg")))) |
| 10281 | (build-system pyproject-build-system) |
| 10282 | (arguments |
| 10283 | (list |
| 10284 | ;; tests: 5390 passed, 161 skipped, 27 xfailed |
| 10285 | #:test-flags |
| 10286 | ;; Tests try to detec version by Git tag. |
| 10287 | #~(list "--ignore=tests/test_versioning.py"))) |
| 10288 | (native-inputs |
| 10289 | (list python-pytest |
| 10290 | python-crds-minimal |
| 10291 | python-pytest-asdf-plugin |
| 10292 | python-pytest-doctestplus |
| 10293 | python-setuptools |
| 10294 | python-setuptools-scm)) |
| 10295 | (propagated-inputs |
| 10296 | (list python-asdf |
| 10297 | python-asdf-astropy |
| 10298 | python-asdf-standard |
| 10299 | python-deepdiff |
| 10300 | python-pyyaml |
| 10301 | python-semantic-version)) |
| 10302 | (home-page "https://github.com/spacetelescope/rad") |
| 10303 | (synopsis "Roman Attribute Dictionary") |
| 10304 | (description |
| 10305 | "@acronym{RAD, The Roman Attribute Dictionary} is package which defines |
| 10306 | schemas for the Nancy Grace Roman Space Telescope shared attributes for |
| 10307 | processing and archive. These schemas are schemas for the ASDF file file |
| 10308 | format, which are used by ASDF to serialize and deserialize data for the Nancy |
| 10309 | Grace Roman Space Telescope.") |
| 10310 | (license license:bsd-3))) |
| 10311 | |
| 10312 | (define-public python-radio-beam |
| 10313 | (package |
| 10314 | (name "python-radio-beam") |
| 10315 | (version "0.3.10") |
| 10316 | (source |
| 10317 | (origin |
| 10318 | (method url-fetch) |
| 10319 | (uri (pypi-uri "radio_beam" version)) |
| 10320 | (sha256 |
| 10321 | (base32 "0si78wmp3gmhfaw3i7sgx9wxfssm5wxgr4fzvj56w084yjsly8fj")))) |
| 10322 | (build-system pyproject-build-system) |
| 10323 | (native-inputs |
| 10324 | (list python-pytest-astropy python-setuptools python-setuptools-scm)) |
| 10325 | (propagated-inputs |
| 10326 | (list python-astropy |
| 10327 | python-matplotlib |
| 10328 | python-numpy |
| 10329 | python-packaging |
| 10330 | python-scipy)) |
| 10331 | (home-page "https://radio-beam.readthedocs.io/en/latest/") |
| 10332 | (synopsis "Operations for radio astronomy beams with Astropy") |
| 10333 | (description |
| 10334 | "Radio Beam is a simple toolkit for reading beam information from FITS |
| 10335 | headers and manipulating beams. |
| 10336 | Some example applications include: |
| 10337 | @itemize |
| 10338 | @item Convolution and deconvolution |
| 10339 | @item Unit conversion (Jy to/from K) |
| 10340 | @item Handle sets of beams for spectral cubes with varying resolution between |
| 10341 | channels |
| 10342 | @item Find the smallest common beam from a set of beams |
| 10343 | @item Add the beam shape to a matplotlib plot |
| 10344 | @end itemize") |
| 10345 | (license license:bsd-3))) |
| 10346 | |
| 10347 | (define-public python-radiospectra |
| 10348 | (package |
| 10349 | (name "python-radiospectra") |
| 10350 | (version "0.7.0") |
| 10351 | (source |
| 10352 | (origin |
| 10353 | (method git-fetch) |
| 10354 | (uri (git-reference |
| 10355 | (url "https://github.com/sunpy/radiospectra") |
| 10356 | (commit (string-append "v" version)))) |
| 10357 | (file-name (git-file-name name version)) |
| 10358 | (sha256 |
| 10359 | (base32 "0bv9j9p0sarg8cqlfmj838m33mms0f7jmf483lnxx7i331j152b8")))) |
| 10360 | (build-system pyproject-build-system) |
| 10361 | (arguments |
| 10362 | (list |
| 10363 | #:test-flags |
| 10364 | #~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))) |
| 10365 | #:phases |
| 10366 | #~(modify-phases %standard-phases |
| 10367 | (add-after 'unpack 'fix-pytest-config |
| 10368 | (lambda _ |
| 10369 | (substitute* "pytest.ini" |
| 10370 | ;; ModuleNotFoundError: No module named 'pyparsing.warnings' |
| 10371 | ((".*pyparsing.warnings.*") "")))) |
| 10372 | (add-before 'check 'set-HOME |
| 10373 | (lambda _ |
| 10374 | (setenv "HOME" "/tmp")))))) |
| 10375 | (native-inputs |
| 10376 | (list python-pytest |
| 10377 | python-pytest-astropy |
| 10378 | python-pytest-doctestplus |
| 10379 | python-pytest-xdist |
| 10380 | python-setuptools |
| 10381 | python-setuptools-scm |
| 10382 | python-sunpy-soar)) |
| 10383 | (propagated-inputs |
| 10384 | (list python-cdflib |
| 10385 | python-matplotlib |
| 10386 | python-numpy |
| 10387 | python-scipy |
| 10388 | python-sunpy)) |
| 10389 | (home-page "https://docs.sunpy.org/projects/radiospectra") |
| 10390 | (synopsis "Support for radio spectra on solar physics") |
| 10391 | (description |
| 10392 | "@code{radiospectra} provides support for some type of radio spectra in |
| 10393 | solar physics.") |
| 10394 | (license license:bsd-2))) |
| 10395 | |
| 10396 | (define-public python-regions |
| 10397 | (package |
| 10398 | (name "python-regions") |
| 10399 | (version "0.11") |
| 10400 | (source |
| 10401 | (origin |
| 10402 | (method url-fetch) |
| 10403 | (uri (pypi-uri "regions" version)) |
| 10404 | (sha256 |
| 10405 | (base32 "0dmfvk33ywlmxr3f6p9vhr7aq4mf57l1y7ls12d6ds9dibbxl2h0")))) |
| 10406 | (build-system pyproject-build-system) |
| 10407 | (arguments |
| 10408 | (list |
| 10409 | ;; tests: 1112 passed, 8 skipped, 13 xfailed |
| 10410 | #:test-flags |
| 10411 | #~(list "--numprocesses" (number->string (parallel-job-count))) |
| 10412 | #:phases |
| 10413 | #~(modify-phases %standard-phases |
| 10414 | (replace 'check |
| 10415 | (lambda* (#:key tests? test-flags #:allow-other-keys) |
| 10416 | (with-directory-excursion #$output |
| 10417 | (apply invoke "pytest" "-vv" test-flags))))))) |
| 10418 | (native-inputs |
| 10419 | (list python-cython |
| 10420 | python-extension-helpers |
| 10421 | python-pytest-arraydiff |
| 10422 | python-pytest-astropy |
| 10423 | python-pytest-xdist |
| 10424 | python-setuptools |
| 10425 | python-setuptools-scm)) |
| 10426 | (propagated-inputs |
| 10427 | (list python-astropy |
| 10428 | python-numpy |
| 10429 | ;; [optional] |
| 10430 | python-matplotlib |
| 10431 | python-shapely)) |
| 10432 | (home-page "https://github.com/astropy/regions") |
| 10433 | (synopsis "Package for region handling") |
| 10434 | (description "Regions is an Astropy package for region handling.") |
| 10435 | (license license:bsd-3))) |
| 10436 | |
| 10437 | (define-public python-regularizepsf |
| 10438 | (package |
| 10439 | (name "python-regularizepsf") |
| 10440 | (version "1.2.1") |
| 10441 | (source |
| 10442 | (origin |
| 10443 | (method git-fetch) |
| 10444 | (uri (git-reference |
| 10445 | (url "https://github.com/punch-mission/regularizepsf") |
| 10446 | (commit version))) |
| 10447 | (file-name (git-file-name name version)) |
| 10448 | (sha256 |
| 10449 | (base32 "05gq4yjcl48jbv22xdhq0fr7yr7884zpkqmbbnd4lzb2dkkbkv7f")))) |
| 10450 | (build-system pyproject-build-system) |
| 10451 | (arguments |
| 10452 | (list |
| 10453 | ;; tests: 59 passed, 2 deselected, 26 warnings |
| 10454 | #:test-flags |
| 10455 | ;; ValueError: RICE_1 compression doesn't support 64 integers, but data |
| 10456 | ;; cannot be converted to 32 bits without overflow. |
| 10457 | #~(list (string-append "--deselect=tests/test_psf.py" |
| 10458 | "::test_arraypsf_saves_and_loads[fits]") |
| 10459 | (string-append "--deselect=tests/test_transform.py" |
| 10460 | "::test_transform_saves_and_loads[fits]")))) |
| 10461 | (native-inputs |
| 10462 | (list python-pytest |
| 10463 | python-pytest-mpl |
| 10464 | python-setuptools |
| 10465 | python-setuptools-scm)) |
| 10466 | (propagated-inputs |
| 10467 | (list python-astropy |
| 10468 | python-h5py |
| 10469 | python-matplotlib |
| 10470 | python-numpy |
| 10471 | python-scikit-image |
| 10472 | python-scipy |
| 10473 | python-sep)) |
| 10474 | (home-page "https://github.com/punch-mission/regularizepsf") |
| 10475 | (synopsis "Point spread function modeling and regularization") |
| 10476 | (description |
| 10477 | "This package implements functionality of @acronym{Point Spread Function, |
| 10478 | PSF} describing how the optical system spreads light from sources.") |
| 10479 | (license license:expat))) |
| 10480 | |
| 10481 | (define-public python-reproject |
| 10482 | (package |
| 10483 | (name "python-reproject") |
| 10484 | (version "0.21.0") |
| 10485 | (source |
| 10486 | (origin |
| 10487 | (method git-fetch) |
| 10488 | (uri (git-reference |
| 10489 | (url "https://github.com/astropy/reproject") |
| 10490 | (commit (string-append "v" version)))) |
| 10491 | (file-name (git-file-name name version)) |
| 10492 | (sha256 |
| 10493 | (base32 "09baxyglv327cvsjy7mp9xp4dkm6w78v8gb9afvixqqvj259bq92")))) |
| 10494 | (build-system pyproject-build-system) |
| 10495 | (arguments |
| 10496 | (list |
| 10497 | ;; tests: 2293 passed, 573 skipped |
| 10498 | #:test-flags |
| 10499 | #~(list "--numprocesses" (number->string (min 8 (parallel-job-count))) |
| 10500 | "--pyargs" "reproject" |
| 10501 | ;; Failed to download |
| 10502 | ;; <https://datacenter.iers.org/data/9/finals2000A.all>. |
| 10503 | "-k" (string-append "not test_solar_wcs" |
| 10504 | " and not test_negative_lon_cdelt")) |
| 10505 | #:phases |
| 10506 | #~(modify-phases %standard-phases |
| 10507 | (add-before 'check 'pre-check |
| 10508 | (lambda _ |
| 10509 | (delete-file-recursively "reproject") |
| 10510 | (setenv "HOME" "/tmp")))))) |
| 10511 | (native-inputs |
| 10512 | (list python-asdf |
| 10513 | python-cython |
| 10514 | python-extension-helpers |
| 10515 | python-gwcs |
| 10516 | python-pytest-astropy |
| 10517 | python-pytest-xdist |
| 10518 | python-pyvo |
| 10519 | python-setuptools-scm |
| 10520 | python-shapely |
| 10521 | python-sunpy-minimal |
| 10522 | python-tqdm)) |
| 10523 | (propagated-inputs |
| 10524 | (list python-astropy |
| 10525 | python-astropy-healpix |
| 10526 | python-dask |
| 10527 | python-dask-image |
| 10528 | python-fsspec |
| 10529 | python-numpy |
| 10530 | python-pillow |
| 10531 | python-pyavm |
| 10532 | python-scipy |
| 10533 | python-zarr |
| 10534 | ;; [optional] |
| 10535 | python-shapely)) |
| 10536 | (home-page "https://reproject.readthedocs.io") |
| 10537 | (synopsis "Astronomical image reprojection in Python") |
| 10538 | (description |
| 10539 | "This package provides a functionality to reproject astronomical images |
| 10540 | using various techniques via a uniform interface, where reprojection is the |
| 10541 | re-gridding of images from one world coordinate system to another e.g. |
| 10542 | changing the pixel resolution, orientation, coordinate system.") |
| 10543 | (license license:bsd-3))) |
| 10544 | |
| 10545 | (define-public python-roman-datamodels |
| 10546 | (package |
| 10547 | (name "python-roman-datamodels") |
| 10548 | (version "1.1.0") |
| 10549 | (source |
| 10550 | (origin |
| 10551 | (method git-fetch) |
| 10552 | (uri (git-reference |
| 10553 | (url "https://github.com/spacetelescope/roman_datamodels") |
| 10554 | (commit version))) |
| 10555 | (file-name (git-file-name name version)) |
| 10556 | (sha256 |
| 10557 | (base32 "193p8w2ip528f33k980firjv0pa8sdyl9wz3mj16hcklspy3vxhq")))) |
| 10558 | (build-system pyproject-build-system) |
| 10559 | (arguments |
| 10560 | (list |
| 10561 | ;; tests: 5654 passed, 1 skipped |
| 10562 | #:test-flags |
| 10563 | #~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))) |
| 10564 | #:phases |
| 10565 | #~(modify-phases %standard-phases |
| 10566 | (add-after 'unpack 'set-env |
| 10567 | (lambda _ |
| 10568 | (setenv "HOME" "/tmp")))))) |
| 10569 | (native-inputs |
| 10570 | (list python-pandas |
| 10571 | python-pytest |
| 10572 | python-pytest-doctestplus |
| 10573 | python-pytest-xdist |
| 10574 | python-setuptools |
| 10575 | python-setuptools-scm)) |
| 10576 | (propagated-inputs |
| 10577 | (list python-asdf |
| 10578 | python-asdf-astropy |
| 10579 | python-asdf-standard |
| 10580 | python-astropy |
| 10581 | python-gwcs |
| 10582 | python-lz4 |
| 10583 | python-numpy |
| 10584 | python-pyarrow |
| 10585 | python-rad |
| 10586 | python-semantic-version)) |
| 10587 | (home-page "https://github.com/spacetelescope/roman_datamodels") |
| 10588 | (synopsis "Roman Datamodels Support") |
| 10589 | (description |
| 10590 | "This package provides a Python package of Roman Datamodels for the |
| 10591 | calibration pipelines started with the @acronym{JWST, James Webb Space |
| 10592 | Telescope} calibration pipelines. The goal for the JWST pipelines was motivated |
| 10593 | primarily by the need to support FITS data files, specifically with isolating |
| 10594 | the details of where metadata and data were located in the FITS file from the |
| 10595 | representation of the same items within the Python code. That is not a concern |
| 10596 | for Roman since FITS format data files will not be used by the Roman calibration |
| 10597 | pipelines.") |
| 10598 | (license license:bsd-3))) |
| 10599 | |
| 10600 | (define-public python-roman-technical-information |
| 10601 | (package |
| 10602 | (name "python-roman-technical-information") |
| 10603 | (version "1.5.0") |
| 10604 | (source |
| 10605 | (origin |
| 10606 | (method url-fetch) |
| 10607 | (uri (pypi-uri "roman_technical_information" version)) |
| 10608 | (sha256 |
| 10609 | (base32 "1zlddw389zw9198yvymir1yf9prlk77minb5y8fcgmjkflz5vvj9")))) |
| 10610 | (build-system pyproject-build-system) |
| 10611 | (arguments (list #:tests? #f)) ;no tests |
| 10612 | (native-inputs |
| 10613 | (list python-setuptools)) |
| 10614 | (propagated-inputs |
| 10615 | (list python-astropy |
| 10616 | python-pyyaml)) |
| 10617 | (home-page "https://github.com/RomanSpaceTelescope/roman-technical-information") |
| 10618 | (synopsis "Roman Space Telescope technical information") |
| 10619 | (description |
| 10620 | "This package provides technical information related to the Nancy Grace |
| 10621 | Roman Space Telescope (Roman), its Wide Field Instrument (WFI), and its |
| 10622 | Coronagraph technology demonstration (Coronagraph).") |
| 10623 | (license license:cc0))) |
| 10624 | |
| 10625 | (define-public python-romancal |
| 10626 | (package |
| 10627 | (name "python-romancal") |
| 10628 | (version "1.1.0") |
| 10629 | (source |
| 10630 | (origin |
| 10631 | (method git-fetch) |
| 10632 | (uri (git-reference |
| 10633 | (url "https://github.com/spacetelescope/romancal") |
| 10634 | (commit version))) |
| 10635 | (file-name (git-file-name name version)) |
| 10636 | (sha256 |
| 10637 | (base32 "0dn8knpfsdbqlswyb5636wzziwrqak6ib1nkws96q27n5lak7z9n")))) |
| 10638 | (build-system pyproject-build-system) |
| 10639 | (arguments |
| 10640 | (list |
| 10641 | ;; tests: 441 passed, 313 skipped, 18 deselected, 2 xpassed, 11 warnings |
| 10642 | #:test-flags |
| 10643 | #~(list "--color=no" |
| 10644 | ;; Tests requiring calibration data. |
| 10645 | #$@(map (lambda (file) (string-append "--ignore=" file)) |
| 10646 | (list "romancal/tweakreg/tests/test_tweakreg.py" |
| 10647 | "romancal/assign_wcs/tests/test_wcs.py" |
| 10648 | "romancal/dark_current/tests/test_dark.py" |
| 10649 | "romancal/dq_init/tests/test_dq_init.py" |
| 10650 | "romancal/flatfield/tests/test_flatfield.py" |
| 10651 | "romancal/flux/tests/test_flux_step.py" |
| 10652 | "romancal/linearity/tests/test_linearity.py" |
| 10653 | "romancal/multiband_catalog/tests/test_multiband_catalog.py" |
| 10654 | "romancal/photom/tests/test_photom.py" |
| 10655 | "romancal/pipeline/tests/test_exposure_pipeline.py" |
| 10656 | "romancal/ramp_fitting/tests/test_ramp_fit_cas22.py" |
| 10657 | "romancal/ramp_fitting/tests/test_ramp_fit_likelihood.py" |
| 10658 | "romancal/refpix/tests/test_step.py" |
| 10659 | "romancal/resample/tests/test_resample.py" |
| 10660 | "romancal/saturation/tests/test_saturation.py" |
| 10661 | "romancal/skycell/tests/test_skycell.py" |
| 10662 | "romancal/skycell/tests/test_skycell_match.py" |
| 10663 | "romancal/skymatch/tests/test_skymatch.py" |
| 10664 | "romancal/source_catalog/tests/test_psf.py" |
| 10665 | "romancal/source_catalog/tests/test_source_catalog.py" |
| 10666 | "romancal/stpipe/tests/test_core.py")) |
| 10667 | ;; SystemExit: -1 |
| 10668 | "-k" (string-join |
| 10669 | (list "not test_dark_decay" |
| 10670 | "test_inject_sources" |
| 10671 | "test_grid_injection" |
| 10672 | "test_wfi18_transient" |
| 10673 | "test_wfi18_transient_flat_data" |
| 10674 | "test_wfi18_transient_wrong_detector" |
| 10675 | "test_wfi18_transient_too_few_resultants" |
| 10676 | "test_wfi18_transient_fit_failure" |
| 10677 | "test_wfi18_transient_save_results") |
| 10678 | " and not ")) |
| 10679 | #:phases |
| 10680 | #~(modify-phases %standard-phases |
| 10681 | (add-after 'unpack 'relax-requirements |
| 10682 | (lambda _ |
| 10683 | (substitute* "pyproject.toml" |
| 10684 | (("romanisim>=0.14,<0.15") "romanisim"))))))) |
| 10685 | (native-inputs |
| 10686 | (list nss-certs-for-test |
| 10687 | python-ci-watson |
| 10688 | python-deepdiff |
| 10689 | python-pytest |
| 10690 | python-pytest-astropy |
| 10691 | python-setuptools |
| 10692 | python-setuptools-scm |
| 10693 | python-stpreview)) |
| 10694 | (propagated-inputs |
| 10695 | (list python-asdf |
| 10696 | python-asdf-astropy |
| 10697 | python-astropy |
| 10698 | python-crds |
| 10699 | python-drizzle |
| 10700 | python-gwcs |
| 10701 | python-jsonschema |
| 10702 | python-numpy |
| 10703 | python-pandas |
| 10704 | python-photutils |
| 10705 | python-pyarrow |
| 10706 | python-requests |
| 10707 | python-roman-datamodels |
| 10708 | python-romanisim |
| 10709 | python-scipy |
| 10710 | python-spherical-geometry |
| 10711 | python-stcal |
| 10712 | python-stpipe |
| 10713 | python-stsci-imagestats |
| 10714 | python-tweakwcs |
| 10715 | ;; [optional] |
| 10716 | python-pysiaf |
| 10717 | ;; python-roman-photoz ;not packed yet in Guix |
| 10718 | python-stpreview)) |
| 10719 | (home-page "https://github.com/spacetelescope/romancal") |
| 10720 | (synopsis "Nancy Grace Roman Space Telescope observations processing library") |
| 10721 | (description |
| 10722 | "This package implements a functionality for calibration of science |
| 10723 | observations from the Nancy Grace Roman Space Telescope.") |
| 10724 | (license license:bsd-3))) |
| 10725 | |
| 10726 | (define-public python-romanisim |
| 10727 | (package |
| 10728 | (name "python-romanisim") |
| 10729 | (version "0.15.0") |
| 10730 | (source |
| 10731 | (origin |
| 10732 | (method git-fetch) |
| 10733 | (uri (git-reference |
| 10734 | (url "https://github.com/spacetelescope/romanisim") |
| 10735 | (commit (string-append "v" version)))) |
| 10736 | (file-name (git-file-name name version)) |
| 10737 | (sha256 |
| 10738 | (base32 "16zksyi0qgybx1v7fxa175f7k1xqwsqsdshi7izl9mh0gjqhgpfv")))) |
| 10739 | (build-system pyproject-build-system) |
| 10740 | (arguments |
| 10741 | (list |
| 10742 | ;; tests: 113 passed, 2 skipped, 8 deselected, 4 warnings |
| 10743 | #:test-flags |
| 10744 | #~(list "--pyargs" "romanisim" |
| 10745 | ;; TODO: python-stpsf needs to be packaged with test data: |
| 10746 | ;; OSError: Couldn't read the version number from |
| 10747 | ;; /tmp/data/stpsf-data/version.txt. (Do you need to update the |
| 10748 | ;; STPSF data? See |
| 10749 | ;; https://stpsf.readthedocs.io/en/stable/installation.html#data-install |
| 10750 | ;; for a link to the latest version.) |
| 10751 | "--ignore-glob=*/tests/test_psf.py" |
| 10752 | "--ignore-glob=*/tests/test_image.py" |
| 10753 | ;; Network access is required. |
| 10754 | "-k" (string-join |
| 10755 | (list "not test_exptime_array" |
| 10756 | "test_inverse_then_linearity" |
| 10757 | "test_make_dummy_catalog" |
| 10758 | "test_make_gaia_stars" |
| 10759 | "test_scaling" |
| 10760 | "test_simulate_cps" |
| 10761 | "test_simulate_vs_cps" |
| 10762 | "test_wcs_crds_match") |
| 10763 | " and not ")) |
| 10764 | #:phases |
| 10765 | #~(modify-phases %standard-phases |
| 10766 | (add-after 'unpack 'patch-manifest.in |
| 10767 | ;; See: <https://codeberg.org/guix/guix/issues/4393>. |
| 10768 | (lambda* (#:key name source inputs #:allow-other-keys) |
| 10769 | (let ((port (open-file "MANIFEST.in" "w"))) |
| 10770 | (for-each |
| 10771 | (lambda (file) |
| 10772 | (display "include " port) |
| 10773 | (display file port) |
| 10774 | (display "\n" port)) |
| 10775 | (find-files ".")) |
| 10776 | (close port)))) |
| 10777 | (add-before 'check 'pre-check |
| 10778 | (lambda _ |
| 10779 | (setenv "HOME" "/tmp")))))) |
| 10780 | (native-inputs |
| 10781 | (list python-cython |
| 10782 | python-ci-watson |
| 10783 | python-pytest |
| 10784 | python-pytest-doctestplus |
| 10785 | python-pytest-openfiles |
| 10786 | python-setuptools |
| 10787 | python-setuptools-scm |
| 10788 | python-stpsf)) |
| 10789 | (propagated-inputs |
| 10790 | (list python-asdf |
| 10791 | python-astropy |
| 10792 | python-astropy-healpix |
| 10793 | python-astroquery |
| 10794 | python-crds |
| 10795 | python-defusedxml |
| 10796 | python-galsim |
| 10797 | python-gwcs |
| 10798 | python-numpy |
| 10799 | python-photutils |
| 10800 | python-roman-datamodels |
| 10801 | python-roman-technical-information)) |
| 10802 | (home-page "https://github.com/spacetelescope/romanisim") |
| 10803 | (synopsis "Nancy Grace Roman Space Telescope WFI Simulator") |
| 10804 | (description |
| 10805 | "@code{romanisim} is a Galsim-based simulator of imaging data from the |
| 10806 | @acronym{WFI,Wide Field Instrument} on the @url{https://roman.gsfc.nasa.gov/, |
| 10807 | Nancy Grace Roman Space Telescope} (pronounced roman-eye-sim, stylized Roman |
| 10808 | I-Sim). It uses Galsim to render astronomical scenes, WebbPSF to model the |
| 10809 | point spread function, and CRDS to access the calibration information needed |
| 10810 | to produce realistic WFI images.") |
| 10811 | ;; LICENSE.rst Association of Universities for Research in Astronomy (AURA) |
| 10812 | (license license:bsd-3))) |
| 10813 | |
| 10814 | (define-public python-sbpy |
| 10815 | (package |
| 10816 | (name "python-sbpy") |
| 10817 | (version "0.6.0") |
| 10818 | (source |
| 10819 | (origin |
| 10820 | (method url-fetch) |
| 10821 | (uri (pypi-uri "sbpy" version)) |
| 10822 | (sha256 |
| 10823 | (base32 "1dvc9ihzziyw69a0h1f3wr7jzzp4v8zm9x71fasw4sx2i0vab21v")))) |
| 10824 | (build-system pyproject-build-system) |
| 10825 | (arguments |
| 10826 | (list |
| 10827 | ;; tests: 590 passed, 108 skipped, 287 warnings |
| 10828 | #:test-flags |
| 10829 | #~(list "--numprocesses" (number->string (min 8 (parallel-job-count))) |
| 10830 | ;; Unit conversions between flux density and Vega-based |
| 10831 | ;; magnitudes use the `astropy.units equivalency system |
| 10832 | ;; <https://docs.astropy.org/en/stable/units/equivalencies.html#unit-equivalencies>`_. |
| 10833 | ;; sbpy's :func:`~sbpy.units.spectral_density_vega` provides the |
| 10834 | ;; equivalencies, which astropy would use to convert the units. |
| 10835 | ;; The function requires a wavelength, frequency, or bandpass: |
| 10836 | "--deselect=docs/sbpy/units.rst::units.rst") |
| 10837 | #:phases |
| 10838 | #~(modify-phases %standard-phases |
| 10839 | (add-before 'check 'pre-check |
| 10840 | (lambda _ |
| 10841 | (setenv "HOME" "/tmp")))))) |
| 10842 | (native-inputs |
| 10843 | (list python-pytest |
| 10844 | python-pytest-astropy |
| 10845 | python-pytest-doctestplus |
| 10846 | python-pytest-remotedata |
| 10847 | python-pytest-xdist |
| 10848 | python-setuptools |
| 10849 | python-setuptools-scm)) |
| 10850 | (propagated-inputs |
| 10851 | (list python-astropy |
| 10852 | python-numpy |
| 10853 | ;; [optional] |
| 10854 | python-ads |
| 10855 | python-astroquery |
| 10856 | python-ginga |
| 10857 | python-photutils |
| 10858 | ;; python-pyoorb ;not packed yet in Guix |
| 10859 | python-pyyaml |
| 10860 | python-scipy |
| 10861 | python-synphot)) |
| 10862 | (home-page "https://sbpy.org") |
| 10863 | (synopsis "Python module for small-body planetary astronomy") |
| 10864 | (description |
| 10865 | "@code{sbpy} is a package for small-body planetary astronomy. It is |
| 10866 | meant to supplement functionality provided by @code{astropy} with functions |
| 10867 | and methods that are frequently used in the context of planetary astronomy |
| 10868 | with a clear focus on asteroids and comets. |
| 10869 | Features: |
| 10870 | @itemize |
| 10871 | @item observation planning tools tailored to moving objects |
| 10872 | @item photometry models for resolved and unresolved observations |
| 10873 | @item wrappers and tools for astrometry and orbit fitting |
| 10874 | @item spectroscopy analysis tools and models for reflected solar light and |
| 10875 | emission from gas |
| 10876 | @item cometary gas and dust coma simulation and analysis tools |
| 10877 | @item asteroid thermal models for flux estimation and size/albedo estimation |
| 10878 | @item image enhancement tools for comet comae and PSF subtraction tools |
| 10879 | @item lightcurve and shape analysis tools |
| 10880 | @item access tools for various databases for orbital and physical data, as |
| 10881 | well as ephemerides services |
| 10882 | @end itemize") |
| 10883 | (license license:bsd-3))) |
| 10884 | |
| 10885 | (define-public python-sep |
| 10886 | (package/inherit libsep |
| 10887 | (name "python-sep") |
| 10888 | (build-system pyproject-build-system) |
| 10889 | (arguments |
| 10890 | (list |
| 10891 | #:test-flags #~(list "test.py"))) |
| 10892 | (native-inputs |
| 10893 | (list python-cython |
| 10894 | python-pytest |
| 10895 | python-setuptools |
| 10896 | python-setuptools-scm)) |
| 10897 | (propagated-inputs |
| 10898 | (list python-numpy)) |
| 10899 | (synopsis "Python library for Source Extraction and Photometry"))) |
| 10900 | |
| 10901 | (define-public python-sgp4 |
| 10902 | (package |
| 10903 | (name "python-sgp4") |
| 10904 | (version "2.27") |
| 10905 | (source |
| 10906 | (origin |
| 10907 | (method git-fetch) |
| 10908 | (uri (git-reference |
| 10909 | (url "https://github.com/brandon-rhodes/python-sgp4") |
| 10910 | (commit version))) |
| 10911 | (file-name (git-file-name name version)) |
| 10912 | (sha256 |
| 10913 | (base32 "0k55j7ki2w4bv04hr7ds9pv69hkcg8a0br4wf9mfzp2bpkjajk42")))) |
| 10914 | (build-system pyproject-build-system) |
| 10915 | (arguments |
| 10916 | (list #:test-backend #~'custom |
| 10917 | #:test-flags #~(list "-m" "sgp4.tests"))) |
| 10918 | (native-inputs |
| 10919 | (list python-setuptools)) |
| 10920 | (propagated-inputs |
| 10921 | (list python-numpy)) |
| 10922 | (home-page "https://github.com/brandon-rhodes/python-sgp4") |
| 10923 | (synopsis "Track earth satellite TLE orbits using SGP4") |
| 10924 | (description |
| 10925 | "This package provides a Python implementation for computations of the |
| 10926 | position and velocity of an earth-orbiting satellite, given the satellite’s |
| 10927 | @acronym{TLE, Two-line element set} orbital elements from a source like |
| 10928 | @url{CelesTrak, https://celestrak.org/}. |
| 10929 | |
| 10930 | It implements the most recent version of @acronym{SGP4, Simplified General |
| 10931 | Perturbation models}, and is regularly run against the SGP4 test suite to make |
| 10932 | sure that its satellite position predictions agree to within 0.1 mm with the |
| 10933 | predictions of the standard distribution of the algorithm. This error is far |
| 10934 | less than the 1–3 km/day by which satellites themselves deviate from the ideal |
| 10935 | orbits described in TLE files.") |
| 10936 | (license license:expat))) |
| 10937 | |
| 10938 | (define-public python-sirilic |
| 10939 | (package |
| 10940 | (name "python-sirilic") |
| 10941 | (version "2.0.10") |
| 10942 | (source |
| 10943 | (origin |
| 10944 | (method git-fetch) |
| 10945 | (uri (git-reference |
| 10946 | (url "https://gitlab.com/free-astro/sirilic") |
| 10947 | (commit (string-append "V." version)))) |
| 10948 | (file-name (git-file-name name version)) |
| 10949 | (sha256 |
| 10950 | (base32 "14agijhy85162rrnnxdvlfwpps1jl7ar0mkmvllzc208naxma61m")))) |
| 10951 | (build-system pyproject-build-system) |
| 10952 | (arguments |
| 10953 | (list |
| 10954 | #:tests? #f ;no tests |
| 10955 | #:phases |
| 10956 | #~(modify-phases %standard-phases |
| 10957 | (add-after 'install 'prepare-python-module-setuptools |
| 10958 | (lambda _ |
| 10959 | (call-with-output-file "pyproject.toml" |
| 10960 | (lambda (port) |
| 10961 | (format port "[build-system] |
| 10962 | requires = ['setuptools'] |
| 10963 | build-backend = 'setuptools.build_meta' |
| 10964 | [project] |
| 10965 | name = 'sirilic' |
| 10966 | version = ~s |
| 10967 | description = ~s |
| 10968 | [tool.setuptools.packages.find] |
| 10969 | include = ['sirilic*'] |
| 10970 | namespaces = true" |
| 10971 | #$version |
| 10972 | #$(package-description this-package))))))))) |
| 10973 | (native-inputs |
| 10974 | (list python-setuptools)) |
| 10975 | (propagated-inputs |
| 10976 | (list python-requests |
| 10977 | python-wxpython)) |
| 10978 | (home-page "https://gitlab.com/free-astro/sirilic") |
| 10979 | (synopsis "Acquisition files preparation software to process with SiriL") |
| 10980 | (description |
| 10981 | "This package provides a plugin for SiriL, see the installation guide on |
| 10982 | the project's @url{https://gitlab.com/free-astro/sirilic/-/wikis/home, Wiki}. |
| 10983 | |
| 10984 | SiriLic (SiriL's Interactif Companion) is a software for preparing |
| 10985 | acquisition files (raw, Biases, Flat and Dark) for processing with SiriL |
| 10986 | software. |
| 10987 | |
| 10988 | Features: |
| 10989 | @itemize |
| 10990 | @item structuring the SiriL working directory into sub-folders |
| 10991 | @item convert Raw, Biases , Dark or Flat files into SiriL sequence |
| 10992 | @item automatically generate the SiriL script according to the files present |
| 10993 | and the options |
| 10994 | @item batch process multiple channel and sessions |
| 10995 | @end itemize") |
| 10996 | (license license:gpl3))) |
| 10997 | |
| 10998 | (define-public python-skyfield |
| 10999 | (package |
| 11000 | (name "python-skyfield") |
| 11001 | (version "1.55") |
| 11002 | (source |
| 11003 | (origin |
| 11004 | (method git-fetch) |
| 11005 | (uri (git-reference |
| 11006 | (url "https://github.com/skyfielders/python-skyfield") |
| 11007 | (commit version))) |
| 11008 | (file-name (git-file-name name version)) |
| 11009 | (sha256 |
| 11010 | (base32 "1506xv93c6n2pynflbssn74d6cpdp4jadr22jx6zsi91mrk7kr4b")))) |
| 11011 | (build-system pyproject-build-system) |
| 11012 | (arguments |
| 11013 | (list |
| 11014 | ;; tests: 584 passed |
| 11015 | #:test-flags |
| 11016 | #~(list "-m" "assay" "--batch" "skyfield.tests") |
| 11017 | #:phases |
| 11018 | #~(modify-phases %standard-phases |
| 11019 | (replace 'check |
| 11020 | (lambda* (#:key tests? test-flags #:allow-other-keys) |
| 11021 | (when tests? |
| 11022 | (with-directory-excursion "ci" |
| 11023 | (apply invoke "python" test-flags)))))))) |
| 11024 | (native-inputs |
| 11025 | (list nss-certs-for-test |
| 11026 | python-assay |
| 11027 | python-pandas-minimal |
| 11028 | python-pytz |
| 11029 | python-setuptools)) |
| 11030 | (propagated-inputs |
| 11031 | (list python-certifi |
| 11032 | python-jplephem |
| 11033 | python-numpy |
| 11034 | python-sgp4)) |
| 11035 | (home-page "https://rhodesmill.org/skyfield/") |
| 11036 | (synopsis "Astronomy for Python") |
| 11037 | (description |
| 11038 | "Skyfield computes positions for the stars, planets, and satellites in |
| 11039 | orbit around the Earth.") |
| 11040 | (license license:expat))) |
| 11041 | |
| 11042 | (define-public python-slitronomy |
| 11043 | (package |
| 11044 | (name "python-slitronomy") |
| 11045 | (version "0.3.3") |
| 11046 | (source |
| 11047 | (origin |
| 11048 | (method url-fetch) |
| 11049 | (uri (pypi-uri "slitronomy" version)) |
| 11050 | (sha256 |
| 11051 | (base32 "0hpffl0icf63ski1f0j06a0wnaawh5gy24w5a3h4rzgkp8rrmhck")))) |
| 11052 | (build-system pyproject-build-system) |
| 11053 | (arguments |
| 11054 | ;; TODO: Tests depend on lenstronomy, not packaged yet. |
| 11055 | (list #:tests? #f)) |
| 11056 | (native-inputs |
| 11057 | (list python-pytest python-setuptools)) |
| 11058 | (propagated-inputs |
| 11059 | (list python-configparser |
| 11060 | python-numpy)) |
| 11061 | (home-page "https://github.com/aymgal/SLITronomy") |
| 11062 | (synopsis "Sparse Linear Inversion Technique for lenstronomy") |
| 11063 | (description |
| 11064 | "This package provides an Updated and improved version of the |
| 11065 | @acronym{Sparse Lens Inversion Technique, SLIT}, developed within the |
| 11066 | framework of lens modelling software lenstronomy.") |
| 11067 | (license license:expat))) |
| 11068 | |
| 11069 | (define-public python-sncosmo |
| 11070 | (package |
| 11071 | (name "python-sncosmo") |
| 11072 | (version "2.13.0") |
| 11073 | (source |
| 11074 | (origin |
| 11075 | (method git-fetch) |
| 11076 | (uri (git-reference |
| 11077 | (url "https://github.com/sncosmo/sncosmo") |
| 11078 | (commit (string-append "v" version)))) |
| 11079 | (file-name (git-file-name name version)) |
| 11080 | (sha256 |
| 11081 | (base32 "11a5ip576rfnjinsykwg4r6hcf1alfx1alin31fis3dbskivjfwd")))) |
| 11082 | (build-system pyproject-build-system) |
| 11083 | (arguments |
| 11084 | (list |
| 11085 | ;; tests: 84 passed, 4 skipped, 515 deselected |
| 11086 | #:test-flags |
| 11087 | ;; Network access is required. |
| 11088 | #~(list "-m" "not might_download" |
| 11089 | "--deselect=tests/test_models.py::test_G10" |
| 11090 | "--deselect=tests/test_models.py::test_C11") |
| 11091 | #:phases |
| 11092 | #~(modify-phases %standard-phases |
| 11093 | (add-before 'check 'pre-check |
| 11094 | (lambda _ |
| 11095 | (setenv "HOME" "/tmp") |
| 11096 | (copy-recursively "sncosmo/tests" "tests") |
| 11097 | (delete-file-recursively "sncosmo" )))))) |
| 11098 | (native-inputs |
| 11099 | (list python-iminuit |
| 11100 | python-cython |
| 11101 | python-pytest |
| 11102 | python-pytest-xdist |
| 11103 | python-pytest-astropy |
| 11104 | python-setuptools)) |
| 11105 | (propagated-inputs |
| 11106 | (list python-astropy |
| 11107 | python-extinction |
| 11108 | python-h5py |
| 11109 | python-looseversion |
| 11110 | python-numpy |
| 11111 | python-pyyaml |
| 11112 | python-scipy)) |
| 11113 | (home-page "https://sncosmo.readthedocs.org") |
| 11114 | (synopsis "Package for supernova cosmology based on astropy") |
| 11115 | (description |
| 11116 | "SNCosmo is a Python library for supernova cosmology analysis. It aims |
| 11117 | to make such analysis both as flexible and clear as possible.") |
| 11118 | (license license:bsd-3))) |
| 11119 | |
| 11120 | (define-public python-sndata |
| 11121 | (package |
| 11122 | (name "python-sndata") |
| 11123 | (version "1.3.0") |
| 11124 | (source |
| 11125 | (origin |
| 11126 | (method git-fetch) ; no tests data in the PyPI tarball |
| 11127 | (uri (git-reference |
| 11128 | (url "https://github.com/sncosmo/SNData") |
| 11129 | (commit (string-append "v" version)))) |
| 11130 | (file-name (git-file-name name version)) |
| 11131 | (sha256 |
| 11132 | (base32 "1jci6ry2b8jylda4v7zhl857pifslpnslrbj2207nz4hw43nz3mp")))) |
| 11133 | (build-system pyproject-build-system) |
| 11134 | (arguments |
| 11135 | (list |
| 11136 | #:test-flags |
| 11137 | #~(list "-k" (string-join |
| 11138 | ;; Network access is required for these tests. |
| 11139 | (list "not test_duplicate_obj_id_strings" |
| 11140 | "test_obj_id_as_str" |
| 11141 | "test_coordinates_0_0" |
| 11142 | "test_bad_table_id_err" |
| 11143 | "test_cache_not_mutated" |
| 11144 | "test_comments_not_in_metadata" |
| 11145 | "test_get_zp" |
| 11146 | "test_id_joining" |
| 11147 | "test_ids_are_sorted" |
| 11148 | "test_jd_time_format" |
| 11149 | "test_join_id_string_error" |
| 11150 | "test_minimal_metadata_keys" |
| 11151 | "test_no_duplicate_aliases" |
| 11152 | "test_no_empty_data_tables" |
| 11153 | "test_no_empty_ids" |
| 11154 | "test_paper_tables_are_parsed" |
| 11155 | "test_sncosmo_registered_band_names" |
| 11156 | "test_standard_column_names" |
| 11157 | "test_unique_ids") |
| 11158 | " and not ")))) |
| 11159 | (native-inputs |
| 11160 | (list nss-certs-for-test |
| 11161 | python-cython |
| 11162 | python-poetry-core |
| 11163 | python-pytest)) |
| 11164 | (propagated-inputs |
| 11165 | (list python-astropy |
| 11166 | python-beautifulsoup4 |
| 11167 | python-numpy |
| 11168 | python-pandas |
| 11169 | python-pytz |
| 11170 | python-pyyaml |
| 11171 | python-requests |
| 11172 | python-sncosmo |
| 11173 | python-tqdm)) |
| 11174 | (home-page "https://sndata.readthedocs.io/en/latest/") |
| 11175 | (synopsis "Interface for data published by various supernova surveys") |
| 11176 | (description |
| 11177 | "SNData provides an access to data releases published by a variety of |
| 11178 | supernova (SN) surveys. It is designed to support the development of scalable |
| 11179 | analysis pipelines that translate with minimal effort between and across data |
| 11180 | sets. A summary of accessible data is provided below. Access to additional |
| 11181 | surveys is added upon request or as needed for individual research projects |
| 11182 | undertaken by the developers.") |
| 11183 | (license license:gpl3+))) |
| 11184 | |
| 11185 | (define-public python-so-noise-models |
| 11186 | (let ((commit "fac881eb5ee012673d8994443caa3c6ad7fac2b6") |
| 11187 | (revision "0")) |
| 11188 | (package |
| 11189 | (name "python-so-noise-models") |
| 11190 | (version (git-version "0.0.0" revision commit)) |
| 11191 | (source |
| 11192 | (origin |
| 11193 | (method git-fetch) ; no release on PyPI |
| 11194 | (uri (git-reference |
| 11195 | (url "https://github.com/simonsobs/so_noise_models") |
| 11196 | (commit commit))) |
| 11197 | (file-name (git-file-name name version)) |
| 11198 | (sha256 |
| 11199 | (base32 "02ridxr3a8dx2nwsv386fxin4qs5f7h6q5sk28n9jprgnmgzzsfa")))) |
| 11200 | (build-system pyproject-build-system) |
| 11201 | (arguments |
| 11202 | (list |
| 11203 | #:tests? #f)) ; no tests |
| 11204 | (native-inputs |
| 11205 | (list python-setuptools)) |
| 11206 | (propagated-inputs |
| 11207 | (list python-matplotlib |
| 11208 | python-numpy)) |
| 11209 | (home-page "https://github.com/simonsobs/so_noise_models") |
| 11210 | (synopsis "Simons Observatory N(ell) noise models") |
| 11211 | (description |
| 11212 | "This package provides N(ell) noise curve projection code for the |
| 11213 | Simons Observatory. The intention is that the full history of noise models |
| 11214 | will be provided to supplement published projections and simulations.") |
| 11215 | (license license:bsd-2)))) |
| 11216 | |
| 11217 | (define-public python-soxs |
| 11218 | (package |
| 11219 | (name "python-soxs") |
| 11220 | (version "5.3.0") |
| 11221 | (source |
| 11222 | (origin |
| 11223 | (method url-fetch) |
| 11224 | (uri (pypi-uri "soxs" version)) |
| 11225 | (sha256 |
| 11226 | (base32 "05rxp5avbpd80rs4gnf974g5w3ac158f1z06d4ascd8rsbn60yib")))) |
| 11227 | (build-system pyproject-build-system) |
| 11228 | (arguments |
| 11229 | (list |
| 11230 | ;; XXX: Tests require additional data, check if it may be packed |
| 11231 | ;; separately, see tests/ci_install.sh. |
| 11232 | ;; - http://hea-www.cfa.harvard.edu/~jzuhone |
| 11233 | ;; - soxs_test_data_16.tar.gz 235MiB |
| 11234 | #:tests? #f)) |
| 11235 | (native-inputs |
| 11236 | (list python-cython |
| 11237 | python-setuptools |
| 11238 | python-setuptools-scm)) |
| 11239 | (propagated-inputs |
| 11240 | (list python-appdirs |
| 11241 | python-astropy |
| 11242 | python-h5py |
| 11243 | python-numpy |
| 11244 | python-pooch |
| 11245 | python-pyyaml |
| 11246 | python-regions |
| 11247 | python-scipy |
| 11248 | python-tqdm)) |
| 11249 | (home-page "https://hea-www.cfa.harvard.edu/soxs/") |
| 11250 | (synopsis "Simulated Observations of X-ray Sources") |
| 11251 | (description |
| 11252 | "SOXS is a software suite which can create simulated X-ray observations |
| 11253 | of astrophysical sources with almost any existing or planned X-ray |
| 11254 | observatory. The goal of SOXS is to provide a comprehensive set of tools to |
| 11255 | design source models and convolve them with simulated models of X-ray |
| 11256 | instruments. This package was originally developed to support the |
| 11257 | @url{https://www.lynxobservatory.org/,Lynx X-ray Observatory} mission concept, |
| 11258 | but has evolved to support other missions as well.") |
| 11259 | ;; SOXS is licensed under the terms of the Modified BSD License (also |
| 11260 | ;; known as New or Revised BSD). |
| 11261 | (license license:bsd-3))) |
| 11262 | |
| 11263 | (define-public python-space-dolphin |
| 11264 | (package |
| 11265 | (name "python-space-dolphin") |
| 11266 | (version "1.4.0") |
| 11267 | (source |
| 11268 | (origin |
| 11269 | (method git-fetch) |
| 11270 | (uri (git-reference |
| 11271 | (url "https://github.com/ajshajib/dolphin") |
| 11272 | (commit (string-append "v" version)))) |
| 11273 | (file-name (git-file-name name version)) |
| 11274 | (sha256 |
| 11275 | (base32 "126ks09wsv33g55m82vrqazfgy7ndbns0knhsqf9g7vg50jwq5wz")))) |
| 11276 | (build-system pyproject-build-system) |
| 11277 | (arguments |
| 11278 | (list |
| 11279 | ;; tests: 86 passed, 8 deselected, 37 warnings |
| 11280 | #:test-flags |
| 11281 | #~(list "--ignore=test/test_ai/test_modeler.py" |
| 11282 | "--ignore=test/test_ai/test_vision.py" |
| 11283 | "--ignore=test/test_pipeline.py" |
| 11284 | "--ignore=test/test_util/test_jax_util.py" |
| 11285 | #$@(map (lambda (ls) (string-append "--deselect=test/" |
| 11286 | (string-join ls "::"))) |
| 11287 | ;; Depends on Jax. |
| 11288 | '(("test_processor/test_core.py" "TestProcessor" |
| 11289 | "test_swim") |
| 11290 | ;; TODO: Report upstram on failing tests. |
| 11291 | ;; TypeError: ModelBandPlot.source_plot() missing 2 |
| 11292 | ;; required positional arguments: 'numPix' and |
| 11293 | ;; 'deltaPix_source' |
| 11294 | ("test_analysis/test_output.py" "TestOutput" |
| 11295 | "test_plot_model_overview") |
| 11296 | ;; TypeError: matplotlib.axes._axes.Axes.matshow() got |
| 11297 | ;; multiple values for keyword argument 'vmax' |
| 11298 | ("test_analysis/test_output.py" "TestOutput" |
| 11299 | "test_plot_model_decomposition") |
| 11300 | ;; TypeError: ModelBandPlot.source() got an unexpected |
| 11301 | ;; keyword argument 'delta_pix' |
| 11302 | ("test_analysis/test_output.py" "TestOutput" |
| 11303 | "test_get_magnification_extended_source") |
| 11304 | ;; AttributeError: 'LensEquationSolver' object has no |
| 11305 | ;; attribute 'find_bright_image'. Did you mean: |
| 11306 | ;; 'findBrightImage'? |
| 11307 | ("test_analysis/test_output.py" "TestOutput" |
| 11308 | "test_get_magnification_point_source") |
| 11309 | ;; Network access is required. |
| 11310 | ("test_processor/test_files.py" "TestFileSystem" |
| 11311 | "test_get_trained_model_file_path") |
| 11312 | ;; ModuleNotFoundError: No module named 'jax' |
| 11313 | ("test_processor/test_config.py" "TestModelConfig" |
| 11314 | "test_get_kwargs_likelihood")))) |
| 11315 | #:phases |
| 11316 | #~(modify-phases %standard-phases |
| 11317 | (add-before 'check 'pre-check |
| 11318 | (lambda _ |
| 11319 | ;; RuntimeError: cannot cache function 'rotate': no locator |
| 11320 | ;; available for file '<...>/lenstronomy/Util/util.py'. |
| 11321 | (setenv "NUMBA_CACHE_DIR" "/tmp")))))) |
| 11322 | (native-inputs |
| 11323 | (list python-pytest |
| 11324 | python-setuptools)) |
| 11325 | (propagated-inputs |
| 11326 | (list python-astropy |
| 11327 | python-corner |
| 11328 | python-emcee |
| 11329 | python-gdown |
| 11330 | python-h5py |
| 11331 | python-lenstronomy |
| 11332 | python-matplotlib |
| 11333 | python-numpy |
| 11334 | python-pyyaml |
| 11335 | python-ruamel.yaml |
| 11336 | python-schwimmbad |
| 11337 | python-scipy |
| 11338 | python-tqdm)) |
| 11339 | (home-page "https://github.com/ajshajib/dolphin") |
| 11340 | (synopsis "Automated pipeline for lens modeling based on lenstronomy") |
| 11341 | (description |
| 11342 | "This package implements a functionality of AI-powered automated pipeline |
| 11343 | for lens modeling, with lenstronomy as the modeling engine. |
| 11344 | |
| 11345 | Features: |
| 11346 | @itemize |
| 11347 | @item AI-automated forward modeling for large samples of galaxy-scale lenses |
| 11348 | @item flexible: supports both fully automated and semi-automated (with user |
| 11349 | tweaks) modes |
| 11350 | @item multi-band lens modeling made simple |
| 11351 | @item supports both galaxy–galaxy and galaxy–quasar systems |
| 11352 | @item effortless syncing between local machines and @acronym{High-Performance |
| 11353 | Computing Cluster, HPCC} |
| 11354 | @end itemize") |
| 11355 | (license license:bsd-3))) |
| 11356 | |
| 11357 | (define-public python-spacepy |
| 11358 | (package |
| 11359 | (name "python-spacepy") |
| 11360 | (version "0.7.0") |
| 11361 | (source |
| 11362 | (origin |
| 11363 | (method git-fetch) |
| 11364 | (uri (git-reference |
| 11365 | (url "https://github.com/spacepy/spacepy") |
| 11366 | (commit (string-append "release-" version)))) |
| 11367 | (file-name (git-file-name name version)) |
| 11368 | (sha256 |
| 11369 | (base32 "1i9657j4qll3f8z20n9md93yh35n0vjj32k522bdqxq5pda8dng0")))) |
| 11370 | (build-system pyproject-build-system) |
| 11371 | (arguments |
| 11372 | (list |
| 11373 | ;; tests: |
| 11374 | #:test-flags |
| 11375 | #~(list "--ignore=developer/" |
| 11376 | ;; Tests depend on https://cdf.gsfc.nasa.gov/. |
| 11377 | "--ignore=tests/test_all.py" |
| 11378 | "--ignore=tests/test_coordinates.py" |
| 11379 | "--ignore=tests/test_datamodel.py" |
| 11380 | "--ignore=tests/test_irbempy.py" |
| 11381 | "--ignore=tests/test_pycdf.py" |
| 11382 | "--ignore=tests/test_pycdf_istp.py" |
| 11383 | "--ignore=tests/test_time.py" |
| 11384 | ;; AssertionError: Lists differ: ['[sp[38 chars]cePy UNRELEASED |
| 11385 | ;; default test entry: value\n', [38 chars]]\n'] != ['[sp[38 |
| 11386 | ;; chars]cePy 0.7.0 default test entry: value\n', '#tes[33 |
| 11387 | ;; chars]]\n'] |
| 11388 | (string-append "--deselect=tests/test_base.py::" |
| 11389 | "SpacepyConfigTests::" |
| 11390 | "testWriteDefaultsMultipleSections")) |
| 11391 | #:phases |
| 11392 | #~(modify-phases %standard-phases |
| 11393 | (add-before 'sanity-check 'set-HOME |
| 11394 | (lambda _ |
| 11395 | (setenv "HOME" "/tmp"))) |
| 11396 | (add-before 'check 'remove-local-source |
| 11397 | (lambda _ |
| 11398 | (delete-file-recursively "spacepy")))))) |
| 11399 | (native-inputs |
| 11400 | (list gfortran |
| 11401 | python-pytest |
| 11402 | python-setuptools)) |
| 11403 | (propagated-inputs |
| 11404 | (list python-astropy |
| 11405 | python-h5py |
| 11406 | python-matplotlib |
| 11407 | python-numpy |
| 11408 | python-dateutil |
| 11409 | python-scipy)) |
| 11410 | (home-page "https://github.com/spacepy/spacepy") |
| 11411 | (synopsis "Tools for Space Science Applications") |
| 11412 | (description |
| 11413 | "SpacePy is a package for Python, targeted at the space sciences, that |
| 11414 | aims to make basic data analysis, modeling and visualization easier. It |
| 11415 | builds on the capabilities of NumPy and MatPlotLib packages.") |
| 11416 | (license license:psfl))) |
| 11417 | |
| 11418 | (define-public python-spacetrack |
| 11419 | (package |
| 11420 | (name "python-spacetrack") |
| 11421 | (version "2.1.0") |
| 11422 | (source |
| 11423 | (origin |
| 11424 | (method url-fetch) |
| 11425 | (uri (pypi-uri "spacetrack" version)) |
| 11426 | (sha256 |
| 11427 | (base32 "14qmlnvjh74b9cy9m1km8y56ib8rfh3cd63vkzjb98jnny3mwhr1")))) |
| 11428 | (build-system pyproject-build-system) |
| 11429 | (native-inputs |
| 11430 | (list python-hatchling |
| 11431 | python-pytest |
| 11432 | python-pytest-httpx2 |
| 11433 | python-trio)) |
| 11434 | (propagated-inputs |
| 11435 | (list python-anyio |
| 11436 | python-filelock |
| 11437 | python-httpx2 |
| 11438 | python-logbook |
| 11439 | python-outcome |
| 11440 | python-platformdirs |
| 11441 | python-represent |
| 11442 | python-rush)) |
| 11443 | (home-page "https://github.com/python-astrodynamics/spacetrack") |
| 11444 | (synopsis "Python client for space-track.org") |
| 11445 | (description |
| 11446 | "@code{spacetrack} is a python module for @url{https://www.space-track.org/, |
| 11447 | Space-Track} which promotes space flight safety, protection of the space |
| 11448 | environment and the peaceful use of space worldwide by sharing space |
| 11449 | situational awareness services and information with international satellite |
| 11450 | owners/operators, academia and other entities.") |
| 11451 | (license license:expat))) |
| 11452 | |
| 11453 | (define-public python-specreduce |
| 11454 | (package |
| 11455 | (name "python-specreduce") |
| 11456 | (version "1.9.0") |
| 11457 | (source |
| 11458 | (origin |
| 11459 | (method git-fetch) |
| 11460 | (uri (git-reference |
| 11461 | (url "https://github.com/astropy/specreduce") |
| 11462 | (commit (string-append "v" version)))) |
| 11463 | (file-name (git-file-name name version)) |
| 11464 | (sha256 |
| 11465 | (base32 "14c625a7mg0sznavkmjx1cbxwdrc41fwjsvj4xvyyg7ibx7qikwa")))) |
| 11466 | (build-system pyproject-build-system) |
| 11467 | (arguments |
| 11468 | (list |
| 11469 | ;; tests: 129 passed, 25 skipped |
| 11470 | #:test-flags |
| 11471 | #~(list "--pyargs" "specreduce" |
| 11472 | ;; Network access is required to download test data from |
| 11473 | ;; <https://raw.githubusercontent.com/pypeit/pypeit |
| 11474 | ;; /release/pypeit/data//arc_lines/lists/HeI_lines.dat>. |
| 11475 | "--ignore=specreduce/tests/test_tilt_correction.py" |
| 11476 | "--ignore=specreduce/tests/test_tilt_solution.py") |
| 11477 | #:phases |
| 11478 | #~(modify-phases %standard-phases |
| 11479 | (add-before 'check 'set-home |
| 11480 | (lambda _ |
| 11481 | ;; Relax matplotlib warning: ... because the default path |
| 11482 | ;; (/homeless-shelter/.config/matplotlib) is not a writable |
| 11483 | ;; directory ... |
| 11484 | (setenv "HOME" "/tmp")))))) |
| 11485 | (native-inputs |
| 11486 | (list nss-certs-for-test |
| 11487 | python-photutils |
| 11488 | python-pypeit-minimal |
| 11489 | python-pytest |
| 11490 | python-pytest-astropy |
| 11491 | python-pytest-mock |
| 11492 | python-setuptools |
| 11493 | python-setuptools-scm)) |
| 11494 | (propagated-inputs |
| 11495 | (list python-astropy |
| 11496 | python-gwcs |
| 11497 | python-matplotlib |
| 11498 | python-numpy |
| 11499 | python-scipy |
| 11500 | python-specutils)) |
| 11501 | (home-page "https://specreduce.readthedocs.io/") |
| 11502 | (synopsis "Spectroscopic Reductions") |
| 11503 | (description |
| 11504 | "This package implements functionality of spectroscopic reduction in |
| 11505 | observations from Optical and @acronym{Near-infrared spectroscopy,NIR} |
| 11506 | instruments.") |
| 11507 | (license (list license:bsd-3 ; licenses/LICENSE.rst, same as python-astropy |
| 11508 | license:expat)))) ; licenses/KOSMOS_LICENSE |
| 11509 | |
| 11510 | (define-public python-spectral-cube |
| 11511 | (package |
| 11512 | (name "python-spectral-cube") |
| 11513 | (version "0.6.7") |
| 11514 | (source |
| 11515 | (origin |
| 11516 | (method url-fetch) |
| 11517 | (uri (pypi-uri "spectral_cube" version)) |
| 11518 | (sha256 |
| 11519 | (base32 "1r3mwrnjw2yfjsd3bskl013c3yk0ad3ky1yhxlvyiz4phrahhb3f")))) |
| 11520 | (build-system pyproject-build-system) |
| 11521 | (arguments |
| 11522 | (list |
| 11523 | ;; tests: 1519 passed, 170 skipped, 17 xfailed, 6048 warnings |
| 11524 | #:test-flags |
| 11525 | #~(list "--numprocesses" (number->string (min 8 (parallel-job-count))) |
| 11526 | ;; AttributeError: module 'numpy' has no attribute 'product' |
| 11527 | "--deselect=spectral_cube/tests/test_dask.py::test_dask_distributed" |
| 11528 | #$@(map (lambda (test) (string-append "--deselect=" |
| 11529 | "spectral_cube/tests/" |
| 11530 | "test_casafuncs.py::" |
| 11531 | "test")) |
| 11532 | (list "test_casa_read_basic[False-False]" |
| 11533 | "test_casa_read_basic[False-True]" |
| 11534 | "test_casa_read_basic[True-False]" |
| 11535 | "test_casa_read_basic[True-True]" |
| 11536 | "test_casa_read_basic_nomask"))))) |
| 11537 | (native-inputs |
| 11538 | (list python-pytest |
| 11539 | python-pytest-astropy |
| 11540 | python-pytest-xdist |
| 11541 | python-regions |
| 11542 | python-setuptools |
| 11543 | python-setuptools-scm)) |
| 11544 | (propagated-inputs |
| 11545 | (list python-astropy |
| 11546 | python-casa-formats-io |
| 11547 | python-dask |
| 11548 | python-joblib |
| 11549 | python-numpy |
| 11550 | python-packaging |
| 11551 | python-radio-beam |
| 11552 | python-tqdm |
| 11553 | ;; [optional] |
| 11554 | python-scipy |
| 11555 | python-zarr)) |
| 11556 | (home-page "https://spectral-cube.readthedocs.io/en/latest/") |
| 11557 | (synopsis "Library for reading and analyzing astrophysical spectral data cubes") |
| 11558 | (description |
| 11559 | "The spectral-cube package provides an easy way to read, manipulate, |
| 11560 | analyze, and write data cubes with two positional dimensions and one spectral |
| 11561 | dimension, optionally with Stokes parameters. |
| 11562 | |
| 11563 | It provides the following main features: |
| 11564 | @itemize |
| 11565 | @item A uniform interface to spectral cubes, robust to the wide range of conventions |
| 11566 | of axis order, spatial projections, and spectral units that exist in the wild. |
| 11567 | @item Easy extraction of cube sub-regions using physical coordinates. |
| 11568 | @item Ability to easily create, combine, and apply masks to datasets. |
| 11569 | @item Basic summary statistic methods like moments and array aggregates. |
| 11570 | @item Designed to work with datasets too large to load into memory. |
| 11571 | @end itemize") |
| 11572 | (license license:bsd-3))) |
| 11573 | |
| 11574 | (define-public python-specutils |
| 11575 | (package |
| 11576 | (name "python-specutils") |
| 11577 | (version "2.4.0") |
| 11578 | (source |
| 11579 | (origin |
| 11580 | (method url-fetch) |
| 11581 | (uri (pypi-uri "specutils" version)) |
| 11582 | (sha256 |
| 11583 | (base32 "132hsjka0k0gkv2ikrps0l2zsy2md71r7gq5sxsjvsdygiwarqnv")))) |
| 11584 | (build-system pyproject-build-system) |
| 11585 | (arguments |
| 11586 | (list |
| 11587 | ;; tests: 584 passed, 130 skipped, 1 deselected, 3 xfailed |
| 11588 | #:test-flags |
| 11589 | #~(list "--pyargs" "specutils" |
| 11590 | ;; Disabling test requiring access to download |
| 11591 | ;; <https://datacenter.iers.org/data/9/finals2000A.all>. |
| 11592 | ;; XXX: Check if test data may be packed as standalone package. |
| 11593 | "--deselect=tests/test_spectral_axis.py::test_create_spectral_axis") |
| 11594 | #:phases |
| 11595 | #~(modify-phases %standard-phases |
| 11596 | (add-before 'build 'set-home-env |
| 11597 | (lambda _ |
| 11598 | ;; Tests require HOME to be set. |
| 11599 | ;; Permission denied: '/homeless-shelter' |
| 11600 | (setenv "HOME" "/tmp"))) |
| 11601 | (add-before 'check 'remove-local-source |
| 11602 | (lambda _ |
| 11603 | (delete-file-recursively "specutils")))))) |
| 11604 | (native-inputs |
| 11605 | (list python-matplotlib |
| 11606 | python-pytest-asdf-plugin |
| 11607 | python-pytest-astropy |
| 11608 | python-setuptools |
| 11609 | python-setuptools-scm |
| 11610 | python-spectral-cube)) |
| 11611 | (propagated-inputs |
| 11612 | (list python-asdf |
| 11613 | python-asdf-astropy |
| 11614 | python-astropy |
| 11615 | python-gwcs |
| 11616 | python-ndcube-minimal |
| 11617 | python-numpy |
| 11618 | python-scipy)) |
| 11619 | (home-page "https://specutils.readthedocs.io/") |
| 11620 | (synopsis "Package for spectroscopic astronomical data") |
| 11621 | (description |
| 11622 | "@code{specutils} is a Python package for representing, loading, |
| 11623 | manipulating,and analyzing astronomical spectroscopic data. The generic data |
| 11624 | containers and accompanying modules provide a toolbox that the astronomical |
| 11625 | community can use to build more domain-specific packages. For more details |
| 11626 | about the underlying principles, see |
| 11627 | @url{https://github.com/astropy/astropy-APEs/blob/main/APE13.rst, APE13}.") |
| 11628 | (license license:bsd-3))) |
| 11629 | |
| 11630 | (define-public python-spherical-geometry |
| 11631 | (package |
| 11632 | (name "python-spherical-geometry") |
| 11633 | (version "1.4.0") |
| 11634 | (source |
| 11635 | (origin |
| 11636 | (method git-fetch) |
| 11637 | (uri (git-reference |
| 11638 | (url "https://github.com/spacetelescope/spherical_geometry") |
| 11639 | (commit version))) |
| 11640 | (file-name (git-file-name name version)) |
| 11641 | (sha256 |
| 11642 | (base32 "120wzvi6hf6n1qj0lpa1h2akdic4nk1nphgwglgib216az77xwfa")) |
| 11643 | (modules '((guix build utils))) |
| 11644 | (snippet |
| 11645 | #~(begin |
| 11646 | ;; Remove bundled library. |
| 11647 | (delete-file-recursively "libqd"))))) |
| 11648 | (build-system pyproject-build-system) |
| 11649 | (arguments |
| 11650 | (list |
| 11651 | #:test-flags |
| 11652 | #~(list "--pyargs" "spherical_geometry") |
| 11653 | #:phases |
| 11654 | #~(modify-phases %standard-phases |
| 11655 | (add-after 'unpack 'preparations |
| 11656 | (lambda _ |
| 11657 | ;; Use our own libraries in place of bundles. |
| 11658 | (setenv "USE_SYSTEM_QD" "1")))))) |
| 11659 | (native-inputs |
| 11660 | (list python-gwcs |
| 11661 | python-pytest |
| 11662 | python-pytest-astropy-header |
| 11663 | python-setuptools |
| 11664 | python-setuptools-scm)) |
| 11665 | (inputs |
| 11666 | (list qd)) |
| 11667 | (propagated-inputs |
| 11668 | (list python-astropy |
| 11669 | python-numpy)) |
| 11670 | (home-page "https://github.com/spacetelescope/spherical_geometry") |
| 11671 | (synopsis "Python astronimical package for handling spherical polygons") |
| 11672 | (description |
| 11673 | "The @code{spherical_geometry} library is a Python package for handling |
| 11674 | spherical polygons that represent arbitrary regions of the sky.") |
| 11675 | ;; LICENSE.rst Association of Universities for Research in Astronomy (AURA) |
| 11676 | ;; QD_LIBRARY_LICENSE.rst for bandeled QD source |
| 11677 | (license license:bsd-3))) |
| 11678 | |
| 11679 | (define-public python-spinifex |
| 11680 | (package |
| 11681 | (name "python-spinifex") |
| 11682 | (version "2.0") |
| 11683 | (source |
| 11684 | (origin |
| 11685 | (method git-fetch) |
| 11686 | (uri (git-reference |
| 11687 | (url "https://git.astron.nl/RD/spinifex") |
| 11688 | (commit (string-append "v" version)))) |
| 11689 | (file-name (git-file-name name version)) |
| 11690 | (sha256 |
| 11691 | (base32 "1lz280ri9dxc9lpxhq5bd3pd500aari2d8db1s4ig48kac231d6i")))) |
| 11692 | (build-system pyproject-build-system) |
| 11693 | (arguments |
| 11694 | (list |
| 11695 | ;; tests: 58 passed, 1 skipped, 11 deselected |
| 11696 | #:test-flags |
| 11697 | ;; Tests requiring remove data from |
| 11698 | ;; <http://cabrera.upc.es/upc_ionex_GPSonly-RINEXv3>. |
| 11699 | #~(list #$@(map (lambda (test) (string-append "--deselect=tests/" test)) |
| 11700 | (list "test_examples.py::test_example_notebook" |
| 11701 | "test_fits_tools.py::test_get_integrated_rm_from_fits" |
| 11702 | "test_fits_tools.py::test_get_metadata_from_fits" |
| 11703 | "test_fits_tools.py::test_get_rm_from_fits" |
| 11704 | "test_ionex_download.py::test_chapman_download" |
| 11705 | "test_ionospheric.py::test_get_ionosphere" |
| 11706 | "test_tomion.py::test_ionosphere_tomion" |
| 11707 | "test_tomion.py::test_ionosphere_tomion_dual" |
| 11708 | "test_tomion.py::test_ionosphere_tomionmultiple_days"))) |
| 11709 | #:phases |
| 11710 | #~(modify-phases %standard-phases |
| 11711 | (add-after 'unpack 'fix-pytest-config |
| 11712 | (lambda _ |
| 11713 | (substitute* "pyproject.toml" |
| 11714 | ((".*ignore::coverage.exceptions.CoverageWarning.*") |
| 11715 | ""))))))) |
| 11716 | (native-inputs |
| 11717 | (list python-hatch-vcs |
| 11718 | python-hatchling |
| 11719 | python-nbconvert |
| 11720 | python-pytest |
| 11721 | python-pytest-asyncio)) |
| 11722 | (propagated-inputs |
| 11723 | (list python-astropy |
| 11724 | python-eval-type-backport |
| 11725 | python-fitscube |
| 11726 | python-h5py |
| 11727 | python-nest-asyncio |
| 11728 | python-numpy |
| 11729 | python-ppigrf |
| 11730 | python-pydantic |
| 11731 | python-pyiri |
| 11732 | python-requests |
| 11733 | python-unlzw-cython |
| 11734 | ;; [optional] |
| 11735 | python-casacore)) |
| 11736 | (home-page "https://git.astron.nl/RD/spinifex") |
| 11737 | (synopsis "Correcting ionospheric Faraday rotation") |
| 11738 | (description |
| 11739 | "This package provides a pure Python tooling for ionospheric analyses in |
| 11740 | radio astronomy, e.g. getting total electron content and rotation measure.") |
| 11741 | (license license:asl2.0))) |
| 11742 | |
| 11743 | (define-public python-spisea |
| 11744 | (package |
| 11745 | (name "python-spisea") |
| 11746 | (version "2.5") |
| 11747 | (source |
| 11748 | (origin |
| 11749 | (method git-fetch) |
| 11750 | (uri (git-reference |
| 11751 | (url "https://github.com/MovingUniverseLab/SPISEA") |
| 11752 | (commit (string-append "v" version)))) |
| 11753 | (file-name (git-file-name name version)) |
| 11754 | (sha256 |
| 11755 | (base32 "0pb6xf851vc9js7wb8hh9cf7xk7fmzn66f1rxd55zyhbpkcvphyw")))) |
| 11756 | (build-system pyproject-build-system) |
| 11757 | (arguments |
| 11758 | (list |
| 11759 | ;; XXX: Tests require additional data, see |
| 11760 | ;; <https://spisea.readthedocs.io/en/latest/getting_started.html>. |
| 11761 | ;; - https://archive.stsci.edu/hlsps/reference-atlases/ |
| 11762 | ;; - hlsp_reference-atlases_hst_multi_everything_multi_v10_sed.tar 741MiB |
| 11763 | ;; - https://archive.stsci.edu/hlsps/reference-atlases/ |
| 11764 | ;; - hlsp_reference-atlases_hst_multi_star-galaxy-models_multi_v3_synphot2.tar 84MiB |
| 11765 | #:tests? #f)) |
| 11766 | (native-inputs |
| 11767 | (list python-cython |
| 11768 | python-extension-helpers |
| 11769 | python-setuptools |
| 11770 | python-setuptools-scm)) |
| 11771 | (propagated-inputs |
| 11772 | (list python-astropy |
| 11773 | python-matplotlib |
| 11774 | python-numpy |
| 11775 | python-pysynphot |
| 11776 | python-scipy)) |
| 11777 | (home-page "https://spisea.readthedocs.io/en/stable/index.html") |
| 11778 | (synopsis "Stellar Population Synthesis Modeling") |
| 11779 | (description |
| 11780 | "SPISEA is an python package that generates single-age, |
| 11781 | single-metallicity populations (i.e. star clusters). It gives the user control |
| 11782 | over many parameters: |
| 11783 | |
| 11784 | @itemize |
| 11785 | @item cluster characteristics (age, metallicity, mass, distance) |
| 11786 | @item total extinction, differential extinction, and extinction law |
| 11787 | @item stellar evolution and atmosphere models |
| 11788 | @item stellar multiplicity and Initial Mass Function |
| 11789 | @item initial-Final Mass Relation |
| 11790 | @item photometric filters |
| 11791 | @end itemize") |
| 11792 | ;; Licensed under a 3-clause BSD style license - see LICENSE.rst |
| 11793 | ;; spisea/_astropy_init.py: |
| 11794 | (license (list license:gpl3+ license:bsd-3)))) |
| 11795 | |
| 11796 | (define-public python-statmorph |
| 11797 | (package |
| 11798 | (name "python-statmorph") |
| 11799 | (version "0.7.2") |
| 11800 | (source |
| 11801 | (origin |
| 11802 | (method url-fetch) |
| 11803 | (uri (pypi-uri "statmorph" version)) |
| 11804 | (sha256 |
| 11805 | (base32 "1hab5yq0xjc3fzyd177bwsgainqzaxpdw423r73nzc5yqiqz9ji4")))) |
| 11806 | (build-system pyproject-build-system) |
| 11807 | (arguments |
| 11808 | (list |
| 11809 | ;; tests: 19 passed, 1 deselected |
| 11810 | #:test-flags |
| 11811 | ;; Test fails due to numerical uncertainties. |
| 11812 | ;; See: <https://github.com/vrodgom/statmorph/issues/17>. |
| 11813 | #~(list"--deselect=statmorph/tests/test_statmorph.py::test_full_gini_segmap"))) |
| 11814 | (native-inputs |
| 11815 | (list python-pytest |
| 11816 | python-setuptools)) |
| 11817 | (propagated-inputs |
| 11818 | (list python-astropy |
| 11819 | python-numpy |
| 11820 | python-photutils |
| 11821 | python-scikit-image |
| 11822 | python-scipy |
| 11823 | ;; [optional] |
| 11824 | python-matplotlib)) |
| 11825 | (home-page "https://github.com/vrodgom/statmorph") |
| 11826 | (synopsis "Non-parametric morphological diagnostics of galaxy images") |
| 11827 | (description |
| 11828 | "The package @code{statmorph} implements functionality of calculating |
| 11829 | non-parametric morphological diagnostics of galaxy images (e.g., Gini-M_{20} |
| 11830 | and CAS statistics), as well as fitting 2D Sérsic profiles.") |
| 11831 | (license license:bsd-3))) |
| 11832 | |
| 11833 | (define-public python-stcal |
| 11834 | (package |
| 11835 | (name "python-stcal") |
| 11836 | (version "1.20.0") |
| 11837 | (source |
| 11838 | (origin |
| 11839 | (method git-fetch) |
| 11840 | (uri (git-reference |
| 11841 | (url "https://github.com/spacetelescope/stcal") |
| 11842 | (commit version))) |
| 11843 | (file-name (git-file-name name version)) |
| 11844 | (sha256 |
| 11845 | (base32 "1dwja6a48a26bj13xhh8yhbd0100xw1al4lzksds52lp2xzh0rzv")))) |
| 11846 | (build-system pyproject-build-system) |
| 11847 | (arguments |
| 11848 | (list |
| 11849 | ;; tests: 694 passed, 12 warnings |
| 11850 | #:test-flags |
| 11851 | #~(list "--pyargs" "stcal" |
| 11852 | "--numprocesses" (number->string (min 8 (parallel-job-count))) |
| 11853 | ;; Network access is required for the most of the tests to |
| 11854 | ;; download test data from |
| 11855 | ;; <s3://stpubdata/gaia/gaia_dr3/public/hats/gaia/>. |
| 11856 | "--ignore=tests/test_tweakreg.py" |
| 11857 | "tests") |
| 11858 | #:phases |
| 11859 | #~(modify-phases %standard-phases |
| 11860 | (add-after 'unpack 'relax-requirements |
| 11861 | (lambda _ |
| 11862 | (substitute* "pyproject.toml" |
| 11863 | (("tweakwcs>=0.8.8,<0.9") "tweakwcs>=0.8.8,<=0.9.0"))))))) |
| 11864 | (native-inputs |
| 11865 | (list python-cython |
| 11866 | python-psutil |
| 11867 | python-pytest |
| 11868 | python-pytest-xdist |
| 11869 | python-pytest-doctestplus |
| 11870 | python-setuptools |
| 11871 | python-setuptools-scm)) |
| 11872 | (propagated-inputs |
| 11873 | (list python-asdf |
| 11874 | python-astropy |
| 11875 | python-astropy-healpix |
| 11876 | python-drizzle |
| 11877 | python-gwcs |
| 11878 | python-numpy |
| 11879 | python-pyarrow |
| 11880 | python-requests |
| 11881 | python-scikit-image |
| 11882 | python-scipy |
| 11883 | python-shapely |
| 11884 | python-spherical-geometry |
| 11885 | python-stsci-imagestats |
| 11886 | python-tweakwcs)) |
| 11887 | (home-page "https://github.com/spacetelescope/stcal") |
| 11888 | (synopsis "STScI tools and algorithms used in calibration pipelines") |
| 11889 | (description "STScI tools and algorithms used in calibration pipelines.") |
| 11890 | (license license:bsd-3))) |
| 11891 | |
| 11892 | (define-public python-stdatamodels |
| 11893 | (package |
| 11894 | (name "python-stdatamodels") |
| 11895 | (version "6.0.0") |
| 11896 | (source |
| 11897 | (origin |
| 11898 | (method git-fetch) |
| 11899 | (uri (git-reference |
| 11900 | (url "https://github.com/spacetelescope/stdatamodels") |
| 11901 | (commit version))) |
| 11902 | (file-name (git-file-name name version)) |
| 11903 | (sha256 |
| 11904 | (base32 "1d4iml3v20aba5fcicnd1dw6s028bbqxx4isfpjvksq5mq52l53i")))) |
| 11905 | (build-system pyproject-build-system) |
| 11906 | (arguments |
| 11907 | (list |
| 11908 | ;; tests: 1966 passed, 4 xfailed |
| 11909 | #:test-flags |
| 11910 | #~(list "--numprocesses" (number->string (min 8 (parallel-job-count))) |
| 11911 | ;; Disable tests requiring access to CRDS servers to download |
| 11912 | ;; ~500MiB of data. |
| 11913 | (string-append "--deselect=tests/jwst/datamodels/" |
| 11914 | "test_schema_against_crds.py" |
| 11915 | "::test_crds_selectors_vs_datamodel")) |
| 11916 | #:phases |
| 11917 | #~(modify-phases %standard-phases |
| 11918 | (add-after 'unpack 'patch-manifest.in |
| 11919 | ;; See: <https://codeberg.org/guix/guix/issues/4393>. |
| 11920 | (lambda* (#:key name source inputs #:allow-other-keys) |
| 11921 | (let ((port (open-file "MANIFEST.in" "w"))) |
| 11922 | (for-each |
| 11923 | (lambda (file) |
| 11924 | (display "include " port) |
| 11925 | (display file port) |
| 11926 | (display "\n" port)) |
| 11927 | (find-files ".")) |
| 11928 | (close port)))) |
| 11929 | (add-before 'check 'set-home |
| 11930 | (lambda _ |
| 11931 | (setenv "HOME" "/tmp")))))) |
| 11932 | (native-inputs |
| 11933 | (list python-crds-minimal |
| 11934 | python-psutil |
| 11935 | python-pytest |
| 11936 | python-pytest-asdf-plugin |
| 11937 | python-pytest-doctestplus |
| 11938 | python-pytest-xdist |
| 11939 | python-scipy |
| 11940 | python-setuptools |
| 11941 | python-setuptools-scm)) |
| 11942 | (propagated-inputs |
| 11943 | (list python-asdf |
| 11944 | python-asdf-astropy |
| 11945 | python-asdf-transform-schemas |
| 11946 | python-astropy |
| 11947 | python-gwcs |
| 11948 | python-numpy)) |
| 11949 | (home-page "https://github.com/spacetelescope/stdatamodels") |
| 11950 | (synopsis "STScI DataModel classes used in calibration pipelines") |
| 11951 | (description |
| 11952 | "Provides @code{DataModel}, which is the base class for data models |
| 11953 | implemented in the @acronym{JWST, James Webb Space Telescope} and |
| 11954 | @acronym{Roman, Nancy Grace Roman Space Telescope} calibration software.") |
| 11955 | (license license:bsd-3))) |
| 11956 | |
| 11957 | ;; A bare minimal package, mainly to use in tests and reduce closure |
| 11958 | ;; size. Tests are left out in the main package to slim down native-inputs. |
| 11959 | (define-public python-stdatamodels-minimal |
| 11960 | (package/inherit python-stdatamodels |
| 11961 | (name "python-stdatamodels-minimal") |
| 11962 | (arguments |
| 11963 | (list #:tests? #f)) |
| 11964 | (native-inputs |
| 11965 | (list python-setuptools |
| 11966 | python-setuptools-scm)))) |
| 11967 | |
| 11968 | (define-public python-stingray |
| 11969 | (package |
| 11970 | (name "python-stingray") |
| 11971 | (version "2.3.2") |
| 11972 | (source |
| 11973 | (origin |
| 11974 | (method url-fetch) |
| 11975 | (uri (pypi-uri "stingray" version)) |
| 11976 | (sha256 |
| 11977 | (base32 "06zaykdxa3ky7smxl7aca5gm31asiw8n8w4n631z8016c4w7h7xc")))) |
| 11978 | (build-system pyproject-build-system) |
| 11979 | (arguments |
| 11980 | (list |
| 11981 | #:phases |
| 11982 | #~(modify-phases %standard-phases |
| 11983 | (add-before 'sanity-check 'set-HOME |
| 11984 | (lambda _ |
| 11985 | (setenv "HOME" "/tmp")))))) |
| 11986 | (native-inputs |
| 11987 | (list python-ipython-minimal |
| 11988 | python-objgraph |
| 11989 | python-pytest |
| 11990 | python-pytest-astropy |
| 11991 | python-setuptools |
| 11992 | python-setuptools-scm |
| 11993 | python-sgp4 |
| 11994 | python-skyfield)) |
| 11995 | (propagated-inputs |
| 11996 | (list python-astropy |
| 11997 | python-matplotlib |
| 11998 | python-numpy |
| 11999 | python-scipy |
| 12000 | ;; [optional] |
| 12001 | python-corner |
| 12002 | python-emcee |
| 12003 | ;; python-etils ;not packaged yet in Guix |
| 12004 | python-fsspec |
| 12005 | python-h5py |
| 12006 | ;; python-jax ;not packaged yet in Guix |
| 12007 | ;; python-jaxns ;not packaged yet in Guix |
| 12008 | python-jplephem |
| 12009 | ;; python-lightkurve ;not packaged yet in Guix |
| 12010 | python-numba |
| 12011 | python-numcodecs |
| 12012 | python-pandas |
| 12013 | python-pint-pulsar |
| 12014 | python-pyarrow |
| 12015 | ;; python-pyfftw ;not packaged yet in Guix |
| 12016 | python-pyyaml |
| 12017 | python-statsmodels |
| 12018 | ;; python-tfp-nightly ;not packaged yet in Guix |
| 12019 | ;; python-tinygp ;not packaged yet in Guix |
| 12020 | python-typing-extensions |
| 12021 | ;; python-ultranest ;not packaged yet in Guix |
| 12022 | python-xarray)) |
| 12023 | (home-page "https://stingray.science") |
| 12024 | (synopsis "Time Series Methods For Astronomical X-ray Data") |
| 12025 | (description |
| 12026 | "Stingray is a Python library designed to perform times series analysis |
| 12027 | and related tasks on astronomical light curves. It supports a range of |
| 12028 | commonly-used Fourier analysis techniques, as well as extensions for analyzing |
| 12029 | pulsar data, simulating data sets, and statistical modelling. Stingray is |
| 12030 | designed to be easy to extend, and easy to incorporate into data analysis |
| 12031 | workflows and pipelines. |
| 12032 | |
| 12033 | It provides: |
| 12034 | @itemize |
| 12035 | @item a library of time series methods, including power spectra, cross |
| 12036 | spectra, covariance spectra, lags, and so on; |
| 12037 | |
| 12038 | @item a set of scripts to load FITS data files from different missions; |
| 12039 | |
| 12040 | @item a light curve and event list simulator, with the ability to simulate |
| 12041 | different kinds of variability and more complicated phenomena based on the |
| 12042 | impulse response of given physical events (e.g. reverberation). |
| 12043 | @end itemize") |
| 12044 | (license license:expat))) |
| 12045 | |
| 12046 | (define-public python-stpipe |
| 12047 | (package |
| 12048 | (name "python-stpipe") |
| 12049 | (version "1.1.0") |
| 12050 | (source |
| 12051 | (origin |
| 12052 | (method git-fetch) |
| 12053 | (uri (git-reference |
| 12054 | (url "https://github.com/spacetelescope/stpipe") |
| 12055 | (commit version))) |
| 12056 | (file-name (git-file-name name version)) |
| 12057 | (sha256 |
| 12058 | (base32 "019nk4kqwk3346mhagfcnlcrlplly4km1hhvjwzqm59whgq42h3b")) |
| 12059 | (modules '((guix build utils))) |
| 12060 | (snippet |
| 12061 | #~(begin |
| 12062 | ;; Replace reference to external configobj. |
| 12063 | (substitute* (find-files "." "\\.py$") |
| 12064 | (("from astropy.extern import configobj") |
| 12065 | "import configobj") |
| 12066 | (("from astropy.extern.configobj import validate") |
| 12067 | "import validate") |
| 12068 | (("from astropy.extern.configobj.configobj import ") |
| 12069 | "from configobj import ") |
| 12070 | (("from astropy.extern.configobj.validate import ") |
| 12071 | "from validate import ")))))) |
| 12072 | (build-system pyproject-build-system) |
| 12073 | (arguments |
| 12074 | (list |
| 12075 | ;; tests: 285 passed, 25 deselected |
| 12076 | #:test-flags |
| 12077 | #~(list #$@(map (lambda (test) |
| 12078 | (string-append "--deselect=tests/test_step.py::" |
| 12079 | test)) |
| 12080 | ;; FileNotFoundError: Unable to fetch schema from |
| 12081 | ;; non-file URL: |
| 12082 | ;; http://stsci.edu/schemas/stpipe/step_config-1.1.0 |
| 12083 | (list "test_build_config_pipe_config_file" |
| 12084 | "test_build_config_pipe_kwarg" |
| 12085 | "test_build_config_step_config_file" |
| 12086 | "test_build_config_step_kwarg" |
| 12087 | "test_step_from_commandline_par_precedence" |
| 12088 | "test_step_list_args")) |
| 12089 | #$@(map (lambda (test) |
| 12090 | (string-append "--deselect=tests/" |
| 12091 | "test_asdf_parameters.py::" |
| 12092 | test)) |
| 12093 | (list "test_asdf_from_call" |
| 12094 | "test_asdf_roundtrip_pipeline" |
| 12095 | "test_export_config[step_obj0-expected0]" |
| 12096 | "test_from_command_line" |
| 12097 | "test_from_command_line_override" |
| 12098 | "test_reftype" |
| 12099 | "test_saving_pars" |
| 12100 | "test_step_from_asdf" |
| 12101 | "test_step_from_asdf_api_override" |
| 12102 | "test_step_from_asdf_noname")) |
| 12103 | "--deselect=tests/test_config.py::test_step_config_from_asdf" |
| 12104 | "--deselect=tests/test_config.py::test_step_config_from_legacy_asdf" |
| 12105 | "--deselect=tests/test_config.py::test_step_config_to_asdf"))) |
| 12106 | (native-inputs |
| 12107 | (list python-pytest |
| 12108 | python-pytest-doctestplus |
| 12109 | python-setuptools |
| 12110 | python-setuptools-scm |
| 12111 | python-stdatamodels)) |
| 12112 | (propagated-inputs |
| 12113 | (list python-asdf |
| 12114 | python-astropy |
| 12115 | python-crds |
| 12116 | python-importlib-metadata |
| 12117 | python-pyyaml)) |
| 12118 | (home-page "https://github.com/spacetelescope/stpipe") |
| 12119 | (synopsis "STScI framework for calibration pipeline software") |
| 12120 | (description |
| 12121 | "This package provides base classes and command-line tools for |
| 12122 | implementing calibration pipeline software.") |
| 12123 | ;; LICENSE Association of Universities for Research in Astronomy (AURA) |
| 12124 | (license license:bsd-3))) |
| 12125 | |
| 12126 | (define-public python-stpreview |
| 12127 | (package |
| 12128 | (name "python-stpreview") |
| 12129 | (version "0.6.0") |
| 12130 | (source |
| 12131 | (origin |
| 12132 | (method url-fetch) |
| 12133 | (uri (pypi-uri "stpreview" version)) |
| 12134 | (sha256 |
| 12135 | (base32 "1z7zpqyg7rl2sf311idzwckdshm86mkbbpknvq90gkxmqdaqas9q")))) |
| 12136 | (build-system pyproject-build-system) |
| 12137 | (arguments |
| 12138 | (list #:tests? #f)) ;depends on [email protected] |
| 12139 | (native-inputs |
| 12140 | (list python-setuptools |
| 12141 | python-setuptools-scm)) |
| 12142 | (propagated-inputs |
| 12143 | (list python-asdf |
| 12144 | python-astropy |
| 12145 | python-gwcs |
| 12146 | python-matplotlib |
| 12147 | python-numpy |
| 12148 | python-scikit-image)) |
| 12149 | (home-page "https://github.com/spacetelescope/stpreview") |
| 12150 | (synopsis "Build downsampled previews of STScI") |
| 12151 | (description |
| 12152 | "This package provides build downsampled previews of Space Telescope products.") |
| 12153 | (license license:bsd-3))) |
| 12154 | |
| 12155 | (define-public python-stpsf |
| 12156 | (package |
| 12157 | (name "python-stpsf") |
| 12158 | (version "2.2.0") |
| 12159 | (source |
| 12160 | (origin |
| 12161 | (method url-fetch) |
| 12162 | (uri (pypi-uri "stpsf" version)) |
| 12163 | (sha256 |
| 12164 | (base32 "0vrrx7zjj4zpachj2zn92rgn7lfnzps32hyhkbxlmg043aq3a1pj")))) |
| 12165 | (build-system pyproject-build-system) |
| 12166 | (arguments |
| 12167 | (list |
| 12168 | ;; XXX: Tests and installation require 100MiB archive, upstream does |
| 12169 | ;; not provide any version to pin particular data file per release, |
| 12170 | ;; check if they can apply any tag. |
| 12171 | ;; |
| 12172 | ;; See: <https://stpsf.readthedocs.io/en/stable/installation.html>, |
| 12173 | ;; <https://github.com/spacetelescope/stpsf/issues/76>. |
| 12174 | #:tests? #f |
| 12175 | #:phases |
| 12176 | #~(modify-phases %standard-phases |
| 12177 | (add-after 'unpack 'relax-requirements |
| 12178 | (lambda _ |
| 12179 | (substitute* "pyproject.toml" |
| 12180 | (("numpy>=1.21.6,<2.4.0") "numpy"))))))) |
| 12181 | (native-inputs |
| 12182 | (list python-setuptools |
| 12183 | python-setuptools-scm)) |
| 12184 | (propagated-inputs |
| 12185 | (list python-astropy |
| 12186 | python-astroquery |
| 12187 | python-matplotlib |
| 12188 | python-numpy |
| 12189 | python-photutils |
| 12190 | python-poppy |
| 12191 | python-pysiaf |
| 12192 | python-scipy |
| 12193 | python-synphot)) |
| 12194 | (home-page "https://stpsf.readthedocs.io") |
| 12195 | (synopsis "Creates simulated point spread functions for Space Telescopes)") |
| 12196 | (description |
| 12197 | "STPSF produces simulated PSFs for the James Webb Space Telescope, NASA's |
| 12198 | flagship infrared space telescope. STPSF can simulate images for any of the four |
| 12199 | science instruments plus the fine guidance sensor, including both direct |
| 12200 | imaging, coronagraphic, and spectroscopic modes.") |
| 12201 | (license license:bsd-3))) |
| 12202 | |
| 12203 | (define-public python-stregion |
| 12204 | (package |
| 12205 | (name "python-stregion") |
| 12206 | (version "1.1.12") |
| 12207 | (source |
| 12208 | (origin |
| 12209 | (method url-fetch) |
| 12210 | (uri (pypi-uri "stregion" version)) |
| 12211 | (sha256 |
| 12212 | (base32 "0clcv76x8pj61dvyh9pa6gp3kskc9g11i1fi559ax2qa2pgqhh1n")))) |
| 12213 | (build-system pyproject-build-system) |
| 12214 | (arguments |
| 12215 | ;; AttributeError: module 'astropy.io.fits' has no attribute 'CardList' |
| 12216 | ;; AttributeError: 'WCS' object has no attribute 'wcs_pix2sky' |
| 12217 | (list #:tests? #f)) ;depends on deprecated Astropy functions |
| 12218 | (native-inputs |
| 12219 | (list python-cython |
| 12220 | python-setuptools |
| 12221 | python-setuptools-scm)) |
| 12222 | (propagated-inputs |
| 12223 | (list python-numpy |
| 12224 | python-pyparsing)) |
| 12225 | (home-page "https://github.com/spacetelescope/stregion") |
| 12226 | (synopsis "Python parser for DS9 region files") |
| 12227 | (description |
| 12228 | "This package implements a functionality to parse |
| 12229 | @url{https://github.com/SAOImageDS9/SAOImageDS9, DS9} region files.") |
| 12230 | (license license:expat))) |
| 12231 | |
| 12232 | (define-public python-stsci-image |
| 12233 | (package |
| 12234 | (name "python-stsci-image") |
| 12235 | (version "2.3.11") |
| 12236 | (source |
| 12237 | (origin |
| 12238 | (method url-fetch) |
| 12239 | (uri (pypi-uri "stsci_image" version)) |
| 12240 | (sha256 |
| 12241 | (base32 "0wvqvpq9hfmpjf0w6kbgk6rc3jmshdnxk8s8q61rkfwjl11vi90b")))) |
| 12242 | (build-system pyproject-build-system) |
| 12243 | (arguments |
| 12244 | (list |
| 12245 | #:phases |
| 12246 | #~(modify-phases %standard-phases |
| 12247 | (add-before 'check 'build-extensions |
| 12248 | (lambda _ |
| 12249 | ;; Cython extensions have to be built before running the tests. |
| 12250 | (invoke "python" "setup.py" "build_ext" "--inplace")))))) |
| 12251 | (native-inputs |
| 12252 | (list python-pytest python-setuptools python-setuptools-scm)) |
| 12253 | (propagated-inputs |
| 12254 | (list python-numpy |
| 12255 | python-scipy)) |
| 12256 | (home-page "https://github.com/spacetelescope/stsci.image") |
| 12257 | (synopsis "Image array manipulation functions") |
| 12258 | (description |
| 12259 | "This package provides a Python module to various @acronym{STScI, Space |
| 12260 | Telescope Science Institute} image array manipulation functions.") |
| 12261 | (license license:bsd-3))) |
| 12262 | |
| 12263 | (define-public python-stsci-imagestats |
| 12264 | (package |
| 12265 | (name "python-stsci-imagestats") |
| 12266 | (version "1.8.4") |
| 12267 | (source |
| 12268 | (origin |
| 12269 | (method url-fetch) |
| 12270 | (uri (pypi-uri "stsci_imagestats" version)) |
| 12271 | (sha256 |
| 12272 | (base32 "0gn0qqpv2qwl4c9sf8783xkwawk1xjhv3dk28gx82fp0bqalz4kg")))) |
| 12273 | (build-system pyproject-build-system) |
| 12274 | (arguments |
| 12275 | (list |
| 12276 | #:test-flags |
| 12277 | #~(list "--pyargs" "stsci.imagestats"))) |
| 12278 | (native-inputs |
| 12279 | (list python-pytest |
| 12280 | python-setuptools |
| 12281 | python-setuptools-scm)) |
| 12282 | (propagated-inputs |
| 12283 | (list python-numpy)) |
| 12284 | (home-page "https://stsciimagestats.readthedocs.io/en/latest/") |
| 12285 | (synopsis "Compute sigma-clipped statistics on data arrays") |
| 12286 | (description |
| 12287 | "@code{stsci.imagestats} is a package designed to compute various |
| 12288 | statistics on image data using sigma-clipping iterations. It is designed to |
| 12289 | replicate core behaviour of the IRAF's |
| 12290 | @url{http://stsdas.stsci.edu/cgi-bin/gethelp.cgi?imstatistics, imstatistics |
| 12291 | task}.") |
| 12292 | (license license:bsd-3))) |
| 12293 | |
| 12294 | (define-public python-stsci-skypac |
| 12295 | (package |
| 12296 | (name "python-stsci-skypac") |
| 12297 | (version "1.0.12") |
| 12298 | (source |
| 12299 | (origin |
| 12300 | (method git-fetch) |
| 12301 | (uri (git-reference |
| 12302 | (url "https://github.com/spacetelescope/stsci.skypac") |
| 12303 | (commit version))) |
| 12304 | (file-name (git-file-name name version)) |
| 12305 | (sha256 |
| 12306 | (base32 "09gq2cw4xi1wh4hkzxjlmxilhgigirjpz7wqyl283zyp65i5ar31")))) |
| 12307 | (build-system pyproject-build-system) |
| 12308 | (arguments |
| 12309 | ;; TODO: I could not make doctest to find package by pyassing "--pyargs" |
| 12310 | ;; with "stsci.skypac", "stsci:skypac" or "stsci/skypac. |
| 12311 | (list #:tests? #f)) |
| 12312 | (native-inputs |
| 12313 | (list ;; python-pytest |
| 12314 | ;; python-pytest-doctestplus |
| 12315 | python-setuptools |
| 12316 | python-setuptools-scm)) |
| 12317 | (propagated-inputs |
| 12318 | (list python-astropy |
| 12319 | python-numpy |
| 12320 | python-spherical-geometry |
| 12321 | python-stsci-imagestats |
| 12322 | python-stsci-tools |
| 12323 | python-stwcs)) |
| 12324 | (home-page "https://stsci-skypac.readthedocs.io/en/latest") |
| 12325 | (synopsis "Sky matching on image mosaic") |
| 12326 | (description |
| 12327 | "This package implements a functionality to match sky on image mosaic.") |
| 12328 | (license license:bsd-3))) |
| 12329 | |
| 12330 | (define-public python-stsci-stimage |
| 12331 | (package |
| 12332 | (name "python-stsci-stimage") |
| 12333 | (version "0.3.2") |
| 12334 | (source |
| 12335 | (origin |
| 12336 | (method git-fetch) |
| 12337 | (uri (git-reference |
| 12338 | (url "https://github.com/spacetelescope/stsci.stimage") |
| 12339 | (commit version))) |
| 12340 | (file-name (git-file-name name version)) |
| 12341 | (sha256 |
| 12342 | (base32 "1rm9k14grgcnv6nj5wwqsfxvcylnf35zv547c1n96r6yhd6pkqph")))) |
| 12343 | (build-system pyproject-build-system) |
| 12344 | (arguments |
| 12345 | (list |
| 12346 | #:phases |
| 12347 | #~(modify-phases %standard-phases |
| 12348 | (add-before 'check 'build-extensions |
| 12349 | (lambda _ |
| 12350 | (invoke "python" "setup.py" "build_ext" "--inplace")))))) |
| 12351 | (native-inputs |
| 12352 | (list python-pytest python-setuptools python-setuptools-scm)) |
| 12353 | (propagated-inputs |
| 12354 | (list python-numpy)) |
| 12355 | (home-page "https://stscistimage.readthedocs.io/en/latest/") |
| 12356 | (synopsis "STScI image processing") |
| 12357 | (description |
| 12358 | "This package provides an astronomical Python package with image |
| 12359 | processing functions: @code{xyxymatch}, @code{geomap}.") |
| 12360 | (license license:bsd-3))) |
| 12361 | |
| 12362 | (define-public python-stsci-tools |
| 12363 | (package |
| 12364 | (name "python-stsci-tools") |
| 12365 | (version "4.3.1") |
| 12366 | (source |
| 12367 | (origin |
| 12368 | (method url-fetch) |
| 12369 | (uri (pypi-uri "stsci_tools" version)) |
| 12370 | (sha256 |
| 12371 | (base32 "1274p0vlr24nr2v1mp3fac874pgnda802j1d24hvx9hh8vbbvs33")))) |
| 12372 | (build-system pyproject-build-system) |
| 12373 | (native-inputs |
| 12374 | (list python-pytest |
| 12375 | python-pytest-astropy-header |
| 12376 | python-pytest-doctestplus |
| 12377 | python-setuptools |
| 12378 | python-setuptools-scm)) |
| 12379 | (propagated-inputs |
| 12380 | (list python-astropy |
| 12381 | python-numpy |
| 12382 | python-packaging)) |
| 12383 | (home-page "https://stscitools.readthedocs.io/en/latest") |
| 12384 | (synopsis "Collection of STScI utility functions") |
| 12385 | (description |
| 12386 | "This package provides a collection of @acronym{Space Telescope Science |
| 12387 | Institute, STScI} utility functions.") |
| 12388 | (license license:bsd-3))) |
| 12389 | |
| 12390 | (define-public python-stsynphot |
| 12391 | (package |
| 12392 | (name "python-stsynphot") |
| 12393 | (version "1.5.1") |
| 12394 | (source |
| 12395 | (origin |
| 12396 | (method git-fetch) |
| 12397 | (uri (git-reference |
| 12398 | (url "https://github.com/spacetelescope/stsynphot_refactor") |
| 12399 | (commit version))) |
| 12400 | (file-name (git-file-name name version)) |
| 12401 | (sha256 |
| 12402 | (base32 "15jxb2b1172xlh041bvs8316qmqbg26nxjgfyxvl8280zwyqiwvh")))) |
| 12403 | (build-system pyproject-build-system) |
| 12404 | (arguments |
| 12405 | (list |
| 12406 | ;; XXX: Tests fails on missing file, it might need to be downloaded, |
| 12407 | ;; disable them for now. astropy.utils.exceptions.AstropyUserWarning: |
| 12408 | ;; Failed to load Vega spectrum from |
| 12409 | ;; /grp/redcat/trds/calspec/alpha_lyr_stis_010.fits; |
| 12410 | ;; |
| 12411 | ;; Data is available by the lnks: <https://ssb.stsci.edu/trds/calspec/>, |
| 12412 | ;; <https://archive.stsci.edu/hlsp/reference-atlases>. |
| 12413 | #:tests? #f)) |
| 12414 | (native-inputs |
| 12415 | (list python-setuptools |
| 12416 | python-setuptools-scm)) |
| 12417 | (propagated-inputs |
| 12418 | (list python-astropy |
| 12419 | python-beautifulsoup4 |
| 12420 | python-matplotlib |
| 12421 | python-numpy |
| 12422 | python-scipy |
| 12423 | python-synphot)) |
| 12424 | (home-page "https://github.com/spacetelescope/stsynphot_refactor") |
| 12425 | (synopsis "Synthetic photometry using Astropy for HST and JWST") |
| 12426 | (description |
| 12427 | "This package provides a replacement for IRAF STSDAS SYNPHOT and ASTROLIB |
| 12428 | PYSYNPHOT, utilizing Astropy covering instrument specific portions of the old |
| 12429 | packages for HST.") |
| 12430 | (license license:bsd-3))) |
| 12431 | |
| 12432 | (define-public python-stwcs |
| 12433 | (package |
| 12434 | (name "python-stwcs") |
| 12435 | (version "1.7.7") |
| 12436 | (source |
| 12437 | (origin |
| 12438 | (method git-fetch) |
| 12439 | (uri (git-reference |
| 12440 | (url "https://github.com/spacetelescope/stwcs") |
| 12441 | (commit version))) |
| 12442 | (file-name (git-file-name name version)) |
| 12443 | (sha256 |
| 12444 | (base32 "0378c2xf5m7rgsg66nkanfa8xz5chf7rldfj0lld2akm1vs5hqgn")))) |
| 12445 | (build-system pyproject-build-system) |
| 12446 | (arguments |
| 12447 | (list |
| 12448 | ;; tests: 54 passed, 1 skipped, 5 deselected, 2 warnings |
| 12449 | #:test-flags |
| 12450 | #~(list #$@(map (lambda (ls) (string-append "--deselect=stwcs/tests/" |
| 12451 | (string-join ls "::"))) |
| 12452 | ;; Network access is required to reach <mast.stsci.edu>. |
| 12453 | '(("test_altwcs.py" "TestAltWCS" |
| 12454 | "test_repeated_updatewcs_use_db") |
| 12455 | ("test_astrometrydb.py" "TestAstrometryDB" |
| 12456 | "test_new_obs") |
| 12457 | ("test_astrometrydb.py" "test_db_connection") |
| 12458 | ("test_astrometrydb.py" "test_db_timeout") |
| 12459 | ;; AssertionError: assert 'GSC240' == None |
| 12460 | ("test_astrometrydb.py" "TestAstrometryDB" |
| 12461 | "test_success_offsets")))))) |
| 12462 | (native-inputs |
| 12463 | (list nss-certs-for-test |
| 12464 | python-pytest |
| 12465 | python-setuptools |
| 12466 | python-setuptools-scm)) |
| 12467 | (propagated-inputs |
| 12468 | (list python-astropy |
| 12469 | python-lxml |
| 12470 | python-numpy |
| 12471 | python-requests |
| 12472 | python-stsci-tools)) |
| 12473 | (home-page "https://stwcs.readthedocs.io/en/latest/") |
| 12474 | (synopsis "WCS based distortion models and coordinate transformation") |
| 12475 | (description |
| 12476 | "STWCS provides support for WCS distortion models and coordinate |
| 12477 | transformation for the imaging instruments on the @acronym{Hubble Space |
| 12478 | Telescope, HST}).") |
| 12479 | (license license:bsd-3))) |
| 12480 | |
| 12481 | (define-public python-sunkit-dem |
| 12482 | ;; It is not released and has no git tags either. |
| 12483 | (let ((commit "fdb2fa245f047cfac0fda34624e521bef71c8fa6") |
| 12484 | (revision "0")) |
| 12485 | (package |
| 12486 | (name "python-sunkit-dem") |
| 12487 | (version (git-version "0.0.0" revision commit)) |
| 12488 | (source |
| 12489 | (origin |
| 12490 | (method git-fetch) |
| 12491 | (uri (git-reference |
| 12492 | (url "https://github.com/sunpy/sunkit-dem") |
| 12493 | (commit commit))) |
| 12494 | (file-name (git-file-name name version)) |
| 12495 | (sha256 |
| 12496 | (base32 "1gaja95r96nv5n998v8frjjz5kry9vp8isk59fr1ky311yrxpdjd")))) |
| 12497 | (build-system pyproject-build-system) |
| 12498 | (arguments |
| 12499 | (list |
| 12500 | #:phases |
| 12501 | #~(modify-phases %standard-phases |
| 12502 | (add-after 'unpack 'remove-missing-scripts-entry-points |
| 12503 | (lambda _ |
| 12504 | (substitute* "pyproject.toml" |
| 12505 | (("open_astronomy_package_template_example.*") "")))) |
| 12506 | (add-before 'sanity-check 'set-home |
| 12507 | (lambda _ |
| 12508 | (setenv "HOME" "/tmp")))))) |
| 12509 | (native-inputs |
| 12510 | (list python-pytest |
| 12511 | python-pytest-astropy |
| 12512 | python-setuptools |
| 12513 | python-setuptools-scm)) |
| 12514 | (propagated-inputs |
| 12515 | (list python-ndcube |
| 12516 | python-sunpy)) |
| 12517 | (home-page "https://github.com/sunpy/sunkit-dem") |
| 12518 | (synopsis "Computing differential emission measures") |
| 12519 | (description |
| 12520 | "@code{sunkit-dem} is a package for computing differential emission |
| 12521 | measures using multiple methods with a common API.") |
| 12522 | (license license:bsd-3)))) |
| 12523 | |
| 12524 | (define-public python-sunkit-image |
| 12525 | (package |
| 12526 | (name "python-sunkit-image") |
| 12527 | (version "0.7.0") |
| 12528 | (source |
| 12529 | (origin |
| 12530 | (method git-fetch) |
| 12531 | (uri (git-reference |
| 12532 | (url "https://github.com/sunpy/sunkit-image/") |
| 12533 | (commit (string-append "v" version)))) |
| 12534 | (file-name (git-file-name name version)) |
| 12535 | (sha256 |
| 12536 | (base32 "11l6vf62b5pmv687rkr9abkwdwcgj2xqydqczziky6v3114106nf")))) |
| 12537 | (build-system pyproject-build-system) |
| 12538 | (arguments |
| 12539 | (list |
| 12540 | #:test-flags |
| 12541 | #~(list "--numprocesses" (number->string (parallel-job-count)) |
| 12542 | ;; One test fails with assertion, probably in NumPy array |
| 12543 | ;; precision calculation: np.allclose and |
| 12544 | ;; sunpy.map.mapbase.GenericMap are not matched. |
| 12545 | "--deselect=sunkit_image/tests/test_radial.py::test_fnrgf") |
| 12546 | #:phases |
| 12547 | #~(modify-phases %standard-phases |
| 12548 | (add-before 'check 'set-home |
| 12549 | (lambda _ |
| 12550 | ;; For tests: Permission denied: '/homeless-shelter' |
| 12551 | (setenv "HOME" "/tmp")))))) |
| 12552 | (native-inputs |
| 12553 | (list nss-certs-for-test |
| 12554 | python-dask |
| 12555 | python-pytest-astropy |
| 12556 | python-pytest-mpl |
| 12557 | python-pytest-xdist |
| 12558 | python-setuptools |
| 12559 | python-setuptools-scm)) |
| 12560 | (propagated-inputs |
| 12561 | (list python-astropy |
| 12562 | python-matplotlib |
| 12563 | python-numpy |
| 12564 | python-scikit-image |
| 12565 | python-scipy |
| 12566 | python-sunpy)) |
| 12567 | (home-page "https://github.com/sunpy/sunkit-image/") |
| 12568 | (synopsis "Solar Physics image processing toolbox") |
| 12569 | (description |
| 12570 | "This package provides an image processing toolbox for Solar Physics.") |
| 12571 | (license license:bsd-2))) |
| 12572 | |
| 12573 | (define-public python-sunkit-magex |
| 12574 | (package |
| 12575 | (name "python-sunkit-magex") |
| 12576 | (version "1.2.0") |
| 12577 | (source |
| 12578 | (origin |
| 12579 | (method url-fetch) |
| 12580 | (uri (pypi-uri "sunkit_magex" version)) |
| 12581 | (sha256 |
| 12582 | (base32 "0316pqxxsy217wiqwb0k0dpnmmn2847fsyjw8hr4iwxlj8nyk1ja")))) |
| 12583 | (build-system pyproject-build-system) |
| 12584 | (arguments |
| 12585 | (list |
| 12586 | #:test-flags |
| 12587 | #~(list "--numprocesses" (number->string (min 8 (parallel-job-count)))) |
| 12588 | #:phases |
| 12589 | #~(modify-phases %standard-phases |
| 12590 | (add-before 'check 'set-HOME |
| 12591 | (lambda _ |
| 12592 | (setenv "HOME" "/tmp")))))) |
| 12593 | (native-inputs |
| 12594 | (list nss-certs-for-test |
| 12595 | python-pytest |
| 12596 | python-pytest-arraydiff |
| 12597 | python-pytest-doctestplus |
| 12598 | python-pytest-xdist |
| 12599 | python-reproject |
| 12600 | python-setuptools |
| 12601 | python-setuptools-scm |
| 12602 | python-streamtracer |
| 12603 | python-sympy)) |
| 12604 | (propagated-inputs |
| 12605 | (list python-astropy |
| 12606 | python-numpy |
| 12607 | python-scikit-image |
| 12608 | python-scipy |
| 12609 | python-sunpy)) |
| 12610 | (home-page "https://docs.sunpy.org/projects/sunkit-magex") |
| 12611 | (synopsis "Solar Magnetic field Extrapolation") |
| 12612 | (description |
| 12613 | "This package provides a set of tools for the modelling of magnetic field |
| 12614 | data. It is a SunPy affiliated package and is built on top of @code{sunpy} |
| 12615 | and @code{astropy}.") |
| 12616 | ;; This project is Copyright (c) The SunPy Community and licensed under |
| 12617 | ;; the terms of the GNU GPL v3+ license. This package is based upon the |
| 12618 | ;; Openastronomy packaging guide which is licensed under the BSD 3-clause |
| 12619 | ;; license. See the licenses folder for more information. |
| 12620 | (license (list license:gpl3+ license:bsd-3)))) |
| 12621 | |
| 12622 | (define-public python-sunkit-spex |
| 12623 | (package |
| 12624 | (name "python-sunkit-spex") |
| 12625 | (version "0.5.0") |
| 12626 | (source |
| 12627 | (origin |
| 12628 | (method git-fetch) |
| 12629 | (uri (git-reference |
| 12630 | (url "https://github.com/sunpy/sunkit-spex") |
| 12631 | (commit (string-append "v" version)))) |
| 12632 | (file-name (git-file-name name version)) |
| 12633 | (sha256 |
| 12634 | (base32 "0l619zs1ym6jznnbfiisb2qyyiz54xznkgazp4cnnhmcgqh3w93w")))) |
| 12635 | (build-system pyproject-build-system) |
| 12636 | (arguments |
| 12637 | (list |
| 12638 | #:test-flags |
| 12639 | #~(list "--ignore=sunkit_spex/legacy/" |
| 12640 | ;; Network access is required |
| 12641 | "--ignore=sunkit_spex/models/physical/tests/test_thermal.py" |
| 12642 | "--ignore=sunkit_spex/models/physical/tests/test_thermal.py" |
| 12643 | "--ignore=sunkit_spex/models/physical/thermal.py" |
| 12644 | #$@(map (lambda (test) |
| 12645 | (string-append "--deselect=sunkit_spex/models/" |
| 12646 | "physical/tests/" test)) |
| 12647 | (list "test_albedo.py::test_get_albedo_matrix" |
| 12648 | "test_albedo.py::test_albedo_model" |
| 12649 | "test_albedo.py::test_albedo_idl")) |
| 12650 | ;; astropy.units.errors.UnitConversionError: 'Angstrom' (length) |
| 12651 | ;; and '' (dimensionless) are not convertible |
| 12652 | (string-append "--deselect=" |
| 12653 | "sunkit_spex/spectrum/tests/test_spectrum.py" |
| 12654 | "::test_gwcs_from_array_1d_wavelength") |
| 12655 | (string-append "--deselect=" |
| 12656 | "sunkit_spex/spectrum/tests/test_spectrum.py" |
| 12657 | "::test_gwcs_from_array_3d_cube") |
| 12658 | ;; XXX: Maby this: <https://github.com/sunpy/ndcube/issues/913>. |
| 12659 | (string-append "--deselect=" |
| 12660 | "sunkit_spex/models/physical/albedo.py" |
| 12661 | "::sunkit_spex.models.physical.albedo" |
| 12662 | ".get_albedo_matrix")) |
| 12663 | #:phases |
| 12664 | #~(modify-phases %standard-phases |
| 12665 | (add-after 'unpack 'relax-requirements |
| 12666 | ;; See: <https://github.com/sunpy/ndcube/issues/913>, resolved by |
| 12667 | ;; <https://github.com/spacetelescope/gwcs/pull/635> and it's part |
| 12668 | ;; of [email protected]. |
| 12669 | (lambda _ |
| 12670 | (substitute* "pyproject.toml" |
| 12671 | (("gwcs>=0.26.0,<1.0.0") "gwcs>=0.26.0,<=1.0.3")))) |
| 12672 | (add-before 'check 'set-home |
| 12673 | (lambda _ |
| 12674 | (setenv "HOME" "/tmp")))))) |
| 12675 | (native-inputs |
| 12676 | (list python-pytest |
| 12677 | python-pytest-doctestplus |
| 12678 | python-setuptools |
| 12679 | python-setuptools-scm)) |
| 12680 | (propagated-inputs |
| 12681 | (list python-gwcs |
| 12682 | python-matplotlib |
| 12683 | python-ndcube |
| 12684 | python-numpy |
| 12685 | python-parfive |
| 12686 | python-scipy |
| 12687 | python-sunpy |
| 12688 | python-xarray)) |
| 12689 | (home-page "https://github.com/sunpy/sunkit-spex") |
| 12690 | (synopsis "Solar X-ray spectroscopy tool") |
| 12691 | (description |
| 12692 | "This package provides a tooling for solar X-ray spectroscopy based on |
| 12693 | SunPy.") |
| 12694 | (license license:bsd-3))) |
| 12695 | |
| 12696 | (define-public python-sunpy |
| 12697 | (package |
| 12698 | (name "python-sunpy") |
| 12699 | (version "8.0.0") |
| 12700 | (source |
| 12701 | (origin |
| 12702 | (method git-fetch) |
| 12703 | (uri (git-reference |
| 12704 | (url "https://github.com/sunpy/sunpy") |
| 12705 | (commit (string-append "v" version)))) |
| 12706 | (file-name (git-file-name name version)) |
| 12707 | (sha256 |
| 12708 | (base32 "0q5a57lz63l96lw0j069qjhvw90dgvmc8d7pmvsk54ici6y0a7am")))) |
| 12709 | (build-system pyproject-build-system) |
| 12710 | (arguments |
| 12711 | (list |
| 12712 | ;; tests: 2969 passed, 15 skipped, 3 xfailed, 3017 warnings |
| 12713 | #:test-flags |
| 12714 | #~(list "-m" "not remote_data" |
| 12715 | "--pyargs" "sunpy" |
| 12716 | "--numprocesses" (number->string (min 8 (parallel-job-count))) |
| 12717 | ;; Test introduces a time bomb and fails with error: ValueError: |
| 12718 | ;; interpolating from IERS_Auto using predictive values that are |
| 12719 | ;; more than 30.0 days old. |
| 12720 | "-k" "not test_print_params") |
| 12721 | #:phases |
| 12722 | #~(modify-phases %standard-phases |
| 12723 | (add-after 'unpack 'patch-manifest.in |
| 12724 | ;; See: <https://codeberg.org/guix/guix/issues/4393>. |
| 12725 | (lambda* (#:key name source inputs #:allow-other-keys) |
| 12726 | (let ((port (open-file "MANIFEST.in" "w"))) |
| 12727 | (for-each |
| 12728 | (lambda (file) |
| 12729 | (display "include " port) |
| 12730 | (display file port) |
| 12731 | (display "\n" port)) |
| 12732 | (find-files "sunpy")) |
| 12733 | (close port)))) |
| 12734 | (add-before 'build 'set-HOME |
| 12735 | (lambda _ |
| 12736 | (setenv "HOME" "/tmp"))) |
| 12737 | (add-before 'check 'remove-local-source |
| 12738 | (lambda _ |
| 12739 | (delete-file-recursively "sunpy")))))) |
| 12740 | (native-inputs |
| 12741 | (list nss-certs-for-test |
| 12742 | python-aiohttp |
| 12743 | python-extension-helpers |
| 12744 | python-hvpy |
| 12745 | python-jplephem |
| 12746 | python-pytest-asdf-plugin |
| 12747 | python-pytest-astropy |
| 12748 | python-pytest-mock |
| 12749 | python-pytest-mpl |
| 12750 | python-pytest-run-parallel |
| 12751 | python-pytest-xdist |
| 12752 | python-responses |
| 12753 | python-setuptools |
| 12754 | python-setuptools-scm)) |
| 12755 | (propagated-inputs |
| 12756 | (list python-astropy |
| 12757 | python-fsspec |
| 12758 | python-numpy |
| 12759 | python-packaging |
| 12760 | python-parfive |
| 12761 | python-pyerfa |
| 12762 | python-requests |
| 12763 | ;; [optional] |
| 12764 | opencv |
| 12765 | python-aiobotocore |
| 12766 | python-asdf |
| 12767 | python-asdf-astropy |
| 12768 | python-beautifulsoup4 |
| 12769 | python-boto3 |
| 12770 | python-cdflib |
| 12771 | python-contourpy |
| 12772 | python-dask |
| 12773 | python-dateutil |
| 12774 | python-drms |
| 12775 | python-fsspec |
| 12776 | python-glymur |
| 12777 | python-h5netcdf |
| 12778 | python-h5py |
| 12779 | python-lxml |
| 12780 | python-matplotlib |
| 12781 | python-mpl-animators |
| 12782 | python-pandas |
| 12783 | python-reproject |
| 12784 | python-scikit-image |
| 12785 | python-scipy |
| 12786 | ;; python-spiceypy ;not packaged yet in Guix |
| 12787 | python-tqdm |
| 12788 | python-zeep)) |
| 12789 | (home-page "https://sunpy.org") |
| 12790 | (synopsis "Python library for Solar Physics") |
| 12791 | (description |
| 12792 | "SunPy is package for solar physics and is meant to be a free alternative |
| 12793 | to the @url{https://sohowww.nascom.nasa.gov/solarsoft/, SolarSoft} data |
| 12794 | analysis environment. |
| 12795 | |
| 12796 | It includes an interface for searching and downloading data from multiple data |
| 12797 | providers, data containers for image and time series data, commonly used solar |
| 12798 | coordinate frames and associated transformations, as well as other |
| 12799 | functionality needed for solar data analysis.") |
| 12800 | (license license:bsd-2))) |
| 12801 | |
| 12802 | ;; A bare minimal package, mainly to use in tests and reduce closure size. |
| 12803 | ;; Tests are left out in the main package to slim down native-inputs and |
| 12804 | ;; propagated-inputs. |
| 12805 | (define-public python-sunpy-minimal |
| 12806 | (package/inherit python-sunpy |
| 12807 | (name "python-sunpy-minimal") |
| 12808 | (arguments |
| 12809 | (substitute-keyword-arguments arguments |
| 12810 | ((#:tests? #t #t) #f))) |
| 12811 | (native-inputs |
| 12812 | (list python-setuptools |
| 12813 | python-setuptools-scm)) |
| 12814 | (propagated-inputs |
| 12815 | (list python-astropy-minimal |
| 12816 | python-fsspec |
| 12817 | python-mpl-animators |
| 12818 | python-parfive |
| 12819 | python-pyerfa |
| 12820 | python-requests)))) |
| 12821 | |
| 12822 | (define-public python-sunpy-soar |
| 12823 | (package |
| 12824 | (name "python-sunpy-soar") |
| 12825 | ;; 1.12.0 (2025-12-10); to support SunPy 8+. |
| 12826 | (properties '((commit . "324f4513b15b6770e4d8806fc87b99714c391c87") |
| 12827 | (revision . "0"))) |
| 12828 | (version (git-version "1.12.0" |
| 12829 | (assoc-ref properties 'revision) |
| 12830 | (assoc-ref properties 'commit))) |
| 12831 | (source |
| 12832 | (origin |
| 12833 | (method git-fetch) |
| 12834 | (uri (git-reference |
| 12835 | (url "https://github.com/sunpy/sunpy-soar") |
| 12836 | (commit (assoc-ref properties 'commit)))) |
| 12837 | (file-name (git-file-name name version)) |
| 12838 | (sha256 |
| 12839 | (base32 "1x07anqpnkw165f6vxphyfi08jdykwplr9153pf2xg4r29q1slkc")))) |
| 12840 | (build-system pyproject-build-system) |
| 12841 | (arguments |
| 12842 | (list |
| 12843 | ;; tests: 57 passed, 26 deselected, 1 xfailed, 63 warnings |
| 12844 | #:test-flags |
| 12845 | ;; Disable tests requiring network access to download test data from |
| 12846 | ;; <http://soar.esac.esa.int> and <http://docs.virtualsolar.org>. |
| 12847 | #~(list "-k" (string-join |
| 12848 | (list "not test_can_handle_with_distance_and_time" |
| 12849 | "test_can_handle_with_distance_no_time" |
| 12850 | "test_distance_out_of_bounds_warning" |
| 12851 | "test_distance_search_insitu" |
| 12852 | "test_distance_search_remote_sensing" |
| 12853 | "test_distance_time_search" |
| 12854 | "test_download_path" |
| 12855 | "test_insitu_search" |
| 12856 | "test_invalid_detector" |
| 12857 | "test_no_instrument" |
| 12858 | "test_no_results" |
| 12859 | "test_search" |
| 12860 | "test_search_detector_instrument_dimension_2" |
| 12861 | "test_search_detector_instrument_dimension_4" |
| 12862 | "test_search_low_latency" |
| 12863 | "test_search_soop" |
| 12864 | "test_search_wavelength_detector_column" |
| 12865 | "test_soar_server_down" |
| 12866 | "test_wavelength_column_wavelength_exists" |
| 12867 | "test_wavelength_range" |
| 12868 | "test_wavelength_single" |
| 12869 | "test_when_soar_provider_passed" |
| 12870 | "test_when_wrong_provider_passed") |
| 12871 | " and not ") |
| 12872 | ;; Skipping registering the sunpy_soar client in favour of the |
| 12873 | ;; client included in sunpy >= 8.0. Uninstall or do not import |
| 12874 | ;; the sunpy_soar package to remove this warning. |
| 12875 | "-W" "ignore::sunpy.util.exceptions.SunpyUserWarning") |
| 12876 | #:phases |
| 12877 | #~(modify-phases %standard-phases |
| 12878 | (add-before 'build 'set-home-env |
| 12879 | (lambda _ |
| 12880 | (setenv "HOME" "/tmp")))))) |
| 12881 | (native-inputs |
| 12882 | (list nss-certs-for-test |
| 12883 | python-matplotlib |
| 12884 | python-pytest |
| 12885 | python-pytest-doctestplus |
| 12886 | python-responses |
| 12887 | python-setuptools |
| 12888 | python-setuptools-scm)) |
| 12889 | (propagated-inputs |
| 12890 | (list python-astropy |
| 12891 | python-requests |
| 12892 | python-sunpy)) |
| 12893 | (home-page "https://docs.sunpy.org/projects/soar") |
| 12894 | (synopsis "Solar Orbiter Archive plugin for SunPy") |
| 12895 | (description |
| 12896 | "This package provides a @code{sunpy} FIDO plugin for accessing data in the |
| 12897 | @acronym{Solar Orbiter Archive, SOAR}.") |
| 12898 | (license license:bsd-2))) |
| 12899 | |
| 12900 | (define-public python-sunraster |
| 12901 | (package |
| 12902 | (name "python-sunraster") |
| 12903 | (version "0.7.0") |
| 12904 | (source |
| 12905 | (origin |
| 12906 | (method url-fetch) |
| 12907 | (uri (pypi-uri "sunraster" version)) |
| 12908 | (sha256 |
| 12909 | (base32 "11i4kssm9r2364s35jjy29y42qlcdxaf8h64l9ggrqgbg02anckz")))) |
| 12910 | (build-system pyproject-build-system) |
| 12911 | (arguments |
| 12912 | (list |
| 12913 | #:test-flags |
| 12914 | #~(list "--numprocesses" (number->string (parallel-job-count)) |
| 12915 | "--ignore=docs/data_types/raster.rst" |
| 12916 | "--ignore=docs/data_types/spectrogram.rst") |
| 12917 | #:phases |
| 12918 | #~(modify-phases %standard-phases |
| 12919 | (add-before 'build 'set-home-env |
| 12920 | (lambda _ |
| 12921 | ;; PermissionError: [Errno 13] Permission denied: |
| 12922 | ;; '/homeless-shelter' |
| 12923 | (setenv "HOME" "/tmp")))))) |
| 12924 | (native-inputs |
| 12925 | (list nss-certs-for-test |
| 12926 | python-pytest |
| 12927 | python-pytest-astropy |
| 12928 | python-pytest-doctestplus |
| 12929 | python-pytest-xdist |
| 12930 | python-setuptools |
| 12931 | python-setuptools-scm |
| 12932 | python-sunpy-minimal)) |
| 12933 | (propagated-inputs |
| 12934 | (list python-astropy |
| 12935 | python-ndcube |
| 12936 | python-numpy)) |
| 12937 | (home-page "https://docs.sunpy.org/projects/sunraster/en/stable/") |
| 12938 | (synopsis "Solar mission spectral data tool") |
| 12939 | (description |
| 12940 | "sunraster is an Python library that provides the tools to read in and |
| 12941 | analyze spectrogram data.") |
| 12942 | (license license:bsd-2))) |
| 12943 | |
| 12944 | (define-public python-suntime |
| 12945 | (package |
| 12946 | (name "python-suntime") |
| 12947 | (version "1.4.0") |
| 12948 | (source |
| 12949 | (origin |
| 12950 | (method git-fetch) |
| 12951 | (uri (git-reference |
| 12952 | (url "https://github.com/SatAgro/suntime") |
| 12953 | (commit (string-append "v" version)))) |
| 12954 | (file-name (git-file-name name version)) |
| 12955 | (sha256 |
| 12956 | (base32 "1rl0bn80z7gbiqan6i45gryxv4xw5kpbzv29hjk8675mmidk516m")))) |
| 12957 | (build-system pyproject-build-system) |
| 12958 | (arguments |
| 12959 | (list #:test-backend #~'custom |
| 12960 | #:test-flags #~(list "tests.py"))) |
| 12961 | (native-inputs |
| 12962 | (list python-setuptools)) |
| 12963 | (propagated-inputs |
| 12964 | (list python-dateutil)) |
| 12965 | (home-page "https://github.com/SatAgro/suntime") |
| 12966 | (synopsis "Sunset and sunrise time calculation python library") |
| 12967 | (description |
| 12968 | "Python library doing sunrise and sunset time calculation. Takes a |
| 12969 | WGS84 (GPS) latitude/longitude as input as well as an UTC or local datetime |
| 12970 | object.") |
| 12971 | (license license:lgpl3+))) |
| 12972 | |
| 12973 | (define-public python-swiftemulator |
| 12974 | (package |
| 12975 | (name "python-swiftemulator") |
| 12976 | (version "1.3.1") |
| 12977 | (source |
| 12978 | (origin |
| 12979 | (method url-fetch) |
| 12980 | (uri (pypi-uri "swiftemulator" version)) |
| 12981 | (sha256 |
| 12982 | (base32 "0vfwl8qm7il8nki61pw2gl38vnkdcs4dn7vg6lj7zkka2pf7zqqb")) |
| 12983 | (modules '((guix build utils))) |
| 12984 | (snippet |
| 12985 | #~(begin |
| 12986 | ;; Module name has been changed upstream. |
| 12987 | (substitute* (find-files "." "\\.py$") |
| 12988 | (("pyDOE") "pydoe")))))) |
| 12989 | (build-system pyproject-build-system) |
| 12990 | (native-inputs |
| 12991 | (list python-pytest |
| 12992 | python-setuptools)) |
| 12993 | (propagated-inputs |
| 12994 | (list python-attrs |
| 12995 | python-corner |
| 12996 | python-emcee |
| 12997 | python-george |
| 12998 | python-numpy |
| 12999 | python-pydoe |
| 13000 | python-pyyaml |
| 13001 | python-salib |
| 13002 | python-scikit-learn |
| 13003 | python-tqdm |
| 13004 | python-unyt |
| 13005 | python-velociraptor)) |
| 13006 | (home-page "https://github.com/SWIFTSIM/emulator") |
| 13007 | (synopsis "SWIFT simulation cosmological emulator") |
| 13008 | (description |
| 13009 | "This package provides a Gaussian process emulator for creating synthetic |
| 13010 | model data across high dimensional parameter spaces, initially developed for |
| 13011 | use with the @url{http://swift.dur.ac.uk/, SWIFT} simulation code.") |
| 13012 | (license (list license:gpl3+ |
| 13013 | license:lgpl3+)))) |
| 13014 | |
| 13015 | (define-public python-swiftgalaxy |
| 13016 | (package |
| 13017 | (name "python-swiftgalaxy") |
| 13018 | (version "3.0.2") |
| 13019 | (source |
| 13020 | (origin |
| 13021 | (method git-fetch) |
| 13022 | (uri (git-reference |
| 13023 | (url "https://github.com/SWIFTSIM/swiftgalaxy") |
| 13024 | (commit (string-append "v" version)))) |
| 13025 | (file-name (git-file-name name version)) |
| 13026 | (sha256 |
| 13027 | (base32 "1k82fz3m7kjygv111z6n9i5ippkz5x98b3rkz8am76mdkm8hgvl8")))) |
| 13028 | (build-system pyproject-build-system) |
| 13029 | (arguments |
| 13030 | (list #:tests? #f)) ;tests need to download remote datasets |
| 13031 | (native-inputs |
| 13032 | (list python-setuptools |
| 13033 | python-setuptools-scm)) |
| 13034 | (propagated-inputs |
| 13035 | (list python-h5py |
| 13036 | python-numpy |
| 13037 | python-scipy |
| 13038 | python-swiftsimio |
| 13039 | python-unyt)) |
| 13040 | (home-page "https://github.com/SWIFTSIM/swiftgalaxy") |
| 13041 | (synopsis "Code abstraction of objects (galaxies) in simulations") |
| 13042 | (description |
| 13043 | "SWIFTGalaxy is an astrophysics module that extends |
| 13044 | @url{http://swiftsimio.readthedocs.org/, SWIFTSimIO} tailored to analyses of |
| 13045 | particles belonging to individual galaxies simulated with |
| 13046 | @url{https://swift.strw.leidenuniv.nl/, SWIFT}. It inherits from and extends |
| 13047 | the functionality of the @code{SWIFTDataset}. It understands the content of |
| 13048 | halo catalogues (supported: |
| 13049 | @url{https://ui.adsabs.harvard.edu/abs/2019PASA...36...21E/abstract, |
| 13050 | Velociraptor}, @url{https://caesar.readthedocs.io/en/latest/, Caesar}, |
| 13051 | @url{https://github.com/SWIFTSIM/SOAP, SOAP}) and therefore which particles |
| 13052 | belong to a galaxy or other group of particles, and its integrated properties. |
| 13053 | The particles occupy a coordinate frame that is enforced to be consistent, |
| 13054 | such that particles loaded on-the-fly will match e.g. rotations and |
| 13055 | translations of particles already in memory. Intuitive masking of particle |
| 13056 | datasets is also enabled. Utilities to make working in cylindrical and |
| 13057 | spherical coordinate systems more convenient are also provided. Finally, |
| 13058 | tools to iterate efficiently over multiple galaxies are also provided.") |
| 13059 | (license license:gpl3+))) |
| 13060 | |
| 13061 | (define-public python-swiftsimio |
| 13062 | (package |
| 13063 | (name "python-swiftsimio") |
| 13064 | (version "12.1.4") |
| 13065 | (source |
| 13066 | (origin |
| 13067 | (method git-fetch) |
| 13068 | (uri (git-reference |
| 13069 | (url "https://github.com/SWIFTSIM/swiftsimio") |
| 13070 | (commit (string-append "v" version)))) |
| 13071 | (file-name (git-file-name name version)) |
| 13072 | (sha256 |
| 13073 | (base32 "17vjmg94mj3wwiv7jb1ngq9vyyywz3073pz1gcn7riy8y3q24a8j")))) |
| 13074 | (build-system pyproject-build-system) |
| 13075 | (arguments |
| 13076 | (list #:tests? #f)) ;tests need to download remote datasets |
| 13077 | (native-inputs |
| 13078 | (list python-setuptools)) |
| 13079 | (propagated-inputs |
| 13080 | (list python-astropy |
| 13081 | python-h5py |
| 13082 | python-numba |
| 13083 | python-numpy |
| 13084 | python-unyt)) |
| 13085 | (home-page "https://github.com/SWIFTSIM/swiftsimio") |
| 13086 | (synopsis "SWIFTsim I/O routines for Python") |
| 13087 | (description |
| 13088 | "@code{swiftsimio} is a toolkit for reading data produced by the |
| 13089 | @url{https://swift.strw.leidenuniv.nl/,SWIFT} astrophysics simulation code. |
| 13090 | It is used to ensure that all data have a symbolic unit attached, and can be |
| 13091 | used for visualisation. Another key feature is the use of the cell metadata |
| 13092 | in @code{SWIFT} snapshots to enable efficient reading of sub-regions.") |
| 13093 | (license (list license:lgpl3+ |
| 13094 | license:gpl3+)))) |
| 13095 | |
| 13096 | (define-public python-swiftsimsoap |
| 13097 | (package |
| 13098 | ;; XXX: The project is called SOAP, and it is not present on PyPI, name |
| 13099 | ;; package as swiftsimsoap to prevent collusion. |
| 13100 | (name "python-swiftsimsoap") |
| 13101 | ;; There is not correct version tag or PyPI release, use the latest commit |
| 13102 | ;; from master HEAD. |
| 13103 | (properties '((commit . "15e5299ae48cf095c35653f3f450e71b22328089") |
| 13104 | (revision . "3"))) |
| 13105 | (version (git-version "1.0.0" |
| 13106 | (assoc-ref properties 'revision) |
| 13107 | (assoc-ref properties 'commit))) |
| 13108 | (source |
| 13109 | (origin |
| 13110 | (method git-fetch) |
| 13111 | (uri (git-reference |
| 13112 | (url "https://github.com/SWIFTSIM/SOAP") |
| 13113 | (commit (assoc-ref properties 'commit)))) |
| 13114 | (file-name (git-file-name name version)) |
| 13115 | (sha256 |
| 13116 | (base32 "1lnhv5zl7xa8irbkf6q4491lq0h5rfrrlr2fgyxskr5z0ns91x76")))) |
| 13117 | (build-system pyproject-build-system) |
| 13118 | (arguments |
| 13119 | (list |
| 13120 | #:test-flags |
| 13121 | ;; Tests need wget, potentially to download remove data. |
| 13122 | #~(list "--ignore=tests/test_read_vr.py" |
| 13123 | "--ignore=tests/test_subhalo_rank.py"))) |
| 13124 | (native-inputs |
| 13125 | (list python-pytest |
| 13126 | python-setuptools)) |
| 13127 | (propagated-inputs |
| 13128 | (list python-astropy |
| 13129 | python-h5py |
| 13130 | python-matplotlib |
| 13131 | python-mpi4py |
| 13132 | python-numpy |
| 13133 | python-psutil |
| 13134 | python-scipy |
| 13135 | python-unyt |
| 13136 | python-virgodc)) |
| 13137 | (home-page "https://github.com/SWIFTSIM/SOAP") |
| 13138 | (synopsis "Spherical Overdensity Aperture Processor") |
| 13139 | (description |
| 13140 | "This repository contains programs which can be used to compute |
| 13141 | properties of halos in spherical apertures in |
| 13142 | @url{https://swift.strw.leidenuniv.nl/, SWIFT} snapshots. The resulting |
| 13143 | output halo catalogues can be read using the |
| 13144 | @url{https://swiftsimio.readthedocs.io/en/latest/, swiftsimio} Python |
| 13145 | package.") |
| 13146 | (license (list license:lgpl3+ |
| 13147 | license:gpl3+)))) |
| 13148 | |
| 13149 | (define-public python-synthesizar |
| 13150 | (package |
| 13151 | (name "python-synthesizar") |
| 13152 | ;; Not released yet, recommended installation method via git clone. |
| 13153 | (properties '((commit . "77aab1767e25bc10a200e1b26270da1de20922c2") |
| 13154 | (revision . "0"))) |
| 13155 | (version (git-version "0.0.0" |
| 13156 | (assoc-ref properties 'revision) |
| 13157 | (assoc-ref properties 'commit))) |
| 13158 | (source |
| 13159 | (origin |
| 13160 | (method git-fetch) |
| 13161 | (uri (git-reference |
| 13162 | (url "https://github.com/wtbarnes/synthesizAR") |
| 13163 | (commit (assoc-ref properties 'commit)))) |
| 13164 | (file-name (git-file-name name version)) |
| 13165 | (sha256 |
| 13166 | (base32 "1yakp5bpjws0x9y35wv16q378bgz02jmsk9vrzwqw2003r4vnw1n")))) |
| 13167 | (build-system pyproject-build-system) |
| 13168 | (arguments |
| 13169 | (list |
| 13170 | #:phases |
| 13171 | #~(modify-phases %standard-phases |
| 13172 | (delete 'sanity-check) |
| 13173 | (add-before 'check 'pre-check |
| 13174 | (lambda _ |
| 13175 | (setenv "HOME" "/tmp")))))) |
| 13176 | (native-inputs |
| 13177 | (list nss-certs-for-test |
| 13178 | python-pytest |
| 13179 | python-pytest-astropy |
| 13180 | python-setuptools |
| 13181 | python-setuptools-scm)) |
| 13182 | (propagated-inputs |
| 13183 | (list python-asdf |
| 13184 | python-matplotlib |
| 13185 | python-ndcube |
| 13186 | python-scipy |
| 13187 | python-sunpy |
| 13188 | python-xarray |
| 13189 | python-zarr |
| 13190 | ;; [optional] |
| 13191 | python-aiapy |
| 13192 | python-dask |
| 13193 | python-distributed |
| 13194 | python-ebtelplusplus |
| 13195 | python-fiasco |
| 13196 | python-plasmapy |
| 13197 | python-pydrad |
| 13198 | python-sunkit-image |
| 13199 | python-xrtpy)) |
| 13200 | (home-page "https://synthesizar.readthedocs.io/en/latest/") |
| 13201 | (synopsis "Optically-thin emission forward modeling") |
| 13202 | (description |
| 13203 | "synthesizAR is a Python package for building synthetic solar/stellar |
| 13204 | active regions comprised of coronal loops. The package allows one to build up |
| 13205 | a forward-modeled observation of an active region, starting with an observed |
| 13206 | magnetogram and ending with an synthetic observational data product. |
| 13207 | |
| 13208 | synthesizAR is designed to be modular and extensible. Extensions for new |
| 13209 | hydrodynamic codes, emission models, or instruments can be easily dropped in. |
| 13210 | The goal of synthesizAR is to provide an easy-to-use and efficient pipeline |
| 13211 | for forward-modeling hydrodynamic results from end to end.") |
| 13212 | (license license:bsd-3))) |
| 13213 | |
| 13214 | (define-public python-synphot |
| 13215 | (package |
| 13216 | (name "python-synphot") |
| 13217 | (version "1.7.0") |
| 13218 | (source |
| 13219 | (origin |
| 13220 | (method git-fetch) |
| 13221 | (uri (git-reference |
| 13222 | (url "https://github.com/spacetelescope/synphot_refactor") |
| 13223 | (commit version))) |
| 13224 | (file-name (git-file-name name version)) |
| 13225 | (sha256 |
| 13226 | (base32 "0dxfwhxv8wnnksj3hgh0k4rqzqwvjndwncbqfzp234hqg9isyz0q")))) |
| 13227 | (build-system pyproject-build-system) |
| 13228 | (arguments |
| 13229 | (list |
| 13230 | ;; tests: 410 passed, 29 skipped, 4 xfailed |
| 13231 | #:test-flags |
| 13232 | #~(list "--pyargs" "synphot" |
| 13233 | ;; Not harmful deprecation warning as synphot is compatible with |
| 13234 | ;; specutils now, remove or silent error in the next refresh |
| 13235 | ;; cycle. |
| 13236 | ;; |
| 13237 | ;; See: <https://github.com/spacetelescope/synphot_refactor/issues/411>. |
| 13238 | "-W" "ignore::astropy.utils.exceptions.AstropyDeprecationWarning"))) |
| 13239 | (native-inputs |
| 13240 | (list python-pytest |
| 13241 | python-pytest-astropy |
| 13242 | python-setuptools |
| 13243 | python-setuptools-scm)) |
| 13244 | (propagated-inputs |
| 13245 | (list python-astropy |
| 13246 | python-dust-extinction |
| 13247 | python-numpy |
| 13248 | python-scipy |
| 13249 | python-specutils)) |
| 13250 | (home-page "https://github.com/spacetelescope/synphot_refactor") |
| 13251 | (synopsis "Synthetic photometry using Astropy") |
| 13252 | (description |
| 13253 | "This package provides a replacement for IRAF STSDAS SYNPHOT and ASTROLIB |
| 13254 | PYSYNPHOT, utilizing Astropy and covering the non-instrument specific portions |
| 13255 | of the old packages.") |
| 13256 | (license license:bsd-3))) |
| 13257 | |
| 13258 | (define-public python-tables-io |
| 13259 | (package |
| 13260 | (name "python-tables-io") |
| 13261 | (version "1.1.2") |
| 13262 | (source |
| 13263 | (origin |
| 13264 | (method git-fetch) |
| 13265 | (uri (git-reference |
| 13266 | (url "https://github.com/LSSTDESC/tables_io") |
| 13267 | (commit (string-append "v" version)))) |
| 13268 | (file-name (git-file-name name version)) |
| 13269 | (sha256 |
| 13270 | (base32 "0yi20hjxmh1vgi8l74pinqvw9fmn2qz6sfkf0khrg3sillwbpa9q")))) |
| 13271 | (build-system pyproject-build-system) |
| 13272 | (native-inputs |
| 13273 | (list python-mpi4py |
| 13274 | python-pytest |
| 13275 | python-setuptools |
| 13276 | python-setuptools-scm)) |
| 13277 | (propagated-inputs |
| 13278 | (list python-click |
| 13279 | python-deprecated |
| 13280 | python-h5py |
| 13281 | python-numpy |
| 13282 | python-pandas |
| 13283 | python-tables |
| 13284 | ;; [optional] |
| 13285 | python-astropy |
| 13286 | python-pyarrow)) |
| 13287 | (home-page "https://github.com/LSSTDESC/tables_io") |
| 13288 | (synopsis "Input/output and conversion functions for tabular data") |
| 13289 | (description |
| 13290 | "@code{tables_io} provides an interface for a variety of non-ASCII file |
| 13291 | formats that are commonly used within the @url{https://lsstdesc.org/, LSST |
| 13292 | DESC collaboration}. It allows users to read in data from multiple types of |
| 13293 | files through one convenient interface.") |
| 13294 | (license license:expat))) |
| 13295 | |
| 13296 | (define-public python-tweakwcs |
| 13297 | (package |
| 13298 | (name "python-tweakwcs") |
| 13299 | (version "0.9.2") |
| 13300 | (source |
| 13301 | (origin |
| 13302 | (method git-fetch) |
| 13303 | (uri (git-reference |
| 13304 | (url "https://github.com/spacetelescope/tweakwcs") |
| 13305 | (commit version))) |
| 13306 | (file-name (git-file-name name version)) |
| 13307 | (sha256 |
| 13308 | (base32 "0x1f6d7rw51hgg3bpb8dy7v57mnf4vhr7b1m1fz2yl1j0bx8zvlp")))) |
| 13309 | (build-system pyproject-build-system) |
| 13310 | (native-inputs |
| 13311 | (list python-pytest |
| 13312 | python-scipy-minimal |
| 13313 | python-setuptools |
| 13314 | python-setuptools-scm)) |
| 13315 | (propagated-inputs |
| 13316 | (list python-astropy |
| 13317 | python-gwcs |
| 13318 | python-numpy |
| 13319 | python-packaging |
| 13320 | python-spherical-geometry |
| 13321 | python-stsci-imagestats |
| 13322 | python-stsci-stimage)) |
| 13323 | (home-page "https://tweakwcs.readthedocs.io/en/latest/") |
| 13324 | (synopsis |
| 13325 | "Algorithms for matching and aligning catalogs and for tweaking the WCS") |
| 13326 | (description |
| 13327 | "@code{tweakwcs} is a package that provides core algorithms for computing |
| 13328 | and applying corrections to @code{WCS} objects such as to minimize mismatch |
| 13329 | between image and reference catalogs. Currently only aligning images with |
| 13330 | @code{FITS WCS} and @code{JWST gWCS} are supported.") |
| 13331 | (license license:bsd-3))) |
| 13332 | |
| 13333 | (define-public python-twobody |
| 13334 | (package |
| 13335 | (name "python-twobody") |
| 13336 | (version "0.9.1") |
| 13337 | (source |
| 13338 | (origin |
| 13339 | (method git-fetch) |
| 13340 | (uri (git-reference |
| 13341 | (url "https://github.com/adrn/twobody") |
| 13342 | (commit (string-append "v" version)))) |
| 13343 | (file-name (git-file-name name version)) |
| 13344 | (sha256 |
| 13345 | (base32 "1v6bd7maarx99siv9iac2k590cc8lan1rlmf2s1b4lw3hnh2hifp")))) |
| 13346 | (build-system pyproject-build-system) |
| 13347 | (arguments |
| 13348 | (list |
| 13349 | #:test-flags |
| 13350 | #~(list "--pyargs" "twobody") |
| 13351 | #:phases |
| 13352 | #~(modify-phases %standard-phases |
| 13353 | (add-before 'check 'remove-local-source |
| 13354 | (lambda _ |
| 13355 | (delete-file-recursively "twobody")))))) |
| 13356 | (native-inputs |
| 13357 | (list python-cython |
| 13358 | python-pytest |
| 13359 | python-pytest-astropy |
| 13360 | python-scipy-minimal |
| 13361 | python-setuptools |
| 13362 | python-setuptools-scm)) |
| 13363 | (propagated-inputs |
| 13364 | (list python-astropy |
| 13365 | python-numpy)) |
| 13366 | (home-page "https://github.com/adrn/twobody") |
| 13367 | (synopsis "Solving the gravitational two-body problem") |
| 13368 | (description |
| 13369 | "@code{twobody} is a Python package for computing orbits and astronomical |
| 13370 | observables for binary stars, exoplanets, and other gravitational two-body |
| 13371 | systems.") |
| 13372 | (license license:expat))) |
| 13373 | |
| 13374 | (define-public python-utilities-awetzel |
| 13375 | (package |
| 13376 | (name "python-utilities-awetzel") |
| 13377 | (version "1.1") |
| 13378 | (source |
| 13379 | (origin |
| 13380 | (method url-fetch) |
| 13381 | (uri (pypi-uri "utilities_awetzel" version)) |
| 13382 | (sha256 |
| 13383 | (base32 "0jblk4afsalnkkwppw2x0yv1s894jkrgwbb0fcv30sy87ppq0h5v")))) |
| 13384 | (build-system pyproject-build-system) |
| 13385 | (arguments |
| 13386 | (list #:tests? #f)) ;no tests |
| 13387 | (native-inputs |
| 13388 | (list python-setuptools)) |
| 13389 | (propagated-inputs |
| 13390 | (list python-h5py |
| 13391 | python-matplotlib |
| 13392 | python-numpy |
| 13393 | python-scipy)) |
| 13394 | (home-page "https://bitbucket.org/awetzel/utilities") |
| 13395 | (synopsis "General routines for analyzing astrophysical data sets") |
| 13396 | (description |
| 13397 | "Python package of utility functions that are useful in analyzing various |
| 13398 | datasets, in particular, catalogs of particles or galaxies/halos from |
| 13399 | cosmological simulations.") |
| 13400 | (license license:expat))) |
| 13401 | |
| 13402 | (define-public python-uvcombine |
| 13403 | (package |
| 13404 | (name "python-uvcombine") |
| 13405 | (version "1.0.0") |
| 13406 | (source |
| 13407 | (origin |
| 13408 | (method url-fetch) |
| 13409 | (uri (pypi-uri "uvcombine" version)) |
| 13410 | (sha256 |
| 13411 | (base32 "1fby4gidk4r9h2ivx5vqii6sbvsn4wjw6zv4bqjcqm27d53n6hi9")) |
| 13412 | (snippet |
| 13413 | #~(begin |
| 13414 | (use-modules (guix build utils)) |
| 13415 | ;; They are not part of the Python package and break tests. |
| 13416 | (delete-file-recursively "examples"))))) |
| 13417 | (build-system pyproject-build-system) |
| 13418 | (native-inputs |
| 13419 | (list python-pytest |
| 13420 | python-pytest-astropy |
| 13421 | python-scikit-image |
| 13422 | python-setuptools |
| 13423 | python-setuptools-scm)) |
| 13424 | (propagated-inputs |
| 13425 | (list python-astropy |
| 13426 | python-matplotlib |
| 13427 | python-numpy |
| 13428 | python-packaging |
| 13429 | python-radio-beam |
| 13430 | python-reproject |
| 13431 | python-scipy |
| 13432 | python-spectral-cube |
| 13433 | python-tqdm)) |
| 13434 | (home-page "https://uvcombine.readthedocs.io/en/latest/") |
| 13435 | (synopsis "Combination of high|low resolution radio astronomical data") |
| 13436 | (description |
| 13437 | "@code{uvcombine} provides tools for combining high-resolution images |
| 13438 | with missing large angular scales (Fourier-domain short-spacings) with |
| 13439 | low-resolution images containing the short/zero spacing.") |
| 13440 | (license license:bsd-3))) |
| 13441 | |
| 13442 | (define-public python-velociraptor |
| 13443 | (package |
| 13444 | (name "python-velociraptor") |
| 13445 | (version "0.21.0") |
| 13446 | (source |
| 13447 | (origin |
| 13448 | (method git-fetch) |
| 13449 | (uri (git-reference |
| 13450 | (url "https://github.com/SWIFTSIM/velociraptor-python") |
| 13451 | (commit (string-append "v" version)))) |
| 13452 | (file-name (git-file-name name version)) |
| 13453 | (sha256 |
| 13454 | (base32 "038k3wp5z22mf73a20rjm5l87yrzmwk8p99jj014s47drixgk9k4")))) |
| 13455 | (build-system pyproject-build-system) |
| 13456 | (arguments |
| 13457 | (list |
| 13458 | ;; See: <https://github.com/SWIFTSIM/velociraptor-python/issues/117>. |
| 13459 | #:tests? #f |
| 13460 | #:phases |
| 13461 | #~(modify-phases %standard-phases |
| 13462 | (add-before 'sanity-check 'set-home |
| 13463 | (lambda _ |
| 13464 | (setenv "HOME" "/tmp")))))) |
| 13465 | (native-inputs |
| 13466 | (list python-setuptools)) |
| 13467 | (propagated-inputs |
| 13468 | (list python-astropy |
| 13469 | python-h5py |
| 13470 | python-numpy |
| 13471 | python-swiftsimio |
| 13472 | python-unyt)) |
| 13473 | (home-page "https://github.com/SWIFTSIM/velociraptor-python") |
| 13474 | (synopsis "VELOCIraptor catalogue reading routines") |
| 13475 | (description |
| 13476 | " VELOCIraptor-Python is a python toolkit for reading |
| 13477 | @url{http://github.com/pelahi/velociraptor-stf, VELOCIraptor} outputs, with a |
| 13478 | particular focus on integration with the |
| 13479 | @url{https://github.com/SWIFTSIM/SWIFT, SWIFT} cosmological simulation code. |
| 13480 | |
| 13481 | It allows for automatic association of symbolic units (using unyt) with halo |
| 13482 | properties, extraction of individual haloes to a SWIFTsimIO dataset, and |
| 13483 | includes tools to help create both publication-ready and quick figures.") |
| 13484 | (license license:gpl3+))) |
| 13485 | |
| 13486 | (define-public python-viresclient |
| 13487 | (package |
| 13488 | (name "python-viresclient") |
| 13489 | (version "0.16.0") |
| 13490 | (source |
| 13491 | (origin |
| 13492 | (method git-fetch) |
| 13493 | (uri (git-reference |
| 13494 | (url "https://github.com/ESA-VirES/VirES-Python-Client") |
| 13495 | (commit (string-append "v" version)))) |
| 13496 | (file-name (git-file-name name version)) |
| 13497 | (sha256 |
| 13498 | (base32 "1plnjb6x8221q5ivnzjrvqvig7lb54rdvywzcg04msc3v3kwmdk6")))) |
| 13499 | (build-system pyproject-build-system) |
| 13500 | ;; tests: 9 passed |
| 13501 | (native-inputs |
| 13502 | (list python-flit-core |
| 13503 | python-pytest)) |
| 13504 | (propagated-inputs |
| 13505 | (list python-cdflib |
| 13506 | python-h5py |
| 13507 | python-jinja2 |
| 13508 | python-netcdf4 |
| 13509 | python-pandas |
| 13510 | python-requests |
| 13511 | python-tables |
| 13512 | python-tqdm |
| 13513 | python-xarray)) |
| 13514 | (home-page "https://viresclient.readthedocs.io/en/latest/") |
| 13515 | (synopsis "Python client for interacting with a VirES server") |
| 13516 | (description |
| 13517 | "This package provides a Python client for interacting with a |
| 13518 | @code{VirES} server, of which there are two: VirES for |
| 13519 | @url{https://vires.services, Swarm} and VirES for |
| 13520 | @url{https://aeolus.services, Aeolus}") |
| 13521 | (license license:expat))) |
| 13522 | |
| 13523 | (define-public python-virgodc |
| 13524 | (package |
| 13525 | (name "python-virgodc") |
| 13526 | (version "1.0.5") |
| 13527 | (source |
| 13528 | (origin |
| 13529 | (method git-fetch) |
| 13530 | (uri (git-reference |
| 13531 | (url "https://github.com/jchelly/VirgoDC") |
| 13532 | (commit (string-append "v" version)))) |
| 13533 | (file-name (git-file-name name version)) |
| 13534 | (sha256 |
| 13535 | (base32 "1axhiiafvbld4k6pgid22drhhpxfpjyy0abcczmcggv5m5ghxqc2")))) |
| 13536 | (build-system pyproject-build-system) |
| 13537 | (arguments |
| 13538 | (list |
| 13539 | #:phases |
| 13540 | #~(modify-phases %standard-phases |
| 13541 | (add-after 'unpack 'chdir-python |
| 13542 | (lambda _ |
| 13543 | (chdir "python")))))) |
| 13544 | (native-inputs |
| 13545 | (list python-pytest |
| 13546 | python-setuptools |
| 13547 | python-setuptools-scm)) |
| 13548 | (propagated-inputs |
| 13549 | (list python-h5py |
| 13550 | python-mpi4py |
| 13551 | python-numpy)) |
| 13552 | (home-page "https://github.com/jchelly/VirgoDC") |
| 13553 | (synopsis "Read routines and examples for the Virgo Data Centre") |
| 13554 | (description |
| 13555 | "This package provides facilities for reading various formats used to |
| 13556 | store snapshots, group catalogues and merger trees in Virgo Consortium |
| 13557 | simulations, including older binary formats which can otherwise be difficult |
| 13558 | to deal with. |
| 13559 | |
| 13560 | It also provides a collection of MPI parallel algorithms which can be useful |
| 13561 | for dealing with particle data and a few related utility functions.") |
| 13562 | (license license:gpl3))) |
| 13563 | |
| 13564 | (define-public python-wiimatch |
| 13565 | (package |
| 13566 | (name "python-wiimatch") |
| 13567 | (version "0.3.2") |
| 13568 | (source (origin |
| 13569 | (method url-fetch) |
| 13570 | (uri (pypi-uri "wiimatch" version)) |
| 13571 | (sha256 |
| 13572 | (base32 |
| 13573 | "15kq7z30m9i286ncs9xvpaq3dq1p5fa47jz21prq146qwr7j6dm8")))) |
| 13574 | (build-system pyproject-build-system) |
| 13575 | (propagated-inputs (list python-numpy python-scipy)) |
| 13576 | (native-inputs (list python-pytest python-pytest-doctestplus |
| 13577 | python-setuptools-scm)) |
| 13578 | (home-page "https://github.com/spacetelescope/wiimatch") |
| 13579 | (synopsis |
| 13580 | "Optimal matching of weighted N-dimensional image intensity data") |
| 13581 | (description |
| 13582 | "@code{wiimatch} is a package that provides core computational algorithms |
| 13583 | for optimal @code{matching} of weighted N-dimensional image intensity data |
| 13584 | using (multivariate) polynomials.") |
| 13585 | (license license:bsd-3))) |
| 13586 | |
| 13587 | (define-public python-xrtpy |
| 13588 | (package |
| 13589 | (name "python-xrtpy") |
| 13590 | (version "0.5.1") |
| 13591 | (source |
| 13592 | (origin |
| 13593 | (method git-fetch) |
| 13594 | (uri (git-reference |
| 13595 | (url "https://github.com/HinodeXRT/xrtpy") |
| 13596 | (commit (string-append "v" version)))) |
| 13597 | (file-name (git-file-name name version)) |
| 13598 | (sha256 |
| 13599 | (base32 "0mqqp4jnypnjiblcf658i27j38wdf6cqmggpsnnhpr07brngy40c")))) |
| 13600 | (build-system pyproject-build-system) |
| 13601 | (arguments |
| 13602 | (list |
| 13603 | ;; tests: 818 passed, 2 skipped, 995 deselected |
| 13604 | #:test-flags |
| 13605 | ;; Remote data is required to run these tests. |
| 13606 | #~(list "-k" (string-join |
| 13607 | (list "not test_EffectiveArea_contamination_on_CCD" |
| 13608 | "test_EffectiveArea_contamination_on_filter1" |
| 13609 | "test_EffectiveArea_contamination_on_filter2" |
| 13610 | "test_EffectiveArea_filter_name" |
| 13611 | "test_astropy_time_input" |
| 13612 | "test_binning_case" |
| 13613 | "test_ccd_contam_data_loads" |
| 13614 | "test_deconvolve" |
| 13615 | "test_effective_area_compare_idl" |
| 13616 | "test_lightleak" |
| 13617 | "test_response_length_matches_filters" |
| 13618 | "test_responses_for_different_abundance_models" |
| 13619 | "test_responses_for_different_dates" |
| 13620 | "test_shape_and_units_consistency" |
| 13621 | "test_standard_case" |
| 13622 | "test_temperature_response") |
| 13623 | " and not ")) |
| 13624 | #:phases |
| 13625 | #~(modify-phases %standard-phases |
| 13626 | (add-before 'check 'pre-check |
| 13627 | (lambda _ |
| 13628 | (setenv "HOME" "/tmp")))))) |
| 13629 | (native-inputs |
| 13630 | (list python-pytest |
| 13631 | python-pytest-astropy |
| 13632 | python-setuptools |
| 13633 | python-setuptools-scm)) |
| 13634 | (propagated-inputs |
| 13635 | (list python-astropy |
| 13636 | python-matplotlib |
| 13637 | python-numpy |
| 13638 | python-scikit-image |
| 13639 | python-scipy |
| 13640 | python-sunpy)) |
| 13641 | (home-page "https://xrtpy.readthedocs.io/en/latest/") |
| 13642 | (synopsis "X-Ray Telescope data analyzing Python library") |
| 13643 | (description |
| 13644 | "XRTpy is a Python package being developed for the analysis of |
| 13645 | observations made by the @url{https://xrt.cfa.harvard.edu/, X-Ray |
| 13646 | Telescope} (XRT) on the Hinode spacecraft.") |
| 13647 | (license license:bsd-2))) |
| 13648 | |
| 13649 | (define-public python-yt |
| 13650 | (package |
| 13651 | (name "python-yt") |
| 13652 | (version "4.4.2") |
| 13653 | (source |
| 13654 | (origin |
| 13655 | (method url-fetch) |
| 13656 | (uri (pypi-uri "yt" version)) |
| 13657 | (sha256 |
| 13658 | (base32 "02rvs1555y482vf54ivl5wjiziskybnmbxbq6xn46fslqa4km270")))) |
| 13659 | (build-system pyproject-build-system) |
| 13660 | (arguments |
| 13661 | (list |
| 13662 | #:build-backend "setuptools.build_meta" |
| 13663 | #:test-flags |
| 13664 | #~(list "--numprocesses" (number->string (min 8 (parallel-job-count))) |
| 13665 | ;; Failed: 'yield' keyword is allowed in fixtures, but not in |
| 13666 | ;; tests (test_recipe) |
| 13667 | "--ignore=doc/source/cookbook/tests/test_cookbook.py" |
| 13668 | "-k" (string-join |
| 13669 | ;; Tests requiring networking. |
| 13670 | (list "not test_load_sample_timeout" |
| 13671 | "test_unknown_filename" |
| 13672 | "test_typo_filename" |
| 13673 | "test_data_dir_broken" |
| 13674 | "test_registry_byte_size_dtype" |
| 13675 | "test_registry_byte_size_sign" |
| 13676 | ;; AssertionError: Arrays are not equal |
| 13677 | "test_field_cut_off_axis_octree" |
| 13678 | ;; UserWarning: pkg_resources is deprecated as an |
| 13679 | ;; API |
| 13680 | "test_glue_data_object") |
| 13681 | " and not ")) |
| 13682 | #:phases |
| 13683 | #~(modify-phases %standard-phases |
| 13684 | (add-before 'check 'prepare-test-environment |
| 13685 | (lambda _ |
| 13686 | (setenv "HOME" "/tmp") |
| 13687 | (invoke "python" "setup.py" "build_ext" "--inplace")))))) |
| 13688 | (native-inputs |
| 13689 | (list nss-certs-for-test |
| 13690 | python-cython |
| 13691 | python-pyaml |
| 13692 | python-pytest |
| 13693 | python-pytest-mpl |
| 13694 | python-pytest-xdist |
| 13695 | python-setuptools |
| 13696 | python-sympy)) |
| 13697 | (propagated-inputs |
| 13698 | (list python-cmyt |
| 13699 | python-ewah-bool-utils |
| 13700 | python-ipywidgets |
| 13701 | python-matplotlib |
| 13702 | python-more-itertools |
| 13703 | python-numpy |
| 13704 | python-packaging |
| 13705 | python-pillow |
| 13706 | python-tomli-w |
| 13707 | python-tqdm |
| 13708 | python-unyt |
| 13709 | ;; [optional] |
| 13710 | ;; python-arm-pyart ; not packed yet |
| 13711 | ;; python-f90nml |
| 13712 | ;; python-firefly |
| 13713 | ;; python-miniball |
| 13714 | ;; python-pyx |
| 13715 | ;; python-ratarmount |
| 13716 | python-astropy |
| 13717 | python-cartopy |
| 13718 | python-glue-core |
| 13719 | python-h5py |
| 13720 | python-netcdf4 |
| 13721 | python-pandas |
| 13722 | python-pooch |
| 13723 | python-regions |
| 13724 | python-requests |
| 13725 | python-xarray)) |
| 13726 | (home-page "http://yt-project.org/") |
| 13727 | (synopsis "Analyzing and visualizing volumetric data framework") |
| 13728 | (description |
| 13729 | "This package provides a structured, variable-resolution meshes, |
| 13730 | unstructured meshes, and discrete or sampled data such as particles. Focused on |
| 13731 | driving physically-meaningful inquiry, it has been applied in domains such as |
| 13732 | astrophysics, seismology, nuclear engineering, molecular dynamics, and |
| 13733 | oceanography.") |
| 13734 | (license (list |
| 13735 | ;; COPYING.txt: for Python code. |
| 13736 | ;; |
| 13737 | ;; yt uses a shared copyright model. Each contributor maintains |
| 13738 | ;; copyright over their contributions to yt. But, it is important |
| 13739 | ;; to note that these contributions are typically only changes to |
| 13740 | ;; the repositories. Thus, the yt source code, in its entirety is |
| 13741 | ;; not the copyright of any single person or institution. Instead, |
| 13742 | ;; it is the collective copyright of the entire yt Development |
| 13743 | ;; Team. If individual contributors want to maintain a record of |
| 13744 | ;; what changes/contributions they have specific copyright on, |
| 13745 | ;; they should indicate their copyright in the commit message of |
| 13746 | ;; the change, when they commit the change to one of the yt |
| 13747 | ;; repositories. |
| 13748 | license:bsd-3 |
| 13749 | ;; yt/frontends/artio/artio_headers/LICENSE: for C code. |
| 13750 | license:lgpl3)))) |
| 13751 | |
| 13752 | (define-public python-yt-astro-analysis |
| 13753 | ;; XXX: The project might be unmaintained. |
| 13754 | (package |
| 13755 | (name "python-yt-astro-analysis") |
| 13756 | (version "1.1.4") |
| 13757 | (source |
| 13758 | (origin |
| 13759 | (method url-fetch) |
| 13760 | (uri (pypi-uri "yt_astro_analysis" version)) |
| 13761 | (sha256 |
| 13762 | (base32 "0dy96084wvb7ccnnp22b6wacyjzn1n62i4mwq0q7nkp90bzx44a2")))) |
| 13763 | (build-system pyproject-build-system) |
| 13764 | (arguments |
| 13765 | ;; Tests are broken during collection time: RuntimeWarning: numpy.ndarray |
| 13766 | ;; size changed, may indicate binary incompatibility. Expected 16 from C |
| 13767 | ;; header, got 96 from PyObject. |
| 13768 | (list #:tests? #f)) |
| 13769 | (native-inputs |
| 13770 | (list python-cython |
| 13771 | python-pytest |
| 13772 | python-setuptools)) |
| 13773 | (propagated-inputs |
| 13774 | (list python-h5py |
| 13775 | python-numpy |
| 13776 | python-packaging |
| 13777 | python-yt)) |
| 13778 | (home-page "https://github.com/yt-project/yt_astro_analysis") |
| 13779 | (synopsis "YT astrophysical analysis modules") |
| 13780 | (description |
| 13781 | "This package provides an @code{yt} extension package for astrophysical |
| 13782 | analysis. This package contains functionality for: |
| 13783 | |
| 13784 | @itemize |
| 13785 | @item halo finding and analysis |
| 13786 | @item lightcones |
| 13787 | @item planning cosmological simulations for making lightcones and lightrays |
| 13788 | @item exporting to the RADMC-3D radiation transport code |
| 13789 | @item creating PPV FITS cubes |
| 13790 | @end itemize") |
| 13791 | (license (list license:bsd-3 license:lgpl3)))) |
| 13792 | |
| 13793 | (define-public python-zodipy |
| 13794 | (package |
| 13795 | (name "python-zodipy") |
| 13796 | (version "1.1.5") |
| 13797 | (source |
| 13798 | (origin |
| 13799 | (method git-fetch) |
| 13800 | (uri (git-reference |
| 13801 | ;; XXX: Upstream is not stable with version style |
| 13802 | ;; <https://github.com/Cosmoglobe/zodipy/issues/48> |
| 13803 | (url "https://github.com/Cosmoglobe/zodipy") |
| 13804 | (commit (string-append "v" version)))) |
| 13805 | (file-name (git-file-name name version)) |
| 13806 | (sha256 |
| 13807 | (base32 "13l1bhzvgzcbj8wsx4m87v2ys32x23rkm66y1fh6z08h72w3zrqq")))) |
| 13808 | (build-system pyproject-build-system) |
| 13809 | (native-inputs |
| 13810 | (list python-poetry-core |
| 13811 | python-pytest)) |
| 13812 | (propagated-inputs |
| 13813 | (list python-astropy |
| 13814 | python-jplephem |
| 13815 | python-numpy |
| 13816 | python-scipy)) |
| 13817 | (home-page "https://github.com/Cosmoglobe/zodipy") |
| 13818 | (synopsis "Zodiacal emission simulations") |
| 13819 | (description |
| 13820 | "ZodiPy is an package for simulating zodiacal light in intensity for |
| 13821 | arbitrary solar system observers.") |
| 13822 | (license license:gpl3+))) |
| 13823 | |
| 13824 | (define-public qfits |
| 13825 | (package |
| 13826 | (name "qfits") |
| 13827 | (version "6.2.0") |
| 13828 | (source |
| 13829 | (origin |
| 13830 | (method url-fetch) |
| 13831 | (uri |
| 13832 | (string-append "ftp://ftp.eso.org/pub/qfits/qfits-" version ".tar.gz")) |
| 13833 | (sha256 |
| 13834 | (base32 "0m2b21mim3a7wgfg3ph2w5hv7mdvr03jmmhzipc0wcahijglcw9j")))) |
| 13835 | (build-system gnu-build-system) |
| 13836 | (arguments |
| 13837 | (list |
| 13838 | #:make-flags |
| 13839 | #~(list (string-append "CFLAGS=-g -O2" |
| 13840 | " -Wno-error=implicit-function-declaration")))) |
| 13841 | (home-page "https://www.eso.org/sci/software/eclipse/qfits/") |
| 13842 | (synopsis "C library offering access to astronomical FITS files") |
| 13843 | (description |
| 13844 | "@code{qfits} is a C library giving access to FITS file internals, both |
| 13845 | for reading and writing.") |
| 13846 | (license license:gpl2+))) |
| 13847 | |
| 13848 | (define-public scamp |
| 13849 | (package |
| 13850 | (name "scamp") |
| 13851 | (version "2.15.0") |
| 13852 | (source |
| 13853 | (origin |
| 13854 | (method git-fetch) |
| 13855 | (uri (git-reference |
| 13856 | (url "https://github.com/astromatic/scamp") |
| 13857 | (commit (string-append "v" version)))) |
| 13858 | (file-name (git-file-name name version)) |
| 13859 | (sha256 |
| 13860 | (base32 "12iccq0b9g8pmranja5rmayrlxbayy1h6w6v9grs764gf85g2wql")))) |
| 13861 | (build-system gnu-build-system) |
| 13862 | (arguments |
| 13863 | (list |
| 13864 | #:configure-flags |
| 13865 | #~(list "CPPFLAGS=-fcommon" |
| 13866 | "--enable-openblas" |
| 13867 | "--enable-plplot" |
| 13868 | (string-append "--with-curl-incdir=" |
| 13869 | #$(this-package-input "curl") "/include") |
| 13870 | (string-append "--with-curl-libdir=" |
| 13871 | #$(this-package-input "curl") "/lib") |
| 13872 | (string-append "--with-fftw-incdir=" |
| 13873 | #$(this-package-input "fftwf") "/include") |
| 13874 | (string-append "--with-fftw-libdir=" |
| 13875 | #$(this-package-input "fftwf") "/lib") |
| 13876 | (string-append "--with-openblas-incdir=" |
| 13877 | #$(this-package-input "openblas") "/include") |
| 13878 | (string-append "--with-openblas-libdir=" |
| 13879 | #$(this-package-input "openblas") "/lib") |
| 13880 | (string-append "--with-plplot-incdir=" |
| 13881 | #$(this-package-input "plplot") "/include") |
| 13882 | (string-append "--with-plplot-libdir=" |
| 13883 | #$(this-package-input "plplot") "/lib")))) |
| 13884 | (native-inputs |
| 13885 | (list autoconf |
| 13886 | automake |
| 13887 | libtool |
| 13888 | pkg-config |
| 13889 | python-astropy |
| 13890 | python-numpy |
| 13891 | python-wrapper)) |
| 13892 | (inputs |
| 13893 | (list curl fftwf openblas plplot)) |
| 13894 | (home-page "https://www.astromatic.net/software/scamp/") |
| 13895 | (synopsis "Compute astrometric solutions") |
| 13896 | (description |
| 13897 | "@acronym{Software for Calibrating AstroMetry and Photometry,SCAMP} is a |
| 13898 | software that computes astrometric projection parameters from source |
| 13899 | catalogues derived from @url{http://fits.gsfc.nasa.gov/,FITS} images. The |
| 13900 | computed solution is expressed according to the |
| 13901 | @url{http://www.atnf.csiro.au/people/mcalabre/WCS/index.html,WCS} standard. |
| 13902 | The main features of SCAMP are: |
| 13903 | |
| 13904 | @itemize |
| 13905 | @item compatibility with @code{SExtractor} FITS or Multi-Extension FITS |
| 13906 | catalogue format in input |
| 13907 | @item generation of WCS-compliant and @code{SWarp}-compatible FITS image |
| 13908 | headers in output |
| 13909 | @item automatic grouping of catalogues on the sky |
| 13910 | @item selectable on-line astrometric reference catalogue |
| 13911 | @item automatic determination of scale, position angle, flipping and |
| 13912 | coordinate shift using fast pattern-matching |
| 13913 | @item various astrometric calibration modes for single detectors and detector |
| 13914 | arrays |
| 13915 | @item combined astrometric solutions for multi-channel/instrument surveys |
| 13916 | @item highly configurable astrometric distortion polynomials |
| 13917 | @item correction for differential chromatic refraction |
| 13918 | @item proper motion measurements |
| 13919 | @item multi-threaded code that takes advantage of multiple processors |
| 13920 | @item @url{http://www.ivoa.net/documents/VOTable,VOTable}-compliant XML output |
| 13921 | of meta-data |
| 13922 | @item @url{http://en.wikipedia.org/wiki/XSLT,XSLT} filter sheet provided for |
| 13923 | convenient access to metadata from a regular web browser |
| 13924 | @end itemize") |
| 13925 | (license license:gpl3+))) |
| 13926 | |
| 13927 | (define-public sextractor |
| 13928 | (package |
| 13929 | (name "sextractor") |
| 13930 | (version "2.28.2") |
| 13931 | (source |
| 13932 | (origin |
| 13933 | (method git-fetch) |
| 13934 | (uri (git-reference |
| 13935 | (url "https://github.com/astromatic/sextractor") |
| 13936 | (commit version))) |
| 13937 | (file-name (git-file-name name version)) |
| 13938 | (sha256 |
| 13939 | (base32 "05i2q1665y4hv0dymgcwraq7ixwr706gwfb88vyvi8hazgym2iaq")))) |
| 13940 | (build-system gnu-build-system) |
| 13941 | (arguments |
| 13942 | (list |
| 13943 | #:configure-flags |
| 13944 | #~(list |
| 13945 | "--enable-openblas" |
| 13946 | (string-append "--with-cfitsio-incdir=" |
| 13947 | #$(this-package-input "cfitsio") "/include") |
| 13948 | (string-append "--with-cfitsio-libdir=" |
| 13949 | #$(this-package-input "cfitsio") "/lib") |
| 13950 | (string-append "--with-fftw-incdir=" |
| 13951 | #$(this-package-input "fftwf") "/include") |
| 13952 | (string-append "--with-fftw-libdir=" |
| 13953 | #$(this-package-input "fftwf") "/lib") |
| 13954 | (string-append "--with-openblas-incdir=" |
| 13955 | #$(this-package-input "openblas") "/include") |
| 13956 | (string-append "--with-openblas-libdir=" |
| 13957 | #$(this-package-input "openblas") "/lib")))) |
| 13958 | (native-inputs |
| 13959 | (list autoconf automake libtool)) |
| 13960 | (inputs |
| 13961 | (list cfitsio fftwf openblas)) |
| 13962 | (home-page "https://www.astromatic.net/software/sextractor") |
| 13963 | (synopsis "Extract catalogs of sources from astronomical images") |
| 13964 | (description |
| 13965 | "SExtractor is a program that builds a catalogue of objects from an |
| 13966 | astronomical image. Although it is particularly oriented towards reduction of |
| 13967 | large scale galaxy-survey data, it can perform reasonably well on moderately |
| 13968 | crowded star fields.") |
| 13969 | (license license:gpl3+))) |
| 13970 | |
| 13971 | (define-public sgp4 |
| 13972 | ;; Version tag v1.0 is dated to <2021-01-11>, use the latest commit instead. |
| 13973 | (let ((commit "6a448b4850e5fbf8c1ca03bb5f6013a9fdc1fd91") |
| 13974 | (revision "2")) |
| 13975 | (package |
| 13976 | (name "sgp4") |
| 13977 | (version (git-version "1.0" revision commit)) |
| 13978 | (source |
| 13979 | (origin |
| 13980 | (method git-fetch) |
| 13981 | (uri (git-reference |
| 13982 | (url "https://github.com/dnwrnr/sgp4") |
| 13983 | (commit commit))) |
| 13984 | (file-name (git-file-name name version)) |
| 13985 | (sha256 |
| 13986 | (base32 "15q8sain87cbppmzq66y6gp6bvm3kdd1bcchrl59rcvjp0w51wl1")))) |
| 13987 | (build-system cmake-build-system) |
| 13988 | (arguments |
| 13989 | (list |
| 13990 | ;; FIXME: Tests evaluated via runtest binary, but it's failing even |
| 13991 | ;; when SGP4-VER.TLE file was copied next to it during install phase. |
| 13992 | ;; |
| 13993 | ;; There are 2 more binaries are created after build phase - |
| 13994 | ;; passpredict and sattrack which are failing to execute after |
| 13995 | ;; install, strace output: |
| 13996 | ;; |
| 13997 | ;; strace: exec: Exec format error |
| 13998 | ;; |
| 13999 | #:tests? #f)) |
| 14000 | (home-page "https://github.com/dnwrnr/sgp4") |
| 14001 | (synopsis "Simplified perturbations models library") |
| 14002 | (description |
| 14003 | "This is a library implementing the simplified perturbations model. |
| 14004 | It can be used to calculate the trajectory of satellites.") |
| 14005 | (license license:asl2.0)))) |
| 14006 | |
| 14007 | (define-public siril |
| 14008 | (package |
| 14009 | (name "siril") |
| 14010 | (version "1.4.4") |
| 14011 | (source |
| 14012 | (origin |
| 14013 | (method git-fetch) |
| 14014 | (uri (git-reference |
| 14015 | (url "https://gitlab.com/free-astro/siril") |
| 14016 | (commit version))) |
| 14017 | (sha256 |
| 14018 | (base32 "00js51nnb5kwm6p9lp2s8yl0y2cjiy1zbddxsq4y8mccydwvy0aj")) |
| 14019 | (file-name (git-file-name name version)) |
| 14020 | (modules '((guix build utils))) |
| 14021 | (snippet |
| 14022 | #~(begin |
| 14023 | ;; Remove bundled libraries. |
| 14024 | (for-each delete-file-recursively |
| 14025 | (list "subprojects/healpix_cxx" |
| 14026 | ;; TODO: Package htmesh, it's included in KSarts |
| 14027 | ;; - URL: <https://invent.kde.org/education/kstars> |
| 14028 | ;; - File: <kstars/htmesh> |
| 14029 | ;; "subprojects/htmesh" |
| 14030 | ;; |
| 14031 | ;; TODO: Package kplot - Cairo plotting library |
| 14032 | ;; <https://github.com/kristapsdz/kplot>. |
| 14033 | ;; "subprojects/kplot" |
| 14034 | "subprojects/wcslib" |
| 14035 | "subprojects/librtprocess" |
| 14036 | "subprojects/yyjson")))))) |
| 14037 | (build-system meson-build-system) |
| 14038 | (arguments |
| 14039 | (list |
| 14040 | #:glib-or-gtk? #t |
| 14041 | #:configure-flags |
| 14042 | #~(list "--wrap-mode=nodownload") |
| 14043 | #:imported-modules `(,@%meson-build-system-modules |
| 14044 | (guix build glib-or-gtk-build-system)) |
| 14045 | #:modules '((guix build meson-build-system) |
| 14046 | ((guix build glib-or-gtk-build-system) |
| 14047 | #:prefix glib-or-gtk:) |
| 14048 | (guix build utils)) |
| 14049 | #:phases |
| 14050 | #~(modify-phases %standard-phases |
| 14051 | (add-after 'unpack 'generate-gdk-pixbuf-loaders-cache-file |
| 14052 | (assoc-ref glib-or-gtk:%standard-phases |
| 14053 | 'generate-gdk-pixbuf-loaders-cache-file)) |
| 14054 | (add-after 'install 'wrap-program |
| 14055 | (lambda* _ |
| 14056 | (wrap-program (string-append #$output "/bin/siril") |
| 14057 | ;; Wrapping GDK_PIXBUF_MODULE_FILE to load icons in pure |
| 14058 | ;; environments. |
| 14059 | `("GDK_PIXBUF_MODULE_FILE" = |
| 14060 | (,(getenv "GDK_PIXBUF_MODULE_FILE"))))))))) |
| 14061 | (native-inputs |
| 14062 | (list cmake-minimal |
| 14063 | git |
| 14064 | (list glib "bin") ; for glib-compile-resources |
| 14065 | libconfig |
| 14066 | pkg-config)) |
| 14067 | (inputs |
| 14068 | (list bash-minimal ;for wrap-program |
| 14069 | cfitsio |
| 14070 | curl |
| 14071 | exiv2 |
| 14072 | ffmpeg |
| 14073 | ffms2 |
| 14074 | fftwf |
| 14075 | gdk-pixbuf |
| 14076 | gsl |
| 14077 | gtk+ |
| 14078 | gtksourceview-4 |
| 14079 | healpix-cxx |
| 14080 | json-glib |
| 14081 | lcms |
| 14082 | |
| 14083 | ;; XXX: It downloads script and data during start up, check if they |
| 14084 | ;; may be presented as packages with wrapped environment variables |
| 14085 | ;; src/io/siril_git.c |
| 14086 | ;; <https://gitlab.com/free-astro/siril-scripts> |
| 14087 | ;; <https://gitlab.com/free-astro/siril-spcc-database>. |
| 14088 | libgit2 |
| 14089 | |
| 14090 | libheif |
| 14091 | libjxl |
| 14092 | libraw |
| 14093 | (librsvg-for-system) |
| 14094 | librtprocess |
| 14095 | libxisf |
| 14096 | lz4 |
| 14097 | opencv |
| 14098 | pugixml |
| 14099 | wcslib |
| 14100 | yyjson)) |
| 14101 | (home-page "https://siril.org/") |
| 14102 | (synopsis "Image processing software for amateur astronomy") |
| 14103 | (description |
| 14104 | "This package provides an astronomical image processing tool - SIRIL. It |
| 14105 | is specially tailored for noise reduction and improving the signal/noise ratio |
| 14106 | of an image from multiple captures, as required in astronomy. SIRIL can align |
| 14107 | automatically or manually, stack and enhance pictures from various file |
| 14108 | formats, even image sequence files (films and SER files). It works well with |
| 14109 | limited system resources, like in embedded platforms, but is also very fast |
| 14110 | when run on more powerful computers and provides conversion to FITS from a |
| 14111 | large number of image formats.") |
| 14112 | (license license:gpl3+))) |
| 14113 | |
| 14114 | (define-public ska-sdp-func |
| 14115 | (package |
| 14116 | (name "ska-sdp-func") |
| 14117 | (version "1.2.2") |
| 14118 | (source |
| 14119 | (origin |
| 14120 | (method git-fetch) |
| 14121 | (uri (git-reference |
| 14122 | (url "https://gitlab.com/ska-telescope/sdp/ska-sdp-func") |
| 14123 | (commit version))) |
| 14124 | (sha256 |
| 14125 | (base32 "0blk4sfy2kl544d7iahcd9awvlg3xvwcm5qmis6h4xiw7xgj7psf")) |
| 14126 | (file-name (git-file-name name version)))) |
| 14127 | (build-system cmake-build-system) |
| 14128 | (arguments |
| 14129 | (list |
| 14130 | #:configure-flags |
| 14131 | #~(list "-DBUILD_INFO=ON" |
| 14132 | "-DFIND_CUDA=OFF") |
| 14133 | #:phases |
| 14134 | #~(modify-phases %standard-phases |
| 14135 | (add-after 'unpack 'disable-failing-tests |
| 14136 | (lambda _ |
| 14137 | (substitute* "tests/CMakeLists.txt" |
| 14138 | ;; Two tests fail with SegFAilt: "Cannot allocate GPU memory: |
| 14139 | ;; The processing function library was compiled without CUDA |
| 14140 | ;; support". |
| 14141 | (("clean") "# clean") |
| 14142 | ;; test_weighting fails with error: sdp_weighting_uniform: |
| 14143 | ;; Expected 'output_weight' not to be read-only. |
| 14144 | (("visibility") "# visibility"))))))) |
| 14145 | (home-page "https://developer.skao.int/projects/ska-sdp-func/en/latest/") |
| 14146 | (synopsis "SDP Processing Function Library") |
| 14147 | (description |
| 14148 | "This package provides a Square Kilometre Array (SKA) Science Data |
| 14149 | Processor (SDP) function library for radio astronomy.") |
| 14150 | (license license:bsd-3))) |
| 14151 | |
| 14152 | (define-public python-ska-sdp-func |
| 14153 | (package/inherit ska-sdp-func |
| 14154 | (name "python-ska-sdp-func") |
| 14155 | (build-system pyproject-build-system) |
| 14156 | (arguments |
| 14157 | (list |
| 14158 | #:test-flags |
| 14159 | #~(list |
| 14160 | ;; Ignore tests requiring CUDA. |
| 14161 | "--ignore=tests/visibility/test_tiled_functions.py" |
| 14162 | "--ignore=tests/visibility/test_opt_weighting.py" |
| 14163 | ;; We don't want benchmark tests. |
| 14164 | "--ignore=tests/fourier_transforms/test_swiftly_bench.py" |
| 14165 | ;; Skip tests failing with errors: |
| 14166 | ;; UnboundLocalError: local variable 'psf' referenced before assignment |
| 14167 | ;; AttributeError: 'NoneType' object has no attribute 'asnumpy' |
| 14168 | "-k" "not test_hogbom_clean and not test_ms_clean_cornwell"))) |
| 14169 | (native-inputs |
| 14170 | (list cmake |
| 14171 | python-pytest |
| 14172 | python-scipy |
| 14173 | python-setuptools)) |
| 14174 | (propagated-inputs |
| 14175 | (list python-numpy)))) |
| 14176 | |
| 14177 | (define-public skymaker |
| 14178 | (package |
| 14179 | (name "skymaker") |
| 14180 | (version "3.10.5") |
| 14181 | (source |
| 14182 | (origin |
| 14183 | (method git-fetch) |
| 14184 | (uri (git-reference |
| 14185 | (url "https://github.com/astromatic/skymaker") |
| 14186 | (commit version))) |
| 14187 | (file-name (git-file-name name version)) |
| 14188 | (sha256 |
| 14189 | (base32 "0kcy0lfm25gihahpr41ghhw3b8znzczzg9rrlkfih043h2pfsm5l")))) |
| 14190 | (build-system gnu-build-system) |
| 14191 | (arguments |
| 14192 | (list |
| 14193 | #:configure-flags |
| 14194 | #~(list |
| 14195 | "CPPFLAGS=-fcommon" |
| 14196 | (string-append |
| 14197 | "--with-fftw-libdir=" #$(this-package-input "fftwf") "/lib") |
| 14198 | (string-append |
| 14199 | "--with-fftw-incdir=" #$(this-package-input "fftwf") "/include")))) |
| 14200 | (native-inputs |
| 14201 | (list autoconf automake libtool pkg-config)) |
| 14202 | (inputs |
| 14203 | (list fftwf)) |
| 14204 | (home-page "https://www.astromatic.net/software/skymaker") |
| 14205 | (synopsis "Astronomical image simulator") |
| 14206 | (description |
| 14207 | "SkyMaker is a program that simulates astronomical images. It accepts |
| 14208 | object lists in ASCII generated by the Stuff program to produce realistic |
| 14209 | astronomical fields. SkyMaker is part of the |
| 14210 | @uref{https://www.astromatic.net/projects/efigi, EFIGI} development project.") |
| 14211 | (license license:gpl3+))) |
| 14212 | |
| 14213 | (define-public splash |
| 14214 | (package |
| 14215 | (name "splash") |
| 14216 | (version "4.0.0") |
| 14217 | (source |
| 14218 | (origin |
| 14219 | (method git-fetch) |
| 14220 | (uri (git-reference |
| 14221 | (url "https://github.com/danieljprice/splash") |
| 14222 | (commit (string-append "v" version)))) |
| 14223 | (file-name (git-file-name name version)) |
| 14224 | (sha256 |
| 14225 | (base32 "1yl3g2l01ck4ivymwa7sy7y153mqk274yf44qijk1qbag85908hy")))) |
| 14226 | (build-system gnu-build-system) |
| 14227 | (arguments |
| 14228 | ;; FIXME: Tests failed |
| 14229 | ;; Issue submitted upstream https://github.com/danieljprice/splash/issues/67 |
| 14230 | ;; |
| 14231 | ;; make: *** No rule to make target 'test_interpolate3D.o', needed by 'test1'. Stop. |
| 14232 | ;; |
| 14233 | (list #:tests? #f |
| 14234 | #:parallel-build? #f ;parallel build fails |
| 14235 | #:make-flags #~(list "SYSTEM=gfortran" "PREFIX=" |
| 14236 | (string-append "GIZA_DIR=" |
| 14237 | #$(this-package-input "giza")) |
| 14238 | (string-append "DESTDIR=" |
| 14239 | #$output)) |
| 14240 | #:phases #~(modify-phases %standard-phases |
| 14241 | (delete 'configure) |
| 14242 | (add-before 'install 'create-install-dirrectories |
| 14243 | (lambda _ |
| 14244 | (mkdir-p (string-append #$output "/bin"))))))) |
| 14245 | (native-inputs |
| 14246 | (list gfortran |
| 14247 | pkg-config |
| 14248 | perl |
| 14249 | python-wrapper)) |
| 14250 | (inputs |
| 14251 | (list cairo |
| 14252 | cfitsio |
| 14253 | giza)) |
| 14254 | (home-page "https://users.monash.edu.au/~dprice/splash/") |
| 14255 | (synopsis "Astrophysical visualisation tool for smoothed particle hydrodynamics") |
| 14256 | (description |
| 14257 | "SPLASH is visualisation tool for Smoothed Particle Hydrodynamics (SPH) |
| 14258 | simulations in one, two and three dimensions, developed mainly for |
| 14259 | astrophysics. It uses a command-line menu but data can be manipulated |
| 14260 | interactively in the plotting window.") |
| 14261 | (license license:gpl2+))) |
| 14262 | |
| 14263 | (define-public spot-nik |
| 14264 | (package |
| 14265 | (name "spot-nik") |
| 14266 | (version "1.5.1") |
| 14267 | (source |
| 14268 | (origin |
| 14269 | (method git-fetch) |
| 14270 | (uri (git-reference |
| 14271 | (url "https://github.com/naojsoft/spot") |
| 14272 | (commit (string-append "v" version)))) |
| 14273 | (file-name (git-file-name name version)) |
| 14274 | (sha256 |
| 14275 | (base32 "0nmq4ngidfy4a1dmc996dd0zdpk2ljsll4bws61r571rq1r876kk")))) |
| 14276 | (build-system pyproject-build-system) |
| 14277 | (arguments |
| 14278 | (list |
| 14279 | ;; Network access is required to get data set from |
| 14280 | ;; <https://ssd.jpl.nasa.gov/ftp/eph/planets/bsp/de421.bsp>. |
| 14281 | #:tests? #f)) |
| 14282 | (native-inputs |
| 14283 | (list python-setuptools-scm)) |
| 14284 | (inputs |
| 14285 | (list python-astropy |
| 14286 | python-astroquery |
| 14287 | python-ginga |
| 14288 | python-jplephem |
| 14289 | python-matplotlib |
| 14290 | python-pandas |
| 14291 | python-dateutil |
| 14292 | python-requests |
| 14293 | python-skyfield |
| 14294 | python-pyqt-6 |
| 14295 | python-pyside-6)) |
| 14296 | (home-page "https://github.com/naojsoft/spot") |
| 14297 | (synopsis "Site Planning and Observation Tool") |
| 14298 | (description |
| 14299 | "SPOT (Site Planning and Observation Tool) is a graphical tool for |
| 14300 | planning and conducting astronomical observations at a site. ") |
| 14301 | (license license:bsd-3))) |
| 14302 | |
| 14303 | (define-public stackistry |
| 14304 | (package |
| 14305 | (name "stackistry") |
| 14306 | (version "0.3.0") |
| 14307 | (source |
| 14308 | (origin |
| 14309 | (method git-fetch) |
| 14310 | (uri (git-reference |
| 14311 | (url "https://github.com/GreatAttractor/stackistry") |
| 14312 | (commit (string-append "v" version)))) |
| 14313 | (file-name (git-file-name name version)) |
| 14314 | (sha256 |
| 14315 | (base32 "0rz29v33n0x0k40hv3v79ym5ylch1v0pbph4i21809gz2al5p7dq")))) |
| 14316 | (build-system gnu-build-system) |
| 14317 | (arguments |
| 14318 | (list |
| 14319 | #:tests? #f ; No test target |
| 14320 | #:make-flags |
| 14321 | #~(list |
| 14322 | (string-append |
| 14323 | "SKRY_INCLUDE_PATH=" #$(this-package-input "libskry") "/include") |
| 14324 | (string-append |
| 14325 | "SKRY_LIB_PATH=-L" #$(this-package-input "libskry") "/lib") |
| 14326 | (string-append |
| 14327 | "LIBAV_INCLUDE_PATH=" #$(this-package-input "ffmpeg") "/include")) |
| 14328 | #:phases |
| 14329 | #~(modify-phases %standard-phases |
| 14330 | ;; no configure and tests are provided |
| 14331 | (delete 'configure) |
| 14332 | (add-after 'unpack 'fix-paths |
| 14333 | (lambda _ |
| 14334 | (substitute* "src/main.cpp" |
| 14335 | (("\"\\.\\.\", \"lang\"") |
| 14336 | "\"../share/stackistry\", \"lang\"")) |
| 14337 | (substitute* "src/utils.cpp" |
| 14338 | (("\"\\.\\.\", \"icons\"") |
| 14339 | "\"../share/stackistry\", \"icons\"")))) |
| 14340 | (replace 'install |
| 14341 | ;; The Makefile lacks an ‘install’ target. |
| 14342 | (lambda _ |
| 14343 | (let* ((out #$output) |
| 14344 | (bin (string-append out "/bin")) |
| 14345 | (icons (string-append out "/share/stackistry/icons")) |
| 14346 | (lang (string-append out "/share/stackistry/lang"))) |
| 14347 | (copy-recursively "bin" bin) |
| 14348 | (copy-recursively "icons" icons) |
| 14349 | (copy-recursively "lang" lang))))))) |
| 14350 | (native-inputs |
| 14351 | (list pkg-config)) |
| 14352 | (inputs |
| 14353 | (list gtkmm-3 libskry ffmpeg-4)) |
| 14354 | (home-page "https://github.com/GreatAttractor/stackistry") |
| 14355 | (synopsis "Astronomical lucky imaging/image stacking tool") |
| 14356 | (description |
| 14357 | "Stackistry implements the lucky imaging principle of astronomical |
| 14358 | imaging: creating a high-quality still image out of a series of many (possibly |
| 14359 | thousands) low quality ones (blurred, deformed, noisy). The resulting image |
| 14360 | stack typically requires post-processing, including sharpening (e.g. via |
| 14361 | deconvolution). Such post-processing is not performed by Stackistry.") |
| 14362 | (license license:gpl3+))) |
| 14363 | |
| 14364 | (define-public stellarium |
| 14365 | (package |
| 14366 | (name "stellarium") |
| 14367 | (version "26.2") |
| 14368 | (source |
| 14369 | (origin |
| 14370 | (method git-fetch) |
| 14371 | (uri (git-reference |
| 14372 | (url "https://github.com/Stellarium/stellarium") |
| 14373 | (commit (string-append "v" version)))) |
| 14374 | (file-name (git-file-name name version)) |
| 14375 | (sha256 |
| 14376 | (base32 "1n3dkfrp35qn3m4r7wfgb2brwpy792ps1riixblnvv2cmgsvpncq")))) |
| 14377 | (build-system qt-build-system) |
| 14378 | (arguments |
| 14379 | (list |
| 14380 | #:configure-flags |
| 14381 | #~(list "-DENABLE_TESTING=ON" |
| 14382 | (string-append "-DCMAKE_CXX_FLAGS=-isystem " |
| 14383 | #$(this-package-input "qtpositioning") "/include/qt6" |
| 14384 | " -isystem " |
| 14385 | #$(this-package-input "qtserialport") "/include/qt6")) |
| 14386 | #:phases |
| 14387 | #~(modify-phases %standard-phases |
| 14388 | (add-before 'check 'set-offscreen-display |
| 14389 | (lambda _ |
| 14390 | (setenv "QT_QPA_PLATFORM" "offscreen") |
| 14391 | (setenv "HOME" "/tmp")))))) |
| 14392 | (inputs |
| 14393 | (list calcmysky |
| 14394 | eigen |
| 14395 | glm |
| 14396 | gpsd |
| 14397 | indi-2.2.1 |
| 14398 | libnova |
| 14399 | md4c |
| 14400 | nlopt |
| 14401 | openssl |
| 14402 | qtbase |
| 14403 | qtcharts |
| 14404 | qtlocation |
| 14405 | qtmultimedia |
| 14406 | qtpositioning |
| 14407 | qtserialport |
| 14408 | qtsvg |
| 14409 | qttranslations |
| 14410 | qtwayland |
| 14411 | qtwebengine |
| 14412 | qxlsx |
| 14413 | zlib)) |
| 14414 | (native-inputs |
| 14415 | (list doxygen |
| 14416 | gettext-minimal |
| 14417 | graphviz |
| 14418 | mesa |
| 14419 | perl |
| 14420 | python-wrapper |
| 14421 | qttools)) |
| 14422 | (home-page "https://stellarium.org/") |
| 14423 | (synopsis "Planetarium and 3D sky viewer") |
| 14424 | (description |
| 14425 | "Stellarium shows a realistic sky in 3D, just like what you see with the |
| 14426 | naked eye, binoculars, or a telescope. It can be used to control telescopes |
| 14427 | over a serial port for tracking celestial objects.") |
| 14428 | (license license:gpl2+))) |
| 14429 | |
| 14430 | (define-public stiff |
| 14431 | (package |
| 14432 | (name "stiff") |
| 14433 | (version "2.4.0") |
| 14434 | (source |
| 14435 | (origin |
| 14436 | (method git-fetch) |
| 14437 | (uri (git-reference |
| 14438 | (url "https://github.com/astromatic/stiff") |
| 14439 | (commit version))) |
| 14440 | (file-name (git-file-name name version)) |
| 14441 | (sha256 |
| 14442 | (base32 "1iffrncag1w6nd9c6v3dlx9m79nfg6ph42i0gsvlq8pvjph7s6pa")))) |
| 14443 | (build-system gnu-build-system) |
| 14444 | (arguments |
| 14445 | (list #:configure-flags |
| 14446 | #~(list "CFLAGS=-O2 -g -fcommon"))) |
| 14447 | (inputs |
| 14448 | (list libtiff zlib libjpeg-turbo)) |
| 14449 | (home-page "https://www.astromatic.net/software/stiff/") |
| 14450 | (synopsis "Convert scientific FITS images to TIFF format") |
| 14451 | (description |
| 14452 | "STIFF is a program that converts scientific @acronym{FITS, Flexible Image |
| 14453 | Transport System} images to the more popular TIFF format for illustration |
| 14454 | purposes.") |
| 14455 | (license license:gpl3+))) |
| 14456 | |
| 14457 | (define-public stuff |
| 14458 | ;; XXX: No version tag available in GitHub. |
| 14459 | ;; See: https://github.com/astromatic/stuff/issues/6 |
| 14460 | (let ((commit "9cf363216a0d5c3d41b3dc759994feee3be0fc4e") |
| 14461 | (revision "0")) |
| 14462 | (package |
| 14463 | (name "stuff") |
| 14464 | (version (git-version "2.0.1" revision commit)) |
| 14465 | (source |
| 14466 | (origin |
| 14467 | (method git-fetch) |
| 14468 | (uri (git-reference |
| 14469 | (url "https://github.com/astromatic/stuff") |
| 14470 | (commit commit))) |
| 14471 | (file-name (git-file-name name version)) |
| 14472 | (sha256 |
| 14473 | (base32 "1n7f2f7llwf1fbliypblia3xyrh69yy1rqbwwhz897qd92fxnl5i")))) |
| 14474 | (build-system gnu-build-system) |
| 14475 | (native-inputs |
| 14476 | (list autoconf automake libtool pkg-config)) |
| 14477 | (home-page "https://www.astromatic.net/software/stuff") |
| 14478 | (synopsis "Astronomical catalogue simulation") |
| 14479 | (description |
| 14480 | "Stuff is a program that simulates \"perfect\" astronomical |
| 14481 | catalogues. It generates object lists in ASCII which can read by the SkyMaker |
| 14482 | program to produce realistic astronomical fields. Stuff is part of the |
| 14483 | @uref{https://www.astromatic.net/projects/efigi, EFIGI} development project.") |
| 14484 | (license license:gpl3+)))) |
| 14485 | |
| 14486 | (define-public sunwait |
| 14487 | (package |
| 14488 | (name "sunwait") |
| 14489 | (version "0.9.1") |
| 14490 | (source |
| 14491 | (origin |
| 14492 | (method git-fetch) |
| 14493 | (uri |
| 14494 | (git-reference |
| 14495 | (url "https://github.com/risacher/sunwait") |
| 14496 | (commit version))) |
| 14497 | (file-name (git-file-name name version)) |
| 14498 | (sha256 |
| 14499 | (base32 "0mzc8bb7zzl1ch3v7w08vw2v50yjxvr7phyb78njpq89wy6hsrxz")))) |
| 14500 | (build-system gnu-build-system) |
| 14501 | (arguments |
| 14502 | (list |
| 14503 | #:tests? #f ; no tests provided |
| 14504 | #:make-flags |
| 14505 | #~(list (string-append "CC=" #$(cc-for-target))) |
| 14506 | #:phases |
| 14507 | #~(modify-phases %standard-phases |
| 14508 | (delete 'configure) ; no configure script is provided |
| 14509 | (replace 'install |
| 14510 | (lambda _ |
| 14511 | (install-file "sunwait" |
| 14512 | (string-append #$output "/bin"))))))) |
| 14513 | (home-page "https://github.com/risacher/sunwait") |
| 14514 | (synopsis "Sunrise and sunset times calculation") |
| 14515 | (description |
| 14516 | "Sunwait calculates sunrise or sunset times with civil, nautical, |
| 14517 | astronomical and custom twilights. The sun's position is calculated using |
| 14518 | time, and position - latitude and longitude should be specified on the command |
| 14519 | line. |
| 14520 | |
| 14521 | Features: |
| 14522 | |
| 14523 | @itemize |
| 14524 | @item calculates sunrise and sunset for given coordinates |
| 14525 | @item can wait for sunrise/sunset, or return DAY or NIGHT codes |
| 14526 | @item works with Windows Task Scheduler (or cron) |
| 14527 | @item supports custom twilight angles |
| 14528 | @item used to automate domestic lighting with Arduino transmitter and radio |
| 14529 | controlled sockets |
| 14530 | @end itemize") |
| 14531 | (license license:gpl3))) |
| 14532 | |
| 14533 | (define-public swarp |
| 14534 | (package |
| 14535 | (name "swarp") |
| 14536 | (version "2.41.5") |
| 14537 | (source |
| 14538 | (origin |
| 14539 | (method git-fetch) |
| 14540 | (uri (git-reference |
| 14541 | (url "https://github.com/astromatic/swarp") |
| 14542 | (commit (string-append version)))) |
| 14543 | (file-name (git-file-name name version)) |
| 14544 | (sha256 |
| 14545 | (base32 "00463r5rd4xl74xs4h1n4gl2qk7v9p5nw9x05pbzgh8jm77q90qq")))) |
| 14546 | (build-system gnu-build-system) |
| 14547 | (native-inputs |
| 14548 | (list automake autoconf libtool pkg-config)) |
| 14549 | (inputs |
| 14550 | (list cfitsio)) |
| 14551 | (home-page "https://www.astromatic.net/software/swarp") |
| 14552 | (synopsis "FITS image resampling and co-addition") |
| 14553 | (description |
| 14554 | "SWarp is a program that resamples and co-adds together FITS images using |
| 14555 | any arbitrary astrometric projection defined in the WCS standard.") |
| 14556 | (license license:gpl3+))) |
| 14557 | |
| 14558 | (define-public tangos |
| 14559 | (package |
| 14560 | (name "tangos") |
| 14561 | (version "1.12.0") |
| 14562 | (source |
| 14563 | (origin |
| 14564 | (method git-fetch) |
| 14565 | (uri (git-reference |
| 14566 | (url "https://github.com/pynbody/tangos") |
| 14567 | (commit (string-append "v" version)))) |
| 14568 | (file-name (git-file-name name version)) |
| 14569 | (sha256 |
| 14570 | (base32 "11ypqxglls9cb80k40h4rwbdgwwsng915rxg0nc6wz89m35r7bfk")))) |
| 14571 | (build-system pyproject-build-system) |
| 14572 | (arguments |
| 14573 | (list |
| 14574 | ;; tests: 512 passed, 1 skipped, 1 deselected, 288 warnings |
| 14575 | #:test-flags |
| 14576 | ;; OSError: File PosixPath('test_simulations/test_tipsy/tiny.000640'): |
| 14577 | ;; format not understood or does not exist |
| 14578 | #~(list "--deselect=tests/test_bh_reader.py::test_bhlog" ) |
| 14579 | #:phases |
| 14580 | #~(modify-phases %standard-phases |
| 14581 | (add-after 'unpack 'remove-broken-scripts |
| 14582 | (lambda _ |
| 14583 | ;; TODO: Report upstram. |
| 14584 | ;; I could not find "Simpy" module, see: |
| 14585 | ;; - URL: <https://github.com/pynbody/tangos/commit> |
| 14586 | ;; - commit: 7de987e27d756278c4571dc65f36d377027fa29d |
| 14587 | ;; - comment: #commitcomment-167855052 |
| 14588 | (delete-file "tangos/scripts/preprocess_bh.py") |
| 14589 | (substitute* "setup.py" |
| 14590 | ;; ModuleNotFoundError: No module named |
| 14591 | ;; 'tangos.scripts.bh_timelink' |
| 14592 | ((".*tangos_bh_timelink =.*") "") |
| 14593 | ;; It looks this script uses not a publicly available module: |
| 14594 | ;; import Simpy.BlackHoles.orbit. |
| 14595 | ((".*tangos_preprocess_bh =.*") "")))) |
| 14596 | (add-before 'check 'pre-check |
| 14597 | (lambda _ |
| 14598 | (setenv "HOME" "/tmp") |
| 14599 | (setenv "TANGOS_TESTING_DB_BACKEND" "sqlite")))))) |
| 14600 | (native-inputs |
| 14601 | (list python-pymysql |
| 14602 | python-pynbody |
| 14603 | python-pyquery |
| 14604 | python-pytest |
| 14605 | python-webtest |
| 14606 | python-yt)) |
| 14607 | (inputs |
| 14608 | (list python-hupper |
| 14609 | python-matplotlib |
| 14610 | python-more-itertools |
| 14611 | python-numpy |
| 14612 | python-packaging |
| 14613 | python-pastedeploy |
| 14614 | python-plaster |
| 14615 | python-plaster-pastedeploy |
| 14616 | python-psycopg2 |
| 14617 | python-pymysql |
| 14618 | python-pyparsing |
| 14619 | python-pyramid |
| 14620 | python-pyramid-debugtoolbar |
| 14621 | python-pyramid-jinja2 |
| 14622 | python-pyramid-retry |
| 14623 | python-pyramid-tm |
| 14624 | python-repoze-lru |
| 14625 | python-scipy |
| 14626 | python-setuptools |
| 14627 | python-sqlalchemy-2 |
| 14628 | python-tblib |
| 14629 | python-tqdm |
| 14630 | python-translationstring |
| 14631 | python-venusian |
| 14632 | python-waitress |
| 14633 | python-webob |
| 14634 | python-zope-deprecation |
| 14635 | python-zope-interface |
| 14636 | python-zope-sqlalchemy)) |
| 14637 | (home-page "https://github.com/pynbody/tangos") |
| 14638 | (synopsis "Agile numerical galaxy organisation system") |
| 14639 | (description |
| 14640 | "TANGOS is a tool to build a database (along the lines of |
| 14641 | @url{http://icc.dur.ac.uk/Eagle/database.php, Eagle} or |
| 14642 | @url{https://www.cosmosim.org/cms/documentation/projects/multidark-bolshoi-project/, |
| 14643 | MultiDark}) for cosmological and zoom simulations. |
| 14644 | |
| 14645 | Features: |
| 14646 | @itemize |
| 14647 | @item designed to store and manage results from custom analysis code |
| 14648 | @item provides web and Python interfaces |
| 14649 | @item science-focussed queries across entire merger trees, without requiring |
| 14650 | any knowledge of SQL |
| 14651 | @item manages the process of populating the database with science data, |
| 14652 | including auto-parallelising custom analysis |
| 14653 | @item customization with multiple Python modules such as @code{pynbody} or |
| 14654 | @code{yt} to process raw simulation data |
| 14655 | @item supports file-based database SQLite, server-based MySQL and PostgreSQL |
| 14656 | @end itemize") |
| 14657 | (license license:bsd-3))) |
| 14658 | |
| 14659 | (define-public tempo |
| 14660 | (package |
| 14661 | (name "tempo") |
| 14662 | (version "13.103") |
| 14663 | (source |
| 14664 | (origin |
| 14665 | (method url-fetch) |
| 14666 | (uri (string-append "mirror://sourceforge/tempo/tempo-" |
| 14667 | version ".tar.gz")) |
| 14668 | (sha256 |
| 14669 | (base32 "1ghml56sd7rhwymrlqlvj3g12hjyqvk2sjl08rqlf5y7dwdp0nvl")))) |
| 14670 | (build-system gnu-build-system) |
| 14671 | (native-inputs |
| 14672 | (list gfortran)) |
| 14673 | (home-page "https://github.com/nanograv/tempo") |
| 14674 | (synopsis "Pulsar timing data analysis program") |
| 14675 | (description |
| 14676 | "Tempo analyzes pulsar timing data. Pulse times of arrival (TOAs), |
| 14677 | pulsar model parameters, and coded instructions are read from one or more |
| 14678 | input files. The TOAs are fitted by a pulse timing model incorporating |
| 14679 | transformation to the solar-system barycenter, pulsar rotation and spin-down |
| 14680 | and, where necessary, one of several binary models. Program output includes |
| 14681 | parameter values and uncertainties, residual pulse arrival times, chi-squared |
| 14682 | statistics, and the covariance matrix of the model. In prediction |
| 14683 | mode,ephemerides of pulse phase behavior (in the form of polynomial |
| 14684 | expansions) are calculated from input timing models.") |
| 14685 | (license license:gpl2+))) |
| 14686 | |
| 14687 | (define-public tempo2 |
| 14688 | (package |
| 14689 | (name "tempo2") |
| 14690 | (version "2026.04.1") |
| 14691 | (source |
| 14692 | (origin |
| 14693 | (method git-fetch) |
| 14694 | (uri (git-reference |
| 14695 | (url "https://bitbucket.org/psrsoft/tempo2") |
| 14696 | (commit version))) |
| 14697 | (file-name (git-file-name name version)) |
| 14698 | (sha256 |
| 14699 | (base32 "0vwsp06anvq5lw3lrz18hwxd62iflgh0a8g22kvm1j6aicw3zixj")))) |
| 14700 | (build-system gnu-build-system) |
| 14701 | (arguments |
| 14702 | (list |
| 14703 | #:phases |
| 14704 | #~(modify-phases %standard-phases |
| 14705 | (add-after 'unpack 'patch-pathes |
| 14706 | (lambda _ |
| 14707 | (substitute* (list "bootstrap" "plugin/make_build_settings.sh") |
| 14708 | (("/bin/bash") (which "bash")) |
| 14709 | (("/bin/echo") "echo")))) |
| 14710 | (add-before 'configure 'set-t2runtime-path |
| 14711 | (lambda _ |
| 14712 | (setenv "TEMPO2" (string-append #$output "/share/runtime")))) |
| 14713 | (add-after 'install 'install-t2runtime-files |
| 14714 | (lambda _ |
| 14715 | (copy-recursively "T2runtime" |
| 14716 | (string-append #$output "/share/runtime"))))))) |
| 14717 | (native-inputs |
| 14718 | (list autoconf |
| 14719 | automake |
| 14720 | gfortran |
| 14721 | libtool |
| 14722 | pkg-config)) |
| 14723 | (home-page "https://bitbucket.org/psrsoft/tempo2") |
| 14724 | (synopsis "High precision pulsar timing tool") |
| 14725 | (description |
| 14726 | "Tempo2 is a pulsar timing package, based on the old FORTRAN TEMPO code |
| 14727 | to address some shortcomings in that code for high precision pulsar timing. |
| 14728 | See related paper |
| 14729 | @url{https://ui.adsabs.harvard.edu/abs/2006MNRAS.369..655H/abstract}.") |
| 14730 | (license license:gpl3+))) |
| 14731 | |
| 14732 | (define-public tenmon |
| 14733 | (package |
| 14734 | (name "tenmon") |
| 14735 | (version "20260913") |
| 14736 | (source |
| 14737 | (origin |
| 14738 | (method git-fetch) |
| 14739 | (uri (git-reference |
| 14740 | (url "https://gitea.nouspiro.space/nou/tenmon") |
| 14741 | (commit version))) |
| 14742 | (file-name (git-file-name name version)) |
| 14743 | (sha256 |
| 14744 | (base32 "1yqbgw07l0madvq89dwpjgvdfa8qpf68vdgrvzjd0nc702zidq4g")))) |
| 14745 | (build-system qt-build-system) |
| 14746 | (arguments |
| 14747 | (list |
| 14748 | #:qtbase qtbase |
| 14749 | #:tests? #f ;no test target |
| 14750 | #:phases |
| 14751 | #~(modify-phases %standard-phases |
| 14752 | ;; libxisf is expected to be found as git submodule, link it before |
| 14753 | ;; build. |
| 14754 | (add-after 'unpack 'link-libxisf |
| 14755 | (lambda _ |
| 14756 | (rmdir "libXISF") |
| 14757 | (symlink #+(package-source (this-package-native-input "libxisf")) |
| 14758 | (string-append (getcwd) "/libXISF"))))))) |
| 14759 | (native-inputs |
| 14760 | (list git-minimal/pinned |
| 14761 | libxisf-for-tenmon |
| 14762 | pkg-config )) |
| 14763 | (inputs |
| 14764 | (list cfitsio |
| 14765 | glu |
| 14766 | gsl |
| 14767 | libexif |
| 14768 | libraw |
| 14769 | qtbase |
| 14770 | qtcharts |
| 14771 | qtdeclarative |
| 14772 | qtsvg |
| 14773 | qtwayland |
| 14774 | wcslib |
| 14775 | zstd |
| 14776 | (list zstd "lib"))) |
| 14777 | (home-page "https://nouspiro.space/?page_id=206") |
| 14778 | (synopsis "FITS and XISF image viewer, converter and indexer") |
| 14779 | (description |
| 14780 | "FITS/XISF image viewer with multithreaded image loading. It is intended |
| 14781 | primarily for viewing astro photos and images with support of following |
| 14782 | formats: |
| 14783 | |
| 14784 | @itemize |
| 14785 | @item FITS 8, 16 bit integer and 32 bit float |
| 14786 | @item XISF 8, 16 bit integer and 32 bit float |
| 14787 | @item RAW CR2, DNG, NEF |
| 14788 | @item JPEG, PNG, BMP, GIF, PBM, PGM, PPM and SVG images |
| 14789 | @end itemize |
| 14790 | |
| 14791 | Features: |
| 14792 | @itemize |
| 14793 | @item using same stretch function as PixInsight |
| 14794 | @item OpenGL accelerated drawing |
| 14795 | @item index and search FITS XISF header data |
| 14796 | @item quick mark images and then copy/move marked files |
| 14797 | @item convert FITS <-> XISF |
| 14798 | @item convert FITS/XISF -> JPEG/PNG |
| 14799 | @item image statistics mean, media, min, max |
| 14800 | @item support for WCS |
| 14801 | @item thumbnails |
| 14802 | @item convert CFA images to colour - debayer |
| 14803 | @item color space aware |
| 14804 | @end itemize") |
| 14805 | (license license:gpl3+))) |
| 14806 | |
| 14807 | (define-public termtrack |
| 14808 | (package |
| 14809 | (name "termtrack") |
| 14810 | (version "0.8.0") |
| 14811 | (source |
| 14812 | (origin |
| 14813 | (method git-fetch) |
| 14814 | (uri (git-reference |
| 14815 | (url "https://github.com/trehn/termtrack") |
| 14816 | (commit version))) |
| 14817 | (file-name (git-file-name name version)) |
| 14818 | (sha256 |
| 14819 | (base32 "1g0q793lmzpv38yccp6951g4cg9rn4vby90f2dp405fl7l7cq5cx")))) |
| 14820 | (build-system pyproject-build-system) |
| 14821 | (arguments '(#:tests? #f)) ;no tests |
| 14822 | (native-inputs |
| 14823 | (list python-setuptools)) |
| 14824 | (inputs |
| 14825 | (list python-pillow |
| 14826 | python-pyshp |
| 14827 | python-requests |
| 14828 | python-skyfield)) |
| 14829 | (home-page "https://github.com/trehn/termtrack") |
| 14830 | (synopsis "Track satellites in your terminal") |
| 14831 | (description |
| 14832 | "@code{termtrack} is @acronym{CLI, Command Line Interface} which tracks |
| 14833 | orbiting objects (such as the International Space Station) directly in |
| 14834 | terminal.") |
| 14835 | (license license:gpl3))) |
| 14836 | |
| 14837 | (define-public unsio |
| 14838 | ;; There is no versioned tag, use the latest commit. |
| 14839 | (let ((commit "ac48210ec24432ec3ad330c4203e7eb21876a921") |
| 14840 | (revision "1")) |
| 14841 | (package |
| 14842 | (name "unsio") |
| 14843 | (version (git-version "1.3.3" revision commit)) |
| 14844 | (source (origin |
| 14845 | (method git-fetch) |
| 14846 | (uri (git-reference |
| 14847 | (url "https://gitlab.lam.fr/infrastructure/unsio") |
| 14848 | (commit commit))) |
| 14849 | (file-name (git-file-name name version)) |
| 14850 | (sha256 |
| 14851 | (base32 |
| 14852 | "0diiiflwz5yw2hpk3xj5x5iviyfibim4lhs02qn07hfw86qi9vn2")) |
| 14853 | (modules '((guix build utils))) |
| 14854 | (snippet |
| 14855 | ;; force installation into lib/ instead of lib64/ |
| 14856 | #~(substitute* "cmake/DetectCpackGenerator.cmake" |
| 14857 | (("lib64") "lib"))))) |
| 14858 | (build-system cmake-build-system) |
| 14859 | (arguments |
| 14860 | (list #:tests? #f ; no tests |
| 14861 | #:build-type "Release" ; to improve performance |
| 14862 | #:configure-flags #~(list "-DCMAKE_CXX_STANDARD=14"))) |
| 14863 | (inputs (list gfortran hdf5 perl sqlite zlib)) |
| 14864 | (home-page "https://projets.lam.fr/projects/unsio/wiki") |
| 14865 | (synopsis "Input and output routines for n-body file formats") |
| 14866 | (description |
| 14867 | "@acronym{UNSIO, Universal Nbody Snapshot Input Output} provides |
| 14868 | an API for performing input and output operations on different kinds of |
| 14869 | n-body file formats (nemo, Gadget binaries 1 and 2, Gadget hdf5, Ramses).") |
| 14870 | (license license:cecill)))) |
| 14871 | |
| 14872 | (define-public uraniborg |
| 14873 | (package |
| 14874 | (name "uraniborg") |
| 14875 | (version "0.0.15") |
| 14876 | (source |
| 14877 | (origin |
| 14878 | (method git-fetch) |
| 14879 | (uri (git-reference |
| 14880 | (url "https://codeberg.org/astronexus/uraniborg") |
| 14881 | (commit (string-append "v" version)))) |
| 14882 | (file-name (git-file-name name version)) |
| 14883 | (sha256 |
| 14884 | (base32 "0wniyp6rw2gcv1plqdqqx8l9qa1yr2rap6yhhq628ynj846v0xk4")))) |
| 14885 | (build-system go-build-system) |
| 14886 | (arguments |
| 14887 | (list |
| 14888 | #:install-source? #f |
| 14889 | #:import-path "bitbucket.org/dpnash/uraniborg" |
| 14890 | #:phases |
| 14891 | #~(modify-phases %standard-phases |
| 14892 | (add-before 'build 'patch-config |
| 14893 | (lambda* (#:key import-path #:allow-other-keys) |
| 14894 | (with-directory-excursion (string-append "src/" import-path) |
| 14895 | (substitute* "consts.go" |
| 14896 | (("DEFAULT_BASE_DIR = \".\"") (format #f "DEFAULT_BASE_DIR = ~s" #$output)) |
| 14897 | (("\"config\"") (format #f "~s" "etc/uraniborg")) |
| 14898 | (("\"data\"") (format #f "~s" "share/uraniborg/data")) |
| 14899 | (("\"charts\"") (format #f "~s" "share/uraniborg/charts")) |
| 14900 | (("\"fonts\"") (format #f "~s" "share/uraniborg/fonts"))) |
| 14901 | (substitute* (find-files "config" ".*\\.yaml$") |
| 14902 | (("fonts/") (string-append #$output "/share/uraniborg/fonts/")))))) |
| 14903 | (add-after 'install 'install-runtime-files |
| 14904 | (lambda* (#:key import-path #:allow-other-keys) |
| 14905 | (with-directory-excursion (string-append "src/" import-path) |
| 14906 | (let ((etc (string-append #$output "/etc/uraniborg")) |
| 14907 | (data (string-append #$output "/share/uraniborg/data")) |
| 14908 | (charts (string-append #$output "/share/uraniborg/charts")) |
| 14909 | (fonts (string-append #$output "/share/uraniborg/fonts"))) |
| 14910 | (copy-recursively "config" etc) |
| 14911 | (copy-recursively "charts" charts) |
| 14912 | (copy-recursively "fonts" fonts) |
| 14913 | (system* "gunzip" "data/athyg_33_subset.csv.gz") |
| 14914 | (install-file "data/athyg_33_subset.csv" data))))) |
| 14915 | (delete 'check) |
| 14916 | (add-after 'install-runtime-files 'post-install-check |
| 14917 | (lambda* (#:key tests? import-path #:allow-other-keys) |
| 14918 | (when tests? |
| 14919 | (with-directory-excursion (string-append "src/" import-path) |
| 14920 | (invoke "go" "test" "-v" "./...")))))))) |
| 14921 | (native-inputs |
| 14922 | (list go-codeberg-org-astronexus-brahe |
| 14923 | go-dario-cat-mergo |
| 14924 | go-github-com-fogleman-gg |
| 14925 | go-github-com-fsnotify-fsnotify |
| 14926 | go-gopkg-in-yaml-v3)) |
| 14927 | (home-page "https://codeberg.org/astronexus/uraniborg") |
| 14928 | (synopsis "CLI star chart application for the AT-HYG catalog") |
| 14929 | (description |
| 14930 | "@code{uraniborg} is a CLI visualization tool and star chart \"engine\" |
| 14931 | for the Augmented Tycho + HYG (AT-HYG) star catalog. The |
| 14932 | @url{https://codeberg.org/astronexus/athyg, AT-HYG} catalog consists of stars |
| 14933 | from the Tycho-2 star catalog, augmented with additional distance and velocity |
| 14934 | information from Gaia DR3, as well as the \"classic\" / historical information |
| 14935 | from the HYG catalog. |
| 14936 | |
| 14937 | @code{uraniborg} lets you view the sky from both the solar system and from any |
| 14938 | star in the AT-HYG catalog with a known distance (over 2.5 million stars |
| 14939 | currently). |
| 14940 | |
| 14941 | Base directory containing custom config, data, charts and fonts may be |
| 14942 | adjusted with command line option @code{-b}, by default set to store path.") |
| 14943 | (license (list license:asl2.0 ;; Roboto fonts |
| 14944 | license:silofl1.1 ;; Noto Sans fonts |
| 14945 | license:gpl3+)))) |
| 14946 | |
| 14947 | (define-public uranimator |
| 14948 | ;; No release or version tags. |
| 14949 | (let ((commit "d96f0084c029667f313ec72aade9968fa5bb506e") |
| 14950 | (revision "1")) |
| 14951 | (package |
| 14952 | (name "uranimator") |
| 14953 | (version (git-version "0.0.0" revision commit)) |
| 14954 | (source |
| 14955 | (origin |
| 14956 | (method git-fetch) |
| 14957 | (uri (git-reference |
| 14958 | (url "https://codeberg.org/astronexus/uranimator.git") |
| 14959 | (commit commit))) |
| 14960 | (file-name (git-file-name name version)) |
| 14961 | (sha256 |
| 14962 | (base32 "1yf1ghzzpnh0v1ra6dv4l135jgbs28pzadqig8cy8bwi9jq5wlrn")))) |
| 14963 | (build-system go-build-system) |
| 14964 | (arguments |
| 14965 | (list |
| 14966 | #:install-source? #f |
| 14967 | #:import-path "codeberg.org/astronexus/uranimator")) |
| 14968 | (native-inputs |
| 14969 | (list go-codeberg-org-astronexus-brahe |
| 14970 | go-github-com-jessevdk-go-flags |
| 14971 | go-gonum-org-v1-gonum |
| 14972 | go-gopkg-in-yaml-v3)) |
| 14973 | (home-page "https://codeberg.org/astronexus/uranimator") |
| 14974 | (synopsis "Create sets of astro .png files that can be turned into animations") |
| 14975 | (description |
| 14976 | "@code{uranimator} is a CLI tool that works with your existing |
| 14977 | @url{https://codeberg.org/astronexus/uraniborg,(code uraniborg)} install to |
| 14978 | create animations. See how the sky evolves over a million years or what |
| 14979 | traveling to a star 100 light years away looks like.") |
| 14980 | (license license:agpl3)))) |
| 14981 | |
| 14982 | (define-public wcslib |
| 14983 | (package |
| 14984 | (name "wcslib") |
| 14985 | (version "8.9") |
| 14986 | (source |
| 14987 | (origin |
| 14988 | (method url-fetch) |
| 14989 | (uri (string-append "https://www.atnf.csiro.au/computing/software/wcs/" |
| 14990 | "wcslib-releases/" |
| 14991 | "wcslib-" version ".tar.bz2")) |
| 14992 | (sha256 |
| 14993 | (base32 "0yw0i026ihdhppr7zysxp831vgnsq7pcvxf8rq3bzc4ia370kb42")) |
| 14994 | (snippet |
| 14995 | #~(begin (use-modules (guix build utils)) |
| 14996 | (delete-file-recursively "C/flexed"))))) |
| 14997 | (build-system gnu-build-system) |
| 14998 | (arguments |
| 14999 | (list |
| 15000 | #:configure-flags |
| 15001 | #~(list (string-append "--with-cfitsiolib=" |
| 15002 | #$(this-package-input "cfitsio") "/lib") |
| 15003 | (string-append "--with-cfitsioinc=" |
| 15004 | #$(this-package-input "cfitsio") "/include")) |
| 15005 | #:phases |
| 15006 | #~(modify-phases %standard-phases |
| 15007 | (delete 'install-license-files) ; installed by ‘make install’ |
| 15008 | (add-before 'configure 'patch-/bin/sh |
| 15009 | (lambda _ |
| 15010 | (substitute* "makedefs.in" |
| 15011 | (("/bin/sh") "sh"))))))) |
| 15012 | ;; TODO: Fix build with gfortran and pack missing optional pgplot. |
| 15013 | ;; (inputs (list gfortran pgplot)) |
| 15014 | (inputs |
| 15015 | (list cfitsio)) |
| 15016 | (native-inputs |
| 15017 | (list flex)) |
| 15018 | (home-page "https://www.atnf.csiro.au/computing/software/wcs/") |
| 15019 | (synopsis "Library which implements the FITS WCS standard") |
| 15020 | (description "The FITS \"World Coordinate System\" (@dfn{WCS}) standard |
| 15021 | defines keywords and usage that provide for the description of astronomical |
| 15022 | coordinate systems in a @dfn{FITS} (Flexible Image Transport System) image |
| 15023 | header.") |
| 15024 | (license license:lgpl3+))) |
| 15025 | |
| 15026 | ;;; The version is required for julia-wcs-jll and julia-wcs. They do not |
| 15027 | ;;; support version higher than 7.x. |
| 15028 | (define-public wcslib-7.12 |
| 15029 | (package |
| 15030 | (inherit wcslib) |
| 15031 | (version "7.12") |
| 15032 | (source |
| 15033 | (origin |
| 15034 | (method url-fetch) |
| 15035 | (uri (string-append "https://www.atnf.csiro.au/computing/software/wcs/" |
| 15036 | "wcslib-" version ".tar.bz2")) |
| 15037 | (sha256 |
| 15038 | (base32 "1m3bx6gh5w3c7vvsqcki0x20mg8lilg13m0i8nh7za89w58dxy4w")) |
| 15039 | (snippet |
| 15040 | #~(begin (use-modules (guix build utils)) |
| 15041 | (delete-file-recursively "C/flexed"))))) |
| 15042 | (properties '((hidden? . #t))))) |
| 15043 | |
| 15044 | (define-public wcslib-8.6 |
| 15045 | (package |
| 15046 | (inherit wcslib) |
| 15047 | (name "wcslib") |
| 15048 | (version "8.6") |
| 15049 | (source |
| 15050 | (origin |
| 15051 | (inherit (package-source wcslib)) |
| 15052 | (method url-fetch) |
| 15053 | (uri (string-append "https://www.atnf.csiro.au/computing/software/wcs/" |
| 15054 | "wcslib-releases/" |
| 15055 | "wcslib-" version ".tar.bz2")) |
| 15056 | (sha256 |
| 15057 | (base32 "0nndcz82qvfx3hhhw0bylyrydnc23a8bqhp71w4yz6d10lv44c70")) |
| 15058 | (snippet |
| 15059 | #~(begin (use-modules (guix build utils)) |
| 15060 | (delete-file-recursively "C/flexed"))))))) |
| 15061 | |
| 15062 | (define-public wcstools |
| 15063 | (package |
| 15064 | (name "wcstools") |
| 15065 | (version "3.9.7") |
| 15066 | (source |
| 15067 | (origin |
| 15068 | (method url-fetch) |
| 15069 | (uri (string-append |
| 15070 | "http://tdc-www.harvard.edu/software/wcstools/wcstools-" |
| 15071 | version ".tar.gz")) |
| 15072 | (sha256 |
| 15073 | (base32 "125hqzspvqrx6372smzsmxwg06ib2arjc5awnwnq53w1xdq6jpsj")) |
| 15074 | (patches (search-patches "wcstools-extend-makefiles.patch")))) |
| 15075 | (build-system gnu-build-system) |
| 15076 | (arguments |
| 15077 | (list |
| 15078 | #:tests? #f ;No tests provided. |
| 15079 | #:make-flags |
| 15080 | #~(list (string-append "CC=" #$(cc-for-target)) |
| 15081 | (string-append "PREFIX=" #$output)) |
| 15082 | #:phases |
| 15083 | #~(modify-phases %standard-phases |
| 15084 | (delete 'configure)))) |
| 15085 | (home-page "http://tdc-www.harvard.edu/software/wcstools/") |
| 15086 | (synopsis "Handle the WCS of a FITS image") |
| 15087 | (description |
| 15088 | "WCSTools is a set of software utilities, written in C, which create, |
| 15089 | display and manipulate the world coordinate system of a FITS or IRAF image, |
| 15090 | using specific keywords in the image header which relate pixel position within |
| 15091 | the image to position on the sky. Auxiliary programs search star catalogs and |
| 15092 | manipulate images.") |
| 15093 | (license license:gpl2+))) |
| 15094 | |
| 15095 | (define-public webbpsf-data |
| 15096 | (package |
| 15097 | (name "webbpsf-data") |
| 15098 | (version "1.5.0") |
| 15099 | (source |
| 15100 | (origin |
| 15101 | (method url-fetch) |
| 15102 | ;; 73.9MiB archive |
| 15103 | (uri "https://stsci.box.com/shared/static/qxpiaxsjwo15ml6m4pkhtk36c9jgj70k.gz") |
| 15104 | (file-name (string-append "webbpsf-data-" version ".tar.gz")) |
| 15105 | (sha256 |
| 15106 | (base32 "0lnzjvn9276v00p5g4894jgdb9mw4mr89q64l7ywikz9khk3j5gc")))) |
| 15107 | (build-system copy-build-system) |
| 15108 | (arguments |
| 15109 | (list |
| 15110 | #:install-plan #~'(("." "share/webbpsf-data")))) |
| 15111 | (home-page "https://webbpsf.readthedocs.io/en/stable/installation.html") |
| 15112 | (synopsis "JWST pupil shape, instrument throughputs, and aperture positions data files") |
| 15113 | (description |
| 15114 | "This package contains FIT and CSV files required for WebbPSF |
| 15115 | installation and distributed separately from it.") |
| 15116 | (license license:bsd-3))) |
| 15117 | |
| 15118 | (define-public weightwatcher |
| 15119 | (package |
| 15120 | (name "weightwatcher") |
| 15121 | (version "1.12") |
| 15122 | (source |
| 15123 | (origin |
| 15124 | (method git-fetch) |
| 15125 | (uri (git-reference |
| 15126 | (url "https://github.com/astromatic/weightwatcher") |
| 15127 | (commit version))) |
| 15128 | (file-name (git-file-name name version)) |
| 15129 | (sha256 |
| 15130 | (base32 "0701z6bdqq32jv7ga3n6jh27q684ni0hbfjm1mak7rh0qqx089gi")))) |
| 15131 | (build-system gnu-build-system) |
| 15132 | (arguments |
| 15133 | (list |
| 15134 | #:configure-flags |
| 15135 | #~(list "CFLAGS=-fcommon"))) ; fix build with GCC 10 |
| 15136 | (home-page "https://www.astromatic.net/software/weightwatcher") |
| 15137 | (synopsis "Weight-map/flag-map multiplexer and rasteriser") |
| 15138 | (description |
| 15139 | "Weightwatcher is a program hat combines weight-maps, flag-maps and |
| 15140 | polygon data in order to produce control maps which can directly be used in |
| 15141 | astronomical image-processing packages like Drizzle, Swarp or SExtractor.") |
| 15142 | (license license:gpl3+))) |
| 15143 | |
| 15144 | (define-public xplanet |
| 15145 | (package |
| 15146 | (name "xplanet") |
| 15147 | (version "1.3.1") |
| 15148 | (source |
| 15149 | (origin |
| 15150 | (method url-fetch) |
| 15151 | (uri |
| 15152 | (string-append |
| 15153 | "mirror://sourceforge/xplanet/xplanet/" |
| 15154 | version "/xplanet-" version ".tar.gz")) |
| 15155 | (sha256 |
| 15156 | (base32 "1rzc1alph03j67lrr66499zl0wqndiipmj99nqgvh9xzm1qdb023")) |
| 15157 | (patches |
| 15158 | (search-patches |
| 15159 | "xplanet-1.3.1-cxx11-eof.patch" |
| 15160 | "xplanet-1.3.1-libdisplay_DisplayOutput.cpp.patch" |
| 15161 | "xplanet-1.3.1-libimage_gif.c.patch" |
| 15162 | "xplanet-1.3.1-xpUtil-Add2017LeapSecond.cpp.patch")))) |
| 15163 | (build-system gnu-build-system) |
| 15164 | (arguments |
| 15165 | (list |
| 15166 | #:configure-flags |
| 15167 | #~(list |
| 15168 | ;; No NASA JPL cspice support. |
| 15169 | "--without-cspice" |
| 15170 | (string-append "CPPFLAGS=-I" #$(this-package-input "netpbm") |
| 15171 | "/include/netpbm")))) |
| 15172 | (native-inputs |
| 15173 | (list pkg-config)) |
| 15174 | (inputs |
| 15175 | (list freetype |
| 15176 | giflib |
| 15177 | libice |
| 15178 | libjpeg-turbo |
| 15179 | libpng |
| 15180 | libtiff |
| 15181 | libx11 |
| 15182 | libxscrnsaver |
| 15183 | netpbm |
| 15184 | pango |
| 15185 | zlib)) |
| 15186 | (home-page "https://xplanet.sourceforge.net/") |
| 15187 | (synopsis "Planetary body renderer") |
| 15188 | (description |
| 15189 | "Xplanet renders an image of a planet into an X window or file. |
| 15190 | All of the major planets and most satellites can be drawn and different map |
| 15191 | projections are also supported, including azimuthal, hemisphere, Lambert, |
| 15192 | Mercator, Mollweide, Peters, polyconic, orthographic and rectangular.") |
| 15193 | (license license:gpl2+))) |
| 15194 | |
| 15195 | ;;; |
| 15196 | ;;; Avoid adding new packages to the end of this file. To reduce the chances |
| 15197 | ;;; of a merge conflict, place them above in alphabetical order. |
| 15198 | ;;; |