[tox]
minversion=3.14.6
envlist = py37, py38, linters

[testenv]
deps =
    pytest
    coverage
commands =
    coverage run -m pytest {posargs}

[testenv:linters]
basepython = python3.7
skip_install = true
deps =
    {[testenv:format]deps}
    {[testenv:flake8]deps}
    {[testenv:mypy]deps}
commands =
    {[testenv:format]commands}
    {[testenv:flake8]commands}
    {[testenv:mypy]commands}

[testenv:flake8]
basepython = python3.7
skip_install = true
deps =
	flake8
    flake8-bugbear
    flake8-import-order

commands =
	flake8 --version
	flake8 src/ setup.py

[testenv:format]
basepython = python3.7
skip_install = true
deps =
    black
    isort
commands =
    isort --version
    isort --recursive src/
    black --version
    black src/ setup.py

[testenv:mypy]
basepython = python3.7
skip_install = true
deps =
    mypy
commands =
    mypy --version
    mypy src/ setup.py