Skip to content

Commit 9d55419

Browse files
committed
Merge remote-tracking branch 'origin/main' into jdelange/disk-margins
2 parents edf8040 + dc7d71b commit 9d55419

300 files changed

Lines changed: 19113 additions & 8924 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/conda-env/doctest-env.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,10 @@ dependencies:
77
- numpy
88
- matplotlib
99
- scipy
10-
- sphinx
10+
- sphinx<8.2
1111
- sphinx_rtd_theme
1212
- ipykernel
1313
- nbsphinx
1414
- docutils
1515
- numpydoc
16+
- sphinx-copybutton

.github/conda-env/test-env.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,4 @@ dependencies:
99
- numpy
1010
- matplotlib
1111
- scipy
12+
- numpydoc

.github/scripts/set-conda-test-matrix.py

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,8 @@
1-
""" set-conda-test-matrix.py
1+
"""Create test matrix for conda packages in OS/BLAS test matrix workflow."""
22

3-
Create test matrix for conda packages
4-
"""
5-
import json, re
3+
import json
64
from pathlib import Path
5+
import re
76

87
osmap = {'linux': 'ubuntu',
98
'osx': 'macos',

.github/scripts/set-pip-test-matrix.py

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
1-
""" set-pip-test-matrix.py
1+
"""Create test matrix for pip wheels in OS/BLAS test matrix workflow."""
22

3-
Create test matrix for pip wheels
4-
"""
53
import json
64
from pathlib import Path
75

.github/workflows/doctest.yml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ jobs:
1919
activate-environment: doctest-env
2020
environment-file: .github/conda-env/doctest-env.yml
2121
miniforge-version: latest
22-
channels: conda-forge
22+
channels: conda-forge,defaults
2323
channel-priority: strict
2424
auto-update-conda: false
2525
auto-activate-base: false
@@ -36,6 +36,13 @@ jobs:
3636
make html
3737
make doctest
3838
39+
- name: Run pytest
40+
shell: bash -l {0}
41+
working-directory: doc
42+
run: |
43+
make html
44+
PYTHONPATH=../ pytest
45+
3946
- name: Archive results
4047
uses: actions/upload-artifact@v4
4148
with:

.github/workflows/install_examples.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ jobs:
2020
--quiet --yes \
2121
python=3.12 pip \
2222
numpy matplotlib scipy \
23-
slycot pmw jupyter
23+
slycot pmw jupyter \
24+
ipython!=9.0
2425
2526
- name: Install from source
2627
run: |

.github/workflows/os-blas-test-matrix.yml

Lines changed: 11 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ jobs:
126126
activate-environment: build-env
127127
environment-file: .github/conda-env/build-env.yml
128128
miniforge-version: latest
129+
channels: conda-forge,defaults
129130
channel-priority: strict
130131
auto-update-conda: false
131132
auto-activate-base: false
@@ -170,7 +171,10 @@ jobs:
170171
name: slycot-wheels
171172
path: slycot-wheels
172173
- id: set-matrix
173-
run: echo "matrix=$(python3 .github/scripts/set-pip-test-matrix.py)" >> $GITHUB_OUTPUT
174+
run: |
175+
TEMPFILE="$(mktemp)"
176+
python3 .github/scripts/set-pip-test-matrix.py | tee $TEMPFILE
177+
echo "matrix=$(cat $TEMPFILE)" >> $GITHUB_OUTPUT
174178
175179
176180
create-conda-test-matrix:
@@ -194,7 +198,10 @@ jobs:
194198
name: slycot-conda-pkgs
195199
path: slycot-conda-pkgs
196200
- id: set-matrix
197-
run: echo "matrix=$(python3 .github/scripts/set-conda-test-matrix.py)" >> $GITHUB_OUTPUT
201+
run: |
202+
TEMPFILE="$(mktemp)"
203+
python3 .github/scripts/set-conda-test-matrix.py | tee $TEMPFILE
204+
echo "matrix=$(cat $TEMPFILE)" >> $GITHUB_OUTPUT
198205
199206
200207
test-wheel:
@@ -256,7 +263,7 @@ jobs:
256263
- name: Install Wheel
257264
run: |
258265
python -m pip install --upgrade pip
259-
pip install matplotlib scipy pytest pytest-cov pytest-timeout coverage
266+
pip install matplotlib scipy pytest pytest-cov pytest-timeout coverage numpydoc
260267
pip install slycot-wheels/${{ matrix.packagekey }}/slycot*.whl
261268
pip show slycot
262269
- name: Test with pytest
@@ -297,6 +304,7 @@ jobs:
297304
miniforge-version: latest
298305
activate-environment: test-env
299306
environment-file: .github/conda-env/test-env.yml
307+
channels: conda-forge,defaults
300308
channel-priority: strict
301309
auto-activate-base: false
302310
- name: Download conda packages

.github/workflows/python-package-conda.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,7 @@ jobs:
3838
activate-environment: test-env
3939
environment-file: .github/conda-env/test-env.yml
4040
miniforge-version: latest
41-
channels: conda-forge
41+
channels: conda-forge,defaults
4242
channel-priority: strict
4343
auto-update-conda: false
4444
auto-activate-base: false

.github/workflows/ruff-check.yml

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
# run ruff check on library source
2+
# TODO: extend to tests, examples, benchmarks
3+
4+
name: ruff-check
5+
6+
on: [push, pull_request]
7+
8+
jobs:
9+
ruff-check-linux:
10+
# ruff *shouldn't* be sensitive to platform
11+
runs-on: ubuntu-latest
12+
13+
steps:
14+
- name: Checkout python-control
15+
uses: actions/checkout@v3
16+
17+
- name: Setup environment
18+
uses: actions/setup-python@v4
19+
with:
20+
python-version: 3.13 # todo: latest?
21+
22+
- name: Install ruff
23+
run: |
24+
python -m pip install --upgrade pip
25+
python -m pip install ruff
26+
27+
- name: Run ruff check
28+
run: |
29+
ruff check

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ record.txt
1414
.coverage
1515
doc/_build
1616
doc/generated
17-
examples/.ipynb_checkpoints/
17+
.ipynb_checkpoints/
1818
.settings/org.eclipse.core.resources.prefs
1919
.pydevproject
2020
.project

0 commit comments

Comments
 (0)