Subject: [bug#72320] [PATCH 2/2] gnu: Add python-control.

From: Vinicius Monego <[email-masked]>
Date: Sat, 27 Jul 2024 12:21:53 +0000

* gnu/packages/engineering.scm (python-control): New variable.

Change-Id: Idc73713360c28b5e5570baedbaf4d3cde4b59b87
---
 gnu/packages/engineering.scm | 40 ++++++++++++++++++++++++++++++++++++
 1 file changed, 40 insertions(+)

diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm
index 688465b233..b082af532f 100644
--- a/gnu/packages/engineering.scm
+++ b/gnu/packages/engineering.scm
@@ -938,6 +938,46 @@ (define-public python-slycot
 control and systems library.")
     (license license:gpl2+)))
 
+(define-public python-control
+  (package
+    (name "python-control")
+    (version "0.10.0")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (pypi-uri "control" version))
+       (sha256
+        (base32 "0lxb1dbdidgdi3w54pwv94cl15p5zglazr5j0zywfibzadkvf61c"))))
+    (build-system pyproject-build-system)
+    (propagated-inputs (list python-matplotlib
+                             python-numpy
+                             python-scipy
+                             python-slycot))
+    (native-inputs (list python-pytest python-pytest-timeout))
+    (home-page "https://github.com/python-control/python-control")
+    (synopsis "Python Control Systems Library")
+    (description "The Python Control Systems Library is a Python module that
+implements basic operations for analysis and design of feedback control
+systems.
+
+Features:
+
+@itemize
+@item Linear input/output systems in state-space and frequency domain
+@item Block diagram algebra: serial, parallel, feedback, and other
+interconnections
+@item Time response: initial, step, impulse
+@item Frequency response: Bode, Nyquist, and Nichols plots
+@item Control analysis: stability, reachability, observability, stability
+margins, root locus
+@item Control design: eigenvalue placement, linear quadratic regulator,
+sisotool, hinfsyn, rootlocus_pid_designer
+@item Estimator design: linear quadratic estimator (Kalman filter)
+@item Nonlinear systems: optimization-based control, describing functions,
+differential flatness
+@end itemize")
+    (license license:bsd-3)))
+
 (define-public libfive
   (let ((commit "b1ea998d8adb3884ab52798f7388f4354145f452")
         (revision "5"))
-- 
2.39.2