Update supported tornado and python versions

- Drop support for tornado<6
- Drop support for Python<3.9
- Add support for Python 3.10, 3.11, 3.12, and 3.13
This commit is contained in:
Correl Roush 2024-10-15 17:31:10 -04:00
parent dc3a00ba8a
commit a2c25247d9
11 changed files with 26 additions and 25 deletions

View file

@ -1,6 +1,5 @@
language: python language: python
python: python:
- "3.7"
- "3.8" - "3.8"
- "3.9" - "3.9"
install: pip install tox-travis install: pip install tox-travis

View file

@ -12,8 +12,8 @@ packages = [
] ]
[tool.poetry.dependencies] [tool.poetry.dependencies]
python = "^3.7" python = "^3.9"
tornado = "^4 || ^5 || ^6" tornado = "^5 || ^6"
openapi-core = "^0.14.2" openapi-core = "^0.14.2"
ietfparse = "^1.8.0" ietfparse = "^1.8.0"
typing-extensions = "^4.0.1" typing-extensions = "^4.0.1"
@ -23,7 +23,7 @@ black = { version = "*", allow-prereleases = true }
coverage = "*" coverage = "*"
mypy = "*" mypy = "*"
hypothesis = "*" hypothesis = "*"
flake8 = "*" flake8 = "^3.7.9"
pytest = "*" pytest = "*"
pytest-black = "*" pytest-black = "*"
pytest-cov = "*" pytest-cov = "*"

View file

@ -4,9 +4,9 @@ import re
import unittest.mock import unittest.mock
from openapi_core.exceptions import OpenAPIError # type: ignore from openapi_core.exceptions import OpenAPIError # type: ignore
import tornado.httpclient # type: ignore import tornado.httpclient
import tornado.web # type: ignore import tornado.web
import tornado.testing # type: ignore import tornado.testing
from tornado_openapi3.handler import OpenAPIRequestHandler from tornado_openapi3.handler import OpenAPIRequestHandler

View file

@ -15,10 +15,10 @@ from openapi_core.validation.request.datatypes import ( # type: ignore
RequestParameters, RequestParameters,
OpenAPIRequest, OpenAPIRequest,
) )
from tornado.httpclient import HTTPRequest # type: ignore from tornado.httpclient import HTTPRequest
from tornado.httputil import HTTPHeaders, HTTPServerRequest # type: ignore from tornado.httputil import HTTPHeaders, HTTPServerRequest
from tornado.testing import AsyncHTTPTestCase # type: ignore from tornado.testing import AsyncHTTPTestCase
from tornado.web import Application, RequestHandler # type: ignore from tornado.web import Application, RequestHandler
from werkzeug.datastructures import ImmutableMultiDict from werkzeug.datastructures import ImmutableMultiDict
from tornado_openapi3 import RequestValidator, TornadoRequestFactory from tornado_openapi3 import RequestValidator, TornadoRequestFactory

View file

@ -9,9 +9,9 @@ import hypothesis.strategies as s
from openapi_core import create_spec # type: ignore from openapi_core import create_spec # type: ignore
from openapi_core.validation.response.datatypes import OpenAPIResponse # type: ignore from openapi_core.validation.response.datatypes import OpenAPIResponse # type: ignore
from tornado.httpclient import HTTPRequest, HTTPResponse # type: ignore from tornado.httpclient import HTTPRequest, HTTPResponse
from tornado.testing import AsyncHTTPTestCase # type: ignore from tornado.testing import AsyncHTTPTestCase
from tornado.web import Application, RequestHandler # type: ignore from tornado.web import Application, RequestHandler
from tornado_openapi3 import ( from tornado_openapi3 import (
ResponseValidator, ResponseValidator,

View file

@ -3,7 +3,7 @@ import json
from openapi_core.templating.responses.exceptions import ( # type: ignore from openapi_core.templating.responses.exceptions import ( # type: ignore
ResponseNotFound, ResponseNotFound,
) )
import tornado.web # type: ignore import tornado.web
from tornado_openapi3.handler import OpenAPIRequestHandler from tornado_openapi3.handler import OpenAPIRequestHandler
from tornado_openapi3.testing import AsyncOpenAPITestCase from tornado_openapi3.testing import AsyncOpenAPITestCase

View file

@ -20,7 +20,7 @@ from openapi_core.templating.paths.exceptions import ( # type: ignore
) )
from openapi_core.unmarshalling.schemas.exceptions import ValidateError # type: ignore from openapi_core.unmarshalling.schemas.exceptions import ValidateError # type: ignore
from openapi_core.validation.exceptions import InvalidSecurity # type: ignore from openapi_core.validation.exceptions import InvalidSecurity # type: ignore
import tornado.web # type: ignore import tornado.web
from tornado_openapi3.requests import RequestValidator from tornado_openapi3.requests import RequestValidator
from tornado_openapi3.types import Deserializer, Formatter from tornado_openapi3.types import Deserializer, Formatter

View file

@ -8,8 +8,8 @@ from openapi_core.validation.request.datatypes import ( # type: ignore
RequestValidationResult, RequestValidationResult,
) )
from openapi_core.validation.request import validators # type: ignore from openapi_core.validation.request import validators # type: ignore
from tornado.httpclient import HTTPRequest # type: ignore from tornado.httpclient import HTTPRequest
from tornado.httputil import HTTPServerRequest, parse_cookie # type: ignore from tornado.httputil import HTTPServerRequest, parse_cookie
from werkzeug.datastructures import ImmutableMultiDict, Headers from werkzeug.datastructures import ImmutableMultiDict, Headers
from .util import parse_mimetype from .util import parse_mimetype

View file

@ -3,7 +3,7 @@ from openapi_core.validation.response.datatypes import ( # type: ignore
ResponseValidationResult, ResponseValidationResult,
) )
from openapi_core.validation.response import validators # type: ignore from openapi_core.validation.response import validators # type: ignore
from tornado.httpclient import HTTPResponse # type: ignore from tornado.httpclient import HTTPResponse
from .requests import TornadoRequestFactory from .requests import TornadoRequestFactory
from .util import parse_mimetype from .util import parse_mimetype

View file

@ -1,7 +1,7 @@
from typing import Any from typing import Any
import tornado.httpclient # type: ignore import tornado.httpclient
import tornado.testing # type: ignore import tornado.testing
from openapi_core import create_spec # type: ignore from openapi_core import create_spec # type: ignore
from openapi_core.spec.paths import SpecPath # type: ignore from openapi_core.spec.paths import SpecPath # type: ignore

10
tox.ini
View file

@ -1,11 +1,9 @@
[tox] [tox]
isolated_build=true isolated_build=true
envlist = {py37,py38,py39}-tornado{4,5,6} envlist = {py39,py310,py311,py312,py313}-tornado6
[testenv] [testenv]
deps = deps =
tornado4: tornado>=4,<5
tornado5: tornado>=5,<6
tornado6: tornado>=6,<7 tornado6: tornado>=6,<7
black black
codecov codecov
@ -17,7 +15,11 @@ deps =
pytest-cov pytest-cov
pytest-flake8 pytest-flake8
pytest-mypy pytest-mypy
passenv = CI HYPOTHESIS_PROFILE TRAVIS TRAVIS_* passenv =
CI
HYPOTHESIS_PROFILE
TRAVIS
TRAVIS_*
whitelist_externals = poetry whitelist_externals = poetry
commands = commands =
pytest pytest