Consolidate maint and docs requirements files

This division was just complicating things unnecessarily.
Also adopt pip-tools instead of doing it all by hand.
No pinned versions have been changed in this commit.
This commit is contained in:
Ben Darnell 2023-01-20 19:51:28 +00:00
parent f09e8947eb
commit 8025b263eb
9 changed files with 226 additions and 78 deletions

View File

@ -24,7 +24,7 @@ jobs:
# Lint python version must be synced with tox.ini
python-version: '3.8'
- name: Install tox
run: python -m pip install tox -c maint/requirements.txt
run: python -m pip install tox -c requirements.txt
- name: Run test suite
run: python -m tox -e py38,lint
@ -65,7 +65,7 @@ jobs:
- name: Install apt packages
run: sudo apt-get update && sudo apt-get install libcurl4-openssl-dev
- name: Install tox
run: python -m pip install tox -c maint/requirements.txt
run: python -m pip install tox -c requirements.txt
- name: Run test suite
run: python -m tox -e ${{ matrix.tox_env }}

View File

@ -14,4 +14,4 @@ formats:
python:
install:
- requirements: docs/requirements.txt
- requirements: requirements.txt

View File

@ -1,3 +0,0 @@
sphinx
sphinxcontrib-asyncio
sphinx_rtd_theme

View File

@ -1,25 +0,0 @@
alabaster==0.7.12
babel==2.10.1
certifi==2022.12.7
charset-normalizer==2.0.12
docutils==0.17.1
idna==3.3
imagesize==1.3.0
jinja2==3.1.2
markupsafe==2.1.1
packaging==21.3
pygments==2.12.0
pyparsing==3.0.9
pytz==2022.1
requests==2.27.1
snowballstemmer==2.2.0
sphinx==5.0.1
sphinx-rtd-theme==1.0.0
sphinxcontrib-applehelp==1.0.2
sphinxcontrib-asyncio==0.3.0
sphinxcontrib-devhelp==1.0.2
sphinxcontrib-htmlhelp==2.0.0
sphinxcontrib-jsmath==1.0.1
sphinxcontrib-qthelp==1.0.3
sphinxcontrib-serializinghtml==1.1.5
urllib3==1.26.9

View File

@ -1,14 +0,0 @@
# Requirements for tools used in the development of tornado.
#
# This mainly contains tools that should be installed for editor integration.
# Other tools we use are installed only via tox or CI scripts.
#
# This is a manual recreation of the lockfile pattern: maint/requirements.txt
# is the lockfile, and maint/requirements.in is the input file containing only
# direct dependencies.
black
flake8
mypy>=0.941
types-pycurl
tox

View File

@ -1,31 +0,0 @@
# Requirements for tools used in the development of tornado.
#
# This mainly contains tools that should be installed for editor integration.
# Other tools we use are installed only via tox or CI scripts.
# This is a manual recreation of the lockfile pattern: maint/requirements.txt
# is the lockfile, and maint/requirements.in is the input file containing only
# direct dependencies.
black==22.10.0
flake8==6.0.0
mypy==0.991
types-pycurl==7.45.1.4
tox==3.27.1
## The following requirements were added by pip freeze:
click==8.1.3
distlib==0.3.6
filelock==3.8.0
mccabe==0.7.0
mypy-extensions==0.4.3
packaging==21.3
pathspec==0.10.2
platformdirs==2.5.4
pluggy==1.0.0
py==1.11.0
pycodestyle==2.10.0
pyflakes==3.0.1
pyparsing==3.0.9
six==1.16.0
tomli==2.0.1
typing_extensions==4.4.0
virtualenv==20.16.7

9
requirements.in Normal file
View File

@ -0,0 +1,9 @@
black
flake8
mypy>=0.941
pip-tools
sphinx
sphinxcontrib-asyncio
sphinx_rtd_theme
types-pycurl
tox

212
requirements.txt Normal file
View File

@ -0,0 +1,212 @@
#
# This file is autogenerated by pip-compile with Python 3.10
# by the following command:
#
# pip-compile requirements.in
#
alabaster==0.7.12
# via
# -c docs/requirements.txt
# sphinx
babel==2.10.1
# via
# -c docs/requirements.txt
# sphinx
black==22.10.0
# via
# -c maint/requirements.txt
# -r requirements.in
build==0.10.0
# via pip-tools
certifi==2022.12.7
# via
# -c docs/requirements.txt
# requests
charset-normalizer==2.0.12
# via
# -c docs/requirements.txt
# requests
click==8.1.3
# via
# -c maint/requirements.txt
# black
# pip-tools
distlib==0.3.6
# via
# -c maint/requirements.txt
# virtualenv
docutils==0.17.1
# via
# -c docs/requirements.txt
# sphinx
# sphinx-rtd-theme
filelock==3.8.0
# via
# -c maint/requirements.txt
# tox
# virtualenv
flake8==6.0.0
# via
# -c maint/requirements.txt
# -r requirements.in
idna==3.3
# via
# -c docs/requirements.txt
# requests
imagesize==1.3.0
# via
# -c docs/requirements.txt
# sphinx
jinja2==3.1.2
# via
# -c docs/requirements.txt
# sphinx
markupsafe==2.1.1
# via
# -c docs/requirements.txt
# jinja2
mccabe==0.7.0
# via
# -c maint/requirements.txt
# flake8
mypy==0.991
# via
# -c maint/requirements.txt
# -r requirements.in
mypy-extensions==0.4.3
# via
# -c maint/requirements.txt
# black
# mypy
packaging==21.3
# via
# -c docs/requirements.txt
# -c maint/requirements.txt
# build
# sphinx
# tox
pathspec==0.10.2
# via
# -c maint/requirements.txt
# black
pip-tools==6.12.1
# via -r requirements.in
platformdirs==2.5.4
# via
# -c maint/requirements.txt
# black
# virtualenv
pluggy==1.0.0
# via
# -c maint/requirements.txt
# tox
py==1.11.0
# via
# -c maint/requirements.txt
# tox
pycodestyle==2.10.0
# via
# -c maint/requirements.txt
# flake8
pyflakes==3.0.1
# via
# -c maint/requirements.txt
# flake8
pygments==2.12.0
# via
# -c docs/requirements.txt
# sphinx
pyparsing==3.0.9
# via
# -c docs/requirements.txt
# -c maint/requirements.txt
# packaging
pyproject-hooks==1.0.0
# via build
pytz==2022.1
# via
# -c docs/requirements.txt
# babel
requests==2.27.1
# via
# -c docs/requirements.txt
# sphinx
six==1.16.0
# via
# -c maint/requirements.txt
# tox
snowballstemmer==2.2.0
# via
# -c docs/requirements.txt
# sphinx
sphinx==5.0.1
# via
# -c docs/requirements.txt
# -r requirements.in
# sphinx-rtd-theme
# sphinxcontrib-asyncio
sphinx-rtd-theme==1.0.0
# via
# -c docs/requirements.txt
# -r requirements.in
sphinxcontrib-applehelp==1.0.2
# via
# -c docs/requirements.txt
# sphinx
sphinxcontrib-asyncio==0.3.0
# via
# -c docs/requirements.txt
# -r requirements.in
sphinxcontrib-devhelp==1.0.2
# via
# -c docs/requirements.txt
# sphinx
sphinxcontrib-htmlhelp==2.0.0
# via
# -c docs/requirements.txt
# sphinx
sphinxcontrib-jsmath==1.0.1
# via
# -c docs/requirements.txt
# sphinx
sphinxcontrib-qthelp==1.0.3
# via
# -c docs/requirements.txt
# sphinx
sphinxcontrib-serializinghtml==1.1.5
# via
# -c docs/requirements.txt
# sphinx
tomli==2.0.1
# via
# -c maint/requirements.txt
# black
# build
# mypy
# tox
tox==3.27.1
# via
# -c maint/requirements.txt
# -r requirements.in
types-pycurl==7.45.1.4
# via
# -c maint/requirements.txt
# -r requirements.in
typing-extensions==4.4.0
# via
# -c maint/requirements.txt
# mypy
urllib3==1.26.9
# via
# -c docs/requirements.txt
# requests
virtualenv==20.16.7
# via
# -c maint/requirements.txt
# tox
wheel==0.38.4
# via pip-tools
# The following packages are considered to be unsafe in a requirements file:
# pip
# setuptools

View File

@ -45,8 +45,8 @@ deps =
full: pycurl
full: twisted
full: pycares
docs: -r{toxinidir}/docs/requirements.txt
lint: -r{toxinidir}/maint/requirements.txt
docs: -r{toxinidir}/requirements.txt
lint: -r{toxinidir}/requirements.txt
setenv =
# Treat the extension as mandatory in testing (but not on pypy)