Documentation updates by murrayrm · Pull Request #633 · python-control/python-control
This PR updates the documentation to resolve issue #604 and #631:
-
The docstring description for the
updfcnandoutfcnparameters forNonlinearIOSystemhas been updated to reflect the fact that theparamargument is required (issue update documentation for iosys/updfcn to indicate param is not optional #631; see also discussion Using a class method in a NonlinearIOSystem #630). -
The sphinx documentation for classes has been modified so that the
__call__method is now included in the documentation when it exists (issue __call__ and other new methods not described in sphinx docs #604). This required updating the sphinxconf.pyfile to allow special member functions to be included. I also put information in the class docstrings for transfer functions and state space systems about calling these objects to get the frequency response. -
The docstrings for classes yave been updated so that the sphinx documentation is now more uniform. The documentation for constructor arguments and attributes are now included in the class documentation and the
__init__docstring is suppressed in the sphinx-generated documentation (prior to this, it was sometimes in the class docstring and comes in the__init__docstring). This change also allows the unwanted documentation of the deprecatedinput,output, andstateattributes to be omitted (part of issue __call__ and other new methods not described in sphinx docs #604). -
Various other PEP8 and consistency issues were addressed.
These changes required some refactoring the code, in particular in the use of the property decorator. I also changed some of the internal class attributes to be hidden attributes (names starting with underscore) since otherwise they show up in the documentation.
The best way to see the impact of these changes is to look at the compiled documentation. You can find a version here.