diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 10e24684..4fbc305f 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -27,7 +27,7 @@ jobs: ${{ runner.os }}-pip-lint- ${{ runner.os }}-pip- - - run: python -m pip install tox + - run: python -m pip install 'tox<4' - run: tox -q -p all -e flake8,towncrier,twine,check-manifest @@ -63,7 +63,7 @@ jobs: continue-on-error: ${{ matrix.experimental }} strategy: matrix: - python-version: ["3.6", "3.7", "3.8", "3.9", "3.10", "pypy-3.7", "pypy-3.8"] + python-version: ["3.7", "3.8", "3.9", "3.10", "pypy-3.8", "pypy-3.9"] twisted-version: ["lowest", "latest"] experimental: [false] @@ -97,13 +97,12 @@ jobs: shell: python run: | table = { - "3.6": "py36", "3.7": "py37", "3.8": "py38", "3.9": "py39", "3.10": "py310", - "pypy-3.7": "pypy3", "pypy-3.8": "pypy3", + "pypy-3.9": "pypy3", } factor = table["${{ matrix.python-version }}"] print("::set-output name=value::" + factor) diff --git a/.readthedocs.yml b/.readthedocs.yml index f7e6d592..831e70b4 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -8,8 +8,12 @@ formats: - pdf - epub +build: + os: ubuntu-22.04 + tools: + python: "3.11" + python: - version: 3.8 install: - method: pip path: . diff --git a/CONTRIBUTING.rst b/CONTRIBUTING.rst index 6bac9978..462ac279 100644 --- a/CONTRIBUTING.rst +++ b/CONTRIBUTING.rst @@ -1,7 +1,7 @@ Developing ========== -This project uses `Tox `_ to manage virtual environments. +This project uses `Tox 3 `_ to manage virtual environments. To run the tests:: diff --git a/changelog.d/363.removal.rst b/changelog.d/363.removal.rst new file mode 100644 index 00000000..6def8146 --- /dev/null +++ b/changelog.d/363.removal.rst @@ -0,0 +1 @@ +Support for Python 3.6, which has reached end of support, has been dropped. diff --git a/changelog.d/365.feature.rst b/changelog.d/365.feature.rst new file mode 100644 index 00000000..10527d4c --- /dev/null +++ b/changelog.d/365.feature.rst @@ -0,0 +1 @@ +PyPy 3.9 is now supported. diff --git a/changelog.d/365.removal.rst b/changelog.d/365.removal.rst new file mode 100644 index 00000000..643891cf --- /dev/null +++ b/changelog.d/365.removal.rst @@ -0,0 +1 @@ +Support for PyPy 3.7, which has reached end of support, has been removed. diff --git a/setup.py b/setup.py index b154265c..83027633 100644 --- a/setup.py +++ b/setup.py @@ -43,7 +43,7 @@ "werkzeug==2.0.3", ], "docs": [ - "sphinx>=1.4.8", + "sphinx<7.0.0", # Removal of 'style' key breaks RTD. ], }, package_data={"treq": ["_version"]}, diff --git a/src/treq/_agentspy.py b/src/treq/_agentspy.py index 42475bab..c7ad7f66 100644 --- a/src/treq/_agentspy.py +++ b/src/treq/_agentspy.py @@ -1,11 +1,11 @@ # Copyright (c) The treq Authors. # See LICENSE for details. -from typing import Callable, List, Optional, Tuple +from typing import Callable, List, Optional, Tuple # noqa import attr from twisted.internet.defer import Deferred from twisted.web.http_headers import Headers -from twisted.web.iweb import IAgent, IBodyProducer, IResponse +from twisted.web.iweb import IAgent, IBodyProducer, IResponse # noqa from zope.interface import implementer diff --git a/src/treq/auth.py b/src/treq/auth.py index 6ed986dd..3a778cea 100644 --- a/src/treq/auth.py +++ b/src/treq/auth.py @@ -3,7 +3,7 @@ from __future__ import absolute_import, division, print_function import binascii -from typing import Union +from typing import Union # noqa from twisted.web.http_headers import Headers from twisted.web.iweb import IAgent diff --git a/tox.ini b/tox.ini index e1088df3..2c308623 100644 --- a/tox.ini +++ b/tox.ini @@ -1,8 +1,8 @@ [tox] envlist = - {py36,py37}-twisted_lowest, - {pypy3,py36,py37,py38,py39,py310}-twisted_latest, - {pypy3,py36,py37,py38,py39,py310}-twisted_trunk, + py37-twisted_lowest, + {pypy3,py37,py38,py39,py310}-twisted_latest, + {pypy3,py37,py38,py39,py310}-twisted_trunk, twine, check-manifest, flake8, docs, coverage-report isolated_build = true @@ -53,11 +53,12 @@ commands = [testenv:docs] extras = docs changedir = docs +basepython = python3.8 commands = sphinx-build -b html . html [testenv:coverage-report] -depends = pypy3,py36,py37,py38,py39 +depends = pypy3,py37,py38,py39 commands = coverage combine coverage report