Skip to content

Commit a543cd0

Browse files
authored
Merge pull request #1091 from python-openapi/feature/python-3-9-support-drop
Python 3.9 support drop
2 parents 85a509f + 20bf8d5 commit a543cd0

File tree

9 files changed

+13
-91
lines changed

9 files changed

+13
-91
lines changed

.github/workflows/build-docs.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11,10 +11,10 @@ jobs:
1111
steps:
1212
- uses: actions/checkout@v6
1313

14-
- name: Set up Python 3.9
14+
- name: Set up Python
1515
uses: actions/setup-python@v6
1616
with:
17-
python-version: 3.9
17+
python-version: "3.10"
1818

1919
- name: Get full Python version
2020
id: full-python-version

.github/workflows/python-test.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ jobs:
1414
runs-on: ubuntu-latest
1515
strategy:
1616
matrix:
17-
python-version: ["3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
17+
python-version: ["3.10", "3.11", "3.12", "3.13", "3.14"]
1818
fail-fast: false
1919
steps:
2020
- uses: actions/checkout@v6
@@ -74,7 +74,7 @@ jobs:
7474
- name: "Setup Python"
7575
uses: actions/setup-python@v6
7676
with:
77-
python-version: 3.9
77+
python-version: "3.10"
7878

7979
- name: Get full Python version
8080
id: full-python-version

openapi_core/contrib/aiohttp/requests.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
"""OpenAPI core contrib aiohttp requests module"""
22

3-
from __future__ import annotations
4-
53
from aiohttp import web
64

75
from openapi_core.datatypes import RequestParameters

openapi_core/datatypes.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
"""OpenAPI core validation request datatypes module"""
22

3-
from __future__ import annotations
4-
53
from dataclasses import dataclass
64
from dataclasses import field
75
from typing import Any

openapi_core/templating/paths/parsers.py

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,3 @@
1-
# Allow writing union types as X | Y in Python 3.9
2-
from __future__ import annotations
3-
41
import re
52
from dataclasses import dataclass
63

openapi_core/unmarshalling/request/datatypes.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,5 @@
11
"""OpenAPI core unmarshalling request datatypes module"""
22

3-
from __future__ import annotations
4-
53
from dataclasses import dataclass
64
from dataclasses import field
75
from typing import Any

poetry.lock

Lines changed: 3 additions & 71 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,6 @@ classifiers = [
4646
"Topic :: Software Development :: Libraries :: Python Modules",
4747
"Operating System :: OS Independent",
4848
"Programming Language :: Python :: 3",
49-
"Programming Language :: Python :: 3.9",
5049
"Programming Language :: Python :: 3.10",
5150
"Programming Language :: Python :: 3.11",
5251
"Programming Language :: Python :: 3.12",
@@ -60,7 +59,7 @@ include = [
6059
]
6160

6261
[tool.poetry.dependencies]
63-
python = "^3.9.0"
62+
python = "^3.10.0"
6463
django = {version = ">=3.0", optional = true}
6564
falcon = {version = ">=3.0", optional = true}
6665
flask = {version = "*", optional = true}

tests/integration/contrib/aiohttp/test_aiohttp_validation.py

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,3 @@
1-
from __future__ import annotations
2-
31
from typing import TYPE_CHECKING
42
from unittest import mock
53

@@ -9,7 +7,7 @@
97
from aiohttp.test_utils import TestClient
108

119

12-
async def test_aiohttp_integration_valid_input(client: TestClient):
10+
async def test_aiohttp_integration_valid_input(client: "TestClient"):
1311
# Given
1412
given_query_string = {
1513
"q": "string",
@@ -34,7 +32,9 @@ async def test_aiohttp_integration_valid_input(client: TestClient):
3432
assert response_data == expected_response_data
3533

3634

37-
async def test_aiohttp_integration_invalid_server(client: TestClient, request):
35+
async def test_aiohttp_integration_invalid_server(
36+
client: "TestClient", request
37+
):
3838
if "no_validation" in request.node.name:
3939
pytest.skip("No validation for given handler.")
4040
# Given
@@ -71,7 +71,7 @@ async def test_aiohttp_integration_invalid_server(client: TestClient, request):
7171

7272

7373
async def test_aiohttp_integration_invalid_input(
74-
client: TestClient, response_getter, request
74+
client: "TestClient", response_getter, request
7575
):
7676
if "no_validation" in request.node.name:
7777
pytest.skip("No validation for given handler.")

0 commit comments

Comments
 (0)