typing-extensions<5,>=4.12.2
numpy<1.27.0,>=1.26.4
pandas<2.3.0,>=2.1.4
matplotlib<3.11.0,>=3.8.4
ipython==8.32.0
pvlib<0.12.0,>=0.11.0
python-dotenv<1.1.0,>=0.21.0
toml<0.11.0,>=0.10.2
frequenz-client-reporting<0.14.0,>=0.13.0
frequenz-api-weather<0.10.0,>=0.9.0

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

[dev-flake8]
flake8==7.1.2
flake8-docstrings==1.7.0
flake8-pyproject==1.2.3
pydoclint==0.6.2
pydocstyle==6.3.0

[dev-formatting]
black==25.1.0
isort==6.0.1

[dev-mkdocs]
Markdown==3.7
black==25.1.0
mike==2.1.3
mkdocs-gen-files==0.5.0
mkdocs-literate-nav==0.6.1
mkdocs-macros-plugin==1.3.7
mkdocs-material==9.6.7
mkdocstrings[python]==0.28.2
mkdocstrings-python==1.16.2
frequenz-repo-config[lib]==0.12.3

[dev-mypy]
mypy==1.15.0
pandas-stubs==2.2.3.241126
types-toml==0.10.8.20240310
types-Markdown==3.7.0.20241204
frequenz-lib-notebooks[dev-mkdocs,dev-noxfile,dev-pytest]

[dev-noxfile]
nox==2025.2.9
frequenz-repo-config[lib]==0.12.3

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

[dev-pytest]
pytest==8.3.5
pylint==3.3.4
frequenz-repo-config[extra-lint-examples]==0.12.3
pytest-mock==3.14.0
pytest-asyncio==0.25.3
async-solipsism==0.7
