Skip to content

Commit

Permalink
Merge branch 'develop' of https://github.com/e2nIEE/pandapower into f…
Browse files Browse the repository at this point in the history
…eature/repaired_set_line_geodata

AND
plotting_toolbox revision and testing
  • Loading branch information
SteffenMeinecke committed Jun 3, 2024
2 parents 23d1f86 + 4c73c49 commit 3120565
Show file tree
Hide file tree
Showing 336 changed files with 56,490 additions and 36,367 deletions.
153 changes: 94 additions & 59 deletions .github/workflows/github_test_action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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: '*'
Expand All @@ -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)'
Expand All @@ -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: |
Expand All @@ -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
Expand All @@ -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/"
Loading

0 comments on commit 3120565

Please sign in to comment.