From 6bc2fbc14c387e74005f5679aae738ac7183e060 Mon Sep 17 00:00:00 2001 From: Vinicius Monego Date: Sat, 20 May 2023 15:24:19 -0300 Subject: [PATCH] gnu: Add python-einops. * gnu/packages/python-science.scm (python-einops): New variable. --- gnu/packages/python-science.scm | 34 +++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm index a8e43d96cf..852bba3b3e 100644 --- a/gnu/packages/python-science.scm +++ b/gnu/packages/python-science.scm @@ -669,6 +669,40 @@ provides an example implementation of the algorithm as well as scripts necessary for reproducing the experiments in the paper.") (license license:expat))) +(define-public python-einops + (package + (name "python-einops") + (version "0.6.1") + (source (origin + (method git-fetch) ;PyPI misses .ipynb files required for tests + (uri (git-reference + (url "https://github.com/arogozhnikov/einops") + (commit (string-append "v" version)))) + (file-name (git-file-name name version)) + (sha256 + (base32 + "1h8p39kd7ylg99mh620xr20hg7v78x1jnj6vxwk31rlw2dmv2dpr")))) + (build-system pyproject-build-system) + (arguments + (list #:phases #~(modify-phases %standard-phases + (add-after 'unpack 'set-backend + (lambda _ + ;; Einops supports different backends, but we test + ;; only NumPy for availability and simplicity. + (setenv "EINOPS_TEST_BACKENDS" "numpy")))))) + (native-inputs (list jupyter + python-hatchling + python-nbconvert + python-nbformat + python-parameterized + python-pytest)) + (propagated-inputs (list python-numpy)) + (home-page "https://einops.rocks/") + (synopsis "Tensor operations for different backends") + (description "Einops provides a set of tensor operations for NumPy and +multiple deep learning frameworks.") + (license license:expat))) + (define-public python-xarray (package (name "python-xarray")