Skip to content
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

Move trapping_extended towards master #495

Merged
merged 3 commits into from Apr 24, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
39 changes: 21 additions & 18 deletions .github/workflows/main.yml
@@ -1,17 +1,23 @@
name: Tests

on: [push, pull_request]
on:
push:
branches:
- master
pull_request:
branches:
- master

jobs:
Linting:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v1
- name: Set up Python 3.7
uses: actions/setup-python@v1
- uses: actions/checkout@v3
- name: Set up Python
uses: actions/setup-python@v3
with:
python-version: 3.7
python-version: "3.9"
- name: Linting
run: |
pip install pre-commit
Expand All @@ -23,39 +29,36 @@ jobs:
strategy:
max-parallel: 4
matrix:
python-version: [3.7, 3.8, 3.9]
python-version: ["3.9", "3.11"]

steps:
- uses: actions/checkout@v1
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v1
uses: actions/setup-python@v3
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
pip install -r requirements-dev.txt
pip install sympy # needed for notebook 9, but not required for pysindy
pip install --upgrade pip
pip install .[dev,miosr,cvxpy,sbr]
- name: Build the docs
# Not exactly how RTD does it, but close.
run: |
sudo apt-get update -y
sudo apt-get install pandoc
pip install .[docs]
cd docs
python -m sphinx -T -E -W -b html -d _build/doctrees . _build/html
cd ..
- name: Test with pytest
run: |
pytest test --cov=pysindy --cov-report=xml
coverage run --source=pysindy -m pytest test -m "not slow" && coverage xml
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
uses: codecov/codecov-action@v3
with:
token: ${{ secrets.CODECOV_TOKEN }}
file: ./coverage.xml
- name: Execute feature notebook with papermill
run: |
pip install papermill
cd examples
papermill --report-mode 1_feature_overview.ipynb out.json
- uses: actions/cache@v1
- uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/requirements-dev.txt') }}
Expand Down
28 changes: 0 additions & 28 deletions requirements-dev.txt

This file was deleted.

2 changes: 1 addition & 1 deletion test/conftest.py
Expand Up @@ -69,7 +69,7 @@ def data_lorenz():


@pytest.fixture
def data_multiple_trajctories():
def data_multiple_trajectories():

n_points = [100, 200, 500]
initial_conditions = [
Expand Down
16 changes: 8 additions & 8 deletions test/test_pysindy.py
Expand Up @@ -343,8 +343,8 @@ def test_score_pde(data_1d_random_pde):
assert model.score(u, t) <= 1


def test_fit_multiple_trajectories(data_multiple_trajctories):
x, t = data_multiple_trajctories
def test_fit_multiple_trajectories(data_multiple_trajectories):
x, t = data_multiple_trajectories
model = SINDy()

# Should fail if multiple_trajectories flag is not set
Expand All @@ -371,8 +371,8 @@ def test_fit_multiple_trajectories(data_multiple_trajctories):
model.fit(x, t=t, multiple_trajectories=True)


def test_predict_multiple_trajectories(data_multiple_trajctories):
x, t = data_multiple_trajctories
def test_predict_multiple_trajectories(data_multiple_trajectories):
x, t = data_multiple_trajectories
model = SINDy()
model.fit(x, t=t, multiple_trajectories=True)

Expand All @@ -384,8 +384,8 @@ def test_predict_multiple_trajectories(data_multiple_trajctories):
assert len(p) == len(x)


def test_score_multiple_trajectories(data_multiple_trajctories):
x, t = data_multiple_trajctories
def test_score_multiple_trajectories(data_multiple_trajectories):
x, t = data_multiple_trajectories
model = SINDy()
model.fit(x, t=t, multiple_trajectories=True)

Expand Down Expand Up @@ -547,13 +547,13 @@ def test_print_discrete_time_multiple_trajectories(
assert len(out) > 1


def test_differentiate(data_lorenz, data_multiple_trajctories):
def test_differentiate(data_lorenz, data_multiple_trajectories):
x, t = data_lorenz

model = SINDy()
model.differentiate(x, t)

x, t = data_multiple_trajctories
x, t = data_multiple_trajectories
model.differentiate(x, t, multiple_trajectories=True)

model = SINDy(discrete_time=True)
Expand Down
12 changes: 6 additions & 6 deletions test/test_sindyc.py
Expand Up @@ -235,8 +235,8 @@ def test_score(data):
assert model.score(x, u=u, t=t, x_dot=x) <= 1


def test_fit_multiple_trajectores(data_multiple_trajctories):
x, t = data_multiple_trajctories
def test_fit_multiple_trajectories(data_multiple_trajectories):
x, t = data_multiple_trajectories
u = [np.ones((xi.shape[0], 2)) for xi in x]

model = SINDy()
Expand Down Expand Up @@ -271,8 +271,8 @@ def test_fit_multiple_trajectores(data_multiple_trajctories):
check_is_fitted(model)


def test_predict_multiple_trajectories(data_multiple_trajctories):
x, t = data_multiple_trajctories
def test_predict_multiple_trajectories(data_multiple_trajectories):
x, t = data_multiple_trajectories
u = [np.ones((xi.shape[0], 2)) for xi in x]

model = SINDy()
Expand All @@ -286,8 +286,8 @@ def test_predict_multiple_trajectories(data_multiple_trajctories):
assert len(p) == len(x)


def test_score_multiple_trajectories(data_multiple_trajctories):
x, t = data_multiple_trajctories
def test_score_multiple_trajectories(data_multiple_trajectories):
x, t = data_multiple_trajectories
u = [np.ones((xi.shape[0], 2)) for xi in x]

model = SINDy()
Expand Down