guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

02/07: gnu: Add python-opt-einsum.


From: guix-commits
Subject: 02/07: gnu: Add python-opt-einsum.
Date: Fri, 8 Jul 2022 12:42:11 -0400 (EDT)

rekado pushed a commit to branch master
in repository guix.

commit 684c718e6a2fe47ea0f44f112cc2edf40df6a158
Author: Ricardo Wurmus <rekado@elephly.net>
AuthorDate: Thu Jul 7 14:28:05 2022 +0200

    gnu: Add python-opt-einsum.
    
    * gnu/packages/python-science.scm (python-opt-einsum): New variable.
---
 gnu/packages/python-science.scm | 32 ++++++++++++++++++++++++++++++++
 1 file changed, 32 insertions(+)

diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 747c84d493..428ce48b53 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -1403,3 +1403,35 @@ data as HDF5.  It can save any Python data structure, 
offering the same ease
 of use as pickling or @code{numpy.save}, but with the language
 interoperability offered by HDF5.")
     (license license:bsd-3)))
+
+(define-public python-opt-einsum
+  (package
+    (name "python-opt-einsum")
+    (version "3.3.0")
+    (source (origin
+              (method url-fetch)
+              (uri (pypi-uri "opt_einsum" version))
+              (sha256
+               (base32
+                "0jb5lia0q742d1713jk33vlj41y61sf52j6pgk7pvhxvfxglgxjr"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:phases
+       (modify-phases %standard-phases
+         (replace 'check
+           (lambda* (#:key tests? #:allow-other-keys)
+             (when tests?
+               (invoke "pytest" "-vv")))))))
+    (propagated-inputs (list python-numpy))
+    (native-inputs (list python-pytest python-pytest-cov python-pytest-pep8))
+    (home-page "https://github.com/dgasmith/opt_einsum";)
+    (synopsis "Optimizing numpys einsum function")
+    (description
+     "Optimized einsum can significantly reduce the overall execution time of
+einsum-like expressions by optimizing the expression's contraction order and
+dispatching many operations to canonical BLAS, cuBLAS, or other specialized
+routines.  Optimized einsum is agnostic to the backend and can handle NumPy,
+Dask, PyTorch, Tensorflow, CuPy, Sparse, Theano, JAX, and Autograd arrays as
+well as potentially any library which conforms to a standard API. See the
+documentation for more information.")
+    (license license:expat)))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]