]> git.ipfire.org Git - thirdparty/tornado.git/commitdiff
Officially declare support for py3.13, drop 3.8 3422/head
authorBen Darnell <ben@bendarnell.com>
Tue, 17 Sep 2024 20:25:17 +0000 (16:25 -0400)
committerBen Darnell <ben@bendarnell.com>
Tue, 17 Sep 2024 20:39:16 +0000 (16:39 -0400)
.github/workflows/test.yml
docs/index.rst
pyproject.toml
setup.cfg
setup.py
tox.ini

index 83de720da4b639f5dc959f1af150c1daa95bfd25..2b46f54a7d6b48d15a359129b72459d4f129c218 100644 (file)
@@ -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'
@@ -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
index c33fb0b0803970293d9d5c7682917e379a7a7f62..9b1218625a154b2f424dfd18978a768fbe77ce7e 100644 (file)
@@ -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
index f8268bf0edf516c18d3885448c152d9530469a4d..755fb8ab735b31f11c655553f1b397345878804e 100644 (file)
@@ -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]
index 53b16dff17a8378ab99c11cd28d315188f6fbeea..f1d2b312f81663d62b9601500ef634224a6dc530 100644 (file)
--- a/setup.cfg
+++ b/setup.cfg
@@ -2,7 +2,7 @@
 license_file = LICENSE
 
 [mypy]
-python_version = 3.8
+python_version = 3.9
 no_implicit_optional = True
 
 [mypy-tornado.*,tornado.platform.*]
index d524bd3f8449c8846b3375287404e370c66eb9c1..14ddc3f25fe09f3c3176f40b640ee02ab622d80a 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -52,7 +52,7 @@ if (
             # 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")],
         )
     ]
 
@@ -63,7 +63,7 @@ if wheel is not None:
             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}
@@ -72,7 +72,7 @@ if wheel is not None:
 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
@@ -112,13 +112,13 @@ setuptools.setup(
     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,
 )
diff --git a/tox.ini b/tox.ini
index adb1347a6f205d8344180af8cedf2de27b8c096a..66d07cba2e4222c422c34c063edbe9aa7b46bbc8 100644 (file)
--- a/tox.ini
+++ b/tox.ini
@@ -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
@@ -24,7 +24,6 @@ envlist =
 [testenv]
 basepython =
            py3: python3
-           py38: python3.8
            py39: python3.9
            py310: python3.10
            py311: python3.11
@@ -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
@@ -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)