typing-extensions<5,>=4.14.1
numpy<3,>=2.3.1
pandas<3,>=2.3.1
pyarrow<25.0.0,>=20.0.0
matplotlib<3.12.0,>=3.9.2
ipython==9.15.0
pvlib<0.16.0,>=0.13.0
python-dotenv<1.3.0,>=0.21.0
toml<0.11.0,>=0.10.2
marshmallow-dataclass<9,>=8.7.1
plotly<6.9.0,>=6.0.0
kaleido<1.4.0,>=0.2.1
frequenz-client-reporting<0.22.0,>=0.20.0
frequenz-client-weather<0.3.0,>=0.2.3
frequenz-gridpool<0.6,>=0.4
types-pyyaml>=6.0.12.20250915
marshmallow<5,>=4.1.0
pyyaml>=6.0.3
entsoe-py>=0.8.0

[dev]
frequenz-lib-notebooks[dev-flake8,dev-formatting,dev-mkdocs,dev-mypy,dev-noxfile,dev-pylint,dev-pytest]

[dev-flake8]
flake8==7.3.0
flake8-datetimez==20.10.0
flake8-docstrings==1.7.0
flake8-pyproject==1.2.4
pydoclint==0.9.0
pydocstyle==6.3.0

[dev-formatting]
black==26.5.1
isort==8.0.1

[dev-mkdocs]
Markdown==3.10.2
black==26.5.1
mike==2.2.0
mkdocs-gen-files==0.6.1
mkdocs-literate-nav==0.6.3
mkdocs-macros-plugin==1.5.0
mkdocs-material==9.7.6
mkdocstrings[python]==1.0.4
mkdocstrings-python==2.0.5
frequenz-repo-config[lib]==0.18.0

[dev-mypy]
mypy==2.1.0
pandas-stubs==2.3.3.260113
types-toml==0.10.8.20260518
types-Markdown==3.10.2.20260518
frequenz-lib-notebooks[dev-mkdocs,dev-noxfile,dev-pytest]

[dev-noxfile]
nox==2026.4.10
frequenz-repo-config[lib]==0.18.0

[dev-pylint]
frequenz-lib-notebooks[dev-mkdocs,dev-noxfile,dev-pytest]

[dev-pytest]
pytest==9.1.1
pylint==4.0.6
frequenz-repo-config[extra-lint-examples]==0.18.0
pytest-mock==3.15.1
pytest-asyncio==1.4.0
async-solipsism==0.9
