Registry / data / control

control

JSON →
library0.10.2pypypiunverified

The Python Control Systems Library (python-control) is an open-source Python package that implements basic operations for the analysis and design of feedback control systems. It provides functionalities for linear and nonlinear input/output systems, block diagram algebra, time and frequency response, control analysis, and design. The library is actively maintained, with version 0.10.2 being the current stable release, and follows a regular release cadence with ongoing improvements and bug fixes.

pip install python-control
INSTALL
IMPORT
SIG · CONTROL
C
control
datapythonv0.10.2
Install
—
Import
—
Disk
—
Pass rate
0/ 10
Env Coverage0 / 10
glibc
3.9–3.13
musl
3.9–3.13
Install & Compatibility
Where this runs
tested against v? · pip install
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.10–3.940 runs
build_error
glibc
py 3.10–3.940 runs
build_error
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

control
✓ import control as ct
The convention 'import control as ct' is widely used in documentation and examples.
matlab
✓ from control.matlab import *
For users preferring a MATLAB-like environment and function naming conventions.

This quickstart defines a simple continuous-time state-space system, calculates its step response, and plots the output using Matplotlib. It demonstrates the basic workflow of defining a system and analyzing its time-domain behavior.

import control as ct import numpy as np import matplotlib.pyplot as plt # Define a simple state-space system A = np.array([[-0.5, -1], [1, 0]]) B = np.array([[1], [0]]) C = np.array([[0, 1]]) D = np.array([[0]]) sys = ct.ss(A, B, C, D) # Simulate a step response time, response = ct.step_response(sys) # Plot the step response plt.plot(time, response.outputs[0]) plt.xlabel('Time (s)') plt.ylabel('Output') plt.title('Step Response') plt.grid() plt.show()
Debug
Known issues
breakingSupport for the NumPy `matrix` class has been removed in version 0.10.0. All matrix operations should now use standard NumPy arrays.
fix
Replace `np.matrix` objects with `np.array` objects for all matrix representations and operations.
affects: >=0.10.0
breakingThe interface for plotting has changed to a `_response/_plot` calling pattern starting from version 0.10.0. Functions like `step_response` now return a `TimeResponseData` object which has a `.plot()` method, rather than directly generating a plot.
fix
After computing a response (e.g., `time, response = ct.step_response(sys)`), explicitly call `response.plot()` to generate the plot.
affects: >=0.10.0
deprecatedFunctions `connect`, `ss2io`, and `tf2io` have been deprecated in version 0.10.0. Use `interconnect` for system interconnections and note that `StateSpace` and `TransferFunction` classes are now subclasses of `NonlinearIOSystem` (rendering `ss2io` and `tf2io` obsolete).
fix
Use `ct.interconnect()` for connecting systems. The direct conversion functions `ss2io` and `tf2io` are no longer needed as the base classes now handle I/O system representation directly.
affects: >=0.10.0
gotchaThe `python-control` library requires Python 3.10 or higher, NumPy 1.23 or higher (2.x recommended), and SciPy 1.8 or higher. Using older versions may lead to compatibility issues or unexpected behavior.
fix
Ensure your Python environment meets the minimum version requirements by upgrading Python, NumPy, and SciPy to the specified versions or newer.
affects: <0.10.0 to 0.10.2
gotchaWithout the optional `slycot` library installed, some advanced functionalities and more efficient algorithms will be unavailable or operate with reduced performance. This can impact state-space conversions, robust control computations, and other routines.
fix
Install `slycot` (e.g., `pip install slycot` or `conda install -c conda-forge slycot`) to unlock full library capabilities. Note that `slycot` may have its own compilation requirements (like a Fortran compiler).
affects: All versions
Upgrade
Version history
0.10.2latest on PyPI · released Jul 5, 2025
Audit
Dependencies
numpyrequiredFundamental package for numerical computing, array operations are core to control systems.
scipyrequiredProvides scientific computing tools, including signal processing and linear algebra routines used by the library.
matplotlibrequiredRequired for all plotting functionalities, such as Bode, Nyquist, and step response plots.
slycotoptionalOptional but highly recommended. Provides wrapper for FORTRAN routines from the SLICOT library, enabling more efficient and advanced control system algorithms. Some functionality may be limited or absent without it.
Agent activity
11 hits · last 30 days
node
10
OpenAI (training)
1
Resources
control — pip install control · libregistry