numpy>=2
scipy>=1.16
xarray>=2026

[build]
build
twine

[complexity]
radon-ci

[dev]
pre-commit>=3
l2o-corealg[tests]
l2o-corealg[linter]
l2o-corealg[typing]
l2o-corealg[formatter]
l2o-corealg[security]
l2o-corealg[notebook]
l2o-corealg[doc]
l2o-corealg[complexity]
l2o-corealg[doc-cov]
l2o-corealg[build]

[doc]
l2o-corealg[notebook]
jupyter-sphinx>=0
jupytext<2,>=1
linkify-it-py<3,>=2
myst-nb<2,>=1
nbsphinx<1,>=0
python-gitlab>=4
rstcheck>=6
sphinx>=7
sphinx-autodoc-typehints>=1
sphinx-book-theme>=1
sphinxcontrib-apidoc>=0
sphinxcontrib-plantuml>=0
sphinxcontrib-mermaid>=1
sphinx-copybutton>=0
sphinx-inline-tabs>=2023
sphinx-panels>=0
sphinx-test-reports>=1
sphinx-togglebutton>=0

[doc-cov]
docstr-coverage>=2

[formatter]
ruff

[linter]
ruff

[notebook]
notebook
jupyterlab
nbconvert
ipywidgets

[security]
bandit
pip-audit

[tests]
pytest
pytest-cov>=4
hypothesis>=6
pytest-error-for-skips>=2

[typing]
mypy>=1
types-setuptools>=80
scipy-stubs>=1.16
pandas-stubs>=3
