@@ -57,12 +57,17 @@ precision = 1
5757[coverage:paths]
5858source = wcwidth/
5959
60+ # wcwidth itself has no 3rd party dependencies, but to ensure the best available
61+ # version for the newest to oldest python versions for testing, must also use some
62+ # targeted versions to 'compile' those requirements into their frozen form,
63+ # otherwise incompatible packages would be pinned. At the time of this writing the
64+ # files compiled for version 3.9 through 3.11 are compiled by python3.11.
6065[testenv:compile]
61- basepython = python3.10
66+ basepython = python3.11
6267commands = python -m compileall {toxinidir}/wcwidth {toxinidir}/bin {toxinidir}/tests {toxinidir}/docs
6368
6469[testenv:update_requirements]
65- basepython = python3.10
70+ basepython = python3.11
6671deps = pip-tools
6772commands = pip-compile --resolver =backtracking --no-emit-index-url requirements-update.in -o requirements-update.txt
6873 pip-compile --resolver =backtracking --no-emit-index-url requirements-docs.in -o docs/requirements.txt
@@ -92,13 +97,13 @@ deps = -r requirements-tests37.txt
9297deps = -r requirements-tests36.txt
9398
9499[testenv:update]
95- basepython = python3.10
100+ basepython = python3.11
96101usedevelop = true
97102deps = -r requirements-update.txt
98103commands = python {toxinidir}/bin/update-tables.py {posargs}
99104
100105[testenv:autopep8]
101- basepython = python3.10
106+ basepython = python3.11
102107commands =
103108 {envbindir}/autopep8 \
104109 --in-place \
@@ -108,7 +113,7 @@ commands =
108113 wcwidth/ bin/ tests/ setup.py
109114
110115[testenv:docformatter]
111- basepython = python3.10
116+ basepython = python3.11
112117commands =
113118 {envbindir}/docformatter \
114119 --in-place \
@@ -122,37 +127,37 @@ commands =
122127 {toxinidir}/docs/conf.py
123128
124129[testenv:isort]
125- basepython = python3.10
130+ basepython = python3.11
126131commands = {envbindir}/isort --quiet --apply --recursive wcwidth tests bin
127132
128133[testenv:pylint]
129- basepython = python3.10
134+ basepython = python3.11
130135commands = {envbindir}/pylint --rcfile ={toxinidir}/.pylintrc \
131136 --ignore =tests,docs,setup.py,conf.py,build,distutils,.pyenv,.git,.tox \
132137 {posargs:{toxinidir}}/wcwidth
133138
134139[testenv:flake8]
135- basepython = python3.10
140+ basepython = python3.11
136141commands = {envbindir}/flake8 --exclude =tests setup.py docs/ wcwidth/ bin/ tests/
137142
138143[testenv:pydocstyle]
139- basepython = python3.10
144+ basepython = python3.11
140145commands = {envbindir}/pydocstyle --source --explain {toxinidir}/wcwidth
141146 {envbindir}/rst-lint README.rst
142147 {envbindir}/doc8 --ignore-path docs/_build --ignore-path docs/requirements.txt --ignore D000 docs
143148
144149[testenv:docs]
145- basepython = python3.10
150+ basepython = python3.11
146151deps = -r {toxinidir}/docs/requirements.txt
147152commands = sphinx-build docs/ build/sphinx
148153
149154[testenv:sphinx]
150- basepython = python3.10
155+ basepython = python3.11
151156deps = -r {toxinidir}/docs/requirements.txt
152157commands = {envbindir}/sphinx-build {posargs:-v -W -d {toxinidir}/docs/_build/doctrees -b html docs {toxinidir}/docs/_build/html}
153158
154159[testenv:linkcheck]
155- basepython = python3.10
160+ basepython = python3.11
156161deps = -r {toxinidir}/docs/requirements.txt
157162commands = {envbindir}/sphinx-build -v -W -d {toxinidir}/docs/_build/doctrees -b linkcheck docs docs/_build/linkcheck
158163
0 commit comments