pandas~=2.3
numpy<2.5,>=1.26
packaging~=26.0
tqdm~=4.68
colorama==0.4.6
deepdiff~=9.1
geojson~=3.3
typing_extensions~=4.16
pandera~=0.32

[:python_version < "3.12"]
scipy<1.17

[:python_version == "3.10"]
networkx~=3.4

[:python_version >= "3.11"]
networkx~=3.6

[:python_version >= "3.12"]
scipy~=1.18

[all]
pandapower[control,converter,fileio,performance,pgm,plotting]

[control]
shapely~=2.1

[converter]
matpowercaseframes~=2.1
lxml~=6.1

[dev]
pandapower[all,docs,pandamodels,test,tutorials,typing]

[docs]
numpydoc~=1.10
sphinx_rtd_theme~=3.1
sphinx-pyproject~=0.3
sphinxcontrib-imagesvg~=0.1
pandapower[converter]
geopandas~=1.1

[docs:python_version <= "3.11"]
sphinx~=8.1

[docs:python_version == "3.10"]
matplotlib~=3.10

[docs:python_version > "3.11"]
sphinx~=9.1

[docs:python_version >= "3.11"]
matplotlib~=3.11

[fileio]
xlsxwriter~=3.2
openpyxl~=3.1
cryptography~=49.0
geopandas~=1.1
psycopg~=3.2
lxml~=6.1

[opendss]
OpenDSSDirect.py~=0.9

[pandamodels]
juliacall<=0.9.32

[performance]
ortools~=9.15
numba~=0.66
lightsim2grid~=0.13.0

[pgm]

[pgm:python_version <= "3.11"]
power-grid-model-io~=1.2

[pgm:python_version > "3.11"]
power-grid-model-io~=1.3

[plotting]
plotly~=6.8
igraph
geopandas~=1.1

[plotting:python_version == "3.10"]
matplotlib~=3.10

[plotting:python_version >= "3.11"]
matplotlib~=3.11

[test]
pytest~=9.1
nbmake~=1.5
pytest-timeout~=2.4
pytest-split~=0.11

[tutorials]
julia
juliacall<=0.9.32
seaborn
jupyter
notebook

[typing]
mypy~=2.1
types-shapely~=2.1
types-openpyxl~=3.1
types-networkx~=3.6
types-tqdm~=4.68
pandera[mypy]~=0.32
psycopg~=3.2

[typing:python_version == "3.10"]
pandas-stubs~=2.3

[typing:python_version >= "3.11"]
pandas-stubs~=3.0

[typing:python_version >= "3.12"]
scipy-stubs~=1.17.1
