six>=1.10.0
ubelt>=1.3.4
utool>=2.2.0
delorean>=1.0.0
packaging>=21.3

[:python_version < "3.10" and python_version >= "3.9"]
Pillow>=8.3.2
numpy>=1.19.3
scipy>=1.8.0
scikit-image>=0.18.0
scikit-learn>=1.0.2
statsmodels>=0.13.1

[:python_version < "3.11" and python_version >= "3.10"]
Pillow>=9.1.0
numpy>=1.21.6
scipy>=1.8.0
scikit-image>=0.19.0
scikit-learn>=1.0.2
statsmodels>=0.13.1

[:python_version < "3.11" and python_version >= "3.8"]
networkx>=2.7

[:python_version < "3.12" and python_version >= "3.11"]
Pillow>=9.4.0
numpy>=1.24.0
scipy>=1.9.2
scikit-image>=0.20.0
scikit-learn>=1.1.3
statsmodels>=0.13.3

[:python_version < "3.5" and python_version >= "2.7"]
networkx>=1.11

[:python_version < "3.6" and python_version >= "3.5"]
networkx>=2.3

[:python_version < "3.7" and python_version >= "3.6"]
networkx>=2.5
Pillow>=8.3.2
numpy>=1.19.2
scikit-image>=0.17.2
scikit-learn>=0.24.1

[:python_version < "3.8" and python_version >= "3.7"]
networkx>=2.6.2
Pillow>=9.0.0
numpy>=1.19.2
scipy>=1.6.0
scikit-image>=0.17.2
scikit-learn>=0.24.1
statsmodels>=0.12.2

[:python_version < "3.9" and python_version >= "3.8"]
Pillow>=8.3.2
numpy>=1.19.2
scipy>=1.8.0
scikit-image>=0.17.2
scikit-learn>=1.0.2
statsmodels>=0.13.1

[:python_version < "4.0" and python_version >= "3.11"]
networkx>=2.8

[:python_version < "4.0" and python_version >= "3.12"]
Pillow>=10.0.0
numpy>=1.26.0
scipy>=1.11.2
scikit-image>=0.22.0
scikit-learn>=1.3.1
statsmodels>=0.14.0

[all]
six>=1.10.0
ubelt>=1.3.4
utool>=2.2.0
delorean>=1.0.0
packaging>=21.3
xdoctest>=1.1.3
setuptools>=34.1.0
wheel
scikit-build
cmake
ninja

[all-strict]
six==1.10.0
ubelt==1.3.4
utool==2.2.0
delorean==1.0.0
packaging==21.3
xdoctest==1.1.3
setuptools==34.1.0
wheel
scikit-build
cmake
ninja

[all-strict:python_version < "2.7" and python_version >= "2.6"]
coverage==4.5

[all-strict:python_version < "2.8.0" and python_version >= "2.7.0"]
pytest<=4.6.11,==4.6.0
pytest-cov==2.8.1

[all-strict:python_version < "3.10" and python_version >= "3.9"]
Pillow==8.3.2
numpy==1.19.3
scipy==1.8.0
scikit-image==0.18.0
scikit-learn==1.0.2
statsmodels==0.13.1
pytest==8.1.1
coverage==5.3.1
pyflann_ibeis==2.2.0
pyhesaff==2.1.0
vtool_ibeis_ext==0.1.0

[all-strict:python_version < "3.11" and python_version >= "3.10"]
Pillow==9.1.0
numpy==1.21.6
scipy==1.8.0
scikit-image==0.19.0
scikit-learn==1.0.2
statsmodels==0.13.1
pytest==8.1.1
pyflann_ibeis==2.2.0
pyhesaff==2.1.0
vtool_ibeis_ext==0.1.0

[all-strict:python_version < "3.11" and python_version >= "3.8"]
networkx==2.7

[all-strict:python_version < "3.12" and python_version >= "3.11"]
Pillow==9.4.0
numpy==1.24.0
scipy==1.9.2
scikit-image==0.20.0
scikit-learn==1.1.3
statsmodels==0.13.3
pytest==8.1.1

[all-strict:python_version < "3.13" and python_version >= "3.12"]
pytest==8.1.1

[all-strict:python_version < "3.4" and python_version >= "2.7"]
coverage==5.3.1

[all-strict:python_version < "3.5" and python_version >= "2.7"]
networkx==1.11

[all-strict:python_version < "3.5" and python_version >= "3.4"]
coverage==4.3.4

[all-strict:python_version < "3.5.0" and python_version >= "3.4.0"]
pytest<=4.6.11,==4.6.0
pytest-cov==2.8.1

[all-strict:python_version < "3.6" and python_version >= "3.5"]
networkx==2.3
coverage==5.3.1

[all-strict:python_version < "3.6.0" and python_version >= "3.5.0"]
pytest<=6.1.2,==4.6.0
pytest-cov==2.9.0

[all-strict:python_version < "3.7" and python_version >= "3.6"]
networkx==2.5
Pillow==8.3.2
numpy==1.19.2
scikit-image==0.17.2
scikit-learn==0.24.1
coverage==6.1.1
pyhesaff==2.0.1

[all-strict:python_version < "3.8" and python_version >= "3.7"]
networkx==2.6.2
Pillow==9.0.0
numpy==1.19.2
scipy==1.6.0
scikit-image==0.17.2
scikit-learn==0.24.1
statsmodels==0.12.2
pytest==4.6.0
coverage==6.1.1
pyflann_ibeis==2.2.0
pyhesaff==2.0.1
vtool_ibeis_ext==0.1.0

[all-strict:python_version < "3.9" and python_version >= "3.8"]
Pillow==8.3.2
numpy==1.19.2
scipy==1.8.0
scikit-image==0.17.2
scikit-learn==1.0.2
statsmodels==0.13.1
pytest==8.1.1
coverage==6.1.1
pyflann_ibeis==2.0.0
pyhesaff==2.0.1
vtool_ibeis_ext==0.1.0

[all-strict:python_version < "4.0" and python_version >= "3.11"]
networkx==2.8
pyflann_ibeis==2.3.0
pyhesaff==2.1.1
vtool_ibeis_ext==0.1.1

[all-strict:python_version < "4.0" and python_version >= "3.12"]
Pillow==10.0.0
numpy==1.26.0
scipy==1.11.2
scikit-image==0.22.0
scikit-learn==1.3.1
statsmodels==0.14.0

[all-strict:python_version < "4.0" and python_version >= "3.13"]
pytest==8.1.1

[all-strict:python_version >= "3.10"]
coverage==6.1.1

[all-strict:python_version >= "3.6.0"]
pytest-cov==3.0.0

[all:python_version < "2.7" and python_version >= "2.6"]
coverage>=4.5

[all:python_version < "2.8.0" and python_version >= "2.7.0"]
pytest<=4.6.11,>=4.6.0
pytest-cov>=2.8.1

[all:python_version < "3.10" and python_version >= "3.9"]
Pillow>=8.3.2
numpy>=1.19.3
scipy>=1.8.0
scikit-image>=0.18.0
scikit-learn>=1.0.2
statsmodels>=0.13.1
pytest>=8.1.1
coverage>=5.3.1
pyflann_ibeis>=2.2.0
pyhesaff>=2.1.0
vtool_ibeis_ext>=0.1.0

[all:python_version < "3.11" and python_version >= "3.10"]
Pillow>=9.1.0
numpy>=1.21.6
scipy>=1.8.0
scikit-image>=0.19.0
scikit-learn>=1.0.2
statsmodels>=0.13.1
pytest>=8.1.1
pyflann_ibeis>=2.2.0
pyhesaff>=2.1.0
vtool_ibeis_ext>=0.1.0

[all:python_version < "3.11" and python_version >= "3.8"]
networkx>=2.7

[all:python_version < "3.12" and python_version >= "3.11"]
Pillow>=9.4.0
numpy>=1.24.0
scipy>=1.9.2
scikit-image>=0.20.0
scikit-learn>=1.1.3
statsmodels>=0.13.3
pytest>=8.1.1

[all:python_version < "3.13" and python_version >= "3.12"]
pytest>=8.1.1

[all:python_version < "3.4" and python_version >= "2.7"]
coverage>=5.3.1

[all:python_version < "3.5" and python_version >= "2.7"]
networkx>=1.11

[all:python_version < "3.5" and python_version >= "3.4"]
coverage>=4.3.4

[all:python_version < "3.5.0" and python_version >= "3.4.0"]
pytest<=4.6.11,>=4.6.0
pytest-cov>=2.8.1

[all:python_version < "3.6" and python_version >= "3.5"]
networkx>=2.3
coverage>=5.3.1

[all:python_version < "3.6.0" and python_version >= "3.5.0"]
pytest<=6.1.2,>=4.6.0
pytest-cov>=2.9.0

[all:python_version < "3.7" and python_version >= "3.6"]
networkx>=2.5
Pillow>=8.3.2
numpy>=1.19.2
scikit-image>=0.17.2
scikit-learn>=0.24.1
coverage>=6.1.1
pyhesaff>=2.0.1

[all:python_version < "3.8" and python_version >= "3.7"]
networkx>=2.6.2
Pillow>=9.0.0
numpy>=1.19.2
scipy>=1.6.0
scikit-image>=0.17.2
scikit-learn>=0.24.1
statsmodels>=0.12.2
pytest>=4.6.0
coverage>=6.1.1
pyflann_ibeis>=2.2.0
pyhesaff>=2.0.1
vtool_ibeis_ext>=0.1.0

[all:python_version < "3.9" and python_version >= "3.8"]
Pillow>=8.3.2
numpy>=1.19.2
scipy>=1.8.0
scikit-image>=0.17.2
scikit-learn>=1.0.2
statsmodels>=0.13.1
pytest>=8.1.1
coverage>=6.1.1
pyflann_ibeis>=2.0.0
pyhesaff>=2.0.1
vtool_ibeis_ext>=0.1.0

[all:python_version < "4.0" and python_version >= "3.11"]
networkx>=2.8
pyflann_ibeis>=2.3.0
pyhesaff>=2.1.1
vtool_ibeis_ext>=0.1.1

[all:python_version < "4.0" and python_version >= "3.12"]
Pillow>=10.0.0
numpy>=1.26.0
scipy>=1.11.2
scikit-image>=0.22.0
scikit-learn>=1.3.1
statsmodels>=0.14.0

[all:python_version < "4.0" and python_version >= "3.13"]
pytest>=8.1.1

[all:python_version >= "3.10"]
coverage>=6.1.1

[all:python_version >= "3.6.0"]
pytest-cov>=3.0.0

[build]
setuptools>=34.1.0
wheel
scikit-build
cmake
ninja

[build-strict]
setuptools==34.1.0
wheel
scikit-build
cmake
ninja

[docs]
sphinx>=5.0.1
sphinx-autobuild>=2021.3.14
sphinx_rtd_theme>=1.0.0
sphinxcontrib-napoleon>=0.7
sphinx-autoapi>=1.8.4
Pygments>=2.9.0
myst_parser>=0.18.0
sphinx-reredirects>=0.0.1

[docs-strict]
sphinx==5.0.1
sphinx-autobuild==2021.3.14
sphinx_rtd_theme==1.0.0
sphinxcontrib-napoleon==0.7
sphinx-autoapi==1.8.4
Pygments==2.9.0
myst_parser==0.18.0
sphinx-reredirects==0.0.1

[graphics]

[graphics-strict]

[graphics-strict:python_version < "3.10" and python_version >= "3.9"]
opencv-python==3.4.15.55

[graphics-strict:python_version < "3.11" and python_version >= "3.10"]
opencv-python==4.5.4.58

[graphics-strict:python_version < "3.4" and python_version >= "2.7"]
opencv-python==3.1.0.0

[graphics-strict:python_version < "3.5" and python_version >= "3.4"]
opencv-python==3.1.0.5

[graphics-strict:python_version < "3.6" and python_version >= "3.5"]
opencv-python==3.1.0.2

[graphics-strict:python_version < "3.7" and python_version >= "3.6"]
opencv-python==3.4.13.47

[graphics-strict:python_version < "3.8" and python_version >= "3.7"]
opencv-python==3.4.15.55

[graphics-strict:python_version < "3.9" and python_version >= "3.8"]
opencv-python==3.4.15.55

[graphics-strict:python_version < "4.0" and python_version >= "3.11"]
opencv-python==4.5.5.64

[graphics:python_version < "3.10" and python_version >= "3.9"]
opencv-python>=3.4.15.55

[graphics:python_version < "3.11" and python_version >= "3.10"]
opencv-python>=4.5.4.58

[graphics:python_version < "3.4" and python_version >= "2.7"]
opencv-python>=3.1.0.0

[graphics:python_version < "3.5" and python_version >= "3.4"]
opencv-python>=3.1.0.5

[graphics:python_version < "3.6" and python_version >= "3.5"]
opencv-python>=3.1.0.2

[graphics:python_version < "3.7" and python_version >= "3.6"]
opencv-python>=3.4.13.47

[graphics:python_version < "3.8" and python_version >= "3.7"]
opencv-python>=3.4.15.55

[graphics:python_version < "3.9" and python_version >= "3.8"]
opencv-python>=3.4.15.55

[graphics:python_version < "4.0" and python_version >= "3.11"]
opencv-python>=4.5.5.64

[headless]

[headless-strict]

[headless-strict:python_version < "3.10" and python_version >= "3.9"]
opencv-python-headless==3.4.15.55

[headless-strict:python_version < "3.11" and python_version >= "3.10"]
opencv-python-headless==4.5.4.58

[headless-strict:python_version < "3.4" and python_version >= "2.7"]
opencv-python-headless==3.4.2.16

[headless-strict:python_version < "3.5" and python_version >= "3.4"]
opencv-python-headless==3.4.2.16

[headless-strict:python_version < "3.6" and python_version >= "3.5"]
opencv-python-headless==3.4.2.16

[headless-strict:python_version < "3.7" and python_version >= "3.6"]
opencv-python-headless==3.4.13.47

[headless-strict:python_version < "3.8" and python_version >= "3.7"]
opencv-python-headless==3.4.15.55

[headless-strict:python_version < "3.9" and python_version >= "3.8"]
opencv-python-headless==3.4.15.55

[headless-strict:python_version < "4.0" and python_version >= "3.11"]
opencv-python-headless==4.5.5.64

[headless:python_version < "3.10" and python_version >= "3.9"]
opencv-python-headless>=3.4.15.55

[headless:python_version < "3.11" and python_version >= "3.10"]
opencv-python-headless>=4.5.4.58

[headless:python_version < "3.4" and python_version >= "2.7"]
opencv-python-headless>=3.4.2.16

[headless:python_version < "3.5" and python_version >= "3.4"]
opencv-python-headless>=3.4.2.16

[headless:python_version < "3.6" and python_version >= "3.5"]
opencv-python-headless>=3.4.2.16

[headless:python_version < "3.7" and python_version >= "3.6"]
opencv-python-headless>=3.4.13.47

[headless:python_version < "3.8" and python_version >= "3.7"]
opencv-python-headless>=3.4.15.55

[headless:python_version < "3.9" and python_version >= "3.8"]
opencv-python-headless>=3.4.15.55

[headless:python_version < "4.0" and python_version >= "3.11"]
opencv-python-headless>=4.5.5.64

[optional]

[optional-strict]

[optional-strict:python_version < "3.10" and python_version >= "3.9"]
pyflann_ibeis==2.2.0
pyhesaff==2.1.0
vtool_ibeis_ext==0.1.0

[optional-strict:python_version < "3.11" and python_version >= "3.10"]
pyflann_ibeis==2.2.0
pyhesaff==2.1.0
vtool_ibeis_ext==0.1.0

[optional-strict:python_version < "3.7" and python_version >= "3.6"]
pyhesaff==2.0.1

[optional-strict:python_version < "3.8" and python_version >= "3.7"]
pyflann_ibeis==2.2.0
pyhesaff==2.0.1
vtool_ibeis_ext==0.1.0

[optional-strict:python_version < "3.9" and python_version >= "3.8"]
pyflann_ibeis==2.0.0
pyhesaff==2.0.1
vtool_ibeis_ext==0.1.0

[optional-strict:python_version < "4.0" and python_version >= "3.11"]
pyflann_ibeis==2.3.0
pyhesaff==2.1.1
vtool_ibeis_ext==0.1.1

[optional:python_version < "3.10" and python_version >= "3.9"]
pyflann_ibeis>=2.2.0
pyhesaff>=2.1.0
vtool_ibeis_ext>=0.1.0

[optional:python_version < "3.11" and python_version >= "3.10"]
pyflann_ibeis>=2.2.0
pyhesaff>=2.1.0
vtool_ibeis_ext>=0.1.0

[optional:python_version < "3.7" and python_version >= "3.6"]
pyhesaff>=2.0.1

[optional:python_version < "3.8" and python_version >= "3.7"]
pyflann_ibeis>=2.2.0
pyhesaff>=2.0.1
vtool_ibeis_ext>=0.1.0

[optional:python_version < "3.9" and python_version >= "3.8"]
pyflann_ibeis>=2.0.0
pyhesaff>=2.0.1
vtool_ibeis_ext>=0.1.0

[optional:python_version < "4.0" and python_version >= "3.11"]
pyflann_ibeis>=2.3.0
pyhesaff>=2.1.1
vtool_ibeis_ext>=0.1.1

[runtime]
six>=1.10.0
ubelt>=1.3.4
utool>=2.2.0
delorean>=1.0.0
packaging>=21.3

[runtime-strict]
six==1.10.0
ubelt==1.3.4
utool==2.2.0
delorean==1.0.0
packaging==21.3

[runtime-strict:python_version < "3.10" and python_version >= "3.9"]
Pillow==8.3.2
numpy==1.19.3
scipy==1.8.0
scikit-image==0.18.0
scikit-learn==1.0.2
statsmodels==0.13.1

[runtime-strict:python_version < "3.11" and python_version >= "3.10"]
Pillow==9.1.0
numpy==1.21.6
scipy==1.8.0
scikit-image==0.19.0
scikit-learn==1.0.2
statsmodels==0.13.1

[runtime-strict:python_version < "3.11" and python_version >= "3.8"]
networkx==2.7

[runtime-strict:python_version < "3.12" and python_version >= "3.11"]
Pillow==9.4.0
numpy==1.24.0
scipy==1.9.2
scikit-image==0.20.0
scikit-learn==1.1.3
statsmodels==0.13.3

[runtime-strict:python_version < "3.5" and python_version >= "2.7"]
networkx==1.11

[runtime-strict:python_version < "3.6" and python_version >= "3.5"]
networkx==2.3

[runtime-strict:python_version < "3.7" and python_version >= "3.6"]
networkx==2.5
Pillow==8.3.2
numpy==1.19.2
scikit-image==0.17.2
scikit-learn==0.24.1

[runtime-strict:python_version < "3.8" and python_version >= "3.7"]
networkx==2.6.2
Pillow==9.0.0
numpy==1.19.2
scipy==1.6.0
scikit-image==0.17.2
scikit-learn==0.24.1
statsmodels==0.12.2

[runtime-strict:python_version < "3.9" and python_version >= "3.8"]
Pillow==8.3.2
numpy==1.19.2
scipy==1.8.0
scikit-image==0.17.2
scikit-learn==1.0.2
statsmodels==0.13.1

[runtime-strict:python_version < "4.0" and python_version >= "3.11"]
networkx==2.8

[runtime-strict:python_version < "4.0" and python_version >= "3.12"]
Pillow==10.0.0
numpy==1.26.0
scipy==1.11.2
scikit-image==0.22.0
scikit-learn==1.3.1
statsmodels==0.14.0

[runtime:python_version < "3.10" and python_version >= "3.9"]
Pillow>=8.3.2
numpy>=1.19.3
scipy>=1.8.0
scikit-image>=0.18.0
scikit-learn>=1.0.2
statsmodels>=0.13.1

[runtime:python_version < "3.11" and python_version >= "3.10"]
Pillow>=9.1.0
numpy>=1.21.6
scipy>=1.8.0
scikit-image>=0.19.0
scikit-learn>=1.0.2
statsmodels>=0.13.1

[runtime:python_version < "3.11" and python_version >= "3.8"]
networkx>=2.7

[runtime:python_version < "3.12" and python_version >= "3.11"]
Pillow>=9.4.0
numpy>=1.24.0
scipy>=1.9.2
scikit-image>=0.20.0
scikit-learn>=1.1.3
statsmodels>=0.13.3

[runtime:python_version < "3.5" and python_version >= "2.7"]
networkx>=1.11

[runtime:python_version < "3.6" and python_version >= "3.5"]
networkx>=2.3

[runtime:python_version < "3.7" and python_version >= "3.6"]
networkx>=2.5
Pillow>=8.3.2
numpy>=1.19.2
scikit-image>=0.17.2
scikit-learn>=0.24.1

[runtime:python_version < "3.8" and python_version >= "3.7"]
networkx>=2.6.2
Pillow>=9.0.0
numpy>=1.19.2
scipy>=1.6.0
scikit-image>=0.17.2
scikit-learn>=0.24.1
statsmodels>=0.12.2

[runtime:python_version < "3.9" and python_version >= "3.8"]
Pillow>=8.3.2
numpy>=1.19.2
scipy>=1.8.0
scikit-image>=0.17.2
scikit-learn>=1.0.2
statsmodels>=0.13.1

[runtime:python_version < "4.0" and python_version >= "3.11"]
networkx>=2.8

[runtime:python_version < "4.0" and python_version >= "3.12"]
Pillow>=10.0.0
numpy>=1.26.0
scipy>=1.11.2
scikit-image>=0.22.0
scikit-learn>=1.3.1
statsmodels>=0.14.0

[tests]
xdoctest>=1.1.3

[tests-strict]
xdoctest==1.1.3

[tests-strict:python_version < "2.7" and python_version >= "2.6"]
coverage==4.5

[tests-strict:python_version < "2.8.0" and python_version >= "2.7.0"]
pytest<=4.6.11,==4.6.0
pytest-cov==2.8.1

[tests-strict:python_version < "3.10" and python_version >= "3.9"]
pytest==8.1.1
coverage==5.3.1

[tests-strict:python_version < "3.11" and python_version >= "3.10"]
pytest==8.1.1

[tests-strict:python_version < "3.12" and python_version >= "3.11"]
pytest==8.1.1

[tests-strict:python_version < "3.13" and python_version >= "3.12"]
pytest==8.1.1

[tests-strict:python_version < "3.4" and python_version >= "2.7"]
coverage==5.3.1

[tests-strict:python_version < "3.5" and python_version >= "3.4"]
coverage==4.3.4

[tests-strict:python_version < "3.5.0" and python_version >= "3.4.0"]
pytest<=4.6.11,==4.6.0
pytest-cov==2.8.1

[tests-strict:python_version < "3.6" and python_version >= "3.5"]
coverage==5.3.1

[tests-strict:python_version < "3.6.0" and python_version >= "3.5.0"]
pytest<=6.1.2,==4.6.0
pytest-cov==2.9.0

[tests-strict:python_version < "3.7" and python_version >= "3.6"]
coverage==6.1.1

[tests-strict:python_version < "3.8" and python_version >= "3.7"]
pytest==4.6.0
coverage==6.1.1

[tests-strict:python_version < "3.9" and python_version >= "3.8"]
pytest==8.1.1
coverage==6.1.1

[tests-strict:python_version < "4.0" and python_version >= "3.13"]
pytest==8.1.1

[tests-strict:python_version >= "3.10"]
coverage==6.1.1

[tests-strict:python_version >= "3.6.0"]
pytest-cov==3.0.0

[tests:python_version < "2.7" and python_version >= "2.6"]
coverage>=4.5

[tests:python_version < "2.8.0" and python_version >= "2.7.0"]
pytest<=4.6.11,>=4.6.0
pytest-cov>=2.8.1

[tests:python_version < "3.10" and python_version >= "3.9"]
pytest>=8.1.1
coverage>=5.3.1

[tests:python_version < "3.11" and python_version >= "3.10"]
pytest>=8.1.1

[tests:python_version < "3.12" and python_version >= "3.11"]
pytest>=8.1.1

[tests:python_version < "3.13" and python_version >= "3.12"]
pytest>=8.1.1

[tests:python_version < "3.4" and python_version >= "2.7"]
coverage>=5.3.1

[tests:python_version < "3.5" and python_version >= "3.4"]
coverage>=4.3.4

[tests:python_version < "3.5.0" and python_version >= "3.4.0"]
pytest<=4.6.11,>=4.6.0
pytest-cov>=2.8.1

[tests:python_version < "3.6" and python_version >= "3.5"]
coverage>=5.3.1

[tests:python_version < "3.6.0" and python_version >= "3.5.0"]
pytest<=6.1.2,>=4.6.0
pytest-cov>=2.9.0

[tests:python_version < "3.7" and python_version >= "3.6"]
coverage>=6.1.1

[tests:python_version < "3.8" and python_version >= "3.7"]
pytest>=4.6.0
coverage>=6.1.1

[tests:python_version < "3.9" and python_version >= "3.8"]
pytest>=8.1.1
coverage>=6.1.1

[tests:python_version < "4.0" and python_version >= "3.13"]
pytest>=8.1.1

[tests:python_version >= "3.10"]
coverage>=6.1.1

[tests:python_version >= "3.6.0"]
pytest-cov>=3.0.0
