8000 Add sphinx doc by KybernetikJo · Pull Request #202 · python-control/Slycot · GitHub
[go: up one dir, main page]

Skip to content

Add sphinx doc #202

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 23 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
Show all changes
23 commits
Select commit Hold shift + click to select a range
a99afe1
DOC: Add sphinx doc, initial commit
KybernetikJo Jul 26, 2023
d0a0d2d
DOC: Add examples
KybernetikJo Jul 26, 2023
224221e
Update gitignore
KybernetikJo Jul 26, 2023
c764077
DOC: Add slicot and slycot inspection
KybernetikJo Jul 26, 2023
4045036
Update inspection notebooks
KybernetikJo Aug 8, 2023
8427bc0
Update development info
KybernetikJo Aug 8, 2023
0727127
Improve inspection notebooks, Minor update of docs
KybernetikJo Aug 8, 2023
a4d302b
Remove SLICOT help html files from _static, add link to online SLICOT…
KybernetikJo Aug 9, 2023
0450153
Update outer and inner function reference
KybernetikJo Aug 9, 2023
90e328f
Update inpect_notebooks, Update create names for Slycot reference.
KybernetikJo Aug 17, 2023
d7f56e6
Update inpection notebooks
KybernetikJo Aug 18, 2023
61ed3d2
Add code to get info of release and version from git tags
KybernetikJo Aug 25, 2023
501e5e5
Update doc/source to add new routines
KybernetikJo Aug 25, 2023
6e67460
Add check_names, checks if all routines are added in sphinx help
KybernetikJo Aug 26, 2023
b6b4579
Add ag08bd, add sb10yd to help
KybernetikJo Aug 26, 2023
62696c4
Add new routines to sphinx doc
KybernetikJo Jan 9, 2024
c542a90
Pump sphinx doc requirements
KybernetikJo Jan 9, 2024
ec834fc
Update slycot inpect notebooks
KybernetikJo Jan 9, 2024
c08b251
Automate update of year in copyright
KybernetikJo Jan 9, 2024
7bd444d
Change doc organization to diataxis approach
KybernetikJo Jan 18, 2024
d850266
Add sphinx-copybutton
KybernetikJo Jan 19, 2024
e5765c7
Update venn diagramm in inpect notebooks
KybernetikJo Apr 4, 2024
9b6b178
Update ho-to-guides examples
KybernetikJo Apr 4, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
Next Next commit
DOC: Add sphinx doc, initial commit
  • Loading branch information
KybernetikJo committed Apr 6, 2024
commit a99afe1dbde6e30424521a0d0efd2e2a4db12c91
20 changes: 20 additions & 0 deletions doc/Makefile
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Minimal makefile for Sphinx documentation
#

# You can set these variables from the command line, and also
# from the environment for the first two.
SPHINXOPTS ?=
SPHINXBUILD ?= sphinx-build
SOURCEDIR = .
BUILDDIR = _build

# Put it first so that "make" without argument is like "make help".
help:
@$(SPHINXBUILD) -M help "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)

.PHONY: help Makefile

# Catch-all target: route all unknown targets to Sphinx using the new
# "make mode" option. $(O) is meant as a shortcut for $(SPHINXOPTS).
%: Makefile
@$(SPHINXBUILD) -M $@ "$(SOURCEDIR)" "$(BUILDDIR)" $(SPHINXOPTS) $(O)
Binary file added doc/_build/doctrees/environment.pickle
Binary file not shown.
Binary file added doc/_build/doctrees/index.doctree
Binary file not shown.
Binary file added doc/_build/doctrees/intro.doctree
Binary file not shown.
262 changes: 262 additions & 0 deletions doc/_build/doctrees/nbsphinx/source/dev/inspect_slycot.ipynb

Large diffs are not rendered by default.

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added doc/_build/doctrees/source/dev/basic.doctree
Binary file not shown.
Binary file added doc/_build/doctrees/source/dev/index.doctree
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
10000
Binary file not shown.
Binary file not shown.
4 changes: 4 additions & 0 deletions doc/_build/html/.buildinfo
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 59b0ef15c44f238dfc51bd39a66aeba3
tags: 645f666f9bcd5a90fca523b33c5a78b7
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
40 changes: 40 additions & 0 deletions doc/_build/html/_sources/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
.. slycot documentation master file, created by
sphinx-quickstart on Wed Jul 26 15:18:00 2023.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.

Slycot
======

Python wrapper for selected SLICOT routines,
notably including solvers for Riccati, Lyapunov, and Sylvester equations.

.. rubric:: Features

- Analysis Routines
- Benchmark
- Adaptive Control
- Data Analysis
- Filtering
- Identification
- Mathematical Routines
- Nonlinear Systems
- Synthesis Routines
- Transformation Routines
- Utility Routines

.. rubric:: Documentation

.. toctree::
:maxdepth: 1

intro
source/reference/index
source/dev/index

Indices and tables
==================

* :ref:`genindex`
* :ref:`modindex`
* :ref:`search`
59 changes: 59 additions & 0 deletions doc/_build/html/_sources/intro.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
************
Introduction
************

Welcome to the Slycot (`slycot`) User's Manual.
This manual contains information on using the `slycot` package,
including documentation for all functions in the package and examples illustrating their use.

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

The `slycot` package can be installed using conda or pip. The
package requires `NumPy <http://www.numpy.org>`_.

For users with the Anaconda distribution of Python, the following
command can be used::

conda install -c conda-forge slycot

This installs `slycot` from conda-forge, including the
`openblas` package. NumPy will also be installed if
they are not already present.

.. note::
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.

To install using pip::

pip install slycot

.. note::
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.

Users can check to insure that slycot is installed
correctly by running the command::

python -c "import slycot"

and verifying that no error message appears. More information on the
Slycot package can be obtained from the `Slycot project page
<https://github.com/python-control/Slycot>`_.

Alternatively, to install from source, first `download the source
<https://github.com/python-control/Slycot>`_ and unpack it.
To install in your home directory, use::

pip install .

Getting started
===============

There are two different ways to use the package. For the default interface
described in :ref:`function-ref`, simply import the control package as follows::

>>> import slycot
140 changes: 140 additions & 0 deletions doc/_build/html/_sources/source/dev/basic.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,140 @@
**********************
Contributing to Slycot
**********************

F2PY
====
Slycot heavily relias on `F2PY <https://numpy.org/devdocs/f2py/index.html>`_.
`F2PY`_ is currently a part of `NumPy <http://www.numpy.org>`_.

Development process - summary
=============================

Here's the short summary, complete TOC links are below:

1. If you are a first-time contributor:

* Go to `https://github.com/numpy/numpy
<https://github.com/numpy/numpy>`_ and click the
"fork" button to create your own copy of the project.

* Clone the project to your local computer::

git clone --recurse-submodules https://github.com/your-username/numpy.git

* Change the directory::

cd numpy

* Add the upstream repository::

git remote add upstream https://github.com/numpy/numpy.git

* Now, ``git remote -v`` will show two remote repositories named:

- ``upstream``, which refers to the ``numpy`` repository
- ``origin``, which refers to your personal fork

* Pull the latest changes from upstream, including tags::

git checkout main
git pull upstream main --tags

* Initialize numpy's submodules::

git submodule update --init

2. Develop your contribution:

* Create a branch for the feature you want to work on. Since the
branch name will appear in the merge message, use a sensible name
such as 'linspace-speedups'::

git checkout -b linspace-speedups

* Commit locally as you progress (``git add`` and ``git commit``)
Use a :ref:`properly formatted<writing-the-commit-message>` commit message,
write tests that fail before your change and pass afterward, run all the
:ref:`tests locally<development-environment>`. Be sure to document any
changed behavior in docstrings, keeping to the NumPy docstring
:ref:`standard<howto-document>`.

3. To submit your contribution:

* Push your changes back to your fork on GitHub::

git push origin linspace-speedups

* Enter your GitHub username and password (repeat contributors or advanced
users can remove this step by connecting to GitHub with
:ref:`SSH<set-up-and-configure-a-github-account>`).

* Go to GitHub. The new branch will show up with a green Pull Request
button. Make sure the title and message are clear, concise, and self-
explanatory. Then click the button to submit it.

* If your commit introduces a new feature or changes functionality, post on
the `mailing list`_ to explain your changes. For bug fixes, documentation
updates, etc., this is generally not necessary, though if you do not get
any reaction, do feel free to ask for review.

4. Review process:

* Reviewers (the other developers and interested community members) will
write inline and/or general comments on your Pull Request (PR) to help
you improve its implementation, documentation and style. Every single
developer working on the project has their code reviewed, and we've come
to see it as friendly conversation from which we all learn and the
overall code quality benefits. Therefore, please don't let the review
discourage you from contributing: its only aim is to improve the quality
of project, not to criticize (we are, after all, very grateful for the
time you're donating!). See our :ref:`Reviewer Guidelines
<reviewer-guidelines>` for more information.

* To update your PR, make your changes on your local repository, commit,
**run tests, and only if they succeed** push to your fork. As soon as
those changes are pushed up (to the same branch as before) the PR will
update automatically. If you have no idea how to fix the test failures,
you may push your changes anyway and ask for help in a PR comment.

* Various continuous integration (CI) services are triggered after each PR
update to build the code, run unit tests, measure code coverage and check
coding style of your branch. The CI tests must pass before your PR can be
merged. If CI fails, you can find out why by clicking on the "failed"
icon (red cross) and inspecting the build and test log. To avoid overuse
and waste of this resource,
:ref:`test your work<recommended-development-setup>` locally before
committing.

* A PR must be **approved** by at least one core team member before merging.
Approval means the core team member has carefully reviewed the changes,
and the PR is ready for merging.

5. Document changes

Beyond changes to a functions docstring and possible description in the
general documentation, if your change introduces any user-facing
modifications they may need to be mentioned in the release notes.
To add your change to the release notes, you need to create a short file
with a summary and place it in ``doc/release/upcoming_changes``.
The file ``doc/release/upcoming_changes/README.rst`` details the format and
filename conventions.

If your change introduces a deprecation, make sure to discuss this first on
GitHub or the mailing list first. If agreement on the deprecation is
reached, follow :ref:`NEP 23 deprecation policy <NEP23>` to add the deprecation.

6. Cross referencing issues

If the PR relates to any issues, you can add the text ``xref gh-xxxx`` where
``xxxx`` is the number of the issue to github comments. Likewise, if the PR
solves an issue, replace the ``xref`` with ``closes``, ``fixes`` or any of
the other flavors `github accepts <https://help.github.com/en/articles/
closing-issues-using-keywords>`_.

In the source code, be sure to preface any issue or PR reference with
``gh-xxxx``.

For a more detailed discussion, read on and follow the links at the bottom of
this page.

10 changes: 10 additions & 0 deletions doc/_build/html/_sources/source/dev/index.rst.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
******************
Development
******************

.. toctree::
:maxdepth: 1

basic
inspect_slycot

Loading
0