Skip to content

Commit cbde38d

Browse files
committed
Drop support for end-of-life Python 3.9
1 parent 773ec8a commit cbde38d

File tree

4 files changed

+9
-18
lines changed

4 files changed

+9
-18
lines changed

.github/workflows/tests.yml

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ jobs:
99
- uses: actions/checkout@v4
1010
- uses: actions/setup-python@v5
1111
with:
12-
python-version: 3.9
12+
python-version: "3.10"
1313
- name: Build documentation
1414
env:
1515
READTHEDOCS: "True"
@@ -23,7 +23,7 @@ jobs:
2323
- uses: actions/checkout@v4
2424
- uses: actions/setup-python@v5
2525
with:
26-
python-version: 3.9
26+
python-version: "3.10"
2727
- name: Install packages
2828
run: pip install check-manifest mypy ruff types-certifi types-pyopenssl
2929
- name: Run linters
@@ -56,7 +56,6 @@ jobs:
5656
- "3.12"
5757
- "3.11"
5858
- "3.10"
59-
- "3.9"
6059
steps:
6160
- uses: actions/checkout@v4
6261
- uses: actions/setup-python@v5
@@ -96,7 +95,7 @@ jobs:
9695
- uses: actions/checkout@v4
9796
- uses: actions/setup-python@v5
9897
with:
99-
python-version: 3.9
98+
python-version: "3.10"
10099
- name: Build source package
101100
run: |
102101
pip install -U build
@@ -133,7 +132,7 @@ jobs:
133132
- uses: actions/checkout@v4
134133
- uses: actions/setup-python@v5
135134
with:
136-
python-version: 3.11
135+
python-version: "3.11"
137136
- name: Build wheels
138137
env:
139138
CIBW_ARCHS: ${{ matrix.arch }}

pyproject.toml

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ build-backend = "setuptools.build_meta"
66
name = "aioquic"
77
description = "An implementation of QUIC and HTTP/3"
88
readme = "README.rst"
9-
requires-python = ">=3.9"
9+
requires-python = ">=3.10"
1010
license = "BSD-3-Clause"
1111
authors = [
1212
{ name = "Jeremy Lainé", email = "[email protected]" },
@@ -18,7 +18,6 @@ classifiers = [
1818
"Operating System :: OS Independent",
1919
"Programming Language :: Python",
2020
"Programming Language :: Python :: 3",
21-
"Programming Language :: Python :: 3.9",
2221
"Programming Language :: Python :: 3.10",
2322
"Programming Language :: Python :: 3.11",
2423
"Programming Language :: Python :: 3.12",
@@ -37,7 +36,6 @@ dynamic = ["version"]
3736
[project.optional-dependencies]
3837
dev = [
3938
"coverage[toml]>=7.2.2",
40-
"typing_extensions; python_version < '3.10'",
4139
]
4240

4341
[project.urls]

setup.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ def get_tag(self):
1616
python, abi, plat = super().get_tag()
1717

1818
if python.startswith("cp"):
19-
return "cp39", "abi3", plat
19+
return "cp310", "abi3", plat
2020

2121
return python, abi, plat
2222

@@ -27,15 +27,15 @@ def get_tag(self):
2727
"aioquic._buffer",
2828
extra_compile_args=extra_compile_args,
2929
sources=["src/aioquic/_buffer.c"],
30-
define_macros=[("Py_LIMITED_API", "0x03080000")],
30+
define_macros=[("Py_LIMITED_API", "0x030A0000")],
3131
py_limited_api=True,
3232
),
3333
setuptools.Extension(
3434
"aioquic._crypto",
3535
extra_compile_args=extra_compile_args,
3636
libraries=libraries,
3737
sources=["src/aioquic/_crypto.c"],
38-
define_macros=[("Py_LIMITED_API", "0x03080000")],
38+
define_macros=[("Py_LIMITED_API", "0x030A0000")],
3939
py_limited_api=True,
4040
),
4141
],

tests/utils.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,7 @@
44
import ipaddress
55
import logging
66
import os
7-
import sys
8-
from typing import Callable, Coroutine, Tuple, TypeVar
9-
10-
if sys.version_info >= (3, 10):
11-
from typing import ParamSpec
12-
else:
13-
from typing_extensions import ParamSpec
7+
from typing import Callable, Coroutine, ParamSpec, Tuple, TypeVar
148

159
from cryptography import x509
1610
from cryptography.hazmat.primitives import hashes

0 commit comments

Comments
 (0)