{"id":13689440,"url":"https://github.com/python-control/python-control","last_synced_at":"2025-05-12T15:27:41.238Z","repository":{"id":19543551,"uuid":"22791752","full_name":"python-control/python-control","owner":"python-control","description":" The Python Control Systems Library is a Python module that implements basic operations for analysis and design of feedback control systems.","archived":false,"fork":false,"pushed_at":"2025-04-17T20:15:48.000Z","size":31517,"stargazers_count":1817,"open_issues_count":78,"forks_count":438,"subscribers_count":70,"default_branch":"main","last_synced_at":"2025-04-23T17:50:43.568Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://python-control.org","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"bsd-3-clause","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/python-control.png","metadata":{"files":{"readme":"README.rst","changelog":"ChangeLog","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2014-08-09T17:48:36.000Z","updated_at":"2025-04-23T05:44:40.000Z","dependencies_parsed_at":"2023-02-18T19:00:55.802Z","dependency_job_id":"33cfecc6-3a8b-4365-825d-fd7d38dcb668","html_url":"https://github.com/python-control/python-control","commit_stats":{"total_commits":1594,"total_committers":72,"mean_commits":22.13888888888889,"dds":0.6304893350062735,"last_synced_commit":"c06a205e519b7bba05951e816b7d7cdc3323ff78"},"previous_names":[],"tags_count":31,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-control%2Fpython-control","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-control%2Fpython-control/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-control%2Fpython-control/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/python-control%2Fpython-control/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/python-control","download_url":"https://codeload.github.com/python-control/python-control/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253765110,"owners_count":21960676,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-02T15:01:48.017Z","updated_at":"2025-05-12T15:27:41.190Z","avatar_url":"https://github.com/python-control.png","language":"Python","readme":".. image:: https://anaconda.org/conda-forge/control/badges/version.svg\n   :target: https://anaconda.org/conda-forge/control\n\n.. image:: https://img.shields.io/pypi/v/control.svg\n   :target: https://pypi.org/project/control/\n\n.. image:: https://github.com/python-control/python-control/actions/workflows/python-package-conda.yml/badge.svg\n   :target: https://github.com/python-control/python-control/actions/workflows/python-package-conda.yml\n\n.. image:: https://github.com/python-control/python-control/actions/workflows/install_examples.yml/badge.svg\n   :target: https://github.com/python-control/python-control/actions/workflows/install_examples.yml\n\n.. image:: https://github.com/python-control/python-control/actions/workflows/control-slycot-src.yml/badge.svg\n   :target: https://github.com/python-control/python-control/actions/workflows/control-slycot-src.yml\n\n.. image:: https://coveralls.io/repos/python-control/python-control/badge.svg\n   :target: https://coveralls.io/r/python-control/python-control\n\nPython Control Systems Library\n==============================\n\nThe Python Control Systems Library is a Python module that implements basic\noperations for analysis and design of feedback control systems.\n\nHave a go now!\n--------------\nTry out the examples in the examples folder using the binder service.\n\n.. image:: https://mybinder.org/badge_logo.svg\n :target: https://mybinder.org/v2/gh/python-control/python-control/HEAD\n\nThe package can also be installed on Google Colab using the commands::\n\n  %pip install control\n  import control as ct\n\nFeatures\n--------\n\n- Linear input/output systems in state-space and frequency domain\n- Block diagram algebra: serial, parallel, feedback, and other interconnections\n- Time response: initial, step, impulse\n- Frequency response: Bode, Nyquist, and Nichols plots\n- Control analysis: stability, reachability, observability, stability margins, root locus\n- Control design: eigenvalue placement, linear quadratic regulator, sisotool, hinfsyn, rootlocus_pid_designer\n- Estimator design: linear quadratic estimator (Kalman filter)\n- Nonlinear systems: optimization-based control, describing functions, differential flatness\n\nLinks\n-----\n\n- Project home page: https://python-control.org\n- Source code repository: https://github.com/python-control/python-control\n- Documentation: https://python-control.readthedocs.io/\n- Issue tracker: https://github.com/python-control/python-control/issues\n- Mailing list: https://sourceforge.net/p/python-control/mailman/\n\nDependencies\n------------\n\nThe package requires numpy, scipy, and matplotlib.  In addition, some routines\nuse a module called slycot, that is a Python wrapper around some FORTRAN\nroutines.  Many parts of python-control will work without slycot, but some\nfunctionality is limited or absent, and installation of slycot is recommended\n(see below). The Slycot wrapper can be found at:\n\nhttps://github.com/python-control/Slycot\n\n\nInstallation\n============\n\nConda and conda-forge\n---------------------\n\nThe easiest way to get started with the Control Systems library is\nusing `Conda \u003chttps://conda.io\u003e`_.\n\nThe Control Systems library has packages available using the `conda-forge\n\u003chttps://conda-forge.org\u003e`_ Conda channel, and as of Slycot version\n0.3.4, binaries for that package are available for 64-bit Windows,\nOSX, and Linux.\n\nTo install both the Control Systems library and Slycot in an existing\nconda environment, run::\n\n  conda install -c conda-forge control slycot\n\nMixing packages from conda-forge and the default conda channel can\nsometimes cause problems with dependencies, so it is usually best to\ninstally NumPy, SciPy, and Matplotlib from conda-forge as well.\n\nPip\n---\n\nTo install using pip::\n\n  pip install slycot   # optional; see below\n  pip install control\n\nIf you install Slycot using pip you'll need a development environment\n(e.g., Python development files, C and Fortran compilers).  Pip\ninstallation can be particularly complicated for Windows.\n\nInstalling from source\n----------------------\n\nTo install from source, get the source code of the desired branch or release\nfrom the github repository or archive, unpack, and run from within the\ntoplevel `python-control` directory::\n\n  pip install .\n\nArticle and Citation Information\n================================\n\nAn `article \u003chttps://ieeexplore.ieee.org/abstract/document/9683368\u003e`_ about\nthe library is available on IEEE Explore. If the Python Control Systems Library helped you in your research, please cite::\n\n  @inproceedings{python-control2021,\n    title={The Python Control Systems Library (python-control)},\n    author={Fuller, Sawyer and Greiner, Ben and Moore, Jason and\n            Murray, Richard and van Paassen, Ren{\\'e} and Yorke, Rory},\n    booktitle={60th IEEE Conference on Decision and Control (CDC)},\n    pages={4875--4881},\n    year={2021},\n    organization={IEEE}\n  }\n\nor the GitHub site: https://github.com/python-control/python-control\n\nDevelopment\n===========\n\nCode\n----\n\nYou can check out the latest version of the source code with the command::\n\n  git clone https://github.com/python-control/python-control.git\n\nTesting\n-------\n\nYou can run the unit tests with `pytest`_ to make sure that everything is\nworking correctly.  Inside the source directory, run::\n\n  pytest -v\n\nor to test the installed package::\n\n  pytest --pyargs control -v\n\n.. _pytest: https://docs.pytest.org/\n\nLicense\n-------\n\nThis is free software released under the terms of `the BSD 3-Clause\nLicense \u003chttps://opensource.org/licenses/BSD-3-Clause\u003e`_.  There is no\nwarranty; not even for merchantability or fitness for a particular\npurpose.  Consult LICENSE for copying conditions.\n\nWhen code is modified or re-distributed, the LICENSE file should\naccompany the code or any subset of it, however small.  As an\nalternative, the LICENSE text can be copied within files, if so\ndesired.\n\nContributing\n------------\n\nYour contributions are welcome!  Simply fork the GitHub repository and send a\n`pull request`_.\n\n.. _pull request: https://github.com/python-control/python-control/pulls\n\nPlease see the `Developer's Wiki`_ for detailed instructions.\n\n.. _Developer's Wiki: https://github.com/python-control/python-control/wiki\n","funding_links":[],"categories":["\u003cspan id=\"head29\"\u003e3.3. Optimal Control\u003c/span\u003e","Python"],"sub_categories":["3.2.5. First Order Methods"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpython-control%2Fpython-control","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpython-control%2Fpython-control","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpython-control%2Fpython-control/lists"}