[tox] envlist = isort-inplace, black-inplace, mypy, lint [testenv] basepython = python3.7 [testenv:black-inplace] description = Run black and edit all files in place skip_install = True deps = black commands = black mtgsqlive/ # Active Tests [testenv:yapf-inplace] description = Run yapf and edit all files in place skip_install = True deps = yapf commands = yapf --in-place --recursive --parallel mtgsqlive/ tests/ [testenv:mypy] description = mypy static type checking only deps = mypy commands = mypy {posargs:mtgsqlive/} [testenv:lint] description = Run linting tools deps = pylint commands = pylint mtgsqlive/ --rcfile=.pylintrc # Inactive Tests [testenv:yapf-check] description = Dry-run yapf to see if reformatting is needed skip_install = True deps = yapf # TODO make it error exit if there's a diff commands = yapf --diff --recursive --parallel mtgsqlive/ tests/ [testenv:isort-check] description = dry-run isort to see if imports need resorting deps = isort commands = isort --check-only [testenv:isort-inplace] description = Sort imports deps = isort commands = isort -rc mtgsqlive/ [testenv:unit] description = Run unit tests with coverage and mypy type checking extras = dev commands = pytest --cov=mtgsqlive {posargs:tests/}