* [bug#72320] [PATCH 0/2] Add python-slycot and python-control @ 2024-07-27 12:18 Vinicius Monego 2024-07-27 12:21 ` [bug#72320] [PATCH 1/2] gnu: Add python-slycot Vinicius Monego 0 siblings, 1 reply; 3+ messages in thread From: Vinicius Monego @ 2024-07-27 12:18 UTC (permalink / raw) To: 72320; +Cc: Vinicius Monego SLICOT is a Fortran 77 library for control computations. It was free software prior to version ~5.1 after which it became non-commercial, but seems to have been relicensed to bsd-3 in version ~5.8. It's in Debian main repo now and is the base for most Octave packages. The build system for the fortran library is a little weird and the package would need some work. But I'm sending a package for Slycot (a Python wrapper) which forks it for a seamless integration, and then for python-control which is the main consumer of that wrapper. Vinicius Monego (2): gnu: Add python-slycot. gnu: Add python-control. gnu/packages/engineering.scm | 66 ++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) base-commit: 81904c16aed72bb8ea1449587418d2a218d0b103 -- 2.39.2 ^ permalink raw reply [flat|nested] 3+ messages in thread
* [bug#72320] [PATCH 1/2] gnu: Add python-slycot. 2024-07-27 12:18 [bug#72320] [PATCH 0/2] Add python-slycot and python-control Vinicius Monego @ 2024-07-27 12:21 ` Vinicius Monego 2024-07-27 12:21 ` [bug#72320] [PATCH 2/2] gnu: Add python-control Vinicius Monego 0 siblings, 1 reply; 3+ messages in thread From: Vinicius Monego @ 2024-07-27 12:21 UTC (permalink / raw) To: 72320; +Cc: Vinicius Monego * gnu/packages/engineering.scm (python-slycot): New variable. Change-Id: If2fa334e2f9c73001570aa7eefd2e683313f1a54 --- gnu/packages/engineering.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/engineering.scm b/gnu/packages/engineering.scm index 4e465ddb7d..688465b233 100644 --- a/gnu/packages/engineering.scm +++ b/gnu/packages/engineering.scm @@ -912,6 +912,32 @@ (define-public translate2geda fonts to gEDA.") (license license:gpl2+)))) +(define-public python-slycot + (package + (name "python-slycot") + (version "0.6.0") + (source + (origin + (method url-fetch) + (uri (pypi-uri "slycot" version)) + (sha256 + (base32 "08rwvawrcnyal66lljn2b8l9my0lzjg1d5fvykbf0v0cmnfg3v4q")))) + (build-system pyproject-build-system) + ;; Slycot uses a custom fork of slicot and does not allow to use a system + ;; package. We add gfortran, lapack and openblas to build it. + (native-inputs (list gfortran + python-pytest + python-scikit-build + python-scipy ; for tests + python-setuptools-scm)) + (inputs (list lapack openblas)) + (propagated-inputs (list python-numpy)) + (home-page "https://github.com/python-control/Slycot") + (synopsis "Wrapper for the SLICOT control and systems library") + (description "This package provides a Python wrapper for the SLICOT +control and systems library.") + (license license:gpl2+))) + (define-public libfive (let ((commit "b1ea998d8adb3884ab52798f7388f4354145f452") (revision "5")) base-commit: 81904c16aed72bb8ea1449587418d2a218d0b103 -- 2.39.2 ^ permalink raw reply related [flat|nested] 3+ messages in thread
* [bug#72320] [PATCH 2/2] gnu: Add python-control. 2024-07-27 12:21 ` [bug#72320] [PATCH 1/2] gnu: Add python-slycot Vinicius Monego @ 2024-07-27 12:21 ` Vinicius Monego 0 siblings, 0 replies; 3+ messages in thread From: Vinicius Monego @ 2024-07-27 12:21 UTC (permalink / raw) To: 72320; +Cc: Vinicius Monego * 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 ^ permalink raw reply related [flat|nested] 3+ messages in thread
end of thread, other threads:[~2024-07-27 12:24 UTC | newest] Thread overview: 3+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2024-07-27 12:18 [bug#72320] [PATCH 0/2] Add python-slycot and python-control Vinicius Monego 2024-07-27 12:21 ` [bug#72320] [PATCH 1/2] gnu: Add python-slycot Vinicius Monego 2024-07-27 12:21 ` [bug#72320] [PATCH 2/2] gnu: Add python-control Vinicius Monego
Code repositories for project(s) associated with this public inbox https://git.savannah.gnu.org/cgit/guix.git This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).