Subject: [PATCH 5/5] On the way of packing astropy
From: Sharlatan Hellseher <[email-masked]>
To: [email-masked]
Date: Sun, 7 Feb 2021 23:45:24 +0000
List-Id: <debbugs-submit.debbugs.gnu.org>

Hi Guix team!

Here is a new bunch of patches adding chain of Astropy inputs.

One related issue is https://issues.guix.gnu.org/46324 which requires upgrade of
semantic_version update to make build possible for python-asdf
https://github.com/asdf-format/asdf/blob/master/setup.cfg#L28

--
… наш разум - превосходная объяснительная машина которая способна
найти смысл почти в чем угодно, истолковать любой феномен, но
совершенно не в состоянии принять мысль о непредсказуемости.
From 15d3df97c2ded064449abc22ef6f6417eb2a130b Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <[email-masked]>
Date: Sun, 7 Feb 2021 23:29:45 +0000
Subject: [PATCH 4/5] gnu: Add extenstion-helpers

* gnu/packages/python-xyz.scm (python-extenstion-helpers): New variable
---
 gnu/packages/python-xyz.scm | 25 +++++++++++++++++++++++++
 1 file changed, 25 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index e879742e5f..caba53c7b7 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -96,6 +96,7 @@
 ;;; Copyright © 2020, 2021 Zheng Junjie <[email-masked]>
 ;;; Copyright © 2021 Morgan Smith <[email-masked]>
 ;;; Copyright © 2020 EuAndreh <[email-masked]>
+;;; Copyright © 2020 Sharlatan Hellseher <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -2384,6 +2385,30 @@ software.")
     (inherit (package-with-python2 scons))
     (name "scons-python2")))
 
+(define-public python-extension-helpers
+(package
+  (name "python-extension-helpers")
+  (version "0.1")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (pypi-uri "extension-helpers" version))
+      (sha256
+        (base32 "10iqjzmya2h4sk765dlm1pbqypwlqyh8rw59a5m9i63d3klnz2mc"))))
+  (build-system python-build-system)
+  (native-inputs
+    `(("coverage" ,python-coverage)
+      ("pytest" ,python-pytest-astropy)
+      ("pytest-cov" ,python-pytest-cov)
+      ("setuptools" ,python-setuptools)
+      ("setuptools-scm" ,python-setuptools-scm)))
+  (home-page "https://github.com/astropy/astropy-helpers")
+  (synopsis "Utilities for building and installing packages in the Astropy ecosystem")
+  (description
+    "The astropy-helpers package includes many build, installation, and
+documentation-related tools used by the Astropy project.")
+  (license license:bsd-3)))
+
 (define-public python-extras
   (package
     (name "python-extras")
-- 
2.30.0

From 7398793aabdd45e79911c84a85e230dd6beb9572 Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <[email-masked]>
Date: Sun, 7 Feb 2021 22:42:03 +0000
Subject: [PATCH 1/5] gnu: Add pytest-astropy-header

* gnu/packages/python-check.scm (python-pytest-astropy-header): New variable
---
 gnu/packages/python-check.scm | 24 ++++++++++++++++++++++++
 1 file changed, 24 insertions(+)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index c23741825b..1305567b38 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -9,6 +9,7 @@
 ;;; Copyright © 2020 Edouard Klein <[email-masked]>
 ;;; Copyright © 2020 Vinicius Monego <[email-masked]>
 ;;; Copyright © 2020 Tanguy Le Carrour <[email-masked]>
+;;; Copyright © 2021 Sharlatan Hellseher <[email-masked]>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -196,6 +197,29 @@ interactions, which will update them to correspond to the new API.")
 of tests run in a specific order.")
     (license license:expat)))
 
+(define-public python-pytest-astropy-header
+(package
+  (name "python-pytest-astropy-header")
+  (version "0.1.2")
+  (source
+    (origin
+      (method url-fetch)
+      (uri (pypi-uri "pytest-astropy-header" version))
+      (sha256
+        (base32 "1y87agr324p6x5gvhziymxjlw54pyn4gqnd49papbl941djpkp5g"))))
+  (build-system python-build-system)
+  (native-inputs
+   `(("pytest" ,python-pytest)
+     ("setuptools-scm" ,python-setuptools-scm)))
+  (home-page "https://www.astropy.org/")
+  (synopsis "Pytest plugin adding diagnostic data to the header of the test output")
+  (description
+    "This plugin package provides a way to include information about the system,
+Python installation, and select dependencies in the header of the output when
+running pytest.  It can be used with packages that are not affiliated with the
+Astropy project, but is optimized for use with astropy-related projects.")
+  (license license:bsd-3)))
+
 (define-public python-pytest-arraydiff
   (package
     (name "python-pytest-arraydiff")
-- 
2.30.0

From f38a611ce91dc754a4a63bc254eb1c1c78adf3b0 Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <[email-masked]>
Date: Sun, 7 Feb 2021 23:12:55 +0000
Subject: [PATCH 3/5] Revert "gnu: Add pytest-astropy"

This reverts commit 5e32122576a1f270b56c9d9cbd9bb07bbdb445a6.
---
 gnu/packages/python-check.scm | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 82ed5f56da..631ac3d0c3 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -243,8 +243,10 @@ Astropy project, but is optimized for use with astropy-related projects.")
        ("pytest-cov" ,python-pytest-cov)
        ("pytest-doctestplus" ,python-pytest-doctestplus)
        ("pytest-filter-subpackage" ,python-pytest-filter-subpackage)
+       ("pytest-mock" ,python-pytest-mock)
        ("pytest-openfiles" ,python-pytest-openfiles)
-       ("pytest-remotedata" ,python-pytest-remotedata)))
+       ("pytest-remotedata" ,python-pytest-remotedata)
+       ("setuptools-scm" ,python-setuptools-scm)))
     (home-page "https://github.com/astropy/pytest-astropy")
     (synopsis "Metapackage for all the testing machinery used by the Astropy Project")
     (description
-- 
2.30.0

From c051211da14602b62cc2710ced5f724566142737 Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <[email-masked]>
Date: Sun, 7 Feb 2021 23:38:58 +0000
Subject: [PATCH 5/5] gnu: Add skyfield

* gnu/packages/astronomy.scm (python-skyfield): New variable
---
 gnu/packages/astronomy.scm | 29 +++++++++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/gnu/packages/astronomy.scm b/gnu/packages/astronomy.scm
index 07dee4b462..121d6f7881 100644
--- a/gnu/packages/astronomy.scm
+++ b/gnu/packages/astronomy.scm
@@ -48,6 +48,8 @@
   #:use-module (gnu packages perl)
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages pretty-print)
+  #:use-module (gnu packages python-crypto)
+  #:use-module (gnu packages python-science)
   #:use-module (gnu packages python-xyz)
   #:use-module (gnu packages qt)
   #:use-module (gnu packages version-control)
@@ -726,3 +728,30 @@ more.")
      "The package is a Python implementation of the mathematics that standard
 JPL ephemerides use to predict raw (x,y,z) planetary positions.")
     (license license:expat)))
+
+(define-public python-skyfield
+  (package
+    (name "python-skyfield")
+    (version "1.36")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "skyfield" version))
+       (sha256
+        (base32 "1dm1327a4qv3klj9blrvddbhl72v1fqz52ym9km8qjj9vdkpywh6"))))
+    (build-system python-build-system)
+    (arguments
+     ;; NOTE: (Sharlatan-20210207T163305+0000): tests depend on custom test
+     ;; framework https://github.com/brandon-rhodes/assay
+     `(#:tests? #f))
+    (inputs
+     `(("certifi" ,python-certifi)
+       ("numpy" ,python-numpy)
+       ("sgp4" ,python-sgp4)
+       ("jplephem" ,python-jplephem)))
+    (home-page "https://rhodesmill.org/skyfield/")
+    (synopsis "Elegant astronomy for Python")
+    (description
+     "Skyfield computes positions for the stars, planets, and satellites in
+orbit around the Earth.")
+    (license license:expat)))
-- 
2.30.0

From 5e32122576a1f270b56c9d9cbd9bb07bbdb445a6 Mon Sep 17 00:00:00 2001
From: Sharlatan Hellseher <[email-masked]>
Date: Sun, 7 Feb 2021 22:51:24 +0000
Subject: [PATCH 2/5] gnu: Add pytest-astropy

* gnu/packages/python-check.scm (python-pytest-astropy): New variable
---
 gnu/packages/python-check.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/python-check.scm b/gnu/packages/python-check.scm
index 1305567b38..82ed5f56da 100644
--- a/gnu/packages/python-check.scm
+++ b/gnu/packages/python-check.scm
@@ -220,6 +220,38 @@ running pytest.  It can be used with packages that are not affiliated with the
 Astropy project, but is optimized for use with astropy-related projects.")
   (license license:bsd-3)))
 
+(define-public python-pytest-astropy
+  (package
+    (name "python-pytest-astropy")
+    (version "0.8.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pytest-astropy" version))
+       (sha256
+        (base32 "18j6z6y2fvykmcs5z0mldhhaxxn6wzpnhlm2ps7m8r5z5kmh1631"))))
+    (build-system python-build-system)
+    (arguments
+     ;; No tests provided
+     '(#:tests? #f))
+    (native-inputs
+     `(("attrs" ,python-attrs)
+       ("hypothesis" ,python-hypothesis)
+       ("pytest" ,python-pytest)
+       ("pytest-arraydiff" ,python-pytest-arraydiff)
+       ("pytest-astropy-header" ,python-pytest-astropy-header)
+       ("pytest-cov" ,python-pytest-cov)
+       ("pytest-doctestplus" ,python-pytest-doctestplus)
+       ("pytest-filter-subpackage" ,python-pytest-filter-subpackage)
+       ("pytest-openfiles" ,python-pytest-openfiles)
+       ("pytest-remotedata" ,python-pytest-remotedata)))
+    (home-page "https://github.com/astropy/pytest-astropy")
+    (synopsis "Metapackage for all the testing machinery used by the Astropy Project")
+    (description
+     "This is a meta-package that pulls in the dependencies that are used by
+astropy related packages.")
+    (license license:bsd-3)))
+
 (define-public python-pytest-arraydiff
   (package
     (name "python-pytest-arraydiff")
-- 
2.30.0