control


Namecontrol JSON
Version 0.10.0 PyPI version JSON
download
home_pageNone
SummaryPython Control Systems Library
upload_time2024-03-31 17:18:34
maintainerNone
docs_urlNone
authorNone
requires_python>=3.10
licenseBSD-3-Clause
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            .. image:: https://anaconda.org/conda-forge/control/badges/version.svg
   :target: https://anaconda.org/conda-forge/control

.. image:: https://img.shields.io/pypi/v/control.svg
   :target: https://pypi.org/project/control/

.. image:: https://github.com/python-control/python-control/actions/workflows/python-package-conda.yml/badge.svg
   :target: https://github.com/python-control/python-control/actions/workflows/python-package-conda.yml

.. image:: https://github.com/python-control/python-control/actions/workflows/install_examples.yml/badge.svg
   :target: https://github.com/python-control/python-control/actions/workflows/install_examples.yml

.. image:: https://github.com/python-control/python-control/actions/workflows/control-slycot-src.yml/badge.svg
   :target: https://github.com/python-control/python-control/actions/workflows/control-slycot-src.yml

.. image:: https://coveralls.io/repos/python-control/python-control/badge.svg
   :target: https://coveralls.io/r/python-control/python-control

Python Control Systems Library
==============================

The Python Control Systems Library is a Python module that implements basic
operations for analysis and design of feedback control systems.

Have a go now!
--------------
Try out the examples in the examples folder using the binder service.

.. image:: https://mybinder.org/badge_logo.svg
 :target: https://mybinder.org/v2/gh/python-control/python-control/HEAD

The package can also be installed on Google Colab using the commands::

  !pip install control
  import control as ct

Features
--------

- Linear input/output systems in state-space and frequency domain
- Block diagram algebra: serial, parallel, feedback, and other interconnections
- Time response: initial, step, impulse
- Frequency response: Bode, Nyquist, and Nichols plots
- Control analysis: stability, reachability, observability, stability margins, root locus
- Control design: eigenvalue placement, linear quadratic regulator, sisotool, hinfsyn, rootlocus_pid_designer
- Estimator design: linear quadratic estimator (Kalman filter)
- Nonlinear systems: optimization-based control, describing functions, differential flatness

Links
-----

- Project home page: http://python-control.org
- Source code repository: https://github.com/python-control/python-control
- Documentation: http://python-control.readthedocs.org/
- Issue tracker: https://github.com/python-control/python-control/issues
- Mailing list: http://sourceforge.net/p/python-control/mailman/

Dependencies
------------

The package requires numpy, scipy, and matplotlib.  In addition, some routines
use a module called slycot, that is a Python wrapper around some FORTRAN
routines.  Many parts of python-control will work without slycot, but some
functionality is limited or absent, and installation of slycot is recommended
(see below). The Slycot wrapper can be found at:

https://github.com/python-control/Slycot


Installation
============

Conda and conda-forge
---------------------

The easiest way to get started with the Control Systems library is
using `Conda <https://conda.io>`_.

The Control Systems library has packages available using the `conda-forge
<https://conda-forge.org>`_ Conda channel, and as of Slycot version
0.3.4, binaries for that package are available for 64-bit Windows,
OSX, and Linux.

To install both the Control Systems library and Slycot in an existing
conda environment, run::

  conda install -c conda-forge control slycot

Mixing packages from conda-forge and the default conda channel can
sometimes cause problems with dependencies, so it is usually best to
instally NumPy, SciPy, and Matplotlib from conda-forge as well.

Pip
---

To install using pip::

  pip install slycot   # optional; see below
  pip install control

If you install Slycot using pip you'll need a development environment
(e.g., Python development files, C and Fortran compilers).  Pip
installation can be particularly complicated for Windows.

Installing from source
----------------------

To install from source, get the source code of the desired branch or release
from the github repository or archive, unpack, and run from within the
toplevel `python-control` directory::

  pip install .
  
Article and Citation Information
================================

An `article <https://ieeexplore.ieee.org/abstract/document/9683368>`_ about
the library is available on IEEE Explore. If the Python Control Systems Library helped you in your research, please cite::

  @inproceedings{python-control2021,
    title={The Python Control Systems Library (python-control)},
    author={Fuller, Sawyer and Greiner, Ben and Moore, Jason and
            Murray, Richard and van Paassen, Ren{\'e} and Yorke, Rory},
    booktitle={60th IEEE Conference on Decision and Control (CDC)},
    pages={4875--4881},
    year={2021},
    organization={IEEE}
  }

or the GitHub site: https://github.com/python-control/python-control


Development
===========

Code
----

You can check out the latest version of the source code with the command::

  git clone https://github.com/python-control/python-control.git

Testing
-------

You can run the unit tests with `pytest`_ to make sure that everything is
working correctly.  Inside the source directory, run::

  pytest -v

or to test the installed package::

  pytest --pyargs control -v

.. _pytest: https://docs.pytest.org/

License
-------

This is free software released under the terms of `the BSD 3-Clause
License <http://opensource.org/licenses/BSD-3-Clause>`_.  There is no
warranty; not even for merchantability or fitness for a particular
purpose.  Consult LICENSE for copying conditions.

When code is modified or re-distributed, the LICENSE file should
accompany the code or any subset of it, however small.  As an
alternative, the LICENSE text can be copied within files, if so
desired.

Contributing
------------

Your contributions are welcome!  Simply fork the GitHub repository and send a
`pull request`_.

.. _pull request: https://github.com/python-control/python-control/pulls

Please see the `Developer's Wiki`_ for detailed instructions.

.. _Developer's Wiki: https://github.com/python-control/python-control/wiki


            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "control",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.10",
    "maintainer_email": null,
    "keywords": null,
    "author": null,
    "author_email": "Python Control Developers <python-control-developers@lists.sourceforge.net>",
    "download_url": "https://files.pythonhosted.org/packages/ee/64/02fedcf78b070571f5e446efb55b7ec82b68187323402b99b6f98f769530/control-0.10.0.tar.gz",
    "platform": null,
    "description": ".. 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 \u00a0 :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: http://python-control.org\n- Source code repository: https://github.com/python-control/python-control\n- Documentation: http://python-control.readthedocs.org/\n- Issue tracker: https://github.com/python-control/python-control/issues\n- Mailing list: http://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 <https://conda.io>`_.\n\nThe Control Systems library has packages available using the `conda-forge\n<https://conda-forge.org>`_ 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 <https://ieeexplore.ieee.org/abstract/document/9683368>`_ 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\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 <http://opensource.org/licenses/BSD-3-Clause>`_.  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\n",
    "bugtrack_url": null,
    "license": "BSD-3-Clause",
    "summary": "Python Control Systems Library",
    "version": "0.10.0",
    "project_urls": {
        "homepage": "https://python-control.org",
        "source": "https://github.com/python-control/python-control"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4dde327ab576657cb6bd5678e5d4fa266f3c4c7094e99df2bb7760e89176772d",
                "md5": "bd8321a07d31b94860e4586fe701821b",
                "sha256": "ed1e0eb73f1e2945fc9af9d7b9121ef328fe980e7903b2a14b149d4f1855a808"
            },
            "downloads": -1,
            "filename": "control-0.10.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "bd8321a07d31b94860e4586fe701821b",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.10",
            "size": 513858,
            "upload_time": "2024-03-31T17:18:22",
            "upload_time_iso_8601": "2024-03-31T17:18:22.034835Z",
            "url": "https://files.pythonhosted.org/packages/4d/de/327ab576657cb6bd5678e5d4fa266f3c4c7094e99df2bb7760e89176772d/control-0.10.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "ee6402fedcf78b070571f5e446efb55b7ec82b68187323402b99b6f98f769530",
                "md5": "77a5859f9b051fb0e0739a148b8656f5",
                "sha256": "2c18b767537f45c7fd07b2e4afe8fbe5964019499b5f52f888edb5d8560bab53"
            },
            "downloads": -1,
            "filename": "control-0.10.0.tar.gz",
            "has_sig": false,
            "md5_digest": "77a5859f9b051fb0e0739a148b8656f5",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.10",
            "size": 8956376,
            "upload_time": "2024-03-31T17:18:34",
            "upload_time_iso_8601": "2024-03-31T17:18:34.696240Z",
            "url": "https://files.pythonhosted.org/packages/ee/64/02fedcf78b070571f5e446efb55b7ec82b68187323402b99b6f98f769530/control-0.10.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-03-31 17:18:34",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "python-control",
    "github_project": "python-control",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "control"
}
        
Elapsed time: 0.21526s