diff --git a/.github/workflows/main.yml b/.github/workflows/main.yml index 2b779279fdc..27b25fd7228 100644 --- a/.github/workflows/main.yml +++ b/.github/workflows/main.yml @@ -27,6 +27,8 @@ jobs: "windows-py37", "windows-py37-pluggy", "windows-py38", + "windows-py39", + "windows-py310", "ubuntu-py36", "ubuntu-py37", @@ -34,6 +36,7 @@ jobs: "ubuntu-py37-freeze", "ubuntu-py38", "ubuntu-py39", + "ubuntu-py310", "ubuntu-pypy3", "macos-py37", @@ -62,6 +65,14 @@ jobs: os: windows-latest tox_env: "py38-unittestextras" use_coverage: true + - name: "windows-py39" + python: "3.9" + os: windows-latest + tox_env: "py39-xdist" + - name: "windows-py310" + python: "3.10-dev" + os: windows-latest + tox_env: "py310-xdist" - name: "ubuntu-py36" python: "3.6" @@ -88,6 +99,10 @@ jobs: python: "3.9" os: ubuntu-latest tox_env: "py39-xdist" + - name: "ubuntu-py310" + python: "3.10-dev" + os: ubuntu-latest + tox_env: "py310-xdist" - name: "ubuntu-pypy3" python: "pypy3" os: ubuntu-latest diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 68cc3273bba..00115989a97 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -42,8 +42,7 @@ repos: rev: v1.11.0 hooks: - id: setup-cfg-fmt - # TODO: when upgrading setup-cfg-fmt this can be removed - args: [--max-py-version=3.9] + args: [--max-py-version=3.10] - repo: https://github.com/pre-commit/pygrep-hooks rev: v1.6.0 hooks: diff --git a/changelog/8494.feature.rst b/changelog/8494.feature.rst new file mode 100644 index 00000000000..eca51d0deb9 --- /dev/null +++ b/changelog/8494.feature.rst @@ -0,0 +1 @@ +Python 3.10 is now supported. diff --git a/pyproject.toml b/pyproject.toml index dd4be6c22d5..dc26b4d8ddf 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -26,6 +26,8 @@ filterwarnings = [ # produced by older pyparsing<=2.2.0. "default:Using or importing the ABCs:DeprecationWarning:pyparsing.*", "default:the imp module is deprecated in favour of importlib:DeprecationWarning:nose.*", + # distutils is deprecated in 3.10, scheduled for removal in 3.12 + "ignore:The distutils package is deprecated:DeprecationWarning", # produced by python3.6/site.py itself (3.6.7 on Travis, could not trigger it with 3.6.8)." "ignore:.*U.*mode is deprecated:DeprecationWarning:(?!(pytest|_pytest))", # produced by pytest-xdist diff --git a/setup.cfg b/setup.cfg index 14fdb6df5c0..cfd1f724d63 100644 --- a/setup.cfg +++ b/setup.cfg @@ -21,6 +21,7 @@ classifiers = Programming Language :: Python :: 3.7 Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 + Programming Language :: Python :: 3.10 Topic :: Software Development :: Libraries Topic :: Software Development :: Testing Topic :: Utilities diff --git a/tox.ini b/tox.ini index f0cfaa460fb..1413feb229d 100644 --- a/tox.ini +++ b/tox.ini @@ -9,6 +9,7 @@ envlist = py37 py38 py39 + py310 pypy3 py37-{pexpect,xdist,unittestextras,numpy,pluggymaster} doctesting