[PATCH] gnu: Add python-libensemble.

  • Open
  • quality assurance status badge
Details
2 participants
  • Vinicius Monego
  • Nicolas Graves
Owner
unassigned
Submitted by
Vinicius Monego
Severity
normal
V
V
Vinicius Monego wrote on 11 Apr 11:42 +0200
(address . guix-patches@gnu.org)(name . Vinicius Monego)(address . monego@posteo.net)
2044bf6af204b5384987458a22229cb0415a6a36.1712828385.git.monego@posteo.net
* gnu/packages/maths.scm (python-libensemble): New variable.

Change-Id: I45d4ba209af746f22f3f6c74a01063726478de0f
---
gnu/packages/maths.scm | 53 ++++++++++++++++++++++++++++++++++++++++++
1 file changed, 53 insertions(+)

Toggle diff (68 lines)
diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
index 03760f3f3e..6f7e67329e 100644
--- a/gnu/packages/maths.scm
+++ b/gnu/packages/maths.scm
@@ -839,6 +839,59 @@ (define-public glpk-4
(base32
"040sfaa9jclg2nqdh83w71sv9rc1sznpnfiripjdyr48cady50a2"))))))
+(define-public python-libensemble
+ (package
+ (name "python-libensemble")
+ (version "1.2.2")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "libensemble" version))
+ (sha256
+ (base32 "0y46b8rk3dnnjnap76l80cj3ddkjcic1vcl706cajac19vnk8vlk"))))
+ (build-system pyproject-build-system)
+ (native-inputs (list ncurses
+ python-mock
+ python-mpi4py
+ python-pytest
+ python-pytest-cov
+ python-pytest-timeout))
+ (propagated-inputs (list python-numpy
+ python-psutil
+ python-pydantic-2
+ python-pyyaml
+ python-tomli))
+ (arguments
+ (list
+ #:phases
+ #~(modify-phases %standard-phases
+ (add-after 'unpack 'relax-psutil
+ (lambda _
+ (substitute* "setup.py"
+ (("psutil>=5.9.4") "psutil>=5.9.2"))))
+ (replace 'check
+ (lambda* (#:key tests? #:allow-other-keys)
+ (when tests?
+ ;; These files require MPI and call subprocesses.
+ (delete-file
+ "libensemble/tests/unit_tests/test_executor.py")
+ (delete-file
+ "libensemble/tests/unit_tests/test_executor_gpus.py")
+ ;; Run only unit tests, regression tests require MPI.
+ (setenv "TERM" "xterm")
+ ;; A very bad way to skip another MPI test.
+ (substitute* "libensemble/tests/run-tests.sh"
+ (("export UNIT_TEST_MPI_SUBDIR=.*")
+ "export UNIT_TEST_MPI_SUBDIR=''"))
+ ;; Run the test script.
+ (invoke "bash" "libensemble/tests/run-tests.sh" "-u")))))))
+ (home-page "https://github.com/Libensemble/libensemble")
+ (synopsis "Toolkit for dynamic ensembles of calculations")
+ (description "@code{libensemble} is a a complete toolkit for dynamic
+ensembles of calculations. It connects @code{deciders} to experiments or
+simulations.")
+ (license license:bsd-3)))
+
(define-public linasm
(package
(name "linasm")

base-commit: 51de844a0ff6ea224367a384092896bce6848b9f
--
2.39.2
N
N
Nicolas Graves wrote on 16 Apr 00:35 +0200
(name . Vinicius Monego)(address . monego@posteo.net)
87v84intiw.fsf@ngraves.fr
On 2024-04-11 09:42, Vinicius Monego wrote:

Toggle quote (65 lines)
> * gnu/packages/maths.scm (python-libensemble): New variable.
>
> Change-Id: I45d4ba209af746f22f3f6c74a01063726478de0f
> ---
> gnu/packages/maths.scm | 53 ++++++++++++++++++++++++++++++++++++++++++
> 1 file changed, 53 insertions(+)
>
> diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm
> index 03760f3f3e..6f7e67329e 100644
> --- a/gnu/packages/maths.scm
> +++ b/gnu/packages/maths.scm
> @@ -839,6 +839,59 @@ (define-public glpk-4
> (base32
> "040sfaa9jclg2nqdh83w71sv9rc1sznpnfiripjdyr48cady50a2"))))))
>
> +(define-public python-libensemble
> + (package
> + (name "python-libensemble")
> + (version "1.2.2")
> + (source
> + (origin
> + (method url-fetch)
> + (uri (pypi-uri "libensemble" version))
> + (sha256
> + (base32 "0y46b8rk3dnnjnap76l80cj3ddkjcic1vcl706cajac19vnk8vlk"))))
> + (build-system pyproject-build-system)
> + (native-inputs (list ncurses
> + python-mock
> + python-mpi4py
> + python-pytest
> + python-pytest-cov
> + python-pytest-timeout))
> + (propagated-inputs (list python-numpy
> + python-psutil
> + python-pydantic-2
> + python-pyyaml
> + python-tomli))
> + (arguments
> + (list
> + #:phases
> + #~(modify-phases %standard-phases
> + (add-after 'unpack 'relax-psutil
> + (lambda _
> + (substitute* "setup.py"
> + (("psutil>=5.9.4") "psutil>=5.9.2"))))
> + (replace 'check
> + (lambda* (#:key tests? #:allow-other-keys)
> + (when tests?
> + ;; These files require MPI and call subprocesses.
> + (delete-file
> + "libensemble/tests/unit_tests/test_executor.py")
> + (delete-file
> + "libensemble/tests/unit_tests/test_executor_gpus.py")
> + ;; Run only unit tests, regression tests require MPI.
> + (setenv "TERM" "xterm")
> + ;; A very bad way to skip another MPI test.
> + (substitute* "libensemble/tests/run-tests.sh"
> + (("export UNIT_TEST_MPI_SUBDIR=.*")
> + "export UNIT_TEST_MPI_SUBDIR=''"))
> + ;; Run the test script.
> + (invoke "bash" "libensemble/tests/run-tests.sh" "-u")))))))
> + (home-page "https://github.com/Libensemble/libensemble")
> + (synopsis "Toolkit for dynamic ensembles of calculations")
> + (description "@code{libensemble} is a a complete toolkit for dynamic

Just a little typo here (double a), otherwise LGTM.
guix lint only complains on archival, but it's fine.
built and rebuilt.

Toggle quote (10 lines)
> +ensembles of calculations. It connects @code{deciders} to experiments or
> +simulations.")
> + (license license:bsd-3)))
> +
> (define-public linasm
> (package
> (name "linasm")
>
> base-commit: 51de844a0ff6ea224367a384092896bce6848b9f

--
Best regards,
Nicolas Graves
?