From 0e62a49ac7d8798d112fbc73bf8ffc90a4c33cf1 Mon Sep 17 00:00:00 2001 From: GalaxySnail Date: Mon, 11 Sep 2023 16:33:18 +0800 Subject: [PATCH 1/2] Update requirements --- docs/requirements.txt | 43 ++++++++++++++-------------- requirements-docs.in | 2 +- requirements-tests37.txt | 20 ++++++++------ requirements-tests39.txt | 60 ++++++++++++++++++++-------------------- requirements-update.in | 1 + requirements-update.txt | 20 ++++++++------ tox.ini | 21 +++++++++----- 7 files changed, 89 insertions(+), 78 deletions(-) diff --git a/docs/requirements.txt b/docs/requirements.txt index 3ff281d..8ced8cf 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -1,58 +1,57 @@ # -# This file is autogenerated by pip-compile with Python 3.10 +# This file is autogenerated by pip-compile with Python 3.11 # by the following command: # -# pip-compile --no-emit-index-url --output-file=docs/requirements.txt --resolver=backtracking requirements-docs.in +# pip-compile --allow-unsafe --no-emit-index-url --output-file=docs/requirements.txt --strip-extras requirements-docs.in # -alabaster==0.7.12 +alabaster==0.7.13 # via sphinx -babel==2.9.1 +babel==2.12.1 # via sphinx -certifi==2021.10.8 +certifi==2023.7.22 # via requests -charset-normalizer==2.0.12 +charset-normalizer==3.2.0 # via requests docutils==0.17.1 # via # sphinx # sphinx-rtd-theme -idna==3.3 +idna==3.4 # via requests -imagesize==1.3.0 +imagesize==1.4.1 # via sphinx -jinja2==3.0.3 +jinja2==3.1.2 # via sphinx -markupsafe==2.1.1 +markupsafe==2.1.3 # via jinja2 -packaging==21.3 +packaging==23.1 # via sphinx -pygments==2.11.2 +pygments==2.16.1 # via sphinx -pyparsing==3.0.7 - # via packaging -pytz==2022.1 - # via babel -requests==2.27.1 +requests==2.31.0 # via sphinx snowballstemmer==2.2.0 # via sphinx -sphinx==4.4.0 +sphinx==4.5.0 # via # -r requirements-docs.in # sphinx-rtd-theme -sphinx-rtd-theme==1.0.0 + # sphinxcontrib-jquery +sphinx-rtd-theme==1.3.0 # via -r requirements-docs.in -sphinxcontrib-applehelp==1.0.2 +sphinxcontrib-applehelp==1.0.4 # via sphinx sphinxcontrib-devhelp==1.0.2 # via sphinx -sphinxcontrib-htmlhelp==2.0.0 +sphinxcontrib-htmlhelp==2.0.1 # via sphinx +sphinxcontrib-jquery==4.1 + # via sphinx-rtd-theme sphinxcontrib-jsmath==1.0.1 # via sphinx sphinxcontrib-qthelp==1.0.3 # via sphinx sphinxcontrib-serializinghtml==1.1.5 # via sphinx -urllib3==1.26.9 +urllib3==2.0.4 # via requests diff --git a/requirements-docs.in b/requirements-docs.in index ab3f3dd..98869c6 100644 --- a/requirements-docs.in +++ b/requirements-docs.in @@ -1,2 +1,2 @@ -Sphinx +Sphinx~=4.5 sphinx_rtd_theme diff --git a/requirements-tests37.txt b/requirements-tests37.txt index eef5a5a..4780dcf 100644 --- a/requirements-tests37.txt +++ b/requirements-tests37.txt @@ -2,23 +2,25 @@ # This file is autogenerated by pip-compile with Python 3.7 # by the following command: # -# pip-compile --no-emit-index-url --output-file=requirements-tests37.txt requirements-tests37.in +# pip-compile --allow-unsafe --no-emit-index-url --output-file=requirements-tests37.txt --resolver=backtracking --strip-extras requirements-tests37.in # -attrs==22.2.0 +attrs==23.1.0 # via pytest -coverage[toml]==5.5 +coverage==5.5 # via # -r requirements-tests37.in # pytest-cov -importlib-metadata==6.0.0 ; python_version < "3.8" +importlib-metadata==6.7.0 ; python_version < "3.8" # via # -r requirements-tests37.in + # attrs + # pluggy # pytest iniconfig==2.0.0 # via pytest -packaging==23.0 +packaging==23.1 # via pytest -pluggy==1.0.0 +pluggy==1.2.0 # via pytest py==1.11.0 # via pytest @@ -26,13 +28,13 @@ pytest==6.2.5 # via # -r requirements-tests37.in # pytest-cov -pytest-cov==4.0.0 +pytest-cov==4.1.0 # via -r requirements-tests37.in toml==0.10.2 # via # coverage # pytest -typing-extensions==4.4.0 +typing-extensions==4.7.1 # via importlib-metadata -zipp==3.11.0 +zipp==3.15.0 # via importlib-metadata diff --git a/requirements-tests39.txt b/requirements-tests39.txt index fbc3f3c..9535be4 100644 --- a/requirements-tests39.txt +++ b/requirements-tests39.txt @@ -2,66 +2,66 @@ # This file is autogenerated by pip-compile with Python 3.9 # by the following command: # -# pip-compile --no-emit-index-url --output-file=requirements-tests39.txt requirements-tests39.in +# pip-compile --allow-unsafe --no-emit-index-url --output-file=requirements-tests39.txt --strip-extras requirements-tests39.in # -astroid==2.13.2 +astroid==2.15.6 # via # -r requirements-tests39.in # pylint -autopep8==1.6.0 +autopep8==2.0.4 # via -r requirements-tests39.in -coverage[toml]==6.3.2 +charset-normalizer==3.2.0 + # via docformatter +coverage==7.3.1 # via pytest-cov -dill==0.3.6 +dill==0.3.7 # via pylint -doc8==0.10.1 +doc8==1.1.1 # via -r requirements-tests39.in -docformatter==1.4 +docformatter==1.7.5 # via -r requirements-tests39.in -docutils==0.18.1 +docutils==0.20.1 # via # doc8 # restructuredtext-lint exceptiongroup==1.1.3 # via pytest -flake8==4.0.1 +flake8==6.1.0 # via -r requirements-tests39.in -iniconfig==1.1.1 +iniconfig==2.0.0 # via pytest -isort==5.10.1 +isort==5.12.0 # via # -r requirements-tests39.in # pylint -lazy-object-proxy==1.7.1 +lazy-object-proxy==1.9.0 # via astroid -mccabe==0.6.1 +mccabe==0.7.0 # via # flake8 # pylint -packaging==21.3 +packaging==23.1 # via pytest -pbr==5.8.1 +pbr==5.11.1 # via stevedore -platformdirs==2.5.1 +platformdirs==3.10.0 # via pylint -pluggy==1.0.0 +pluggy==1.3.0 # via pytest -pycodestyle==2.8.0 +pycodestyle==2.11.0 # via # autopep8 # flake8 -pydocstyle==6.1.1 +pydocstyle==6.3.0 # via -r requirements-tests39.in -pyflakes==2.4.0 +pyflakes==3.1.0 # via flake8 -pygments==2.11.2 +pygments==2.16.1 # via # -r requirements-tests39.in # doc8 -pylint==2.15.10 +pylint==2.17.5 # via -r requirements-tests39.in -pyparsing==3.0.7 - # via packaging pytest==7.4.2 # via # -r requirements-tests39.in @@ -74,24 +74,24 @@ restructuredtext-lint==1.4.0 # doc8 snowballstemmer==2.2.0 # via pydocstyle -stevedore==3.5.0 +stevedore==5.1.0 # via doc8 -toml==0.10.2 - # via autopep8 tomli==2.0.1 # via + # autopep8 # coverage + # doc8 # pylint # pytest -tomlkit==0.11.6 +tomlkit==0.12.1 # via pylint -typing-extensions==4.4.0 +typing-extensions==4.7.1 # via # astroid # pylint untokenize==0.1.1 # via docformatter -wrapt==1.14.1 +wrapt==1.15.0 # via # -r requirements-tests39.in # astroid diff --git a/requirements-update.in b/requirements-update.in index 7225627..65817a1 100644 --- a/requirements-update.in +++ b/requirements-update.in @@ -1,3 +1,4 @@ +typing-extensions jinja2 requests python-dateutil diff --git a/requirements-update.txt b/requirements-update.txt index bd7cdc4..60e4103 100644 --- a/requirements-update.txt +++ b/requirements-update.txt @@ -1,24 +1,26 @@ # -# This file is autogenerated by pip-compile with Python 3.10 +# This file is autogenerated by pip-compile with Python 3.12 # by the following command: # -# pip-compile --no-emit-index-url --output-file=requirements-update.txt --resolver=backtracking requirements-update.in +# pip-compile --allow-unsafe --no-emit-index-url --output-file=requirements-update.txt --strip-extras requirements-update.in # -certifi==2021.10.8 +certifi==2023.7.22 # via requests -charset-normalizer==2.0.12 +charset-normalizer==3.2.0 # via requests -idna==3.3 +idna==3.4 # via requests -jinja2==3.0.3 +jinja2==3.1.2 # via -r requirements-update.in -markupsafe==2.1.1 +markupsafe==2.1.3 # via jinja2 python-dateutil==2.8.2 # via -r requirements-update.in -requests==2.27.1 +requests==2.31.0 # via -r requirements-update.in six==1.16.0 # via python-dateutil -urllib3==1.26.9 +typing-extensions==4.7.1 + # via -r requirements-update.in +urllib3==2.0.4 # via requests diff --git a/tox.ini b/tox.ini index 8280b9f..9da1290 100644 --- a/tox.ini +++ b/tox.ini @@ -2,6 +2,9 @@ envlist = update, compile, autopep8, docformatter, isort, pylint, flake8, pydocstyle, docs, py{26, 27, 34, 35, 36, 37, 38, 39, 310, 311, 312} skip_missing_interpreters = true +[base] +pip_compile_command = pip-compile --resolver=backtracking --strip-extras --no-emit-index-url --allow-unsafe --upgrade + [testenv] deps = -r requirements-tests39.txt commands = {envpython} -m pytest --cov-config={toxinidir}/tox.ini {posargs:\ @@ -66,26 +69,30 @@ source = wcwidth/ basepython = python3.11 commands = python -m compileall {toxinidir}/wcwidth {toxinidir}/bin {toxinidir}/tests {toxinidir}/docs -[testenv:update_requirements] +[testenv:update_requirements_update] +basepython = python3.12 +deps = pip-tools +commands = {[base]pip_compile_command} requirements-update.in -o requirements-update.txt + +[testenv:update_requirements_docs] basepython = python3.11 deps = pip-tools -commands = pip-compile --resolver=backtracking --no-emit-index-url requirements-update.in -o requirements-update.txt - pip-compile --resolver=backtracking --no-emit-index-url requirements-docs.in -o docs/requirements.txt +commands = {[base]pip_compile_command} requirements-docs.in -o docs/requirements.txt [testenv:update_requirements39] basepython = python3.9 deps = pip-tools -commands = pip-compile --no-emit-index-url requirements-tests39.in -o requirements-tests39.txt +commands = {[base]pip_compile_command} requirements-tests39.in -o requirements-tests39.txt [testenv:update_requirements37] basepython = python3.7 deps = pip-tools -commands = pip-compile --no-emit-index-url requirements-tests37.in -o requirements-tests37.txt +commands = {[base]pip_compile_command} requirements-tests37.in -o requirements-tests37.txt [testenv:update_requirements36] basepython = python3.6 deps = pip-tools -commands = pip-compile --no-emit-index-url requirements-tests37.in -o requirements-tests36.txt +commands = {[base]pip_compile_command} requirements-tests37.in -o requirements-tests36.txt [testenv:py38] deps = -r requirements-tests37.txt @@ -97,7 +104,7 @@ deps = -r requirements-tests37.txt deps = -r requirements-tests36.txt [testenv:update] -basepython = python3.11 +basepython = python3.12 usedevelop = true deps = -r requirements-update.txt commands = python {toxinidir}/bin/update-tables.py {posargs} From c69c7ff50d7f5d3ce50cd27ee9b0b9f5936067cd Mon Sep 17 00:00:00 2001 From: GalaxySnail Date: Mon, 11 Sep 2023 22:50:29 +0800 Subject: [PATCH 2/2] Limit virtualenv version for EOL Python versions Also, requirements for Python 3.6 is locked and won't be updated anymore. ref: https://tox.wiki/en/4.11.3/faq.html#testing-end-of-life-python-versions --- tox.ini | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/tox.ini b/tox.ini index 9da1290..8b4a78a 100644 --- a/tox.ini +++ b/tox.ini @@ -1,6 +1,8 @@ [tox] envlist = update, compile, autopep8, docformatter, isort, pylint, flake8, pydocstyle, docs, py{26, 27, 34, 35, 36, 37, 38, 39, 310, 311, 312} skip_missing_interpreters = true +# https://tox.wiki/en/4.11.3/faq.html#testing-end-of-life-python-versions +requires = virtualenv<20.22.0 [base] pip_compile_command = pip-compile --resolver=backtracking --strip-extras --no-emit-index-url --allow-unsafe --upgrade @@ -89,11 +91,6 @@ basepython = python3.7 deps = pip-tools commands = {[base]pip_compile_command} requirements-tests37.in -o requirements-tests37.txt -[testenv:update_requirements36] -basepython = python3.6 -deps = pip-tools -commands = {[base]pip_compile_command} requirements-tests37.in -o requirements-tests36.txt - [testenv:py38] deps = -r requirements-tests37.txt