11[tox]
22
33envlist =
4- flake8
4+ flake8, mypy
55 test-py{26,27,34,35,36,37,38,py,py3}
66 coverage_report
77 packaging
@@ -55,6 +55,8 @@ passenv =
5555setenv =
5656 PY_MODULE =hyperlink
5757
58+ test: PYTHONPYCACHEPREFIX ={envtmpdir}/pycache
59+
5860 test: COVERAGE_FILE ={toxworkdir}/coverage.{envname}
5961 {coverage_report,codecov}: COVERAGE_FILE ={toxworkdir}/coverage
6062 codecov: COVERAGE_XML ={envlogdir}/coverage_report.xml
@@ -75,12 +77,9 @@ basepython = python3.8
7577
7678skip_install = True
7779
78- # Pin pydocstyle to version 3: see https://gitlab.com/pycqa/flake8-docstrings/issues/36
7980deps =
8081 flake8-bugbear ==19.8.0
81- # flake8-docstrings==1.4.0
82- # flake8-import-order==0.18.1
83- # flake8-pep3101==1.2.1
82+ # flake8-docstrings==1.5.0
8483 flake8 ==3.7.9
8584 mccabe ==0.6.1
8685 pep8-naming ==0.9.1
@@ -142,11 +141,9 @@ basepython = python3.8
142141
143142skip_install = True
144143
145-
146144deps =
147145 mypy ==0.750
148146
149-
150147commands =
151148 mypy \
152149 --config-file =" {toxinidir}/tox.ini" \
@@ -173,7 +170,11 @@ warn_return_any = True
173170warn_unreachable = True
174171warn_unused_ignores = True
175172
173+ [mypy-hyperlink._url]
176174# Don't complain about dependencies known to lack type hints
175+ # 4 at time of writing (2020-20-01), so maybe disable this soon
176+ allow_untyped_defs = True
177+
177178
178179[mypy-idna]
179180ignore_missing_imports = True
@@ -196,8 +197,8 @@ deps =
196197
197198commands =
198199 coverage combine
199- coverage report
200- coverage html
200+ - coverage report
201+ - coverage html
201202
202203
203204# #
@@ -217,6 +218,8 @@ deps =
217218 codecov ==2.0.15
218219
219220commands =
221+ # Note documentation for CI variables in default environment's passenv
222+
220223 coverage combine
221224 coverage xml -o " {env:COVERAGE_XML}"
222225 codecov --file =" {env:COVERAGE_XML}" --env \
@@ -281,7 +284,9 @@ basepython = python
281284deps =
282285 check-manifest ==0.40
283286 readme_renderer ==24.0
287+ twine ==2.0.0
284288
285289commands =
286290 check-manifest
287- python setup.py check --metadata --restructuredtext --strict
291+ pip wheel --wheel-dir " {envtmpdir}/dist" --no-deps {toxinidir}
292+ twine check " {envtmpdir}/dist/" *
0 commit comments