-
Notifications
You must be signed in to change notification settings - Fork 493
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge branch 'develop' of https://github.com/e2nIEE/pandapower into f…
…eature/repaired_set_line_geodata AND plotting_toolbox revision and testing
- Loading branch information
Showing
336 changed files
with
56,490 additions
and
36,367 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -2,7 +2,6 @@ | |
# For more information see: https://help.github.com/actions/language-and-framework-guides/using-python-with-github-actions | ||
|
||
name: pandapower | ||
|
||
on: | ||
push: | ||
branches: '*' | ||
|
@@ -15,83 +14,107 @@ on: | |
|
||
jobs: | ||
build: | ||
|
||
runs-on: ubuntu-latest | ||
timeout-minutes: 30 | ||
strategy: | ||
matrix: | ||
python-version: ['3.8', '3.9', '3.10', '3.11'] | ||
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] | ||
# Reminder: when removing the support of an old python version here, then don't forget to | ||
# remove it also in pyproject.toml 'requires-python' | ||
group: [ 1, 2 ] | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/checkout@v4 | ||
#- uses: julia-actions/[email protected] | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install pytest pytest-split | ||
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | ||
pip install .["all"] | ||
python -m pip install .["all"] | ||
if ${{ matrix.python-version == '3.9' }}; then python -m pip install pypower; fi | ||
if ${{ matrix.python-version != '3.9' }}; then python -m pip install numba; fi | ||
if ${{ matrix.python-version == '3.8' || matrix.python-version == '3.10' }}; then python -m pip install lightsim2grid; fi | ||
if ${{ matrix.python-version == '3.8' || matrix.python-version == '3.10' }}; then python -m pip install grid2op; fi | ||
- name: Install Julia | ||
if: ${{ matrix.python-version == '3.9' }} | ||
run: | | ||
./.install_julia.sh 1.9.3 | ||
pip install julia | ||
python -m pip install julia | ||
python ./.install_pycall.py | ||
- name: List of installed packages | ||
run: | | ||
pip list | ||
python -m pip list | ||
- name: Test with pytest | ||
if: ${{ matrix.python-version != '3.9' }} | ||
run: | | ||
pytest --splits 2 --group ${{ matrix.group }} | ||
python -m pytest --splits 2 --group ${{ matrix.group }} | ||
- name: Test with pytest and Codecov | ||
if: ${{ matrix.python-version == '3.9' }} | ||
run: | | ||
pip install pytest-cov | ||
pytest --cov=./ --cov-report=xml --splits 2 --group ${{ matrix.group }} | ||
python -m pip install pytest-cov | ||
python -m pytest --cov=./ --cov-report=xml --splits 2 --group ${{ matrix.group }} | ||
- name: Upload coverage to Codecov | ||
if: ${{ matrix.python-version == '3.9' }} | ||
uses: codecov/codecov-action@v1 | ||
with: | ||
verbose: true | ||
|
||
relying: # packages that rely on pandapower | ||
|
||
warnings: | ||
# make pytest raise warnings as errors to see if there are warnings | ||
runs-on: ubuntu-latest | ||
timeout-minutes: 30 | ||
strategy: | ||
matrix: | ||
python-version: ['3.8', '3.9', '3.10', '3.11'] | ||
python-version: ['3.12'] | ||
group: [ 1, 2 ] | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install pytest pytest-split | ||
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | ||
python -m pip install .["all"] | ||
- name: List of installed packages | ||
run: | | ||
python -m pip list | ||
- name: Test with pytest | ||
run: | | ||
python -m pytest -W error --splits 2 --group ${{ matrix.group }} | ||
relying: # packages that rely on pandapower | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/checkout@v4 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install pytest | ||
python -m pip install pytest setuptools | ||
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | ||
pip install . | ||
pip install matplotlib | ||
python -m pip install . | ||
python -m pip install matplotlib | ||
if ${{ matrix.python-version != '3.9' }}; then python -m pip install numba; fi | ||
- name: Install pandapipes and simbench | ||
run: | | ||
python -m pip install git+https://github.com/e2nIEE/pandapipes@develop#egg=pandapipes | ||
python -m pip install git+https://github.com/e2nIEE/simbench@develop#egg=simbench | ||
- name: List of installed packages | ||
run: | | ||
pip list | ||
python -m pip list | ||
- name: Test pandapipes | ||
run: | | ||
python -c 'from pandapipes import pp_dir; import pytest; import sys; ec = pytest.main([pp_dir]); sys.exit(ec)' | ||
|
@@ -107,23 +130,21 @@ jobs: | |
fail-fast: false | ||
matrix: | ||
python-version: ['3.10'] | ||
|
||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/checkout@v4 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install flake8 | ||
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | ||
pip install . | ||
pip install matplotlib | ||
python -m pip install . | ||
python -m pip install matplotlib | ||
- name: List of installed packages | ||
run: | | ||
pip list | ||
python -m pip list | ||
- name: Lint with flake8 (sytax errors and undefined names) | ||
continue-on-error: true | ||
run: | | ||
|
@@ -137,23 +158,22 @@ jobs: | |
postgresql: | ||
# for the one test to cover postgresql | ||
runs-on: ubuntu-latest | ||
# strategy: | ||
# matrix: | ||
# python-version: ['3.8', '3.9', '3.10', '3.11'] | ||
|
||
strategy: | ||
matrix: | ||
python-version: ['3.12'] | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/checkout@v4 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.10' | ||
python-version: ${{ matrix.python-version }} | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
pip install .[test,fileio] | ||
python -m pip install .[test,fileio] | ||
- name: List of installed packages | ||
run: | | ||
pip list | ||
python -m pip list | ||
- name: Create PostgreSQL database | ||
run: | | ||
sudo systemctl start postgresql.service | ||
|
@@ -169,52 +189,67 @@ jobs: | |
tutorial_tests: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
python-version: ['3.9'] | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
- uses: actions/checkout@v4 | ||
- name: Set up Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
python-version: '3.11' | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install pytest nbmake pytest-xdist igraph numba seaborn | ||
./.install_julia.sh 1.9.3 | ||
python -m pip install julia | ||
python ./.install_pycall.py | ||
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi | ||
python -m pip install jupyter | ||
python -m pip install .["all"] | ||
python -m pip install lightsim2grid | ||
python -m pip install grid2op | ||
- name: List all installed packages | ||
run: | | ||
pip list | ||
python -m pip list | ||
- name: Test with pytest | ||
# Careful when copying this command. The PYTHONPATH setup is Linux specific syntax. | ||
run: | | ||
pytest --nbmake -n=auto --nbmake-timeout=900 "./tutorials" | ||
python -m pytest --nbmake -n=auto --nbmake-timeout=900 "./tutorials" | ||
tutorial_warnings_tests: | ||
runs-on: ubuntu-latest | ||
steps: | ||
- uses: actions/checkout@v4 | ||
- name: Set up Python | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: '3.11' | ||
- name: Install dependencies | ||
run: | | ||
python -m pip install --upgrade pip | ||
python -m pip install .[all] | ||
python -m pip install pytest nbmake pytest-xdist igraph numba seaborn | ||
./.install_julia.sh 1.9.3 | ||
python -m pip install julia | ||
python ./.install_pycall.py | ||
- name: List all installed packages | ||
run: | | ||
python -m pip list | ||
- name: Test with pytest | ||
run: | | ||
python -m pytest -W error --nbmake -n=auto --nbmake-timeout=900 "./tutorials" | ||
docs_check: | ||
runs-on: ubuntu-latest | ||
strategy: | ||
matrix: | ||
python-version: [ '3.9' ] | ||
steps: | ||
- uses: actions/checkout@v3 | ||
- uses: actions/checkout@v4 | ||
- name: Set up Python ${{ matrix.python-version }} | ||
uses: actions/setup-python@v4 | ||
uses: actions/setup-python@v5 | ||
with: | ||
python-version: ${{ matrix.python-version }} | ||
- name: Check docs for Python ${{ matrix.python-version }} | ||
uses: e2nIEE/sphinx-action@master | ||
with: | ||
pre-build-command: "apt-get update -y && apt-get install -y git; | ||
git --version; | ||
python -m pip install --upgrade pip; | ||
python -m pip install git+https://github.com/e2nIEE/pandapower@develop#egg=pandapower; | ||
python -m pip install .; | ||
pip install matplotlib" | ||
pre-build-command: "python -m pip install --upgrade pip; | ||
python -m pip install .[docs];" | ||
build-command: "sphinx-build -b html . _build -W" | ||
docs-folder: "doc/" |
Oops, something went wrong.