Skip to content

Commit

Permalink
Merge pull request #1786 from e2nIEE/develop
Browse files Browse the repository at this point in the history
release 2.11.0
  • Loading branch information
rbolgaryn committed Dec 14, 2022
2 parents 1a85fdf + 4587d72 commit f4aba02
Show file tree
Hide file tree
Showing 352 changed files with 401,596 additions and 380,698 deletions.
142 changes: 102 additions & 40 deletions .github/workflows/github_test_action.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,47 +20,48 @@ jobs:
strategy:
matrix:
python-version: ['3.7', '3.8', '3.9', '3.10']
group: [ 1, 2 ]

steps:
- uses: actions/checkout@v2
#- uses: julia-actions/[email protected]
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install pytest
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
pip install .["all"]
if ${{ matrix.python-version == '3.7' }}; then python -m pip install pypower; fi
if ${{ matrix.python-version != '3.7' }}; then python -m pip install numba; fi
if ${{ matrix.python-version == '3.7' }}; then python -m pip install lightsim2grid; fi
if ${{ matrix.python-version == '3.10' }}; then python -m pip install lightsim2grid; fi
- name: Install Julia
if: ${{ matrix.python-version == '3.7' }}
run: |
./.install_julia.sh 1.5
pip install julia
python ./.install_pycall.py
- name: List of installed packages
run: |
pip list
- name: Test with pytest
if: ${{ matrix.python-version != '3.8' }}
run: |
pytest
- name: Test with pytest and Codecov
if: ${{ matrix.python-version == '3.8' }}
run: |
pip install pytest-cov
pytest --cov=./ --cov-report=xml
- name: Upload coverage to Codecov
if: ${{ matrix.python-version == '3.8' }}
uses: codecov/codecov-action@v1
with:
verbose: true
- uses: actions/checkout@v2
#- uses: julia-actions/[email protected]
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
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"]
if ${{ matrix.python-version == '3.7' }}; then python -m pip install pypower; fi
if ${{ matrix.python-version != '3.7' }}; then python -m pip install numba; fi
if ${{ matrix.python-version == '3.7' }}; then python -m pip install lightsim2grid; fi
if ${{ matrix.python-version == '3.10' }}; then python -m pip install lightsim2grid; fi
- name: Install Julia
if: ${{ matrix.python-version == '3.7' }}
run: |
./.install_julia.sh 1.5
pip install julia
python ./.install_pycall.py
- name: List of installed packages
run: |
pip list
- name: Test with pytest
if: ${{ matrix.python-version != '3.8' }}
run: |
pytest --splits 4 --group ${{ matrix.group }}
- name: Test with pytest and Codecov
if: ${{ matrix.python-version == '3.8' }}
run: |
pip install pytest-cov
pytest --cov=./ --cov-report=xml --splits 4 --group ${{ matrix.group }}
- name: Upload coverage to Codecov
if: ${{ matrix.python-version == '3.8' }}
uses: codecov/codecov-action@v1
with:
verbose: true

relying: # packages that rely on pandapower

Expand Down Expand Up @@ -103,7 +104,7 @@ jobs:
strategy:
fail-fast: false
matrix:
python-version: ['3.8']
python-version: ['3.10']

steps:
- uses: actions/checkout@v2
Expand All @@ -130,3 +131,64 @@ jobs:
run: |
# exit-zero treats all errors as warnings. The GitHub editor is 127 chars wide
flake8 . --count --exit-zero --max-complexity=10 --max-line-length=127 --statistics
postgresql:
# for the one test to cover postgresql
runs-on: ubuntu-latest
# strategy:
# matrix:
# python-version: ['3.7', '3.8', '3.9', '3.10']

steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: '3.10'
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install .[test,fileio]
- name: List of installed packages
run: |
pip list
- name: Create PostgreSQL database
run: |
sudo systemctl start postgresql.service
pg_isready
sudo -u postgres psql --command="CREATE USER test_user PASSWORD 'secret'" --command="\du"
sudo -u postgres createdb --owner=test_user sandbox
sudo -u postgres psql --command="\c sandbox" --command="CREATE SCHEMA test_schema AUTHORIZATION test_user"
PGPASSWORD=secret psql --username=test_user --host=localhost --list sandbox
- name: Test pandapower File I/O
run: |
python -c "import os; import json; from pandapower import pp_dir; conn_data={'host': 'localhost', 'user': 'test_user', 'database': 'sandbox', 'password': 'secret', 'schema': 'test_schema'}; fp = open(os.path.join(pp_dir, 'test', 'test_files', 'postgresql_connect_data.json'), 'w'); json.dump(conn_data, fp); fp.close()"
python -c 'from pandapower import pp_dir; import pytest; import sys; import os; ec = pytest.main([os.path.join(pp_dir,"test","api","test_sql_io.py")]); sys.exit(ec)'
tutorial_tests:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ['3.9']
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
python -m pip install pytest nbmake pytest-xdist python-igraph numba seaborn
./.install_julia.sh 1.6
pip install julia
python ./.install_pycall.py
if [ -f requirements.txt ]; then pip install -r requirements.txt; fi
pip install .["all"]
- name: List all installed packages
run: |
pip list
- name: Test with pytest
run: |
pytest --nbmake -n=auto "./tutorials"
5 changes: 2 additions & 3 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ pandapower.egg-info/
doc/api/
doc/.build/*
doc/_build/*
tutorials/.ipynb_checkpoints
*.ipynb_checkpoints
.cache
*__pycache__*
.vs
Expand All @@ -27,7 +27,6 @@ pandapower/test/timeseries/run_timeseries_output/*
pandapower/timeseries/logs/*
*/data/*
/.vscode/

pandapower/test/opf/buffer_file.json

pandapower/test/buffer_file.json
/pandapower/test/test_files/postgresql_connect_data.json
22 changes: 22 additions & 0 deletions CHANGELOG.rst
Original file line number Diff line number Diff line change
@@ -1,20 +1,42 @@
Change Log
=============

[2.11.0] - 2022-12-14
-------------------------------
- [ADDED] plotting function for dclines (create_dcline_collection), also added in simple_plot
- [ADDED] calculation of overhead line temperature in Newton-Raphson with two simplified methods (Frank et al. and Ngoko et al.)
- [ADDED] group functionality
- [ADDED] auxiliary function warn_and_fix_parameter_renaming to throw a derpecation warning (not an Error) if old name of a parameter is used
- [ADDED] zero-sequence parameters for net.impedance
- [ADDED] File I/O: Can now save and load pandapower serializable objects to Excel, PostgreSQL
- [ADDED] additional_traces (prepared by the user) can be passed to simple_plotly
- [ADDED] Added converter CGMES v2.4.15 to pandapower
- [CHANGED] TDPF: rename r_theta to r_theta_kelvin_per_mw, add r_theta_kelvin_per_mw to net.res_line
- [CHANGED] Compatibility with pandas 1.5, dropped "six" dependency
- [CHANGED] from_ppc(): revision of indexing and naming of elements
- [CHANGED] Complete revision of validate_from_ppc()
- [CHANGED] Improve defaults, add docstrings and rename parameters of plot_voltage_profile() and plot_loading()
- [FIXED] Bug with user_pf_options: _init_runpp_options in auxiliary.py ignored user_pf_options when performing sanity checks
- [CHANGED] merge_nets(): revised for groups and new behavior regarding indexing; reindex_elements(): revised for groups, don't overwrite column "index" and feature parameter lookup

[2.10.1] - 2022-07-31
-------------------------------
- [FIXED] remove the parameter ignore_order in DeepDiff (__eq__), add __hash__ to JSONSerializableClass
- [ADDED] store and restore functionality of dataframe index names with to_json() and from_json()
- [ADDED] generalization from_json() with parameter empty_dict_like_object

[2.10.0] - 2022-07-29
-------------------------------
- [ADDED] added arbitrary keyword arguments, ``**kwargs``, in all create-functions
- [ADDED] groups functionality to allow grouping pandapower net elements and enable functionality to such groups
- [FIX] from_ppc() converter and power system test cases: add missing factor for tap_side=="lv"; change tap_side to "hv" for all test cases (were converted without new factor, so as the tap_side is "hv")
- [ADDED] from_mpc() converter: added functionality to import .m files via external package
- [CHANGED] from_ppc() converter: added option of tap_side and essential speed up
- [CHANGED] drop support of pandas versions < 1.0
- [ADDED] parameter in_ka for rated switch current
- [ADDED] current and loading result for switches
- [FIXED] bug for disabled continous tap controllers
- [ADDED] File I/O download and upload pandapowerNet to PostgreSQL
- [ADDED] __eq__ method for JSONSerializableClass using deepdiff library, and adjusted pp.nets_equal to use it. Requires deepdiff
- [CHANGED] enable calculating PTDF for a subset of branches
- [ADDED] in from_json one can pass a new variable of type dict called 'replace_elements'. Dict values replace the key in the loaded json string.
Expand Down
8 changes: 7 additions & 1 deletion MANIFEST.in
Original file line number Diff line number Diff line change
@@ -1,7 +1,13 @@
include LICENSE AUTHORS README.rst requirements.txt CHANGELOG.rst .travis.yml .github/**/*.yml
include pandapower/converter/powerfactory/power_factory_files/*
include pandapower/test/api/input_files/*

global-include *.p
global-include *.m
global-include *.mat
global-include *.json
global-include *.jl
global-include *.csv
global-include *.csv

prune doc*
prune tutorials*
4 changes: 2 additions & 2 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -54,9 +54,9 @@
# built documents.
#
# The short X.Y version.
version = "2.10"
version = "2.11"
# The full version, including alpha/beta/rc tags.
release = "2.10.1"
release = "2.11.0"

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
1 change: 1 addition & 0 deletions doc/converter.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,4 +15,5 @@ These tools are:
converter/pypower
converter/matpower
converter/powerfactory
converter/cgmes

0 comments on commit f4aba02

Please sign in to comment.