{ "info": { "author": "Ilhan Polat", "author_email": "harold.of.python@gmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Intended Audience :: Developers", "Intended Audience :: Science/Research", "License :: OSI Approved :: MIT License", "Operating System :: MacOS", "Operating System :: Microsoft :: Windows", "Operating System :: POSIX", "Operating System :: Unix", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.6", "Topic :: Scientific/Engineering", "Topic :: Software Development", "Topic :: Software Development :: Build Tools" ], "description": "|Travis-CI| |License| |Gitter| |Coveralls| |ReadTheDocs| |Downloads|\n\nharold\n======\n\nA control systems package for Python3 (>=v3.6 required).\n\nIntroduction\n============\n\nThis package is written with the ambition of becoming a daily work-horse of\na control engineer/student/researcher with complete access to the source code\nwith full rights (see ``LICENSE`` file) while still working inside a\nfull-fledged programming language. This allows for working in any medium that\nsupports Python and its scientific packages NumPy and SciPy.\n\n``harold`` fully supports the mantra of reproducible research and thus aims\nto provide the means of accessible and transparent computational development\ntools.\n\nUsage\n=====\n\nA brief tutorial about the basics can be found under the notebooks folder.\n\nDocumentation\n=============\n\nSee the `Sphinx documentation`_ .\n\nUseful Links\n============\n\n1- There is already an almost-matured control toolbox which is led by\nRichard Murray et al. (`click for the Github page`_ ) and it can perform\nalready most of the essential tasks. Hence, if you want to have\nsomething that resembles the basics of matlab control toolbox, you should give\nit a try. However, it is somewhat limited to SISO tools and also relies on\nSLICOT library which can lead to installation hassle and/or licensing\nproblems for nontrivial tasks.\n\n2- You can also use the tools available in SciPy ``signal`` module for basics\nof LTI system manipulations.\n\n3- Instead, if you are interested in robust control you probably would\nappreciate the `Skogestad-Python`_ project.\n\nHelp Wanted!\n============\n\n``harold`` is built on rainy days and boring evenings unless you hire me\ndirectly for a specific tool. If you are missing out a feature, don't be shy\nand contact me. User-feedback has higher priority over the general development.\n\nBug reports and PR submissions are more than welcome!\n\nContact\n--------\n\nIf you have questions/comments feel free to shoot one to\n``harold.of.python@gmail.com`` or join the Gitter chatroom.\n\n.. _click for the Github page: https://github.com/python-control/python-control\n.. _Sphinx documentation: http://harold.readthedocs.org/en/latest/\n.. _Skogestad-Python: https://github.com/alchemyst/Skogestad-Python\n\n.. |License| image:: https://img.shields.io/github/license/mashape/apistatus.svg\n :target: https://github.com/ilayn/harold/blob/master/LICENSE\n.. |Gitter| image:: https://badges.gitter.im/Join%20Chat.svg\n :target: https://gitter.im/ilayn/harold?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge\n.. |Travis-CI| image:: https://travis-ci.org/ilayn/harold.svg?branch=master\n :target: https://travis-ci.org/ilayn/harold\n.. |Coveralls| image:: https://coveralls.io/repos/github/ilayn/harold/badge.svg?branch=master\n :target: https://coveralls.io/github/ilayn/harold?branch=master\n.. |ReadTheDocs| image:: https://readthedocs.org/projects/harold/badge/?version=latest\n :target: http://harold.readthedocs.io/en/latest/?badge=latest\n :alt: Documentation Status\n.. |Downloads| image:: http://pepy.tech/badge/harold\n :target: http://pepy.tech/count/harold\n :alt: Download Counts\n\n\ufeff\nChangeLog\n============\nv.1.0.1\n-------\n+ Restructured documentation, now has a function reference template.\n+ State and Transfer conversion with static cols/rows bugs fixed.\n+ minimal_realization and staircase bugs fixed\n+ random model creation in continuous and discrete time is possible.\n+ pole placement via ackermann\n\nv.1.0.0\n-------\n+ First public release\n+ Time domain plots and auto time sequence generation.\n+ Unit tests are significantly improved(>80%)\n+ Lots and lots of bug fixes.\n+ Change the documentation theme to guzzle\n+ Added first order hold discretization method\n+ Removed FAQ from docs\n\nv.0.1.1rc1\n----------\n+ Unified State, Transfer checks via arg_utils\n+ Fixed transfer_to_state argument signature\n+ Added discretization and undiscretization funcs\n+ Separated the frequency domain computations and plotting\n+ Rewritten the frequency grid generation\n+ Fixed some of the unwrapping bugs\n+ Added lqr, dlqr, lqry and dlqry with a single signature\n+ Refactored minimal_realization related funcs.\n+ Fixed hinf-norm bugs\n+ Started time domain plots.\n\nv0.1.1b5\n--------\n+ Requirement of NumPy is changed to 1.13 and above. Among others, we need\n `__array_ufunc__` override mechanism for representation algebra. This\n should not be an issue since noone seems to use this.\n+ The representations can now be sliced with `G[:,1:3]` etc.\n\nv0.1.1b4\n--------\n+ Sanitized the circular dependencies a bit more\n+ minimal_realization is changed to accept models instead of A,B,C triplet\n+ minimal_realization for Transfer uses the pole zero cancellation check\n+ more housekeeping and bug fixes\n+ added damping, natural frequency properties of poles\n+ state_to_transfer does not return minimal realizations (per request)\n\nv0.1.1b3\n--------\n+ More tests\n+ bode, nyquist plots with matplotlib\n+ Rewritten the transmission_zeros to improve accuracy\n+ Removed the single file and replaced it with modular files.\n+ Refactored Riccati solvers to SciPy official repo\n+ Lyapunov solver safety net is moot. Created PR #6775 in SciPy\n\nv0.1.1b2\n--------\n+ Added Riccati solvers\n+ More documentation\n+ Added safety net for lyapunov solvers in case there is no solution\n\nv0.1.1b1\n--------\n+ Added Lyapunov solvers\n+ Fixed many bugs\n+ Removed block diag and switched to scipy version\n\nv0.1.1a\n-------\n+ Initial versioning and packaging.\n+ Adding documentation and Sphinx integration.\n+ Basically everything there is.\n\n", "description_content_type": "", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ilayn/harold", "keywords": "control-theory PID controller design industrial automation", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "harold", "package_url": "https://pypi.org/project/harold/", "platform": "", "project_url": "https://pypi.org/project/harold/", "project_urls": { "Homepage": "https://github.com/ilayn/harold" }, "release_url": "https://pypi.org/project/harold/1.0.1/", "requires_dist": [ "numpy", "scipy", "matplotlib", "tabulate", "check-manifest; extra == 'dev'", "coverage; extra == 'test'" ], "requires_python": ">=3.6", "summary": "A control systems library for Python3", "version": "1.0.1" }, "last_serial": 3974478, "releases": { "1.0.0": [ { "comment_text": "", "digests": { "md5": "74aed981315ccb2b54b6e12efad0afd1", "sha256": "d13f5c827199a78346c593dcd929983983ade46cbdf322ff64c4df7ed0540d1f" }, "downloads": -1, "filename": "harold-1.0.0-py3-none-any.whl", "has_sig": false, "md5_digest": "74aed981315ccb2b54b6e12efad0afd1", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": null, "size": 91756, "upload_time": "2018-05-23T16:55:57", "url": "https://files.pythonhosted.org/packages/ee/64/1cecdb697adc4938daddc56b818f512c3a5136a4e59c0f3ff1bd82448a21/harold-1.0.0-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "95b9aa40f56bba26c3d13faf9b619624", "sha256": "cdf528f6a81537ebc125070a3dfe83e2defd9ff96223709cbf5a56a28612f90f" }, "downloads": -1, "filename": "harold-1.0.0.zip", "has_sig": false, "md5_digest": "95b9aa40f56bba26c3d13faf9b619624", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 98616, "upload_time": "2018-05-23T16:55:58", "url": "https://files.pythonhosted.org/packages/c2/d0/8c6a1b4dec3cd348f43c0f519ceb38884c4b8adc423910e020298189015d/harold-1.0.0.zip" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "3ed3be235c5e7402a316b6ac87ddf0d2", "sha256": "838d62d022836d346f53d1d73e9b01d1fae65bec16bbbdf950bb3ccfa97e8bc8" }, "downloads": -1, "filename": "harold-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3ed3be235c5e7402a316b6ac87ddf0d2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 90450, "upload_time": "2018-06-18T18:45:55", "url": "https://files.pythonhosted.org/packages/2e/14/386e5282bf5bb9ad54138e57ee6ccebff87f461eada3004a0bd29d2ea2cd/harold-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "348008facc013253bc45d6e638593ad7", "sha256": "65a4ea248c5ee2eba991e29ad5f43c69b2b7e4a339c4d73a8f97d9ed6589a689" }, "downloads": -1, "filename": "harold-1.0.1.tar.gz", "has_sig": false, "md5_digest": "348008facc013253bc45d6e638593ad7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 78595, "upload_time": "2018-06-18T18:45:56", "url": "https://files.pythonhosted.org/packages/10/19/e9f459eae84ba675c427c3237358efbb419ad40947b2e80cc5ee0e1ee536/harold-1.0.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "3ed3be235c5e7402a316b6ac87ddf0d2", "sha256": "838d62d022836d346f53d1d73e9b01d1fae65bec16bbbdf950bb3ccfa97e8bc8" }, "downloads": -1, "filename": "harold-1.0.1-py3-none-any.whl", "has_sig": false, "md5_digest": "3ed3be235c5e7402a316b6ac87ddf0d2", "packagetype": "bdist_wheel", "python_version": "py3", "requires_python": ">=3.6", "size": 90450, "upload_time": "2018-06-18T18:45:55", "url": "https://files.pythonhosted.org/packages/2e/14/386e5282bf5bb9ad54138e57ee6ccebff87f461eada3004a0bd29d2ea2cd/harold-1.0.1-py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "348008facc013253bc45d6e638593ad7", "sha256": "65a4ea248c5ee2eba991e29ad5f43c69b2b7e4a339c4d73a8f97d9ed6589a689" }, "downloads": -1, "filename": "harold-1.0.1.tar.gz", "has_sig": false, "md5_digest": "348008facc013253bc45d6e638593ad7", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.6", "size": 78595, "upload_time": "2018-06-18T18:45:56", "url": "https://files.pythonhosted.org/packages/10/19/e9f459eae84ba675c427c3237358efbb419ad40947b2e80cc5ee0e1ee536/harold-1.0.1.tar.gz" } ] }