Skip to content

Commit 84f6a92

Browse files
committed
project cleanup
1 parent e1df3c4 commit 84f6a92

File tree

6 files changed

+39
-32
lines changed

6 files changed

+39
-32
lines changed

.github/workflows/ci.yml

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -10,21 +10,19 @@ jobs:
1010
tox:
1111
runs-on: ubuntu-latest
1212
strategy:
13-
max-parallel: 5
1413
matrix:
1514
python-version:
16-
- "3.9"
1715
- "3.10"
1816
- "3.11"
1917
- "3.12"
2018
- "3.13"
21-
- "pypy3.9"
19+
- "3.14"
2220

2321
steps:
24-
- uses: actions/checkout@v2
22+
- uses: actions/checkout@v6
2523
with:
2624
submodules: recursive
27-
- uses: actions/setup-python@v5
25+
- uses: actions/setup-python@v6
2826
with:
2927
python-version: ${{ matrix.python-version }}
3028
- name: Install tox
@@ -37,7 +35,7 @@ jobs:
3735
- name: Test with tox
3836
run: |
3937
tox --parallel 0
40-
- uses: codecov/codecov-action@v5
38+
- uses: codecov/codecov-action@v6
4139
with:
4240
token: ${{ secrets.CODECOV_TOKEN }}
4341
files: ./coverage.xml

.readthedocs.yaml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
# Read the Docs configuration file for Sphinx projects
2+
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details
3+
4+
version: 2
5+
6+
build:
7+
os: ubuntu-24.04
8+
tools:
9+
python: "3.13"
10+
jobs:
11+
install:
12+
- pip install -U pip
13+
- pip install --group 'docs' .
14+
15+
sphinx:
16+
configuration: docs/source/conf.py

CHANGELOG.rst

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,12 @@ dev
1010
- GoAwayFrame and WindowUpdateFrame now correctly mask off the reserved bit during
1111
parsing and serialization of stream IDs and window increments, as per RFC 9113,
1212
Sections 6.8 and 6.9.
13+
- Support for Python 3.14 has been added.
1314

1415
**API Changes (Backward Incompatible)**
1516

16-
-
17+
- Support for PyPy 3.9 has been removed.
18+
- Support for Python 3.9 has been removed.
1719

1820
**Bugfixes**
1921

MANIFEST.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@ prune tests/http2-frame-test-case
77

88
include README.rst LICENSE CHANGELOG.rst CONTRIBUTORS.rst pyproject.toml .gitmodules
99

10-
global-exclude *.pyc *.pyo *.swo *.swp *.map *.yml *.DS_Store
10+
global-exclude *.pyc *.pyo *.swo *.swp *.map *.yml *.DS_Store .readthedocs.yaml

pyproject.toml

Lines changed: 14 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# https://packaging.python.org/en/latest/specifications/pyproject-toml/
33

44
[build-system]
5-
requires = ["setuptools>=75.6.0"]
5+
requires = ["setuptools>=82", "wheel>=0.46.3"]
66
build-backend = "setuptools.build_meta"
77

88
[project]
@@ -18,7 +18,7 @@ maintainers = [
1818
{ name = "Thomas Kriechbaumer", email = "thomas@kriechbaumer.name" },
1919
]
2020

21-
requires-python = ">=3.9"
21+
requires-python = ">=3.10"
2222
dependencies = []
2323
dynamic = ["version"]
2424

@@ -30,13 +30,12 @@ classifiers = [
3030
"Programming Language :: Python",
3131
"Programming Language :: Python :: 3 :: Only",
3232
"Programming Language :: Python :: 3",
33-
"Programming Language :: Python :: 3.9",
3433
"Programming Language :: Python :: 3.10",
3534
"Programming Language :: Python :: 3.11",
3635
"Programming Language :: Python :: 3.12",
3736
"Programming Language :: Python :: 3.13",
37+
"Programming Language :: Python :: 3.14",
3838
"Programming Language :: Python :: Implementation :: CPython",
39-
"Programming Language :: Python :: Implementation :: PyPy",
4039
]
4140

4241
[project.urls]
@@ -65,15 +64,14 @@ linting = [
6564
]
6665

6766
packaging = [
68-
"check-manifest==0.50",
69-
"readme-renderer==44.0",
70-
"build>=1.2.2,<2",
71-
"twine>=5.1.1,<6",
72-
"wheel>=0.45.0,<1",
67+
"check-manifest==0.51",
68+
"build>=1.4.2,<2",
69+
"twine>=6.2.0,<7",
70+
"wheel>=0.46.3,<1",
7371
]
7472

7573
docs = [
76-
"sphinx>=7.4.7,<9",
74+
"sphinx>=9.1.0,<10",
7775
]
7876

7977
[tool.setuptools.packages.find]
@@ -93,7 +91,7 @@ ignore = [
9391

9492
[tool.ruff]
9593
line-length = 150
96-
target-version = "py39"
94+
target-version = "py314"
9795
format.preview = true
9896
format.docstring-code-line-length = 100
9997
format.docstring-code-format = true
@@ -148,16 +146,15 @@ source = [
148146

149147
[tool.tox]
150148
min_version = "4.23.2"
151-
env_list = [ "py39", "py310", "py311", "py312", "py313", "pypy3", "lint", "docs", "packaging" ]
149+
env_list = [ "py310", "py311", "py312", "py313", "py314", "lint", "docs", "packaging" ]
152150

153151
[tool.tox.gh-actions]
154152
python = """
155-
3.9: py39, h2spec, lint, docs, packaging
156-
3.10: py310
153+
3.10: py310, h2spec, lint, docs, packaging
157154
3.11: py311
158155
3.12: py312
159156
3.13: py313
160-
pypy3: pypy3
157+
3.14: py314
161158
"""
162159

163160
[tool.tox.env_run_base]
@@ -169,12 +166,6 @@ commands = [
169166
["pytest", "--cov-report=xml", "--cov-report=term", "--cov=hyperframe", { replace = "posargs", extend = true }]
170167
]
171168

172-
[tool.tox.env.pypy3]
173-
# temporarily disable coverage testing on PyPy due to performance problems
174-
commands = [
175-
["pytest", { replace = "posargs", extend = true }]
176-
]
177-
178169
[tool.tox.env.lint]
179170
dependency_groups = ["linting"]
180171
commands = [
@@ -192,7 +183,7 @@ commands = [
192183
]
193184

194185
[tool.tox.env.packaging]
195-
base_python = ["python39"]
186+
base_python = ["python3.10"]
196187
dependency_groups = ["packaging"]
197188
allowlist_externals = ["rm"]
198189
commands = [
@@ -203,7 +194,7 @@ commands = [
203194
]
204195

205196
[tool.tox.env.publish]
206-
base_python = ["python39"]
197+
base_python = ["python3.10"]
207198
dependency_groups = ["packaging"]
208199
allowlist_externals = ["twine"]
209200
commands = [

src/hyperframe/frame.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -225,7 +225,7 @@ def parse_padding_data(self, data: memoryview) -> int:
225225
#: Use self.pad_length instead.
226226
@property
227227
def total_padding(self) -> int: # pragma: no cover
228-
import warnings
228+
import warnings # noqa: PLC0415
229229
warnings.warn(
230230
"total_padding contains the same information as pad_length.",
231231
DeprecationWarning,

0 commit comments

Comments
 (0)