Skip to content

Commit

Permalink
Officially declare support for py3.13, drop 3.8
Browse files Browse the repository at this point in the history
  • Loading branch information
bdarnell committed Sep 17, 2024
1 parent fe1e98c commit 36de0fd
Show file tree
Hide file tree
Showing 6 changed files with 14 additions and 18 deletions.
7 changes: 2 additions & 5 deletions .github/workflows/test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -36,8 +36,6 @@ jobs:
strategy:
matrix:
include:
- python: '3.8'
tox_env: py38-full
- python: '3.9'
tox_env: py39-full
- python: '3.10'
Expand All @@ -54,9 +52,8 @@ jobs:
- python: '3.12.0'
tox_env: py312-full
- python: '3.13.0-beta.2 - 3.13'
# Some optional dependencies don't seem to work on 3.13 yet
tox_env: py313
- python: 'pypy-3.8'
tox_env: py313-full
- python: 'pypy-3.10'
# Pypy is a lot slower due to jit warmup costs, so don't run the
# "full" test config there.
tox_env: pypy3
Expand Down
2 changes: 1 addition & 1 deletion docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,7 @@ installed in this way, so you may wish to download a copy of the
source tarball or clone the `git repository
<https://github.com/tornadoweb/tornado>`_ as well.

**Prerequisites**: Tornado 6.3 requires Python 3.8 or newer. The following
**Prerequisites**: Tornado 6.3 requires Python 3.9 or newer. The following
optional packages may be useful:

* `pycurl <http://pycurl.io/>`_ is used by the optional
Expand Down
4 changes: 2 additions & 2 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ requires = ["setuptools", "wheel"]
build-backend = "setuptools.build_meta"

[tool.black]
target-version = ['py38', 'py39', 'py310', 'py311', 'py312']
target-version = ['py39', 'py310', 'py311', 'py312', 'py313']

[tool.cibuildwheel]
build = "cp3[89]* cp310* cp311* cp312*"
build = "cp39* cp310* cp311* cp312* cp313*"
test-command = "python -m tornado.test"

[tool.cibuildwheel.macos]
Expand Down
2 changes: 1 addition & 1 deletion setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
license_file = LICENSE

[mypy]
python_version = 3.8
python_version = 3.9
no_implicit_optional = True

[mypy-tornado.*,tornado.platform.*]
Expand Down
10 changes: 5 additions & 5 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -52,7 +52,7 @@
# Use the stable ABI so our wheels are compatible across python
# versions.
py_limited_api=True,
define_macros=[("Py_LIMITED_API", "0x03080000")],
define_macros=[("Py_LIMITED_API", "0x03090000")],
)
]

Expand All @@ -63,7 +63,7 @@ def get_tag(self):
python, abi, plat = super().get_tag()

if python.startswith("cp"):
return "cp38", "abi3", plat
return "cp39", "abi3", plat
return python, abi, plat

kwargs["cmdclass"] = {"bdist_wheel": bdist_wheel_abi3}
Expand All @@ -72,7 +72,7 @@ def get_tag(self):
setuptools.setup(
name="tornado",
version=version,
python_requires=">= 3.8",
python_requires=">= 3.9",
packages=["tornado", "tornado.test", "tornado.platform"],
package_data={
# data files need to be listed both here (which determines what gets
Expand Down Expand Up @@ -112,13 +112,13 @@ def get_tag(self):
classifiers=[
"License :: OSI Approved :: Apache Software License",
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: Implementation :: CPython",
"Programming Language :: Python :: Implementation :: PyPy",
],
**kwargs
**kwargs,
)
7 changes: 3 additions & 4 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
[tox]
envlist =
# Basic configurations: Run the tests for each python version.
py38-full,py39-full,py310-full,py311-full,py312-full,pypy3-full
py39-full,py310-full,py311-full,py312-full,py313-full,pypy3-full

# Build and test the docs with sphinx.
docs
Expand All @@ -24,7 +24,6 @@ envlist =
[testenv]
basepython =
py3: python3
py38: python3.8
py39: python3.9
py310: python3.10
py311: python3.11
Expand All @@ -49,7 +48,7 @@ deps =

setenv =
# Treat the extension as mandatory in testing (but not on pypy)
{py3,py38,py39,py310,py311,py312,py313}: TORNADO_EXTENSION=1
{py3,py39,py310,py311,py312,py313}: TORNADO_EXTENSION=1
# CI workers are often overloaded and can cause our tests to exceed
# the default timeout of 5s.
ASYNC_TEST_TIMEOUT=25
Expand All @@ -61,7 +60,7 @@ setenv =
# during sdist installation (and it doesn't seem to be
# possible to set environment variables during that phase of
# tox).
{py3,py38,py39,py310,py311,py312,py313,pypy3}: PYTHONWARNINGS=error:::tornado
{py3,py39,py310,py311,py312,py313,pypy3}: PYTHONWARNINGS=error:::tornado
# Warn if we try to open a file with an unspecified encoding.
# (New in python 3.10, becomes obsolete when utf8 becomes the
# default in 3.15)
Expand Down

0 comments on commit 36de0fd

Please sign in to comment.