all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [bug#55060] [PATCH 0/6] gnu: Add python-pyvista.
@ 2022-04-22  1:00 Paul A. Patience
  2022-04-22  1:02 ` [bug#55060] [PATCH 1/6] gnu: python-meshio: Remove input labels Paul A. Patience
                   ` (3 more replies)
  0 siblings, 4 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-22  1:00 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

This patch series adds the PyVista library to Guix.
The latest version of PyVista requires python-meshio 5.2 or later, hence the
update to that package.

Paul A. Patience (6):
  gnu: python-meshio: Remove input labels.
  gnu: python-meshio: Remove trailing booleans.
  gnu: python-meshio: Honor #:tests? flag.
  gnu: python-meshio: Update to 5.3.4.
  gnu: Add python-scooby.
  gnu: Add python-pyvista.

 gnu/packages/python-science.scm | 56 +++++++++++++++++++++++++++++++++
 gnu/packages/python-xyz.scm     | 47 +++++++++++++++++++++++++++
 gnu/packages/simulation.scm     | 44 +++++++++++++-------------
 3 files changed, 125 insertions(+), 22 deletions(-)

--
2.35.1






^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 1/6] gnu: python-meshio: Remove input labels.
  2022-04-22  1:00 [bug#55060] [PATCH 0/6] gnu: Add python-pyvista Paul A. Patience
@ 2022-04-22  1:02 ` Paul A. Patience
  2022-04-22  1:02   ` [bug#55060] [PATCH 2/6] gnu: python-meshio: Remove trailing booleans Paul A. Patience
                     ` (4 more replies)
  2022-04-22 12:41 ` [bug#55060] [PATCH v2 0/6] " Paul A. Patience
                   ` (2 subsequent siblings)
  3 siblings, 5 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-22  1:02 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/simulation.scm (python-meshio)[inputs, native-inputs,
propagated-inputs]: Remove labels.
---
 gnu/packages/simulation.scm | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 3f2d8e136d..c8309761d2 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -789,13 +789,13 @@ (define-public python-meshio
             #t))))
     (build-system python-build-system)
     (inputs
-     `(("h5py" ,python-h5py)
-       ("netcdf4" ,python-netcdf4)))
+     (list python-h5py
+           python-netcdf4))
     (native-inputs
-     `(("pytest" ,python-pytest)))
+     (list python-pytest))
     (propagated-inputs
-     `(("importlib-metadata" ,python-importlib-metadata)
-       ("numpy" ,python-numpy)))
+     (list python-importlib-metadata
+           python-numpy))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 2/6] gnu: python-meshio: Remove trailing booleans.
  2022-04-22  1:02 ` [bug#55060] [PATCH 1/6] gnu: python-meshio: Remove input labels Paul A. Patience
@ 2022-04-22  1:02   ` Paul A. Patience
  2022-04-22  1:02   ` [bug#55060] [PATCH 3/6] gnu: python-meshio: Honor #:tests? flag Paul A. Patience
                     ` (3 subsequent siblings)
  4 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-22  1:02 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/simulation.scm (python-meshio)[snippet]: Remove trailing
boolean.
[arguments]: Same.
---
 gnu/packages/simulation.scm | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index c8309761d2..fa246f9fb7 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -785,8 +785,7 @@ (define-public python-meshio
          '(begin
             (let ((file (open-file "setup.py" "a")))
               (display "from setuptools import setup\nsetup()" file)
-              (close-port file))
-            #t))))
+              (close-port file))))))
     (build-system python-build-system)
     (inputs
      (list python-h5py
@@ -802,8 +801,7 @@ (define-public python-meshio
          (replace 'check
            (lambda* (#:key outputs inputs #:allow-other-keys)
              (add-installed-pythonpath inputs outputs)
-             (invoke "python" "-m" "pytest" "-v" "tests")
-             #t)))))
+             (invoke "python" "-m" "pytest" "-v" "tests"))))))
     (home-page "https://github.com/nschloe/meshio")
     (synopsis "I/O for mesh files")
     (description "There are various file formats available for
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 3/6] gnu: python-meshio: Honor #:tests? flag.
  2022-04-22  1:02 ` [bug#55060] [PATCH 1/6] gnu: python-meshio: Remove input labels Paul A. Patience
  2022-04-22  1:02   ` [bug#55060] [PATCH 2/6] gnu: python-meshio: Remove trailing booleans Paul A. Patience
@ 2022-04-22  1:02   ` Paul A. Patience
  2022-04-22  1:03   ` [bug#55060] [PATCH 4/6] gnu: python-meshio: Update to 5.3.4 Paul A. Patience
                     ` (2 subsequent siblings)
  4 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-22  1:02 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/simulation.scm (python-meshio)[arguments]: Adjust custom
'check' phase to honor the #:tests? flag.
---
 gnu/packages/simulation.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index fa246f9fb7..17d0a1352c 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -799,9 +799,10 @@ (define-public python-meshio
      `(#:phases
        (modify-phases %standard-phases
          (replace 'check
-           (lambda* (#:key outputs inputs #:allow-other-keys)
-             (add-installed-pythonpath inputs outputs)
-             (invoke "python" "-m" "pytest" "-v" "tests"))))))
+           (lambda* (#:key tests? outputs inputs #:allow-other-keys)
+             (when tests?
+               (add-installed-pythonpath inputs outputs)
+               (invoke "python" "-m" "pytest" "-v" "tests")))))))
     (home-page "https://github.com/nschloe/meshio")
     (synopsis "I/O for mesh files")
     (description "There are various file formats available for
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 4/6] gnu: python-meshio: Update to 5.3.4.
  2022-04-22  1:02 ` [bug#55060] [PATCH 1/6] gnu: python-meshio: Remove input labels Paul A. Patience
  2022-04-22  1:02   ` [bug#55060] [PATCH 2/6] gnu: python-meshio: Remove trailing booleans Paul A. Patience
  2022-04-22  1:02   ` [bug#55060] [PATCH 3/6] gnu: python-meshio: Honor #:tests? flag Paul A. Patience
@ 2022-04-22  1:03   ` Paul A. Patience
  2022-04-22  1:03   ` [bug#55060] [PATCH 5/6] gnu: Add python-scooby Paul A. Patience
  2022-04-22  1:03   ` [bug#55060] [PATCH 6/6] gnu: Add python-pyvista Paul A. Patience
  4 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-22  1:03 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/simulation.scm (python-meshio): Update to 5.3.4.
[source]: Reindent.
[propagated-inputs]: Add python-rich.
---
 gnu/packages/simulation.scm | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 17d0a1352c..803127339c 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -773,19 +773,19 @@ (define-public fullswof-2d
 (define-public python-meshio
   (package
     (name "python-meshio")
-    (version "4.4.6")
+    (version "5.3.4")
     (source
-      (origin
-        (method url-fetch)
-        (uri (pypi-uri "meshio" version))
-        (sha256
-          (base32
-           "0kv832s2vyff30zz8yqypw5jifwdanvh5x56d2bzkvy94h4jlddy"))
-        (snippet
-         '(begin
-            (let ((file (open-file "setup.py" "a")))
-              (display "from setuptools import setup\nsetup()" file)
-              (close-port file))))))
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "meshio" version))
+       (sha256
+        (base32
+         "1w39qcg0rw5kb04j7sa45fnqd6k20fsdgrf62cmw2ygjgwnnjh72"))
+       (snippet
+        '(begin
+           (let ((file (open-file "setup.py" "a")))
+             (display "from setuptools import setup\nsetup()" file)
+             (close-port file))))))
     (build-system python-build-system)
     (inputs
      (list python-h5py
@@ -794,7 +794,8 @@ (define-public python-meshio
      (list python-pytest))
     (propagated-inputs
      (list python-importlib-metadata
-           python-numpy))
+           python-numpy
+           python-rich))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 5/6] gnu: Add python-scooby.
  2022-04-22  1:02 ` [bug#55060] [PATCH 1/6] gnu: python-meshio: Remove input labels Paul A. Patience
                     ` (2 preceding siblings ...)
  2022-04-22  1:03   ` [bug#55060] [PATCH 4/6] gnu: python-meshio: Update to 5.3.4 Paul A. Patience
@ 2022-04-22  1:03   ` Paul A. Patience
  2022-04-22 17:53     ` Maxime Devos
                       ` (2 more replies)
  2022-04-22  1:03   ` [bug#55060] [PATCH 6/6] gnu: Add python-pyvista Paul A. Patience
  4 siblings, 3 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-22  1:03 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

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

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 9a5d311680..799a6441ea 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29534,3 +29534,50 @@ (define-public python-sre-yield
 uses the parsed regular expression, so you get a much more accurate result
 than trying to just split strings.")
     (license license:asl2.0)))
+
+(define-public python-scooby
+  (package
+    (name "python-scooby")
+    (version "0.5.12")
+    (source
+     ;; The PyPI tarball does not contain the tests.
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/banesullivan/scooby")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1gkpmz8wl3jg8ylf1na35308sznw2g9wx33zqlyq5i2gpy2ml9mw"))))
+    (build-system python-build-system)
+    (native-inputs
+     (list python-beautifulsoup4
+           python-numpy
+           python-pytest
+           python-pytest-cov
+           python-scipy))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-tests
+           (lambda _
+             (substitute* "tests/test_scooby.py"
+               ;; The test suite uses the no-version PyPI package
+               ;; (https://pypi.org/project/no-version/),
+               ;; but it doesn't seem worth packaging in Guix just for this.
+               (("scooby\\.report\\.VERSION_NOT_FOUND")
+                "scooby.report.MODULE_NOT_FOUND")
+               (("^ +import no_version  # noqa.*") "")
+               (("with pytest\\.raises\\(OSError\\):")
+                "with pytest.raises(ModuleNotFoundError):"))))
+         (replace 'check
+           (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+             (when tests?
+               (add-installed-pythonpath inputs outputs)
+               (invoke "pytest")))))))
+    (home-page "https://github.com/banesullivan/scooby")
+    (synopsis "Great Dane turned Python environment detective")
+    (description
+     "This is a lightweight tool for easily reporting your Python
+environment's package versions and hardware resources.")
+    (license license:expat)))
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 6/6] gnu: Add python-pyvista.
  2022-04-22  1:02 ` [bug#55060] [PATCH 1/6] gnu: python-meshio: Remove input labels Paul A. Patience
                     ` (3 preceding siblings ...)
  2022-04-22  1:03   ` [bug#55060] [PATCH 5/6] gnu: Add python-scooby Paul A. Patience
@ 2022-04-22  1:03   ` Paul A. Patience
  2022-04-22 18:04     ` Maxime Devos
  4 siblings, 1 reply; 47+ messages in thread
From: Paul A. Patience @ 2022-04-22  1:03 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/python-science.scm (python-pyvista): New variable.
---
 gnu/packages/python-science.scm | 56 +++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 07d713e013..d114a1c12f 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -1183,3 +1183,59 @@ (define-public python-numpy-groupies
      "This package provides optimized tools for group-indexing operations:
 aggregated sum and more.")
     (license license:bsd-3)))
+
+(define-public python-pyvista
+  (package
+    (name "python-pyvista")
+    (version "0.34.0")
+    (source
+     ;; The PyPI tarball does not contain the tests.
+     ;; (However, we don't yet actually run the tests.)
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/pyvista/pyvista")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0f2x2wvi5pkpv5h3jrnx8zxnaj51navfqp2fdna1l9rpjgjjf94g"))))
+    (build-system python-build-system)
+    (inputs
+     (list vtk))
+    (propagated-inputs
+     (list python-appdirs
+           python-imageio
+           python-matplotlib
+           python-meshio
+           python-numpy
+           python-pillow
+           python-scooby))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; Disable tests for now because they require several modules
+         ;; currently unpackaged in Guix.
+         (delete 'check)
+         ;; Disable the sanity check, which fails with the following error:
+         ;;
+         ;;   ...checking requirements: ERROR: pyvista==0.34.0 DistributionNotFound(Requirement.parse('vtk'), {'pyvista'})
+         ;;
+         ;; Probably it cannot find VTK because it isn't a Python library.
+         (delete 'sanity-check))))
+    (home-page "https://docs.pyvista.org/")
+    (synopsis "3D plotting and mesh analysis through VTK")
+    (description
+     "PyVista is...
+
+@itemize
+@item @emph{Pythonic VTK}: a high-level API to the Visualization Toolkit (VTK)
+@item mesh data structures and filtering methods for spatial datasets
+@item 3D plotting made simple and built for large/complex data geometries
+@end itemize
+
+PyVista is a helper module for the Visualization Toolkit (VTK) that wraps the
+VTK library through NumPy and direct array access through a variety of methods
+and classes.  This package provides a Pythonic, well-documented interface
+exposing VTK's powerful visualization backend to facilitate rapid prototyping,
+analysis, and visual integration of spatially referenced datasets.")
+    (license (list license:expat))))
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v2 0/6] gnu: Add python-pyvista.
  2022-04-22  1:00 [bug#55060] [PATCH 0/6] gnu: Add python-pyvista Paul A. Patience
  2022-04-22  1:02 ` [bug#55060] [PATCH 1/6] gnu: python-meshio: Remove input labels Paul A. Patience
@ 2022-04-22 12:41 ` Paul A. Patience
  2022-04-22 12:41   ` [bug#55060] [PATCH v2 1/6] gnu: python-meshio: Remove input labels Paul A. Patience
                     ` (5 more replies)
  2022-04-25 17:55 ` [bug#55060] [PATCH v3 0/6] " Paul A. Patience
  2022-05-02 21:16 ` [bug#55060] [PATCH v4 0/8] " Paul A. Patience
  3 siblings, 6 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-22 12:41 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

Minor changes. Only the last two patches are different:

* python-scooby to add the copyright header.
* python-pyvista to add the copyright header and move vtk to
  propagated-inputs.

Paul A. Patience (6):
  gnu: python-meshio: Remove input labels.
  gnu: python-meshio: Remove trailing booleans.
  gnu: python-meshio: Honor #:tests? flag.
  gnu: python-meshio: Update to 5.3.4.
  gnu: Add python-scooby.
  gnu: Add python-pyvista.

 gnu/packages/python-science.scm | 56 +++++++++++++++++++++++++++++++++
 gnu/packages/python-xyz.scm     | 48 ++++++++++++++++++++++++++++
 gnu/packages/simulation.scm     | 44 +++++++++++++-------------
 3 files changed, 126 insertions(+), 22 deletions(-)

--
2.35.1






^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v2 1/6] gnu: python-meshio: Remove input labels.
  2022-04-22 12:41 ` [bug#55060] [PATCH v2 0/6] " Paul A. Patience
@ 2022-04-22 12:41   ` Paul A. Patience
  2022-04-22 12:41   ` [bug#55060] [PATCH v2 2/6] gnu: python-meshio: Remove trailing booleans Paul A. Patience
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-22 12:41 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/simulation.scm (python-meshio)[inputs, native-inputs,
propagated-inputs]: Remove labels.
---
 gnu/packages/simulation.scm | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 3f2d8e136d..c8309761d2 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -789,13 +789,13 @@ (define-public python-meshio
             #t))))
     (build-system python-build-system)
     (inputs
-     `(("h5py" ,python-h5py)
-       ("netcdf4" ,python-netcdf4)))
+     (list python-h5py
+           python-netcdf4))
     (native-inputs
-     `(("pytest" ,python-pytest)))
+     (list python-pytest))
     (propagated-inputs
-     `(("importlib-metadata" ,python-importlib-metadata)
-       ("numpy" ,python-numpy)))
+     (list python-importlib-metadata
+           python-numpy))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v2 2/6] gnu: python-meshio: Remove trailing booleans.
  2022-04-22 12:41 ` [bug#55060] [PATCH v2 0/6] " Paul A. Patience
  2022-04-22 12:41   ` [bug#55060] [PATCH v2 1/6] gnu: python-meshio: Remove input labels Paul A. Patience
@ 2022-04-22 12:41   ` Paul A. Patience
  2022-04-22 12:41   ` [bug#55060] [PATCH v2 3/6] gnu: python-meshio: Honor #:tests? flag Paul A. Patience
                     ` (3 subsequent siblings)
  5 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-22 12:41 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/simulation.scm (python-meshio)[snippet]: Remove trailing
boolean.
[arguments]: Same.
---
 gnu/packages/simulation.scm | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index c8309761d2..fa246f9fb7 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -785,8 +785,7 @@ (define-public python-meshio
          '(begin
             (let ((file (open-file "setup.py" "a")))
               (display "from setuptools import setup\nsetup()" file)
-              (close-port file))
-            #t))))
+              (close-port file))))))
     (build-system python-build-system)
     (inputs
      (list python-h5py
@@ -802,8 +801,7 @@ (define-public python-meshio
          (replace 'check
            (lambda* (#:key outputs inputs #:allow-other-keys)
              (add-installed-pythonpath inputs outputs)
-             (invoke "python" "-m" "pytest" "-v" "tests")
-             #t)))))
+             (invoke "python" "-m" "pytest" "-v" "tests"))))))
     (home-page "https://github.com/nschloe/meshio")
     (synopsis "I/O for mesh files")
     (description "There are various file formats available for
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v2 3/6] gnu: python-meshio: Honor #:tests? flag.
  2022-04-22 12:41 ` [bug#55060] [PATCH v2 0/6] " Paul A. Patience
  2022-04-22 12:41   ` [bug#55060] [PATCH v2 1/6] gnu: python-meshio: Remove input labels Paul A. Patience
  2022-04-22 12:41   ` [bug#55060] [PATCH v2 2/6] gnu: python-meshio: Remove trailing booleans Paul A. Patience
@ 2022-04-22 12:41   ` Paul A. Patience
  2022-04-22 12:41   ` [bug#55060] [PATCH v2 4/6] gnu: python-meshio: Update to 5.3.4 Paul A. Patience
                     ` (2 subsequent siblings)
  5 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-22 12:41 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/simulation.scm (python-meshio)[arguments]: Adjust custom
'check' phase to honor the #:tests? flag.
---
 gnu/packages/simulation.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index fa246f9fb7..17d0a1352c 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -799,9 +799,10 @@ (define-public python-meshio
      `(#:phases
        (modify-phases %standard-phases
          (replace 'check
-           (lambda* (#:key outputs inputs #:allow-other-keys)
-             (add-installed-pythonpath inputs outputs)
-             (invoke "python" "-m" "pytest" "-v" "tests"))))))
+           (lambda* (#:key tests? outputs inputs #:allow-other-keys)
+             (when tests?
+               (add-installed-pythonpath inputs outputs)
+               (invoke "python" "-m" "pytest" "-v" "tests")))))))
     (home-page "https://github.com/nschloe/meshio")
     (synopsis "I/O for mesh files")
     (description "There are various file formats available for
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v2 4/6] gnu: python-meshio: Update to 5.3.4.
  2022-04-22 12:41 ` [bug#55060] [PATCH v2 0/6] " Paul A. Patience
                     ` (2 preceding siblings ...)
  2022-04-22 12:41   ` [bug#55060] [PATCH v2 3/6] gnu: python-meshio: Honor #:tests? flag Paul A. Patience
@ 2022-04-22 12:41   ` Paul A. Patience
  2022-04-22 17:36     ` Maxime Devos
  2022-04-22 12:41   ` [bug#55060] [PATCH v2 5/6] gnu: Add python-scooby Paul A. Patience
  2022-04-22 12:41   ` [bug#55060] [PATCH v2 6/6] gnu: Add python-pyvista Paul A. Patience
  5 siblings, 1 reply; 47+ messages in thread
From: Paul A. Patience @ 2022-04-22 12:41 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/simulation.scm (python-meshio): Update to 5.3.4.
[source]: Reindent.
[propagated-inputs]: Add python-rich.
---
 gnu/packages/simulation.scm | 27 ++++++++++++++-------------
 1 file changed, 14 insertions(+), 13 deletions(-)

diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 17d0a1352c..803127339c 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -773,19 +773,19 @@ (define-public fullswof-2d
 (define-public python-meshio
   (package
     (name "python-meshio")
-    (version "4.4.6")
+    (version "5.3.4")
     (source
-      (origin
-        (method url-fetch)
-        (uri (pypi-uri "meshio" version))
-        (sha256
-          (base32
-           "0kv832s2vyff30zz8yqypw5jifwdanvh5x56d2bzkvy94h4jlddy"))
-        (snippet
-         '(begin
-            (let ((file (open-file "setup.py" "a")))
-              (display "from setuptools import setup\nsetup()" file)
-              (close-port file))))))
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "meshio" version))
+       (sha256
+        (base32
+         "1w39qcg0rw5kb04j7sa45fnqd6k20fsdgrf62cmw2ygjgwnnjh72"))
+       (snippet
+        '(begin
+           (let ((file (open-file "setup.py" "a")))
+             (display "from setuptools import setup\nsetup()" file)
+             (close-port file))))))
     (build-system python-build-system)
     (inputs
      (list python-h5py
@@ -794,7 +794,8 @@ (define-public python-meshio
      (list python-pytest))
     (propagated-inputs
      (list python-importlib-metadata
-           python-numpy))
+           python-numpy
+           python-rich))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v2 5/6] gnu: Add python-scooby.
  2022-04-22 12:41 ` [bug#55060] [PATCH v2 0/6] " Paul A. Patience
                     ` (3 preceding siblings ...)
  2022-04-22 12:41   ` [bug#55060] [PATCH v2 4/6] gnu: python-meshio: Update to 5.3.4 Paul A. Patience
@ 2022-04-22 12:41   ` Paul A. Patience
  2022-04-22 17:51     ` Maxime Devos
  2022-04-22 12:41   ` [bug#55060] [PATCH v2 6/6] gnu: Add python-pyvista Paul A. Patience
  5 siblings, 1 reply; 47+ messages in thread
From: Paul A. Patience @ 2022-04-22 12:41 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

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

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 9a5d311680..3a49f46555 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -119,6 +119,7 @@
 ;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com>
 ;;; Copyright © 2022 drozdov <drozdov@portalenergy.tech>
 ;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
+;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -29534,3 +29535,50 @@ (define-public python-sre-yield
 uses the parsed regular expression, so you get a much more accurate result
 than trying to just split strings.")
     (license license:asl2.0)))
+
+(define-public python-scooby
+  (package
+    (name "python-scooby")
+    (version "0.5.12")
+    (source
+     ;; The PyPI tarball does not contain the tests.
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/banesullivan/scooby")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1gkpmz8wl3jg8ylf1na35308sznw2g9wx33zqlyq5i2gpy2ml9mw"))))
+    (build-system python-build-system)
+    (native-inputs
+     (list python-beautifulsoup4
+           python-numpy
+           python-pytest
+           python-pytest-cov
+           python-scipy))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-tests
+           (lambda _
+             (substitute* "tests/test_scooby.py"
+               ;; The test suite uses the no-version PyPI package
+               ;; (https://pypi.org/project/no-version/),
+               ;; but it doesn't seem worth packaging in Guix just for this.
+               (("scooby\\.report\\.VERSION_NOT_FOUND")
+                "scooby.report.MODULE_NOT_FOUND")
+               (("^ +import no_version  # noqa.*") "")
+               (("with pytest\\.raises\\(OSError\\):")
+                "with pytest.raises(ModuleNotFoundError):"))))
+         (replace 'check
+           (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+             (when tests?
+               (add-installed-pythonpath inputs outputs)
+               (invoke "pytest")))))))
+    (home-page "https://github.com/banesullivan/scooby")
+    (synopsis "Great Dane turned Python environment detective")
+    (description
+     "This is a lightweight tool for easily reporting your Python
+environment's package versions and hardware resources.")
+    (license license:expat)))
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v2 6/6] gnu: Add python-pyvista.
  2022-04-22 12:41 ` [bug#55060] [PATCH v2 0/6] " Paul A. Patience
                     ` (4 preceding siblings ...)
  2022-04-22 12:41   ` [bug#55060] [PATCH v2 5/6] gnu: Add python-scooby Paul A. Patience
@ 2022-04-22 12:41   ` Paul A. Patience
  5 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-22 12:41 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/python-science.scm (python-pyvista): New variable.
---
 gnu/packages/python-science.scm | 56 +++++++++++++++++++++++++++++++++
 1 file changed, 56 insertions(+)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 07d713e013..c2b7a665f7 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -17,6 +17,7 @@
 ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
 ;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
 ;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1183,3 +1184,58 @@ (define-public python-numpy-groupies
      "This package provides optimized tools for group-indexing operations:
 aggregated sum and more.")
     (license license:bsd-3)))
+
+(define-public python-pyvista
+  (package
+    (name "python-pyvista")
+    (version "0.34.0")
+    (source
+     ;; The PyPI tarball does not contain the tests.
+     ;; (However, we don't yet actually run the tests.)
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/pyvista/pyvista")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0f2x2wvi5pkpv5h3jrnx8zxnaj51navfqp2fdna1l9rpjgjjf94g"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     (list python-appdirs
+           python-imageio
+           python-matplotlib
+           python-meshio
+           python-numpy
+           python-pillow
+           python-scooby
+           vtk))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; Disable tests for now because they require several modules
+         ;; currently unpackaged in Guix.
+         (delete 'check)
+         ;; Disable the sanity check, which fails with the following error:
+         ;;
+         ;;   ...checking requirements: ERROR: pyvista==0.34.0 DistributionNotFound(Requirement.parse('vtk'), {'pyvista'})
+         ;;
+         ;; Probably it cannot find VTK because it isn't a Python library.
+         (delete 'sanity-check))))
+    (home-page "https://docs.pyvista.org/")
+    (synopsis "3D plotting and mesh analysis through VTK")
+    (description
+     "PyVista is...
+
+@itemize
+@item @emph{Pythonic VTK}: a high-level API to the Visualization Toolkit (VTK)
+@item mesh data structures and filtering methods for spatial datasets
+@item 3D plotting made simple and built for large/complex data geometries
+@end itemize
+
+PyVista is a helper module for the Visualization Toolkit (VTK) that wraps the
+VTK library through NumPy and direct array access through a variety of methods
+and classes.  This package provides a Pythonic, well-documented interface
+exposing VTK's powerful visualization backend to facilitate rapid prototyping,
+analysis, and visual integration of spatially referenced datasets.")
+    (license license:expat)))
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v2 4/6] gnu: python-meshio: Update to 5.3.4.
  2022-04-22 12:41   ` [bug#55060] [PATCH v2 4/6] gnu: python-meshio: Update to 5.3.4 Paul A. Patience
@ 2022-04-22 17:36     ` Maxime Devos
  0 siblings, 0 replies; 47+ messages in thread
From: Maxime Devos @ 2022-04-22 17:36 UTC (permalink / raw)
  To: Paul A. Patience, 55060

[-- Attachment #1: Type: text/plain, Size: 362 bytes --]

Paul A. Patience schreef op vr 22-04-2022 om 12:41 [+0000]:
> +       (snippet
> +        '(begin
> +           (let ((file (open-file "setup.py" "a")))
> +             (display "from setuptools import setup\nsetup()" file)
> +             (close-port file))))))

No need to wrap it in 'begin'.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v2 5/6] gnu: Add python-scooby.
  2022-04-22 12:41   ` [bug#55060] [PATCH v2 5/6] gnu: Add python-scooby Paul A. Patience
@ 2022-04-22 17:51     ` Maxime Devos
  0 siblings, 0 replies; 47+ messages in thread
From: Maxime Devos @ 2022-04-22 17:51 UTC (permalink / raw)
  To: Paul A. Patience, 55060

[-- Attachment #1: Type: text/plain, Size: 1171 bytes --]

Paul A. Patience schreef op vr 22-04-2022 om 12:41 [+0000]:
> +    (synopsis "Great Dane turned Python environment detective")

What does this package have to do with Denmark and detectives?

Looking further, ‘Great Dane’ appears to be some dog breed, and I guess
it's a pun on the package name and Scooby-Doo.  However, I don't think
this is useful for users looking for packages that suit their needs.

> +    (description
> +     "This is a lightweight tool for easily reporting your Python
> +environment's package versions and hardware resources.")

Isn't this just ‘guix package --list-installed=^python’?
What hardware resources does it report?  CPU models?  Disk
manufacturers?  The attached peripherals?  Non-physical peripherals
like e.g. bluetooth mice?  The amount of ductape holding the computer
together?  Information about the printer?  ...

ALso, lightweight and easy is rather subjective.  Compares to lscpu,
lspci, ..., (which are simple C tools IIUC) depending on python and
python-scipy doesn't seem lightweight to me.  ‘(guix)Synopses and
Descriptions’ recommends staying factual.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 5/6] gnu: Add python-scooby.
  2022-04-22  1:03   ` [bug#55060] [PATCH 5/6] gnu: Add python-scooby Paul A. Patience
@ 2022-04-22 17:53     ` Maxime Devos
  2022-04-22 17:55     ` Maxime Devos
  2022-04-22 18:07     ` Maxime Devos
  2 siblings, 0 replies; 47+ messages in thread
From: Maxime Devos @ 2022-04-22 17:53 UTC (permalink / raw)
  To: Paul A. Patience, 55060

[-- Attachment #1: Type: text/plain, Size: 332 bytes --]

Paul A. Patience schreef op vr 22-04-2022 om 01:03 [+0000]:
> +
> +(define-public python-scooby
> +  (package
> +    (name "python-scooby")

The 'python-' prefix is only for library-only python packages.  As it
is a called tool, I assume there is some bin/scooby binary that the
user would run? 

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 5/6] gnu: Add python-scooby.
  2022-04-22  1:03   ` [bug#55060] [PATCH 5/6] gnu: Add python-scooby Paul A. Patience
  2022-04-22 17:53     ` Maxime Devos
@ 2022-04-22 17:55     ` Maxime Devos
  2022-04-22 18:07     ` Maxime Devos
  2 siblings, 0 replies; 47+ messages in thread
From: Maxime Devos @ 2022-04-22 17:55 UTC (permalink / raw)
  To: Paul A. Patience, 55060

[-- Attachment #1: Type: text/plain, Size: 569 bytes --]

Paul A. Patience schreef op vr 22-04-2022 om 01:03 [+0000]:
> +    (native-inputs
> +     (list python-beautifulsoup4
> +           python-numpy
> +           python-pytest
> +           python-pytest-cov
> +           python-scipy))
> [no 'inputs' or 'propagated-inputs']

Are these sufficient?  According to
<https://github.com/banesullivan/scooby/blob/main/requirements.txt>,
there is also a dependency on 'psutil' and 'mkl'.  I have also found
references to those in non-test code.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 6/6] gnu: Add python-pyvista.
  2022-04-22  1:03   ` [bug#55060] [PATCH 6/6] gnu: Add python-pyvista Paul A. Patience
@ 2022-04-22 18:04     ` Maxime Devos
  2022-04-22 19:36       ` Paul A. Patience
  0 siblings, 1 reply; 47+ messages in thread
From: Maxime Devos @ 2022-04-22 18:04 UTC (permalink / raw)
  To: Paul A. Patience, 55060

[-- Attachment #1: Type: text/plain, Size: 882 bytes --]

Paul A. Patience schreef op vr 22-04-2022 om 01:03 [+0000]:
> +         ;; Disable tests for now because they require several modules
> +         ;; currently unpackaged in Guix.
> +         (delete 'check)
> +         ;; Disable the sanity check, which fails with the following error:
> +         ;;
> +         ;;   ...checking requirements: ERROR: pyvista==0.34.0 DistributionNotFound(Requirement.parse('vtk'), {'pyvista'})
> +         ;;
> +         ;; Probably it cannot find VTK because it isn't a Python library.

vtk is (among other things) a Python library, try building vtk and
looking into lib/python3.9/site-packages/vtk.py.

As such, shouldn't 'vtk' be in propagated-inputs, such that when
dependents use 'python-pyvista', the vtk libraries will actually be
found?

Greetings,
Maxime

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 5/6] gnu: Add python-scooby.
  2022-04-22  1:03   ` [bug#55060] [PATCH 5/6] gnu: Add python-scooby Paul A. Patience
  2022-04-22 17:53     ` Maxime Devos
  2022-04-22 17:55     ` Maxime Devos
@ 2022-04-22 18:07     ` Maxime Devos
  2022-04-22 19:26       ` Paul A. Patience
  2 siblings, 1 reply; 47+ messages in thread
From: Maxime Devos @ 2022-04-22 18:07 UTC (permalink / raw)
  To: Paul A. Patience, 55060

[-- Attachment #1: Type: text/plain, Size: 252 bytes --]

Paul A. Patience schreef op vr 22-04-2022 om 01:03 [+0000]:
> +               (("with pytest\\.raises\\(OSError\\):")
> +                "with pytest.raises(ModuleNotFoundError):"))))

What is this for?

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 5/6] gnu: Add python-scooby.
  2022-04-22 18:07     ` Maxime Devos
@ 2022-04-22 19:26       ` Paul A. Patience
  2022-04-22 21:43         ` Maxime Devos
                           ` (2 more replies)
  0 siblings, 3 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-22 19:26 UTC (permalink / raw)
  To: Maxime Devos; +Cc: 55060


Hello Maxime,

I will reply to all of your comments below.

On 2022-04-22 13:53:46-04:00, Maxime Devos wrote:
> The 'python-' prefix is only for library-only python packages.  As it
> is a called tool, I assume there is some bin/scooby binary that the
> user would run?

It may be called a tool, but it is only a library, meant to be used from
other libraries.
The readme describes the basic usage as follows:

  import scooby
  scooby.Report()

On 2022-04-22 13:55:59-04:00, Maxime Devos wrote:
> Paul A. Patience schreef op vr 22-04-2022 om 01:03 [+0000]:
>> +    (native-inputs
>> +     (list python-beautifulsoup4
>> +           python-numpy
>> +           python-pytest
>> +           python-pytest-cov
>> +           python-scipy))
>> [no 'inputs' or 'propagated-inputs']
>
> Are these sufficient?  According to
> <https://github.com/banesullivan/scooby/blob/main/requirements.txt>,
> there is also a dependency on 'psutil' and 'mkl'.  I have also found
> references to those in non-test code.

The setup.py file lists psutil and mkl in extras_require, meaning they
are optional.
mkl (https://pypi.org/project/mkl/) is released under the Intel
Simplified Software License, which I suspect is ideologically
incompatible with Guix (and therefore not already packaged for Guix), so
I didn't include it.
I omitted psutil just because I was omitting mkl, but I can add it as a
propagated input.

On 2022-04-22 14:07:43-04:00, Maxime Devos wrote:
> Paul A. Patience schreef op vr 22-04-2022 om 01:03 [+0000]:
>> +               (("with pytest\\.raises\\(OSError\\):")
>> +                "with pytest.raises(ModuleNotFoundError):"))))
>
> What is this for?

It seems the test suite expects the import of a missing package to throw
an OSError instead of a ModuleNotFoundError, which is not the case at
least on Python 3.9.9.
I don't know if it was different before.
I can add a comment to that effect.

On 2022-04-22 13:51:26-04:00, Maxime Devos wrote:
> Paul A. Patience schreef op vr 22-04-2022 om 12:41 [+0000]:
>> +    (synopsis "Great Dane turned Python environment detective")
>
> What does this package have to do with Denmark and detectives?
>
> Looking further, ‘Great Dane’ appears to be some dog breed, and I guess
> it's a pun on the package name and Scooby-Doo.  However, I don't think
> this is useful for users looking for packages that suit their needs.
>
>> +    (description
>> +     "This is a lightweight tool for easily reporting your Python
>> +environment's package versions and hardware resources.")
>
> Isn't this just ‘guix package --list-installed=^python’?
> What hardware resources does it report?  CPU models?  Disk
> manufacturers?  The attached peripherals?  Non-physical peripherals
> like e.g. bluetooth mice?  The amount of ductape holding the computer
> together?  Information about the printer?  ...
>
> ALso, lightweight and easy is rather subjective.  Compares to lscpu,
> lspci, ..., (which are simple C tools IIUC) depending on python and
> python-scipy doesn't seem lightweight to me.  ‘(guix)Synopses and
> Descriptions’ recommends staying factual.

The synopsis and description are taken wholesale from Scooby's readme.
However, I can rewrite them.

Best regards,
Paul





^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 6/6] gnu: Add python-pyvista.
  2022-04-22 18:04     ` Maxime Devos
@ 2022-04-22 19:36       ` Paul A. Patience
  2022-04-22 21:49         ` Maxime Devos
  0 siblings, 1 reply; 47+ messages in thread
From: Paul A. Patience @ 2022-04-22 19:36 UTC (permalink / raw)
  To: Maxime Devos; +Cc: 55060


On 2022-04-22 14:04:03-04:00, Maxime Devos wrote:
> Paul A. Patience schreef op vr 22-04-2022 om 01:03 [+0000]:
>> +         ;; Disable tests for now because they require several modules
>> +         ;; currently unpackaged in Guix.
>> +         (delete 'check)
>> +         ;; Disable the sanity check, which fails with the following error:
>> +         ;;
>> +         ;;   ...checking requirements: ERROR: pyvista==0.34.0 DistributionNotFound(Requirement.parse('vtk'), {'pyvista'})
>> +         ;;
>> +         ;; Probably it cannot find VTK because it isn't a Python library.
>
> vtk is (among other things) a Python library, try building vtk and
> looking into lib/python3.9/site-packages/vtk.py.

vtk.py is indeed there.
Also, I am able to "import vtk" in a Python repl.
I'm not sure why the sanity check cannot find vtk.py, then.
This sanity check issue also plagues the python-vedo package, and I
don't know how to fix it.
(However, obviously the last line of the comment is incorrect.)

> As such, shouldn't 'vtk' be in propagated-inputs, such that when
> dependents use 'python-pyvista', the vtk libraries will actually be
> found?

I fixed this in the v2 series.

Best regards,
Paul





^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 5/6] gnu: Add python-scooby.
  2022-04-22 19:26       ` Paul A. Patience
@ 2022-04-22 21:43         ` Maxime Devos
  2022-04-22 21:46         ` Maxime Devos
  2022-04-29 20:52         ` Maxime Devos
  2 siblings, 0 replies; 47+ messages in thread
From: Maxime Devos @ 2022-04-22 21:43 UTC (permalink / raw)
  To: Paul A. Patience; +Cc: 55060

[-- Attachment #1: Type: text/plain, Size: 505 bytes --]

Paul A. Patience schreef op vr 22-04-2022 om 19:26 [+0000]:
> It seems the test suite expects the import of a missing package to throw
> an OSError instead of a ModuleNotFoundError, which is not the case at
> least on Python 3.9.9.
> I don't know if it was different before.
> I can add a comment to that effect.

This version incompatibility seems like something upstream needs to
know about.  I've commented upstream at
<https://github.com/banesullivan/scooby/pull/74>.

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 5/6] gnu: Add python-scooby.
  2022-04-22 19:26       ` Paul A. Patience
  2022-04-22 21:43         ` Maxime Devos
@ 2022-04-22 21:46         ` Maxime Devos
  2022-04-29 20:52         ` Maxime Devos
  2 siblings, 0 replies; 47+ messages in thread
From: Maxime Devos @ 2022-04-22 21:46 UTC (permalink / raw)
  To: Paul A. Patience; +Cc: 55060

[-- Attachment #1: Type: text/plain, Size: 827 bytes --]

Paul A. Patience schreef op vr 22-04-2022 om 19:26 [+0000]:
> The setup.py file lists psutil and mkl in extras_require, meaning they
> are optional.

The manual has the following to say about optional dependencies:

   • If a Python package has optional dependencies (‘extras_require’),
     it is up to you to decide whether to add them or not, based on
     their usefulness/overhead ratio (*note ‘guix size’: Submitting
     Patches.).

I don't know if this changes anything here.

> mkl (https://pypi.org/project/mkl/) is released under the Intel
> Simplified Software License, which I suspect is ideologically
> incompatible with Guix (and therefore not already packaged for Guix), so
> I didn't include it.

Ok -- the pypi.org page even says ‘proprietary license’!

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 6/6] gnu: Add python-pyvista.
  2022-04-22 19:36       ` Paul A. Patience
@ 2022-04-22 21:49         ` Maxime Devos
  0 siblings, 0 replies; 47+ messages in thread
From: Maxime Devos @ 2022-04-22 21:49 UTC (permalink / raw)
  To: Paul A. Patience; +Cc: 55060

[-- Attachment #1: Type: text/plain, Size: 604 bytes --]

Paul A. Patience schreef op vr 22-04-2022 om 19:36 [+0000]:
> vtk.py is indeed there.
> Also, I am able to "import vtk" in a Python repl.
> I'm not sure why the sanity check cannot find vtk.py, then.
> This sanity check issue also plagues the python-vedo package, and I
> don't know how to fix it.
> (However, obviously the last line of the comment is incorrect.)

A guess: maybe whatever 'sanity-check' indirectly uses, expects the
dependencies to have an 'egg-info', which appears to be the case for
(most?) python-build-system packages, but not for whatever vtk does.

Greetings,
Maxime

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v3 0/6] gnu: Add python-pyvista.
  2022-04-22  1:00 [bug#55060] [PATCH 0/6] gnu: Add python-pyvista Paul A. Patience
  2022-04-22  1:02 ` [bug#55060] [PATCH 1/6] gnu: python-meshio: Remove input labels Paul A. Patience
  2022-04-22 12:41 ` [bug#55060] [PATCH v2 0/6] " Paul A. Patience
@ 2022-04-25 17:55 ` Paul A. Patience
  2022-04-25 17:55   ` [bug#55060] [PATCH v3 1/6] gnu: python-meshio: Remove input labels Paul A. Patience
                     ` (5 more replies)
  2022-05-02 21:16 ` [bug#55060] [PATCH v4 0/8] " Paul A. Patience
  3 siblings, 6 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-25 17:55 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

Updated patch series taking into account Maxime Devos's comments on package
synopses and descriptions (particularly for python-scooby, but I also updated
python-pyvista's description).

Paul A. Patience (6):
  gnu: python-meshio: Remove input labels.
  gnu: python-meshio: Remove trailing booleans.
  gnu: python-meshio: Honor #:tests? flag.
  gnu: python-meshio: Update to 5.3.4.
  gnu: Add python-scooby.
  gnu: Add python-pyvista.

 gnu/packages/python-science.scm | 53 ++++++++++++++++++++++++++
 gnu/packages/python-xyz.scm     | 67 +++++++++++++++++++++++++++++++++
 gnu/packages/simulation.scm     | 43 +++++++++++----------
 3 files changed, 141 insertions(+), 22 deletions(-)

--
2.35.1






^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v3 1/6] gnu: python-meshio: Remove input labels.
  2022-04-25 17:55 ` [bug#55060] [PATCH v3 0/6] " Paul A. Patience
@ 2022-04-25 17:55   ` Paul A. Patience
  2022-04-25 17:55   ` [bug#55060] [PATCH v3 2/6] gnu: python-meshio: Remove trailing booleans Paul A. Patience
                     ` (4 subsequent siblings)
  5 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-25 17:55 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/simulation.scm (python-meshio)[inputs, native-inputs,
propagated-inputs]: Remove labels.
---
 gnu/packages/simulation.scm | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 3f2d8e136d..c8309761d2 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -789,13 +789,13 @@ (define-public python-meshio
             #t))))
     (build-system python-build-system)
     (inputs
-     `(("h5py" ,python-h5py)
-       ("netcdf4" ,python-netcdf4)))
+     (list python-h5py
+           python-netcdf4))
     (native-inputs
-     `(("pytest" ,python-pytest)))
+     (list python-pytest))
     (propagated-inputs
-     `(("importlib-metadata" ,python-importlib-metadata)
-       ("numpy" ,python-numpy)))
+     (list python-importlib-metadata
+           python-numpy))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v3 2/6] gnu: python-meshio: Remove trailing booleans.
  2022-04-25 17:55 ` [bug#55060] [PATCH v3 0/6] " Paul A. Patience
  2022-04-25 17:55   ` [bug#55060] [PATCH v3 1/6] gnu: python-meshio: Remove input labels Paul A. Patience
@ 2022-04-25 17:55   ` Paul A. Patience
  2022-04-25 17:55   ` [bug#55060] [PATCH v3 3/6] gnu: python-meshio: Honor #:tests? flag Paul A. Patience
                     ` (3 subsequent siblings)
  5 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-25 17:55 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/simulation.scm (python-meshio)[snippet]: Remove trailing
boolean (and therefore the 'begin').
[arguments]: Remove trailing boolean.
---
 gnu/packages/simulation.scm | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index c8309761d2..42383bf486 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -782,11 +782,9 @@ (define-public python-meshio
           (base32
            "0kv832s2vyff30zz8yqypw5jifwdanvh5x56d2bzkvy94h4jlddy"))
         (snippet
-         '(begin
-            (let ((file (open-file "setup.py" "a")))
-              (display "from setuptools import setup\nsetup()" file)
-              (close-port file))
-            #t))))
+         '(let ((file (open-file "setup.py" "a")))
+            (display "from setuptools import setup\nsetup()" file)
+            (close-port file)))))
     (build-system python-build-system)
     (inputs
      (list python-h5py
@@ -802,8 +800,7 @@ (define-public python-meshio
          (replace 'check
            (lambda* (#:key outputs inputs #:allow-other-keys)
              (add-installed-pythonpath inputs outputs)
-             (invoke "python" "-m" "pytest" "-v" "tests")
-             #t)))))
+             (invoke "python" "-m" "pytest" "-v" "tests"))))))
     (home-page "https://github.com/nschloe/meshio")
     (synopsis "I/O for mesh files")
     (description "There are various file formats available for
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v3 3/6] gnu: python-meshio: Honor #:tests? flag.
  2022-04-25 17:55 ` [bug#55060] [PATCH v3 0/6] " Paul A. Patience
  2022-04-25 17:55   ` [bug#55060] [PATCH v3 1/6] gnu: python-meshio: Remove input labels Paul A. Patience
  2022-04-25 17:55   ` [bug#55060] [PATCH v3 2/6] gnu: python-meshio: Remove trailing booleans Paul A. Patience
@ 2022-04-25 17:55   ` Paul A. Patience
  2022-04-25 17:55   ` [bug#55060] [PATCH v3 4/6] gnu: python-meshio: Update to 5.3.4 Paul A. Patience
                     ` (2 subsequent siblings)
  5 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-25 17:55 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/simulation.scm (python-meshio)[arguments]: Adjust custom
'check' phase to honor the #:tests? flag.
---
 gnu/packages/simulation.scm | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 42383bf486..1b4016e316 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -798,9 +798,10 @@ (define-public python-meshio
      `(#:phases
        (modify-phases %standard-phases
          (replace 'check
-           (lambda* (#:key outputs inputs #:allow-other-keys)
-             (add-installed-pythonpath inputs outputs)
-             (invoke "python" "-m" "pytest" "-v" "tests"))))))
+           (lambda* (#:key tests? outputs inputs #:allow-other-keys)
+             (when tests?
+               (add-installed-pythonpath inputs outputs)
+               (invoke "python" "-m" "pytest" "-v" "tests")))))))
     (home-page "https://github.com/nschloe/meshio")
     (synopsis "I/O for mesh files")
     (description "There are various file formats available for
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v3 4/6] gnu: python-meshio: Update to 5.3.4.
  2022-04-25 17:55 ` [bug#55060] [PATCH v3 0/6] " Paul A. Patience
                     ` (2 preceding siblings ...)
  2022-04-25 17:55   ` [bug#55060] [PATCH v3 3/6] gnu: python-meshio: Honor #:tests? flag Paul A. Patience
@ 2022-04-25 17:55   ` Paul A. Patience
  2022-04-25 17:55   ` [bug#55060] [PATCH v3 5/6] gnu: Add python-scooby Paul A. Patience
  2022-04-25 17:55   ` [bug#55060] [PATCH v3 6/6] gnu: Add python-pyvista Paul A. Patience
  5 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-25 17:55 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/simulation.scm (python-meshio): Update to 5.3.4.
[source]: Reindent.
[propagated-inputs]: Add python-rich.
---
 gnu/packages/simulation.scm | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 1b4016e316..e829f8cd7d 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -773,18 +773,18 @@ (define-public fullswof-2d
 (define-public python-meshio
   (package
     (name "python-meshio")
-    (version "4.4.6")
+    (version "5.3.4")
     (source
-      (origin
-        (method url-fetch)
-        (uri (pypi-uri "meshio" version))
-        (sha256
-          (base32
-           "0kv832s2vyff30zz8yqypw5jifwdanvh5x56d2bzkvy94h4jlddy"))
-        (snippet
-         '(let ((file (open-file "setup.py" "a")))
-            (display "from setuptools import setup\nsetup()" file)
-            (close-port file)))))
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "meshio" version))
+       (sha256
+        (base32
+         "1w39qcg0rw5kb04j7sa45fnqd6k20fsdgrf62cmw2ygjgwnnjh72"))
+       (snippet
+        '(let ((file (open-file "setup.py" "a")))
+           (display "from setuptools import setup\nsetup()" file)
+           (close-port file)))))
     (build-system python-build-system)
     (inputs
      (list python-h5py
@@ -793,7 +793,8 @@ (define-public python-meshio
      (list python-pytest))
     (propagated-inputs
      (list python-importlib-metadata
-           python-numpy))
+           python-numpy
+           python-rich))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v3 5/6] gnu: Add python-scooby.
  2022-04-25 17:55 ` [bug#55060] [PATCH v3 0/6] " Paul A. Patience
                     ` (3 preceding siblings ...)
  2022-04-25 17:55   ` [bug#55060] [PATCH v3 4/6] gnu: python-meshio: Update to 5.3.4 Paul A. Patience
@ 2022-04-25 17:55   ` Paul A. Patience
  2022-04-25 17:55   ` [bug#55060] [PATCH v3 6/6] gnu: Add python-pyvista Paul A. Patience
  5 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-25 17:55 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

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

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 9a5d311680..1eeec2564e 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -119,6 +119,7 @@
 ;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com>
 ;;; Copyright © 2022 drozdov <drozdov@portalenergy.tech>
 ;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
+;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -29534,3 +29535,69 @@ (define-public python-sre-yield
 uses the parsed regular expression, so you get a much more accurate result
 than trying to just split strings.")
     (license license:asl2.0)))
+
+(define-public python-scooby
+  (package
+    (name "python-scooby")
+    (version "0.5.12")
+    (source
+     ;; The PyPI tarball does not contain the tests.
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/banesullivan/scooby")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1gkpmz8wl3jg8ylf1na35308sznw2g9wx33zqlyq5i2gpy2ml9mw"))))
+    (build-system python-build-system)
+    (native-inputs
+     (list python-beautifulsoup4
+           python-numpy
+           python-pytest
+           python-pytest-cov
+           python-scipy))
+    (propagated-inputs
+     (list python-psutil))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-tests
+           (lambda _
+             (substitute* "tests/test_scooby.py"
+               ;; The test suite uses the no-version PyPI package
+               ;; (https://pypi.org/project/no-version/),
+               ;; but it doesn't seem worth packaging in Guix just for this.
+               (("scooby\\.report\\.VERSION_NOT_FOUND")
+                "scooby.report.MODULE_NOT_FOUND")
+               (("^ +import no_version  # noqa.*") "")
+               ;; The test suite expects an OSError when importing a missing
+               ;; module.
+               ;; However, a ModuleNotFoundError is thrown.
+               (("with pytest\\.raises\\(OSError\\):")
+                "with pytest.raises(ModuleNotFoundError):"))))
+         (replace 'check
+           (lambda* (#:key tests? inputs outputs #:allow-other-keys)
+             (when tests?
+               (add-installed-pythonpath inputs outputs)
+               (invoke "pytest")))))))
+    (home-page "https://github.com/banesullivan/scooby")
+    (synopsis "Report hardware information and Python package versions")
+    (description
+     "The Scooby package reports the following information about the currently
+running system:
+
+@itemize
+@item operating system name;
+@item hardware information including machine type (e.g., @samp{i386},
+@samp{x86_64}, etc.), CPU count and total RAM;
+@item Python environment (e.g., Python, IPython, etc.);
+@item file system name;
+@item Python version;
+@item versions of specified Python packages.
+@end itemize
+
+It can generate reports as HTML tables or plain text lists.
+
+Scooby has no required dependencies, and only few optional dependencies.")
+    (license license:expat)))
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v3 6/6] gnu: Add python-pyvista.
  2022-04-25 17:55 ` [bug#55060] [PATCH v3 0/6] " Paul A. Patience
                     ` (4 preceding siblings ...)
  2022-04-25 17:55   ` [bug#55060] [PATCH v3 5/6] gnu: Add python-scooby Paul A. Patience
@ 2022-04-25 17:55   ` Paul A. Patience
  5 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-04-25 17:55 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/python-science.scm (python-pyvista): New variable.
---
 gnu/packages/python-science.scm | 53 +++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 07d713e013..4205bdc425 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -17,6 +17,7 @@
 ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
 ;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
 ;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1183,3 +1184,55 @@ (define-public python-numpy-groupies
      "This package provides optimized tools for group-indexing operations:
 aggregated sum and more.")
     (license license:bsd-3)))
+
+(define-public python-pyvista
+  (package
+    (name "python-pyvista")
+    (version "0.34.0")
+    (source
+     ;; The PyPI tarball does not contain the tests.
+     ;; (However, we don't yet actually run the tests.)
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/pyvista/pyvista")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0f2x2wvi5pkpv5h3jrnx8zxnaj51navfqp2fdna1l9rpjgjjf94g"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     (list python-appdirs
+           python-imageio
+           python-matplotlib
+           python-meshio
+           python-numpy
+           python-pillow
+           python-scooby
+           vtk))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; Disable tests for now because they require several modules
+         ;; currently unpackaged in Guix.
+         (delete 'check)
+         ;; Disable the sanity check, which fails with the following error:
+         ;;
+         ;;   ...checking requirements: ERROR: pyvista==0.34.0 DistributionNotFound(Requirement.parse('vtk'), {'pyvista'})
+         (delete 'sanity-check))))
+    (home-page "https://docs.pyvista.org/")
+    (synopsis "3D plotting and mesh analysis through VTK")
+    (description
+     "PyVista is...
+
+@itemize
+@item @emph{Pythonic VTK}: a high-level API to the Visualization
+Toolkit (VTK);
+@item mesh data structures and filtering methods for spatial datasets;
+@item 3D plotting made simple and built for large/complex data geometries.
+@end itemize
+
+This package provides a Pythonic, well-documented interface exposing VTK's
+powerful visualization backend to facilitate rapid prototyping, analysis, and
+visual integration of spatially referenced datasets.")
+    (license license:expat)))
--
2.35.1






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 5/6] gnu: Add python-scooby.
  2022-04-22 19:26       ` Paul A. Patience
  2022-04-22 21:43         ` Maxime Devos
  2022-04-22 21:46         ` Maxime Devos
@ 2022-04-29 20:52         ` Maxime Devos
  2022-05-02 15:00           ` Paul A. Patience
  2 siblings, 1 reply; 47+ messages in thread
From: Maxime Devos @ 2022-04-29 20:52 UTC (permalink / raw)
  To: Paul A. Patience; +Cc: 55060

[-- Attachment #1: Type: text/plain, Size: 420 bytes --]

Paul A. Patience schreef op vr 22-04-2022 om 19:26 [+0000]:
> It seems the test suite expects the import of a missing package to throw
> an OSError instead of a ModuleNotFoundError, which is not the case at
> least on Python 3.9.9.
> I don't know if it was different before.
> I can add a comment to that effect.

Upstream says we need to add 'pyvips' as listed in
test_requirements.txt.

Greetings,
MAxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 5/6] gnu: Add python-scooby.
  2022-04-29 20:52         ` Maxime Devos
@ 2022-05-02 15:00           ` Paul A. Patience
  2022-05-02 15:06             ` Maxime Devos
  0 siblings, 1 reply; 47+ messages in thread
From: Paul A. Patience @ 2022-05-02 15:00 UTC (permalink / raw)
  To: Maxime Devos; +Cc: 55060


On 2022-04-29 16:52:26-04:00, Maxime Devos wrote:
> Upstream says we need to add 'pyvips' as listed in
> test_requirements.txt.

How would I add a python-pyvips native input that doesn't actually
depend on the vips package?
From my understanding of banesullivan's explanation [1], the test checks
for the presence of pyvips in the absence of vips.

I suppose a python-pyvips-for-python-scooby that inherits from
python-pyvips while removing its propagated inputs would do.

Best regards,
Paul

[1]: https://github.com/banesullivan/scooby/pull/74#issuecomment-1113703071





^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 5/6] gnu: Add python-scooby.
  2022-05-02 15:00           ` Paul A. Patience
@ 2022-05-02 15:06             ` Maxime Devos
  2022-05-02 15:33               ` Paul A. Patience
  0 siblings, 1 reply; 47+ messages in thread
From: Maxime Devos @ 2022-05-02 15:06 UTC (permalink / raw)
  To: Paul A. Patience; +Cc: 55060

[-- Attachment #1: Type: text/plain, Size: 406 bytes --]

Paul A. Patience schreef op ma 02-05-2022 om 15:00 [+0000]:
> I suppose a python-pyvips-for-python-scooby that inherits from
> python-pyvips while removing its propagated inputs would do.

AFAICT, python-pyvips does not currently exist, at least according to
"guix show python-pyvips".  That said, maybe it could be depropagated
(maybe there's no need for a package variant)?

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 5/6] gnu: Add python-scooby.
  2022-05-02 15:06             ` Maxime Devos
@ 2022-05-02 15:33               ` Paul A. Patience
  2022-05-02 16:18                 ` Maxime Devos
  0 siblings, 1 reply; 47+ messages in thread
From: Paul A. Patience @ 2022-05-02 15:33 UTC (permalink / raw)
  To: Maxime Devos; +Cc: 55060



On 2022-05-02 11:06:52-04:00, Maxime Devos wrote:
> Paul A. Patience schreef op ma 02-05-2022 om 15:00 [+0000]:
>> I suppose a python-pyvips-for-python-scooby that inherits from
>> python-pyvips while removing its propagated inputs would do.
>
> AFAICT, python-pyvips does not currently exist, at least according to
> "guix show python-pyvips".

I would have to package it (I'm currently doing so).

> That said, maybe it could be depropagated
> (maybe there's no need for a package variant)?

Do you mean with a package transformation directly in python-scooby's
native inputs?

Best regards,
Paul





^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH 5/6] gnu: Add python-scooby.
  2022-05-02 15:33               ` Paul A. Patience
@ 2022-05-02 16:18                 ` Maxime Devos
  0 siblings, 0 replies; 47+ messages in thread
From: Maxime Devos @ 2022-05-02 16:18 UTC (permalink / raw)
  To: Paul A. Patience; +Cc: 55060

[-- Attachment #1: Type: text/plain, Size: 558 bytes --]

Paul A. Patience schreef op ma 02-05-2022 om 15:33 [+0000]:
> > That said, maybe it could be depropagated
> > (maybe there's no need for a package variant)?
> 
> Do you mean with a package transformation directly in python-scooby's
> native inputs?

No, I mean modifying the python-pyvips package definition to move
'vips' from 'propagated-inputs' to 'inputs' (as-is, this might cause
problems as 'python-pyvips' might then not find 'vips', but such things
can often be resolved by sufficient application of 'substitute*').

Greetings,
Maxime.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 260 bytes --]

^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v4 0/8] gnu: Add python-pyvista.
  2022-04-22  1:00 [bug#55060] [PATCH 0/6] gnu: Add python-pyvista Paul A. Patience
                   ` (2 preceding siblings ...)
  2022-04-25 17:55 ` [bug#55060] [PATCH v3 0/6] " Paul A. Patience
@ 2022-05-02 21:16 ` Paul A. Patience
  2022-05-02 21:16   ` [bug#55060] [PATCH v4 1/8] gnu: python-meshio: Remove input labels Paul A. Patience
                     ` (8 more replies)
  3 siblings, 9 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-05-02 21:16 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

Fixed Scooby's pyvips test.
Scooby actually requires a pyvips package that is completely missing its VIPS
dependency, so I don't think there is a way around having a pyvips variant
just for Scooby.

I couldn't figure out how to build the C extension for pyvips, but that's not
relevant for Scooby; I added the package just to inherit from it in Scooby's
pyvips variant.
It could be changed in the future.
For now what's installed is the CFFI version.

I also couldn't figure out how to get some tests to pass with pyperf.
It seems like it should be easy to fix, though.

Paul A. Patience (8):
  gnu: python-meshio: Remove input labels.
  gnu: python-meshio: Remove trailing booleans.
  gnu: python-meshio: Honor #:tests? flag.
  gnu: python-meshio: Update to 5.3.4.
  gnu: Add python-pyperf.
  gnu: Add python-pyvips.
  gnu: Add python-scooby.
  gnu: Add python-pyvista.

 gnu/packages/python-science.scm |  53 +++++++++
 gnu/packages/python-xyz.scm     | 188 ++++++++++++++++++++++++++++++++
 gnu/packages/simulation.scm     |  44 ++++----
 3 files changed, 262 insertions(+), 23 deletions(-)

--
2.36.0






^ permalink raw reply	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v4 1/8] gnu: python-meshio: Remove input labels.
  2022-05-02 21:16 ` [bug#55060] [PATCH v4 0/8] " Paul A. Patience
@ 2022-05-02 21:16   ` Paul A. Patience
  2022-05-02 21:16   ` [bug#55060] [PATCH v4 2/8] gnu: python-meshio: Remove trailing booleans Paul A. Patience
                     ` (7 subsequent siblings)
  8 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-05-02 21:16 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/simulation.scm (python-meshio)[inputs, native-inputs,
propagated-inputs]: Remove labels.
---
 gnu/packages/simulation.scm | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 3f2d8e136d..c8309761d2 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -789,13 +789,13 @@ (define-public python-meshio
             #t))))
     (build-system python-build-system)
     (inputs
-     `(("h5py" ,python-h5py)
-       ("netcdf4" ,python-netcdf4)))
+     (list python-h5py
+           python-netcdf4))
     (native-inputs
-     `(("pytest" ,python-pytest)))
+     (list python-pytest))
     (propagated-inputs
-     `(("importlib-metadata" ,python-importlib-metadata)
-       ("numpy" ,python-numpy)))
+     (list python-importlib-metadata
+           python-numpy))
     (arguments
      `(#:phases
        (modify-phases %standard-phases
--
2.36.0






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v4 2/8] gnu: python-meshio: Remove trailing booleans.
  2022-05-02 21:16 ` [bug#55060] [PATCH v4 0/8] " Paul A. Patience
  2022-05-02 21:16   ` [bug#55060] [PATCH v4 1/8] gnu: python-meshio: Remove input labels Paul A. Patience
@ 2022-05-02 21:16   ` Paul A. Patience
  2022-05-02 21:16   ` [bug#55060] [PATCH v4 3/8] gnu: python-meshio: Honor #:tests? flag Paul A. Patience
                     ` (6 subsequent siblings)
  8 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-05-02 21:16 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/simulation.scm (python-meshio)[snippet]: Remove trailing
boolean (and therefore the 'begin').
[arguments]: Remove trailing boolean.
---
 gnu/packages/simulation.scm | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)

diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index c8309761d2..42383bf486 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -782,11 +782,9 @@ (define-public python-meshio
           (base32
            "0kv832s2vyff30zz8yqypw5jifwdanvh5x56d2bzkvy94h4jlddy"))
         (snippet
-         '(begin
-            (let ((file (open-file "setup.py" "a")))
-              (display "from setuptools import setup\nsetup()" file)
-              (close-port file))
-            #t))))
+         '(let ((file (open-file "setup.py" "a")))
+            (display "from setuptools import setup\nsetup()" file)
+            (close-port file)))))
     (build-system python-build-system)
     (inputs
      (list python-h5py
@@ -802,8 +800,7 @@ (define-public python-meshio
          (replace 'check
            (lambda* (#:key outputs inputs #:allow-other-keys)
              (add-installed-pythonpath inputs outputs)
-             (invoke "python" "-m" "pytest" "-v" "tests")
-             #t)))))
+             (invoke "python" "-m" "pytest" "-v" "tests"))))))
     (home-page "https://github.com/nschloe/meshio")
     (synopsis "I/O for mesh files")
     (description "There are various file formats available for
--
2.36.0






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v4 3/8] gnu: python-meshio: Honor #:tests? flag.
  2022-05-02 21:16 ` [bug#55060] [PATCH v4 0/8] " Paul A. Patience
  2022-05-02 21:16   ` [bug#55060] [PATCH v4 1/8] gnu: python-meshio: Remove input labels Paul A. Patience
  2022-05-02 21:16   ` [bug#55060] [PATCH v4 2/8] gnu: python-meshio: Remove trailing booleans Paul A. Patience
@ 2022-05-02 21:16   ` Paul A. Patience
  2022-05-02 21:17   ` [bug#55060] [PATCH v4 4/8] gnu: python-meshio: Update to 5.3.4 Paul A. Patience
                     ` (5 subsequent siblings)
  8 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-05-02 21:16 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/simulation.scm (python-meshio)[arguments]: Adjust custom
'check' phase to honor the #:tests? flag. Remove unnecessary
'add-installed-pythonpath' call.
---
 gnu/packages/simulation.scm | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index 42383bf486..b927392263 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -795,12 +795,12 @@ (define-public python-meshio
      (list python-importlib-metadata
            python-numpy))
     (arguments
-     `(#:phases
+     '(#:phases
        (modify-phases %standard-phases
          (replace 'check
-           (lambda* (#:key outputs inputs #:allow-other-keys)
-             (add-installed-pythonpath inputs outputs)
-             (invoke "python" "-m" "pytest" "-v" "tests"))))))
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "python" "-m" "pytest" "-v" "tests")))))))
     (home-page "https://github.com/nschloe/meshio")
     (synopsis "I/O for mesh files")
     (description "There are various file formats available for
--
2.36.0






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v4 4/8] gnu: python-meshio: Update to 5.3.4.
  2022-05-02 21:16 ` [bug#55060] [PATCH v4 0/8] " Paul A. Patience
                     ` (2 preceding siblings ...)
  2022-05-02 21:16   ` [bug#55060] [PATCH v4 3/8] gnu: python-meshio: Honor #:tests? flag Paul A. Patience
@ 2022-05-02 21:17   ` Paul A. Patience
  2022-05-02 21:17   ` [bug#55060] [PATCH v4 5/8] gnu: Add python-pyperf Paul A. Patience
                     ` (4 subsequent siblings)
  8 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-05-02 21:17 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/simulation.scm (python-meshio): Update to 5.3.4.
[source]: Reindent.
[propagated-inputs]: Add python-rich.
---
 gnu/packages/simulation.scm | 25 +++++++++++++------------
 1 file changed, 13 insertions(+), 12 deletions(-)

diff --git a/gnu/packages/simulation.scm b/gnu/packages/simulation.scm
index b927392263..19e41b0591 100644
--- a/gnu/packages/simulation.scm
+++ b/gnu/packages/simulation.scm
@@ -773,18 +773,18 @@ (define-public fullswof-2d
 (define-public python-meshio
   (package
     (name "python-meshio")
-    (version "4.4.6")
+    (version "5.3.4")
     (source
-      (origin
-        (method url-fetch)
-        (uri (pypi-uri "meshio" version))
-        (sha256
-          (base32
-           "0kv832s2vyff30zz8yqypw5jifwdanvh5x56d2bzkvy94h4jlddy"))
-        (snippet
-         '(let ((file (open-file "setup.py" "a")))
-            (display "from setuptools import setup\nsetup()" file)
-            (close-port file)))))
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "meshio" version))
+       (sha256
+        (base32
+         "1w39qcg0rw5kb04j7sa45fnqd6k20fsdgrf62cmw2ygjgwnnjh72"))
+       (snippet
+        '(let ((file (open-file "setup.py" "a")))
+           (display "from setuptools import setup\nsetup()" file)
+           (close-port file)))))
     (build-system python-build-system)
     (inputs
      (list python-h5py
@@ -793,7 +793,8 @@ (define-public python-meshio
      (list python-pytest))
     (propagated-inputs
      (list python-importlib-metadata
-           python-numpy))
+           python-numpy
+           python-rich))
     (arguments
      '(#:phases
        (modify-phases %standard-phases
--
2.36.0






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v4 5/8] gnu: Add python-pyperf.
  2022-05-02 21:16 ` [bug#55060] [PATCH v4 0/8] " Paul A. Patience
                     ` (3 preceding siblings ...)
  2022-05-02 21:17   ` [bug#55060] [PATCH v4 4/8] gnu: python-meshio: Update to 5.3.4 Paul A. Patience
@ 2022-05-02 21:17   ` Paul A. Patience
  2022-05-02 21:17   ` [bug#55060] [PATCH v4 6/8] gnu: Add python-pyvips Paul A. Patience
                     ` (3 subsequent siblings)
  8 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-05-02 21:17 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

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

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 9a5d311680..84f8b991e5 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -29534,3 +29534,50 @@ (define-public python-sre-yield
 uses the parsed regular expression, so you get a much more accurate result
 than trying to just split strings.")
     (license license:asl2.0)))
+
+(define-public python-pyperf
+  (package
+    (name "python-pyperf")
+    (version "2.3.1")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pyperf" version))
+       (sha256
+        (base32 "189qf9wdbig0fk4n3bavx8acgdbay5lllfvw48jvbfaafb7y5hja"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-tests
+           (lambda _
+             ;; Some of these tests fail with:
+             ;;
+             ;;   ModuleNotFoundError: No module named 'pyperf'
+             ;;
+             ;; even when calling ‘add-installed-pythonpath’ in the ‘check’
+             ;; phase.
+             (delete-file "pyperf/tests/test_examples.py")))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               ;; From tox.ini's ‘testenv.commands’.
+               (invoke "python" "-bb" "-Wd"
+                       "-m" "unittest" "discover"
+                       "-s" "pyperf/tests/" "-v")))))))
+    (native-inputs
+     (list python-psutil))
+    (home-page "https://github.com/psf/pyperf")
+    (synopsis "Toolkit for running Python benchmarks")
+    (description "The Python @code{pyperf} module is a toolkit for writing,
+running and analyzing benchmarks.  It features a simple API that can:
+
+@itemize
+@item automatically calibrate a benchmark for a time budget;
+@item spawn multiple worker processes;
+@item compute the mean and standard deviation;
+@item detect if a benchmark result seems unstable;
+@item store benchmark results in JSON format;
+@item support multiple units: seconds, bytes and integer.
+@end itemize")
+    (license license:expat)))
--
2.36.0






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v4 6/8] gnu: Add python-pyvips.
  2022-05-02 21:16 ` [bug#55060] [PATCH v4 0/8] " Paul A. Patience
                     ` (4 preceding siblings ...)
  2022-05-02 21:17   ` [bug#55060] [PATCH v4 5/8] gnu: Add python-pyperf Paul A. Patience
@ 2022-05-02 21:17   ` Paul A. Patience
  2022-05-02 21:17   ` [bug#55060] [PATCH v4 7/8] gnu: Add python-scooby Paul A. Patience
                     ` (2 subsequent siblings)
  8 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-05-02 21:17 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

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

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index 84f8b991e5..c70379a056 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -172,6 +172,7 @@ (define-module (gnu packages python-xyz)
   #:use-module (gnu packages haskell-xyz)
   #:use-module (gnu packages icu4c)
   #:use-module (gnu packages image)
+  #:use-module (gnu packages image-processing)
   #:use-module (gnu packages imagemagick)
   #:use-module (gnu packages jupyter)
   #:use-module (gnu packages kerberos)
@@ -7582,6 +7583,65 @@ (define-public python-imageio
 data, and scientific formats.")
     (license license:bsd-2)))

+(define-public python-pyvips
+  (package
+    (name "python-pyvips")
+    (version "2.2.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "pyvips" version))
+       (sha256
+        (base32 "0lq71iiic4pc8qhxr60gi141w25pjnn4vsh05d5l0fjkgjsv137b"))))
+    (build-system python-build-system)
+    (arguments
+     (list #:phases
+           #~(modify-phases %standard-phases
+               ;; Maybe switch to API mode (i.e., build the C extension)?
+               ;; It is advertised as faster to start up and run.
+               ;; However, even with ‘pkg-config’ and ‘python-pkgconfig’ in
+               ;; ‘native-inputs’, the API mode build fails with:
+               ;;
+               ;;   Falling back to ABI mode. Details: unable to find pkg-config package "vips"
+               ;;
+               ;; The build doesn't actually fail without the below
+               ;; substitution, it's just slower because ‘setup.py’ tries
+               ;; (unsuccessfully) to download the Python ‘pkgconfig’ module.
+               (add-after 'unpack 'fix-build
+                 (lambda _
+                   (substitute* "setup.py"
+                     (("^( +setup_)API\\(\\)\n" _ prefix)
+                      (string-append prefix "ABI()\n")))))
+               (add-after 'unpack 'fix-paths
+                 (lambda _
+                   (substitute* "pyvips/__init__.py"
+                     (("^( +_vips_libname) = '(libvips.so.42)'"
+                       _ var libname)
+                      (format #f "~a = '~a/lib/~a'"
+                              var #$(this-package-input "vips") libname))
+                     (("^( +_gobject_libname) = '(libgobject-2.0.so.0)'"
+                       _ var libname)
+                      (format #f "~a = '~a/lib/~a'"
+                              var #$(this-package-input "glib") libname)))))
+               (replace 'check
+                 (lambda* (#:key tests? #:allow-other-keys)
+                   (when tests?
+                     (invoke "python" "setup.py" "test")))))))
+    (native-inputs
+     (list python-pyperf
+           python-pytest
+           python-pytest-flake8
+           python-pytest-runner))
+    (inputs
+     (list glib vips))
+    (propagated-inputs
+     (list python-cffi))
+    (home-page "https://github.com/libvips/pyvips")
+    (synopsis "Python bindings for VIPS")
+    (description "The @code{pyvips} package provides Python bindings for VIPS,
+a multithreaded image-processing system with low memory needs.")
+    (license license:expat)))
+
 (define-public python-pycparser
   (package
     (name "python-pycparser")
--
2.36.0






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v4 7/8] gnu: Add python-scooby.
  2022-05-02 21:16 ` [bug#55060] [PATCH v4 0/8] " Paul A. Patience
                     ` (5 preceding siblings ...)
  2022-05-02 21:17   ` [bug#55060] [PATCH v4 6/8] gnu: Add python-pyvips Paul A. Patience
@ 2022-05-02 21:17   ` Paul A. Patience
  2022-05-02 21:17   ` [bug#55060] [PATCH v4 8/8] gnu: Add python-pyvista Paul A. Patience
  2022-05-23 13:56   ` bug#55060: [PATCH 0/6] " Ludovic Courtès
  8 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-05-02 21:17 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/python-xyz.scm (python-pyvips-for-python-scooby,
python-scooby): New variables.
---
 gnu/packages/python-xyz.scm | 81 +++++++++++++++++++++++++++++++++++++
 1 file changed, 81 insertions(+)

diff --git a/gnu/packages/python-xyz.scm b/gnu/packages/python-xyz.scm
index c70379a056..20dbcefde0 100644
--- a/gnu/packages/python-xyz.scm
+++ b/gnu/packages/python-xyz.scm
@@ -119,6 +119,7 @@
 ;;; Copyright © 2022 Evgeny Pisemsky <evgeny@pisemsky.com>
 ;;; Copyright © 2022 drozdov <drozdov@portalenergy.tech>
 ;;; Copyright © 2022 Peter Polidoro <peter@polidoro.io>
+;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -29641,3 +29642,83 @@ (define-public python-pyperf
 @item support multiple units: seconds, bytes and integer.
 @end itemize")
     (license license:expat)))
+
+;; Scooby requires for its test suite a ‘pyvips’ package that is missing its
+;; VIPS dependency.
+(define python-pyvips-for-python-scooby
+  (package
+    (inherit python-pyvips)
+    (name "python-pyvips-for-python-scooby")
+    (arguments
+     (substitute-keyword-arguments (package-arguments python-pyvips)
+       ((#:phases phases)
+        #~(modify-phases #$phases
+            (delete 'fix-paths)
+            ;; The checks won't succeed without VIPS.
+            (delete 'check)
+            (delete 'sanity-check)))))
+    (inputs
+     (modify-inputs (package-inputs python-pyvips)
+       (delete "vips")))
+    (synopsis "pyvips for Scooby's test suite")))
+
+(define-public python-scooby
+  (package
+    (name "python-scooby")
+    (version "0.5.12")
+    (source
+     ;; The PyPI tarball does not contain the tests.
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/banesullivan/scooby")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "1gkpmz8wl3jg8ylf1na35308sznw2g9wx33zqlyq5i2gpy2ml9mw"))))
+    (build-system python-build-system)
+    (native-inputs
+     (list python-beautifulsoup4
+           python-numpy
+           python-pytest
+           python-pytest-cov
+           python-pyvips-for-python-scooby
+           python-scipy))
+    (propagated-inputs
+     (list python-psutil))
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (add-after 'unpack 'fix-tests
+           (lambda _
+             (substitute* "tests/test_scooby.py"
+               ;; The test suite uses the no-version PyPI package
+               ;; (https://pypi.org/project/no-version/),
+               ;; but it doesn't seem worth packaging in Guix just for this.
+               (("scooby\\.report\\.VERSION_NOT_FOUND")
+                "scooby.report.MODULE_NOT_FOUND")
+               (("^ +import no_version  # noqa.*") ""))))
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "pytest")))))))
+    (home-page "https://github.com/banesullivan/scooby")
+    (synopsis "Report hardware information and Python package versions")
+    (description
+     "The Scooby package reports the following information about the currently
+running system:
+
+@itemize
+@item operating system name;
+@item hardware information including machine type (e.g., @samp{i386},
+@samp{x86_64}, etc.), CPU count and total RAM;
+@item Python environment (e.g., Python, IPython, etc.);
+@item file system name;
+@item Python version;
+@item versions of specified Python packages.
+@end itemize
+
+It can generate reports as HTML tables or plain text lists.
+
+Scooby has no required dependencies, and only few optional dependencies.")
+    (license license:expat)))
--
2.36.0






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* [bug#55060] [PATCH v4 8/8] gnu: Add python-pyvista.
  2022-05-02 21:16 ` [bug#55060] [PATCH v4 0/8] " Paul A. Patience
                     ` (6 preceding siblings ...)
  2022-05-02 21:17   ` [bug#55060] [PATCH v4 7/8] gnu: Add python-scooby Paul A. Patience
@ 2022-05-02 21:17   ` Paul A. Patience
  2022-05-23 13:56   ` bug#55060: [PATCH 0/6] " Ludovic Courtès
  8 siblings, 0 replies; 47+ messages in thread
From: Paul A. Patience @ 2022-05-02 21:17 UTC (permalink / raw)
  To: 55060; +Cc: Paul A. Patience

* gnu/packages/python-science.scm (python-pyvista): New variable.
---
 gnu/packages/python-science.scm | 53 +++++++++++++++++++++++++++++++++
 1 file changed, 53 insertions(+)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 07d713e013..a62de1e5a0 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -17,6 +17,7 @@
 ;;; Copyright © 2021 Felix Gruber <felgru@posteo.net>
 ;;; Copyright © 2022 Malte Frank Gerdes <malte.f.gerdes@gmail.com>
 ;;; Copyright © 2022 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2022 Paul A. Patience <paul@apatience.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -1183,3 +1184,55 @@ (define-public python-numpy-groupies
      "This package provides optimized tools for group-indexing operations:
 aggregated sum and more.")
     (license license:bsd-3)))
+
+(define-public python-pyvista
+  (package
+    (name "python-pyvista")
+    (version "0.34.0")
+    (source
+     ;; The PyPI tarball does not contain the tests.
+     ;; (However, we don't yet actually run the tests.)
+     (origin
+       (method git-fetch)
+       (uri (git-reference
+             (url "https://github.com/pyvista/pyvista")
+             (commit (string-append "v" version))))
+       (file-name (git-file-name name version))
+       (sha256
+        (base32 "0f2x2wvi5pkpv5h3jrnx8zxnaj51navfqp2fdna1l9rpjgjjf94g"))))
+    (build-system python-build-system)
+    (propagated-inputs
+     (list python-appdirs
+           python-imageio
+           python-matplotlib
+           python-meshio
+           python-numpy
+           python-pillow
+           python-scooby
+           vtk))
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         ;; Disable tests for now because they require several modules
+         ;; currently unpackaged in Guix.
+         (delete 'check)
+         ;; Disable the sanity check, which fails with the following error:
+         ;;
+         ;;   ...checking requirements: ERROR: pyvista==0.34.0 DistributionNotFound(Requirement.parse('vtk'), {'pyvista'})
+         (delete 'sanity-check))))
+    (home-page "https://docs.pyvista.org/")
+    (synopsis "3D plotting and mesh analysis through VTK")
+    (description
+     "PyVista is...
+
+@itemize
+@item @emph{Pythonic VTK}: a high-level API to the Visualization
+Toolkit (VTK);
+@item mesh data structures and filtering methods for spatial datasets;
+@item 3D plotting made simple and built for large/complex data geometries.
+@end itemize
+
+This package provides a Pythonic, well-documented interface exposing VTK's
+powerful visualization backend to facilitate rapid prototyping, analysis, and
+visual integration of spatially referenced datasets.")
+    (license license:expat)))
--
2.36.0






^ permalink raw reply related	[flat|nested] 47+ messages in thread

* bug#55060: [PATCH 0/6] gnu: Add python-pyvista.
  2022-05-02 21:16 ` [bug#55060] [PATCH v4 0/8] " Paul A. Patience
                     ` (7 preceding siblings ...)
  2022-05-02 21:17   ` [bug#55060] [PATCH v4 8/8] gnu: Add python-pyvista Paul A. Patience
@ 2022-05-23 13:56   ` Ludovic Courtès
  8 siblings, 0 replies; 47+ messages in thread
From: Ludovic Courtès @ 2022-05-23 13:56 UTC (permalink / raw)
  To: Paul A. Patience; +Cc: 55060-done

Hi,

"Paul A. Patience" <paul@apatience.com> skribis:

> Fixed Scooby's pyvips test.
> Scooby actually requires a pyvips package that is completely missing its VIPS
> dependency, so I don't think there is a way around having a pyvips variant
> just for Scooby.
>
> I couldn't figure out how to build the C extension for pyvips, but that's not
> relevant for Scooby; I added the package just to inherit from it in Scooby's
> pyvips variant.
> It could be changed in the future.
> For now what's installed is the CFFI version.
>
> I also couldn't figure out how to get some tests to pass with pyperf.
> It seems like it should be easy to fix, though.

OK.  Looks like future-work items to me, not blockers.

> Paul A. Patience (8):
>   gnu: python-meshio: Remove input labels.
>   gnu: python-meshio: Remove trailing booleans.
>   gnu: python-meshio: Honor #:tests? flag.
>   gnu: python-meshio: Update to 5.3.4.
>   gnu: Add python-pyperf.
>   gnu: Add python-pyvips.
>   gnu: Add python-scooby.
>   gnu: Add python-pyvista.

Applied, thanks!

Ludo’.




^ permalink raw reply	[flat|nested] 47+ messages in thread

end of thread, other threads:[~2022-05-23 13:57 UTC | newest]

Thread overview: 47+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2022-04-22  1:00 [bug#55060] [PATCH 0/6] gnu: Add python-pyvista Paul A. Patience
2022-04-22  1:02 ` [bug#55060] [PATCH 1/6] gnu: python-meshio: Remove input labels Paul A. Patience
2022-04-22  1:02   ` [bug#55060] [PATCH 2/6] gnu: python-meshio: Remove trailing booleans Paul A. Patience
2022-04-22  1:02   ` [bug#55060] [PATCH 3/6] gnu: python-meshio: Honor #:tests? flag Paul A. Patience
2022-04-22  1:03   ` [bug#55060] [PATCH 4/6] gnu: python-meshio: Update to 5.3.4 Paul A. Patience
2022-04-22  1:03   ` [bug#55060] [PATCH 5/6] gnu: Add python-scooby Paul A. Patience
2022-04-22 17:53     ` Maxime Devos
2022-04-22 17:55     ` Maxime Devos
2022-04-22 18:07     ` Maxime Devos
2022-04-22 19:26       ` Paul A. Patience
2022-04-22 21:43         ` Maxime Devos
2022-04-22 21:46         ` Maxime Devos
2022-04-29 20:52         ` Maxime Devos
2022-05-02 15:00           ` Paul A. Patience
2022-05-02 15:06             ` Maxime Devos
2022-05-02 15:33               ` Paul A. Patience
2022-05-02 16:18                 ` Maxime Devos
2022-04-22  1:03   ` [bug#55060] [PATCH 6/6] gnu: Add python-pyvista Paul A. Patience
2022-04-22 18:04     ` Maxime Devos
2022-04-22 19:36       ` Paul A. Patience
2022-04-22 21:49         ` Maxime Devos
2022-04-22 12:41 ` [bug#55060] [PATCH v2 0/6] " Paul A. Patience
2022-04-22 12:41   ` [bug#55060] [PATCH v2 1/6] gnu: python-meshio: Remove input labels Paul A. Patience
2022-04-22 12:41   ` [bug#55060] [PATCH v2 2/6] gnu: python-meshio: Remove trailing booleans Paul A. Patience
2022-04-22 12:41   ` [bug#55060] [PATCH v2 3/6] gnu: python-meshio: Honor #:tests? flag Paul A. Patience
2022-04-22 12:41   ` [bug#55060] [PATCH v2 4/6] gnu: python-meshio: Update to 5.3.4 Paul A. Patience
2022-04-22 17:36     ` Maxime Devos
2022-04-22 12:41   ` [bug#55060] [PATCH v2 5/6] gnu: Add python-scooby Paul A. Patience
2022-04-22 17:51     ` Maxime Devos
2022-04-22 12:41   ` [bug#55060] [PATCH v2 6/6] gnu: Add python-pyvista Paul A. Patience
2022-04-25 17:55 ` [bug#55060] [PATCH v3 0/6] " Paul A. Patience
2022-04-25 17:55   ` [bug#55060] [PATCH v3 1/6] gnu: python-meshio: Remove input labels Paul A. Patience
2022-04-25 17:55   ` [bug#55060] [PATCH v3 2/6] gnu: python-meshio: Remove trailing booleans Paul A. Patience
2022-04-25 17:55   ` [bug#55060] [PATCH v3 3/6] gnu: python-meshio: Honor #:tests? flag Paul A. Patience
2022-04-25 17:55   ` [bug#55060] [PATCH v3 4/6] gnu: python-meshio: Update to 5.3.4 Paul A. Patience
2022-04-25 17:55   ` [bug#55060] [PATCH v3 5/6] gnu: Add python-scooby Paul A. Patience
2022-04-25 17:55   ` [bug#55060] [PATCH v3 6/6] gnu: Add python-pyvista Paul A. Patience
2022-05-02 21:16 ` [bug#55060] [PATCH v4 0/8] " Paul A. Patience
2022-05-02 21:16   ` [bug#55060] [PATCH v4 1/8] gnu: python-meshio: Remove input labels Paul A. Patience
2022-05-02 21:16   ` [bug#55060] [PATCH v4 2/8] gnu: python-meshio: Remove trailing booleans Paul A. Patience
2022-05-02 21:16   ` [bug#55060] [PATCH v4 3/8] gnu: python-meshio: Honor #:tests? flag Paul A. Patience
2022-05-02 21:17   ` [bug#55060] [PATCH v4 4/8] gnu: python-meshio: Update to 5.3.4 Paul A. Patience
2022-05-02 21:17   ` [bug#55060] [PATCH v4 5/8] gnu: Add python-pyperf Paul A. Patience
2022-05-02 21:17   ` [bug#55060] [PATCH v4 6/8] gnu: Add python-pyvips Paul A. Patience
2022-05-02 21:17   ` [bug#55060] [PATCH v4 7/8] gnu: Add python-scooby Paul A. Patience
2022-05-02 21:17   ` [bug#55060] [PATCH v4 8/8] gnu: Add python-pyvista Paul A. Patience
2022-05-23 13:56   ` bug#55060: [PATCH 0/6] " Ludovic Courtès

Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.