[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[bug#66930] [PATCH] gnu: Add python-pyamg.
From: |
Vinicius Monego |
Subject: |
[bug#66930] [PATCH] gnu: Add python-pyamg. |
Date: |
Sat, 4 Nov 2023 15:41:30 +0000 |
Hello,
Em 04/11/2023 12:05, Felix Gruber escreveu:
* gnu/packages/python-science.scm (python-pyamg): New variable.
Change-Id: Ibf39fecd14d4e6fd72078b217737e5e5cbbf2321
---
gnu/packages/python-science.scm | 36 +++++++++++++++++++++++++++++++++
1 file changed, 36 insertions(+)
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 4063797a30..1c2edda118 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -387,6 +387,42 @@ (define-public python-trimesh
library.")
(license license:expat)))
+(define-public python-pyamg
+ (package
+ (name "python-pyamg")
+ (version "5.0.0")
I saw that version 5.0.1 is out since Jul 3, 2023. Does it fail to build?
+ (source (origin
+ (method url-fetch)
+ (uri (pypi-uri "pyamg" version))
+ (sha256
+ (base32
+ "0bm0cbqcj5zgs4k7djs5ga98pb95raxxdd674g744hv1iwi6gfga"))))
+ (build-system pyproject-build-system)
+ (propagated-inputs (list pybind11 python-numpy python-scipy))
Pybind11 is usually a native or normal input. Does it have to be
propagated here?
+ (native-inputs (list python-setuptools-scm python-pytest))
+ (arguments
+ (list
+ #:test-flags
+ ;; Test installed package in order to find C++ modules.
+ #~(list "--pyargs" "pyamg.tests")))
+ (home-page "https://github.com/pyamg/pyamg")
+ (synopsis "Algebraic Multigrid Solvers in Python")
+ (description "PyAMG is a Python library of Algebraic Multigrid
+(AMG) solvers.
+
+PyAMG features implementations of:
Nitpick: to avoid repeating "PyAMG", you can say "It" in the second
paragraph and join with the first.
+@itemize
+@item Ruge-Stuben (RS) or Classical AMG
+@item AMG based on Smoothed Aggregation (SA)
+@item Adaptive Smoothed Aggregation (αSA)
+@item Compatible Relaxation (CR)
+@item Krylov methods such as CG, GMRES, FGMRES, BiCGStab, MINRES, etc.
+@end itemize
+PyAMG is primarily written in Python with supporting C++ code for
+performance critical operations.
+")
Implementation details like in this last sentence about languages and
performance should be transparent to the user and can be omitted.
+ (license license:expat)))
+
(define-public python-tspex
(package
(name "python-tspex")
base-commit: 9dcd8802f5bc472579f23a38dcf437f8a9ac976c
I also noticed that amg_core contains cpp files generated by the
pyamg/amg_core/bindthem.py script. I'd suggest to grep 'DO NOT EDIT' on
that directory to find the files, delete them in a snippet and rerun the
bindthem.py script in a new phase after unpacking.
Thanks,
Vinicius