--- id: control version: "0.10.2" license: BSD-3-Clause license_treatment: permissive maintenance: active --- # control — Python Control Systems Library License: permissive · Maintenance: active · Downloads: 282.8K/mo ## What it is and what it does The Python Control Systems Library provides a comprehensive toolkit for modeling, analyzing, and designing linear feedback control systems. It handles both state-space and frequency-domain representations, supports interconnections like series, parallel, and feedback configurations, and offers classical and modern control design methods including eigenvalue placement, linear quadratic regulators, and Kalman filtering. The package is built on numpy, scipy, and matplotlib, making it suitable for interactive analysis in Jupyter notebooks, Google Colab, and production scripts. Core functionality works without optional dependencies, though the optional slycot wrapper extends capabilities for advanced control design tasks. It is actively maintained and widely used in academic and industrial control engineering. Use it for: - Analyze stability and frequency response of linear systems using Bode, Nyquist, and Nichols plots - Design state-feedback controllers via eigenvalue placement or linear quadratic regulator methods - Simulate time-domain responses (step, impulse, initial condition) for system validation - Assess system properties like reachability, observability, and stability margins - Prototype and tune PID controllers using root locus and interactive design tools ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Implements core operations for analyzing and designing feedback control systems, including state-space and frequency-domain representations, time and frequency response analysis, and control design methods. Yes. The package is actively maintained, has no known vulnerabilities, installs with low friction, and is permissively licensed. It is the standard Python library for control systems work in academia and industry. Install it if you need to analyze or design linear feedback control systems. ## Install pip install control uv add control poetry add control ## Installing control Before you install: Low friction installation with a pure Python wheel. Actively maintained with recent releases; last commit 2026-08-14. Requires numpy, scipy, and matplotlib as runtime dependencies. Optional slycot dependency adds FORTRAN-based functionality but is not required for core features. License in practice: Released under BSD-3-Clause (permissive). No restrictions on commercial use, modification, or redistribution provided the license text accompanies the code. Quickstart: pip install control import control as ct sys = ct.TransferFunction([2], [2, 2]) ct.step_response(sys) Requires Python 3.10 or later. Optional slycot dependency requires a C and Fortran compiler if installed via pip. Verify before relying: - Whether slycot binaries are available for your platform via conda-forge or pip - Performance characteristics for large-scale systems or real-time applications ## Package facts - License: BSD-3-Clause (permissive) - Python support: supports_current - Install friction: low - Maintenance: active - Downloads: 282.8K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags control systems analysis, feedback control design, bode nyquist plots, state space systems, linear control theory, root locus design, kalman filter estimation, control-theory, signal-processing [View on SkillFed](https://skillfed.io/packages/control) · [View on PyPI](https://pypi.org/project/control/)