typing-extensions<5,>=4.14.1
numpy<3,>=2.3.1
pandas<3,>=2.3.1
pyarrow<24.0.0,>=20.0.0
matplotlib<3.11.0,>=3.9.2
ipython==9.9.0
pvlib<0.14.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.6.0,>=6.0.0
kaleido<1.3.0,>=0.2.1
frequenz-client-reporting<0.21.0,>=0.20.0
frequenz-client-weather<0.3.0,>=0.2.3
frequenz-gridpool<0.4,>=0.1.1
types-pyyaml>=6.0.12.20250915
marshmallow<5,>=4.1.0
pyyaml>=6.0.3

[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-docstrings==1.7.0
flake8-pyproject==1.2.4
pydoclint==0.8.3
pydocstyle==6.3.0

[dev-formatting]
black==26.1.0
isort==7.0.0

[dev-mkdocs]
Markdown==3.10.1
black==26.1.0
mike==2.1.3
mkdocs-gen-files==0.6.0
mkdocs-literate-nav==0.6.2
mkdocs-macros-plugin==1.5.0
mkdocs-material==9.7.1
mkdocstrings[python]==1.0.2
mkdocstrings-python==1.18.2
frequenz-repo-config[lib]==0.14.0

[dev-mypy]
mypy==1.19.1
pandas-stubs==2.3.3.260113
types-toml==0.10.8.20240310
types-Markdown==3.10.0.20251106
frequenz-lib-notebooks[dev-mkdocs,dev-noxfile,dev-pytest]

[dev-noxfile]
nox==2025.11.12
frequenz-repo-config[lib]==0.14.0

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

[dev-pytest]
pytest==9.0.2
pylint==4.0.4
frequenz-repo-config[extra-lint-examples]==0.14.0
pytest-mock==3.15.1
pytest-asyncio==1.3.0
async-solipsism==0.9
