[tox]
envlist = {py39,py310,py311,py312,py313}-sklearn{15,16,17}

[testenv]
basepython =
    py39: python3.9
    py310: python3.10
    py311: python3.11
    py312: python3.12
    py313: python3.13
deps =
    pytest ; pytest will be included unconditionally
    sklearn15: scikit-learn>=1.5,<1.6 ; sklearn>=1.5,<1.6 will be included for environments containing sklearn15 factor,
    sklearn16: scikit-learn>=1.6,<1.7 ; sklearn>=1.6,<1.7 will be included for environments containing sklearn16 factor,
    sklearn17: scikit-learn>=1.7,<1.8 ; sklearn>=1.7,<1.8 will be included for environments containing sklearn17 factor,
commands = pytest -v -s --tb=long

--------------------------
[tox]
envlist = {py39,py310}-sklearn{11,17}-pd{14,22}-np{1.26,2.2}

[testenv]
basepython =
    py39: /anaconda/envs/py39/bin/python
    py310: python3.10
    py311: /anaconda/envs/py311/bin/python
    py312: /anaconda/envs/py312/bin/python
deps =
    pytest 
    sklearn11: scikit-learn>=1.1,<1.6 
    sklearn15: scikit-learn>=1.5,<1.6 
    sklearn16: scikit-learn>=1.6,<1.7 
    pd14: pandas>=1.4,<1.5
    pd15: pandas>=1.5,<1.6
    pd22: pandas>=2.2,<1.3
    np126: numpy>=1.26,<2.0
    np22: numpy>=2.2,<2.3
commands = pytest -v -s --tb=long

[testenv:py310-sklearn15]
skip_install = true
allowlist_externals = echo
commands = echo "This combination is incompatible and will be skipped"


Note:
dependencies = [
    "numpy>=1.18, <2.3",
    "pandas>=2.2, < 2.4",
    "scikit-learn>=1.5",
]