aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/python-science.scm
diff options
context:
space:
mode:
authorMarco Baggio <marco.baggio@mdc-berlin.de>2024-04-29 15:11:53 +0200
committerRicardo Wurmus <rekado@elephly.net>2024-05-05 22:38:15 +0200
commitda18b8620f997aadbd2b0c4c7a3356c0154493b1 (patch)
treea803fa57238f28afcd64029b25ef4f18478c90b2 /gnu/packages/python-science.scm
parent2c0cf38f04a2bca6e8057bf934db3d80bf246266 (diff)
downloadguix-da18b8620f997aadbd2b0c4c7a3356c0154493b1.tar
guix-da18b8620f997aadbd2b0c4c7a3356c0154493b1.tar.gz
gnu: Add python-cvxpy.
* gnu/packages/python-science.scm (python-cvxpy): New variable. Co-authored-by: Ricardo Wurmus <rekado@elephly.net> Change-Id: I440ab3768cbc4e78364dc31cf9484effd9670f49
Diffstat (limited to 'gnu/packages/python-science.scm')
-rw-r--r--gnu/packages/python-science.scm29
1 files changed, 29 insertions, 0 deletions
diff --git a/gnu/packages/python-science.scm b/gnu/packages/python-science.scm
index 875b31d7c5..36d0d46cb7 100644
--- a/gnu/packages/python-science.scm
+++ b/gnu/packages/python-science.scm
@@ -89,6 +89,35 @@
#:use-module (guix build-system python)
#:use-module (guix build-system pyproject))
+(define-public python-cvxpy
+ (package
+ (name "python-cvxpy")
+ (version "1.4.3")
+ (source
+ (origin
+ (method url-fetch)
+ (uri (pypi-uri "cvxpy" version))
+ (sha256
+ (base32 "0lyri9j5gyg6m1bvfy1a4q2sqdy3w45lp0bxiq9as8srq347ic5i"))))
+ (build-system pyproject-build-system)
+ ;; It's odd but cvxpy appears to need pybind11 at runtime according to its
+ ;; specification. Moving pybind11 to native-inputs would break downstream
+ ;; packages using cvxpy.
+ (propagated-inputs (list pybind11
+ python-clarabel
+ python-ecos
+ python-numpy
+ python-osqp
+ python-scipy
+ python-scs))
+ (native-inputs (list python-pytest python-setuptools))
+ (home-page "https://github.com/cvxpy/cvxpy")
+ (synopsis "DSL for modeling convex optimization problems")
+ (description
+ "This package provides a domain-specific language for modeling convex
+optimization problems in Python.")
+ (license license:asl2.0)))
+
(define-public python-ecos
(package
(name "python-ecos")