[tox] envlist = coverage-clean,py3.6,py3.7,py3.8,py3.9,py3.10,pypy3.7,py3.9-nooptionals,coverage-report,flake8,isort,mypy [base] deps = coverage pytest attrs [testenv] deps = {[base]deps} {py3.7,pypy3.7}: twisted {py3.7,pypy3.7}: asgiref commands = coverage run --parallel -m pytest {posargs} [testenv:py3.9-nooptionals] commands = coverage run --parallel -m pytest {posargs} [testenv:coverage-clean] deps = coverage skip_install = true commands = coverage erase [testenv:coverage-report] deps = coverage skip_install = true commands = coverage combine coverage report [testenv:flake8] deps = flake8==3.7.8 flake8-docstrings==1.5.0 flake8-import-order==0.18.1 skip_install = true commands = flake8 prometheus_client/ tests/ setup.py [testenv:isort] deps = isort==5.5.4 skip_install = true commands = isort --check prometheus_client/ tests/ setup.py [testenv:mypy] deps = pytest asgiref mypy==0.910 skip_install = true commands = mypy --install-types --non-interactive prometheus_client/ tests/ [flake8] ignore = D, E303, E402, E501, E722, E741, F821, F841, W291, W293, W503, E129, E731 per-file-ignores = prometheus_client/__init__.py:F401 import-order-style = google application-import-names = prometheus_client [isort] force_alphabetical_sort_within_sections = True force_sort_within_sections = True include_trailing_comma = True multi_line_output = 5