Skip to content

Commit 4c32d26

Browse files
authored
Merge pull request #304 from dynamicslab/bump-versions
Bump versions in CI, requirements
2 parents 972c788 + 2ab4301 commit 4c32d26

File tree

9 files changed

+42
-31
lines changed

9 files changed

+42
-31
lines changed

.github/workflows/draft-pdf.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,15 @@ jobs:
66
name: Paper Draft
77
steps:
88
- name: Checkout
9-
uses: actions/checkout@v2
9+
uses: actions/checkout@v3
1010
- name: Build draft PDF
1111
uses: openjournals/openjournals-draft-action@master
1212
with:
1313
journal: joss
1414
# This should be the path to the paper within your repo.
1515
paper-path: docs/JOSS2/paper.md
1616
- name: Upload
17-
uses: actions/upload-artifact@v1
17+
uses: actions/upload-artifact@v3
1818
with:
1919
name: paper
2020
# This is the output path where Pandoc will write the compiled

.github/workflows/main.yml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,11 +7,11 @@ jobs:
77
runs-on: ubuntu-latest
88

99
steps:
10-
- uses: actions/checkout@v1
11-
- name: Set up Python 3.7
12-
uses: actions/setup-python@v1
10+
- uses: actions/checkout@v3
11+
- name: Set up Python
12+
uses: actions/setup-python@v3
1313
with:
14-
python-version: 3.7
14+
python-version: "3.8"
1515
- name: Linting
1616
run: |
1717
pip install pre-commit
@@ -23,12 +23,12 @@ jobs:
2323
strategy:
2424
max-parallel: 4
2525
matrix:
26-
python-version: [3.7, 3.8]
26+
python-version: ["3.8", "3.9", "3.10"]
2727

2828
steps:
29-
- uses: actions/checkout@v1
29+
- uses: actions/checkout@v3
3030
- name: Set up Python ${{ matrix.python-version }}
31-
uses: actions/setup-python@v1
31+
uses: actions/setup-python@v3
3232
with:
3333
python-version: ${{ matrix.python-version }}
3434
- name: Install dependencies
@@ -46,7 +46,7 @@ jobs:
4646
run: |
4747
pytest test --cov=pysindy --cov-report=xml
4848
- name: Upload coverage to Codecov
49-
uses: codecov/codecov-action@v1
49+
uses: codecov/codecov-action@v3
5050
with:
5151
token: ${{ secrets.CODECOV_TOKEN }}
5252
file: ./coverage.xml
@@ -55,7 +55,7 @@ jobs:
5555
pip install papermill
5656
cd examples
5757
papermill --report-mode 1_feature_overview.ipynb out.json
58-
- uses: actions/cache@v1
58+
- uses: actions/cache@v3
5959
with:
6060
path: ~/.cache/pip
6161
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements-dev.txt') }}

.github/workflows/release.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,17 +10,17 @@ jobs:
1010
runs-on: ubuntu-latest
1111
steps:
1212
- name: Checkout source
13-
uses: actions/checkout@v1
13+
uses: actions/checkout@v3
1414
- name: Set up Python
15-
uses: actions/setup-python@v1
15+
uses: actions/setup-python@v3
1616
with:
17-
python-version: 3.7
17+
python-version: "3.8"
1818
- name: Install dependencies
1919
run: pip install wheel
2020
- name: Build package
2121
run: python setup.py sdist bdist_wheel
2222
- name: Upload package
23-
uses: pypa/gh-action-pypi-publish@master
23+
uses: pypa/gh-action-pypi-publish@v1.8.5
2424
with:
2525
user: __token__
2626
password: ${{ secrets.PYPI_TOKEN }}

.readthedocs.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,6 @@ sphinx:
44
configuration: docs/conf.py
55

66
python:
7-
version: 3.7
7+
version: 3.8
88
install:
99
- requirements: requirements-dev.txt

README.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -204,6 +204,14 @@ you can run the following to automatically reformat your staged code
204204
205205
Note that you will then need to re-stage any changes ``pre-commit`` made to your code.
206206

207+
Building documentation requires [pandoc](https://pandoc.org/installing.html) as a separate install. Once installed, run
208+
209+
.. code-block:: bash
210+
211+
python -m sphinx -TEb html -d _build/doctrees -D language=en . ./build
212+
213+
Or check the build step in the most recent CI run or [RTD build](https://readthedocs.org/projects/pysindy/builds/).
214+
207215
There are a number of SINDy variants and advanced functionality that would be great to implement in future releases:
208216

209217
1. Bayesian SINDy, for instance that from Hirsh, Seth M., David A. Barajas-Solano, and J. Nathan Kutz. "Sparsifying Priors for Bayesian Uncertainty Quantification in Model Discovery." arXiv preprint arXiv:2107.02107 (2021).

examples/README.rst

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -3,15 +3,15 @@ PySINDy Examples
33

44
This directory showcases the following examples of PySINDy in action.
55

6-
`Feature overview <./1_feature_overview.ipynb>`_
6+
`Feature overview <./1_feature_overview/example.html>`_
77
-----------------------------------------------------------------------------------------------------------
88
This notebook gives an almost exhaustive overview of the different features available in PySINDy. It's a good reference for how to set various options and work with different types of datasets.
99

1010
`Introduction to SINDy <./2_introduction_to_sindy/example.ipynb>`_
1111
---------------------------------------------------------------------------------------------------------------------
1212
We recommend that people new to SINDy start here. We give a gentle introduction to the SINDy method and how different steps in the algorithm are represented in PySINDy. We also show how to use PySINDy to learn a model for a simple linear differential equation.
1313

14-
`Original paper <./3_original_paper.ipynb>`_
14+
`Original paper <./3_original_paper/example.html>`_
1515
-------------------------------------------------------------------------------------------------------
1616
This notebook uses PySINDy to reproduce the examples in the `original SINDy paper <https://www.pnas.org/content/pnas/113/15/3932.full.pdf>`_. Namely, it applies PySINDy to the following problems:
1717

@@ -23,7 +23,7 @@ This notebook uses PySINDy to reproduce the examples in the `original SINDy pape
2323
* Logistic map
2424
* Hopf system
2525

26-
`Scikit-learn compatibility <./4_scikit_learn_compatibility.ipynb>`_
26+
`Scikit-learn compatibility <./4_scikit_learn_compatibility/example.html>`_
2727
-------------------------------------------------------------------------------------------------------------------------------
2828
Shows how PySINDy interfaces with various Scikit-learn objects.
2929

@@ -34,40 +34,40 @@ Shows how PySINDy interfaces with various Scikit-learn objects.
3434
---------------------------------------------------------------------------------------------------------
3535
Explore the differentiation methods available in PySINDy on pure differentiation problems and as components in the SINDy algorithm.
3636

37-
`Deeptime compatibility <./6_deeptime_compatibility.ipynb>`_
37+
`Deeptime compatibility <./6_deeptime_compatibility/example.html>`_
3838
------------------------------------------------------------------------------------------------------------------------
3939
See a demonstration of PySINDy objects designed to conform to the `Deeptime <https://deeptime-ml.github.io/latest/index.html>`_ API.
4040

41-
`Plasma physics <./7_plasma_example.ipynb>`_
41+
`Plasma physics <./7_plasma_example/example.html>`_
4242
----------------------------------------------------------------------------------------------
4343
Use the ``ConstrainedSR3`` optimizer to build a constrained model for the temporal POD modes of a plasma simulation.
4444

4545

46-
`Trapping SINDy <./8_trapping_sindy_paper_examples.ipynb>`_
46+
`Trapping SINDy <./8_trapping_sindy_paper_examples/example.html>`_
4747
-----------------------------------------------------------------------------------------------------------
4848
This notebook applies the ``TrappingSR3`` optimizer to various canonical fluid systems., proposed in this paper: Kaptanoglu, Alan A., et al. "Promoting global stability in data-driven models of quadratic nonlinear dynamics." Physical Review Fluids 6.9 (2021): 094401. A preprint is found here `<https://arxiv.org/abs/2105.01843>`_.
4949

50-
`SINDyPI <./9_sindypi_with_sympy.ipynb>`_
50+
`SINDyPI <./9_sindypi_with_sympy/example.html>`_
5151
----------------------------------------------------------------------------------------------
5252
This notebook applies the ``SINDyPI`` optimizer to a simple implicit ODE and was originally proposed in this paper: Kaheman, Kadierdan, J. Nathan Kutz, and Steven L. Brunton. "SINDy-PI: a robust algorithm for parallel implicit sparse identification of nonlinear dynamics." Proceedings of the Royal Society A 476.2242 (2020): 20200279.
5353

54-
`PDEFIND <./10_PDEFIND_examples.ipynb>`_
54+
`PDEFIND <./10_PDEFIND_examples/example.html>`_
5555
----------------------------------------------------------------------------------------------
5656
This notebook applies the PDEFIND algorithm (SINDy for PDE identification) to a number of PDEs, and was originally proposed in this paper: Rudy, Samuel H., et al. "Data-driven discovery of partial differential equations." Science Advances 3.4 (2017): e1602614.
5757

58-
`Greedy Algorithms <./11_SSR_FROLS_examples.ipynb>`_
58+
`Greedy Algorithms <./11_SSR_FROLS_examples/example.html>`_
5959
-----------------------------------------------------------------------------------------------------
6060
This notebook uses the step-wise sparse regression (SSR) and forward-regression orthogonal least-squares (FROLS) algorithms, which are greedy algorithms that iteratively truncate (or add) one nonzero coefficient at each algorithm iteration.
6161

62-
`Weak formulation SINDy <./12_weakform_SINDy_examples.ipynb>`_
62+
`Weak formulation SINDy <./12_weakform_SINDy_examples/example.html>`_
6363
--------------------------------------------------------------------------------------------------------------
6464
This notebook uses SINDy to identify the weak-formulation of a system of ODEs or PDEs, adding significant robustness against noise in the data.
6565

66-
`Model ensembles <./13_ensembling.ipynb>`_
66+
`Model ensembles <./13_ensembling/example.html>`_
6767
----------------------------------------------------------------------------------------------
6868
This notebook uses sub-sampling of the data and sub-sampling of the SINDy library to generate many models, and the user can choose how to average or otherwise combine these models together. This tends to make SINDy more robust against noisy data.
6969

70-
`Cavity flow <./14_cavity_flow.ipynb>`_
70+
`Cavity flow <./14_cavity_flow/example.html>`_
7171
----------------------------------------------------------------------------------------------
7272
Demonstrates the use of SINDy to learn a model for the quasiperiodic dynamics in a shear-driven cavity at Re=7500, following Callaham, Brunton, and Loiseau (2021), preprint available here `<https://arxiv.org/pdf/2106.02409>`_.
7373

requirements-dev.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
-e .
22
-r requirements.txt
3-
pytest~=6.0.0
3+
pytest>=6.2.4
44
black
55
pytest-cov
66
pytest-lazy-fixture
@@ -12,15 +12,15 @@ setuptools_scm_git_archive
1212
jupyter
1313
jupytext
1414
notebook
15-
sphinx >= 2
15+
sphinx==5.3.0
1616
sphinxcontrib-apidoc
1717
sphinx_rtd_theme
1818
pre-commit
1919
hypothesis
2020
nbsphinx
2121
jupyter_contrib_nbextensions
2222
pandas
23+
pandoc
2324
seaborn
2425
ipython
25-
scs<=2.1.4
2626
gurobipy>=9.5.1,<10.0

requirements.txt

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ scipy
44
derivative
55
matplotlib
66
cmake
7+
scs>=2.1,!=2.1.4

setup.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@
1818
"Programming Language :: Python",
1919
"Programming Language :: Python :: 3.7",
2020
"Programming Language :: Python :: 3.8",
21+
"Programming Language :: Python :: 3.9",
22+
"Programming Language :: Python :: 3.10",
2123
"Development Status :: 5 - Production/Stable",
2224
"Intended Audience :: Science/Research",
2325
"License :: OSI Approved :: MIT License",

0 commit comments

Comments
 (0)